Mainnet
Testnet

Contract

0xe40FcC66608aDC8dC04A6a7c52CCC47fdd0A41d2

Overview

Balance:
0 WBT
WBT Value:
0 USDT (@ 24.79/WBT)

More info

Contract creator:
Are you the contract creator? Verify and Publish your contract source code.

Creation bytecode

0x6101606040523480156200001257600080fd5b506040518060400160405280600681526020017f52524552455200000000000000000000000000000000000000000000000000008152506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f52524552455200000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f52455200000000000000000000000000000000000000000000000000000000008152508160009081620000fc91906200066a565b5080600190816200010e91906200066a565b5050506200013162000125620001f160201b60201c565b620001f960201b60201c565b6200014c600b83620002bf60201b620013f11790919060201c565b61012081815250506200016f600c82620002bf60201b620013f11790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001ae6200031c60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505062000974565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000602083511015620002e557620002dd836200037960201b60201c565b905062000316565b82620002fc83620003e660201b620014351760201c565b60000190816200030d91906200066a565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200035e959493929190620007c2565b60405160208183030381529060405280519060200120905090565b600080829050601f81511115620003c957826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401620003c09190620008ae565b60405180910390fd5b805181620003d79062000904565b60001c1760001b915050919050565b6000819050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200047257607f821691505b6020821081036200048857620004876200042a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004b3565b620004fe8683620004b3565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200054b620005456200053f8462000516565b62000520565b62000516565b9050919050565b6000819050919050565b62000567836200052a565b6200057f620005768262000552565b848454620004c0565b825550505050565b600090565b6200059662000587565b620005a38184846200055c565b505050565b5b81811015620005cb57620005bf6000826200058c565b600181019050620005a9565b5050565b601f8211156200061a57620005e4816200048e565b620005ef84620004a3565b81016020851015620005ff578190505b620006176200060e85620004a3565b830182620005a8565b50505b505050565b600082821c905092915050565b60006200063f600019846008026200061f565b1980831691505092915050565b60006200065a83836200062c565b9150826002028217905092915050565b6200067582620003f0565b67ffffffffffffffff811115620006915762000690620003fb565b5b6200069d825462000459565b620006aa828285620005cf565b600060209050601f831160018114620006e25760008415620006cd578287015190505b620006d985826200064c565b86555062000749565b601f198416620006f2866200048e565b60005b828110156200071c57848901518255600182019150602085019450602081019050620006f5565b868310156200073c578489015162000738601f8916826200062c565b8355505b6001600288020188555050505b505050505050565b6000819050919050565b620007668162000751565b82525050565b620007778162000516565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007aa826200077d565b9050919050565b620007bc816200079d565b82525050565b600060a082019050620007d960008301886200075b565b620007e860208301876200075b565b620007f760408301866200075b565b6200080660608301856200076c565b620008156080830184620007b1565b9695505050505050565b600082825260208201905092915050565b60005b838110156200085057808201518184015260208101905062000833565b60008484015250505050565b6000601f19601f8301169050919050565b60006200087a82620003f0565b6200088681856200081f565b93506200089881856020860162000830565b620008a3816200085c565b840191505092915050565b60006020820190508181036000830152620008ca81846200086d565b905092915050565b600081519050919050565b6000819050602082019050919050565b6000620008fb825162000751565b80915050919050565b60006200091182620008d2565b826200091d84620008dd565b90506200092a81620008ed565b925060208210156200096d57620009687fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802620004b3565b831692505b5050919050565b60805160a05160c05160e051610100516101205161014051615d28620009cf6000396000610e5701526000610e2301526000612616015260006125f501526000611957015260006119ad015260006119d60152615d286000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806370a082311161010f5780639ab24eb0116100a2578063c3cda52011610071578063c3cda520146105e5578063c87b56dd14610601578063e985e9c514610631578063f2fde38b14610661576101f0565b80639ab24eb014610561578063a144819414610591578063a22cb465146105ad578063b88d4fde146105c9576101f0565b80638da5cb5b116100de5780638da5cb5b146104d75780638e539e8c146104f557806391ddadf41461052557806395d89b4114610543576101f0565b806370a0823114610449578063715018a6146104795780637ecebe001461048357806384b0196e146104b3576101f0565b80633a46b1a8116101875780634f6ccce7116101565780634f6ccce71461039d578063587cde1e146103cd5780635c19a95c146103fd5780636352211e14610419576101f0565b80633a46b1a81461031757806342842e0e1461034757806342966c68146103635780634bf5d7e91461037f576101f0565b806318160ddd116101c357806318160ddd1461028f57806323b872dd146102ad5780632f745c59146102c95780633644e515146102f9576101f0565b806301ffc9a7146101f557806306fdde0314610225578063081812fc14610243578063095ea7b314610273575b600080fd5b61020f600480360381019061020a9190613f19565b61067d565b60405161021c9190613f61565b60405180910390f35b61022d61068f565b60405161023a919061400c565b60405180910390f35b61025d60048036038101906102589190614064565b610721565b60405161026a91906140d2565b60405180910390f35b61028d60048036038101906102889190614119565b610767565b005b61029761087e565b6040516102a49190614168565b60405180910390f35b6102c760048036038101906102c29190614183565b61088b565b005b6102e360048036038101906102de9190614119565b6108eb565b6040516102f09190614168565b60405180910390f35b610301610990565b60405161030e91906141ef565b60405180910390f35b610331600480360381019061032c9190614119565b61099f565b60405161033e9190614168565b60405180910390f35b610361600480360381019061035c9190614183565b610a71565b005b61037d60048036038101906103789190614064565b610a91565b005b610387610aed565b604051610394919061400c565b60405180910390f35b6103b760048036038101906103b29190614064565b610b7b565b6040516103c49190614168565b60405180910390f35b6103e760048036038101906103e2919061420a565b610bec565b6040516103f491906140d2565b60405180910390f35b6104176004803603810190610412919061420a565b610c55565b005b610433600480360381019061042e9190614064565b610c6f565b60405161044091906140d2565b60405180910390f35b610463600480360381019061045e919061420a565b610cf5565b6040516104709190614168565b60405180910390f35b610481610dac565b005b61049d6004803603810190610498919061420a565b610dc0565b6040516104aa9190614168565b60405180910390f35b6104bb610e10565b6040516104ce9796959493929190614330565b60405180910390f35b6104df610f12565b6040516104ec91906140d2565b60405180910390f35b61050f600480360381019061050a9190614064565b610f3c565b60405161051c9190614168565b60405180910390f35b61052d610fd0565b60405161053a91906143d5565b60405180910390f35b61054b610fe0565b604051610558919061400c565b60405180910390f35b61057b6004803603810190610576919061420a565b611072565b6040516105889190614168565b60405180910390f35b6105ab60048036038101906105a69190614119565b6110e0565b005b6105c760048036038101906105c2919061441c565b6110f6565b005b6105e360048036038101906105de9190614591565b61110c565b005b6105ff60048036038101906105fa9190614679565b61116e565b005b61061b60048036038101906106169190614064565b611272565b604051610628919061400c565b60405180910390f35b61064b60048036038101906106469190614706565b6112da565b6040516106589190613f61565b60405180910390f35b61067b6004803603810190610676919061420a565b61136e565b005b60006106888261143f565b9050919050565b60606000805461069e90614775565b80601f01602080910402602001604051908101604052809291908181526020018280546106ca90614775565b80156107175780601f106106ec57610100808354040283529160200191610717565b820191906000526020600020905b8154815290600101906020018083116106fa57829003601f168201915b5050505050905090565b600061072c826114b9565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061077282610c6f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d990614818565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610801611504565b73ffffffffffffffffffffffffffffffffffffffff161480610830575061082f8161082a611504565b6112da565b5b61086f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610866906148aa565b60405180910390fd5b610879838361150c565b505050565b6000600880549050905090565b61089c610896611504565b826115c5565b6108db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d29061493c565b60405180910390fd5b6108e683838361165a565b505050565b60006108f683610cf5565b8210610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092e906149ce565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600061099a611953565b905090565b60006109a9610fd0565b65ffffffffffff1682106109f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e990614a3a565b60405180910390fd5b610a4b6109fe83611a0a565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611a5d90919063ffffffff16565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905092915050565b610a8c8383836040518060200160405280600081525061110c565b505050565b610aa2610a9c611504565b826115c5565b610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad89061493c565b60405180910390fd5b610aea81611b53565b50565b606043610af8610fd0565b65ffffffffffff1614610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3790614aa6565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000610b8561087e565b8210610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd90614b38565b60405180910390fd5b60088281548110610bda57610bd9614b58565b5b90600052602060002001549050919050565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610c5f611504565b9050610c6b8183611ca1565b5050565b600080610c7b83611db5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610cec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce390614bd3565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5c90614c65565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610db4611df2565b610dbe6000611e70565b565b6000610e09601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611f36565b9050919050565b600060608060008060006060610e50600b7f0000000000000000000000000000000000000000000000000000000000000000611f4490919063ffffffff16565b610e84600c7f0000000000000000000000000000000000000000000000000000000000000000611f4490919063ffffffff16565b46306000801b600067ffffffffffffffff811115610ea557610ea4614466565b5b604051908082528060200260200182016040528015610ed35781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610f46610fd0565b65ffffffffffff168210610f8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8690614a3a565b60405180910390fd5b610fab610f9b83611a0a565b600f611a5d90919063ffffffff16565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b6000610fdb43611ff4565b905090565b606060018054610fef90614775565b80601f016020809104026020016040519081016040528092919081815260200182805461101b90614775565b80156110685780601f1061103d57610100808354040283529160200191611068565b820191906000526020600020905b81548152906001019060200180831161104b57829003601f168201915b5050505050905090565b60006110bb600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612049565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b6110e8611df2565b6110f282826120b3565b5050565b611108611101611504565b83836120d1565b5050565b61111d611117611504565b836115c5565b61115c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111539061493c565b60405180910390fd5b6111688484848461223d565b50505050565b834211156111b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a890614cd1565b60405180910390fd5b600061121361120b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016111f09493929190614cf1565b60405160208183030381529060405280519060200120612299565b8585856122b3565b905061121e816122de565b861461125f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125690614d82565b60405180910390fd5b6112698188611ca1565b50505050505050565b606061127d826114b9565b600061128761233c565b905060008151116112a757604051806020016040528060008152506112d2565b806112b184612353565b6040516020016112c2929190614dde565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611376611df2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dc90614e74565b60405180910390fd5b6113ee81611e70565b50565b600060208351101561140d5761140683612421565b905061142f565b8261141783611435565b60000190816114269190615040565b5060ff60001b90505b92915050565b6000819050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806114b257506114b182612489565b5b9050919050565b6114c28161256b565b611501576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f890614bd3565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661157f83610c6f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806115d183610c6f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611613575061161281856112da565b5b8061165157508373ffffffffffffffffffffffffffffffffffffffff1661163984610721565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661167a82610c6f565b73ffffffffffffffffffffffffffffffffffffffff16146116d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c790615184565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361173f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173690615216565b60405180910390fd5b61174c83838360016125ac565b8273ffffffffffffffffffffffffffffffffffffffff1661176c82610c6f565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990615184565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461194e83838360016125be565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161480156119cf57507f000000000000000000000000000000000000000000000000000000000000000046145b156119fc577f00000000000000000000000000000000000000000000000000000000000000009050611a07565b611a046125d0565b90505b90565b600063ffffffff8016821115611a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4c906152a8565b60405180910390fd5b819050919050565b600080836000018054905090506000808290506005831115611adf576000611a8484612666565b84611a8f91906152f7565b9050611a9e876000018261275f565b60000160009054906101000a900463ffffffff1663ffffffff168663ffffffff161015611acd57809150611add565b600181611ada919061532b565b92505b505b6000611af087600001878585612774565b905060008114611b4457611b1387600001600183611b0e91906152f7565b61275f565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611b47565b60005b94505050505092915050565b6000611b5e82610c6f565b9050611b6e8160008460016125ac565b611b7782610c6f565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611c9d8160008460016125be565b5050565b6000611cac83610bec565b905081600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611db08183611dab866127e7565b6127f9565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b611dfa611504565b73ffffffffffffffffffffffffffffffffffffffff16611e18610f12565b73ffffffffffffffffffffffffffffffffffffffff1614611e6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e65906153ab565b60405180910390fd5b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b606060ff60001b8314611f6157611f5a83612a7a565b9050611fee565b818054611f6d90614775565b80601f0160208091040260200160405190810160405280929190818152602001828054611f9990614775565b8015611fe65780601f10611fbb57610100808354040283529160200191611fe6565b820191906000526020600020905b815481529060010190602001808311611fc957829003601f168201915b505050505090505b92915050565b600065ffffffffffff8016821115612041576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120389061543d565b60405180910390fd5b819050919050565b60008082600001805490509050600081146120a8576120778360000160018361207291906152f7565b61275f565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166120ab565b60005b915050919050565b6120cd828260405180602001604052806000815250612aee565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361213f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612136906154a9565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516122309190613f61565b60405180910390a3505050565b61224884848461165a565b61225484848484612b49565b612293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228a9061553b565b60405180910390fd5b50505050565b60006122ac6122a6611953565b83612cd0565b9050919050565b60008060006122c487878787612d11565b915091506122d181612df3565b8192505050949350505050565b600080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061232b81611f36565b915061233681612f59565b50919050565b606060405180602001604052806000815250905090565b60606000600161236284612f6f565b01905060008167ffffffffffffffff81111561238157612380614466565b5b6040519080825280601f01601f1916602001820160405280156123b35781602001600182028036833780820191505090505b509050600082602001820190505b600115612416578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161240a5761240961555b565b5b049450600085036123c1575b819350505050919050565b600080829050601f8151111561246e57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401612465919061400c565b60405180910390fd5b80518161247a906155ba565b60001c1760001b915050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061255457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806125645750612563826130c2565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661258d83611db5565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6125b88484848461312c565b50505050565b6125ca8484848461328a565b50505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000463060405160200161264b959493929190615621565b60405160208183030381529060405280519060200120905090565b6000808203612678576000905061275a565b60006001612685846132a7565b901c6001901b9050600181848161269f5761269e61555b565b5b048201901c905060018184816126b8576126b761555b565b5b048201901c905060018184816126d1576126d061555b565b5b048201901c905060018184816126ea576126e961555b565b5b048201901c905060018184816127035761270261555b565b5b048201901c9050600181848161271c5761271b61555b565b5b048201901c905060018184816127355761273461555b565b5b048201901c9050612756818285816127505761274f61555b565b5b04613388565b9150505b919050565b60008260005281602060002001905092915050565b60005b818310156127dc57600061278b84846133a1565b90508463ffffffff1661279e878361275f565b60000160009054906101000a900463ffffffff1663ffffffff1611156127c6578092506127d6565b6001816127d3919061532b565b93505b50612777565b819050949350505050565b60006127f282610cf5565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128355750600081115b15612a7557600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612957576000806128c4600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206133c76128bf866133dd565b613448565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161294c929190615674565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612a74576000806129e1600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206134986129dc866133dd565b613448565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612a69929190615674565b60405180910390a250505b5b505050565b60606000612a87836134ae565b90506000602067ffffffffffffffff811115612aa657612aa5614466565b5b6040519080825280601f01601f191660200182016040528015612ad85781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b612af883836134fe565b612b056000848484612b49565b612b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3b9061553b565b60405180910390fd5b505050565b6000612b6a8473ffffffffffffffffffffffffffffffffffffffff1661371b565b15612cc3578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612b93611504565b8786866040518563ffffffff1660e01b8152600401612bb594939291906156e7565b6020604051808303816000875af1925050508015612bf157506040513d601f19601f82011682018060405250810190612bee9190615748565b60015b612c73573d8060008114612c21576040519150601f19603f3d011682016040523d82523d6000602084013e612c26565b606091505b506000815103612c6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c629061553b565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612cc8565b600190505b949350505050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612d4c576000600391509150612dea565b600060018787878760405160008152602001604052604051612d719493929190615784565b6020604051602081039080840390855afa158015612d93573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612de157600060019250925050612dea565b80600092509250505b94509492505050565b60006004811115612e0757612e066157c9565b5b816004811115612e1a57612e196157c9565b5b0315612f565760016004811115612e3457612e336157c9565b5b816004811115612e4757612e466157c9565b5b03612e87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e7e90615844565b60405180910390fd5b60026004811115612e9b57612e9a6157c9565b5b816004811115612eae57612ead6157c9565b5b03612eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ee5906158b0565b60405180910390fd5b60036004811115612f0257612f016157c9565b5b816004811115612f1557612f146157c9565b5b03612f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4c90615942565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612fcd577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612fc357612fc261555b565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061300a576d04ee2d6d415b85acef8100000000838161300057612fff61555b565b5b0492506020810190505b662386f26fc10000831061303957662386f26fc10000838161302f5761302e61555b565b5b0492506010810190505b6305f5e1008310613062576305f5e10083816130585761305761555b565b5b0492506008810190505b612710831061308757612710838161307d5761307c61555b565b5b0492506004810190505b606483106130aa57606483816130a05761309f61555b565b5b0492506002810190505b600a83106130b9576001810190505b80915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6131388484848461373e565b600181111561317c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613173906159d4565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036131c3576131be81613744565b613202565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461320157613200858261378d565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036132445761323f816138fa565b613283565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146132825761328184826139cb565b5b5b5050505050565b613295848483613a4a565b6132a184848484613b04565b50505050565b600080600090506000608084901c11156132c957608083901c92506080810190505b6000604084901c11156132e457604083901c92506040810190505b6000602084901c11156132ff57602083901c92506020810190505b6000601084901c111561331a57601083901c92506010810190505b6000600884901c111561333557600883901c92506008810190505b6000600484901c111561335057600483901c92506004810190505b6000600284901c111561336b57600283901c92506002810190505b6000600184901c111561337f576001810190505b80915050919050565b60008183106133975781613399565b825b905092915050565b600060028284186133b291906159f4565b8284166133bf919061532b565b905092915050565b600081836133d59190615a4d565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115613440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161343790615b0f565b60405180910390fd5b819050919050565b60008061348c613466613459610fd0565b65ffffffffffff16611a0a565b61347c61347288612049565b868863ffffffff16565b87613b0a9092919063ffffffff16565b91509150935093915050565b600081836134a69190615b2f565b905092915050565b60008060ff8360001c169050601f8111156134f5576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361356d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161356490615bcb565b60405180910390fd5b6135768161256b565b156135b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135ad90615c37565b60405180910390fd5b6135c46000838360016125ac565b6135cd8161256b565b1561360d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161360490615c37565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46137176000838360016125be565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161379a84610cf5565b6137a491906152f7565b9050600060076000848152602001908152602001600020549050818114613889576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061390e91906152f7565b905060006009600084815260200190815260200160002054905060006008838154811061393e5761393d614b58565b5b9060005260206000200154905080600883815481106139605761395f614b58565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806139af576139ae615c57565b5b6001900381819060005260206000200160009055905550505050565b60006139d683610cf5565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613a9757613a94600f613498613a8f846133dd565b613448565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613ae457613ae1600f6133c7613adc846133dd565b613448565b50505b613aff613af084610bec565b613af984610bec565b836127f9565b505050565b50505050565b600080613b1b856000018585613b27565b91509150935093915050565b6000806000858054905090506000811115613dbd576000613b5487600184613b4f91906152f7565b61275f565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508563ffffffff16816000015163ffffffff161115613c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613c3f90615cd2565b60405180910390fd5b8563ffffffff16816000015163ffffffff1603613ccc5784613c7688600185613c7191906152f7565b61275f565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550613dac565b8660405180604001604052808863ffffffff168152602001877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b806020015185935093505050613ea5565b8560405180604001604052808763ffffffff168152602001867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613ef681613ec1565b8114613f0157600080fd5b50565b600081359050613f1381613eed565b92915050565b600060208284031215613f2f57613f2e613eb7565b5b6000613f3d84828501613f04565b91505092915050565b60008115159050919050565b613f5b81613f46565b82525050565b6000602082019050613f766000830184613f52565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613fb6578082015181840152602081019050613f9b565b60008484015250505050565b6000601f19601f8301169050919050565b6000613fde82613f7c565b613fe88185613f87565b9350613ff8818560208601613f98565b61400181613fc2565b840191505092915050565b600060208201905081810360008301526140268184613fd3565b905092915050565b6000819050919050565b6140418161402e565b811461404c57600080fd5b50565b60008135905061405e81614038565b92915050565b60006020828403121561407a57614079613eb7565b5b60006140888482850161404f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006140bc82614091565b9050919050565b6140cc816140b1565b82525050565b60006020820190506140e760008301846140c3565b92915050565b6140f6816140b1565b811461410157600080fd5b50565b600081359050614113816140ed565b92915050565b600080604083850312156141305761412f613eb7565b5b600061413e85828601614104565b925050602061414f8582860161404f565b9150509250929050565b6141628161402e565b82525050565b600060208201905061417d6000830184614159565b92915050565b60008060006060848603121561419c5761419b613eb7565b5b60006141aa86828701614104565b93505060206141bb86828701614104565b92505060406141cc8682870161404f565b9150509250925092565b6000819050919050565b6141e9816141d6565b82525050565b600060208201905061420460008301846141e0565b92915050565b6000602082840312156142205761421f613eb7565b5b600061422e84828501614104565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61426c81614237565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6142a78161402e565b82525050565b60006142b9838361429e565b60208301905092915050565b6000602082019050919050565b60006142dd82614272565b6142e7818561427d565b93506142f28361428e565b8060005b8381101561432357815161430a88826142ad565b9750614315836142c5565b9250506001810190506142f6565b5085935050505092915050565b600060e082019050614345600083018a614263565b81810360208301526143578189613fd3565b9050818103604083015261436b8188613fd3565b905061437a6060830187614159565b61438760808301866140c3565b61439460a08301856141e0565b81810360c08301526143a681846142d2565b905098975050505050505050565b600065ffffffffffff82169050919050565b6143cf816143b4565b82525050565b60006020820190506143ea60008301846143c6565b92915050565b6143f981613f46565b811461440457600080fd5b50565b600081359050614416816143f0565b92915050565b6000806040838503121561443357614432613eb7565b5b600061444185828601614104565b925050602061445285828601614407565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61449e82613fc2565b810181811067ffffffffffffffff821117156144bd576144bc614466565b5b80604052505050565b60006144d0613ead565b90506144dc8282614495565b919050565b600067ffffffffffffffff8211156144fc576144fb614466565b5b61450582613fc2565b9050602081019050919050565b82818337600083830152505050565b600061453461452f846144e1565b6144c6565b9050828152602081018484840111156145505761454f614461565b5b61455b848285614512565b509392505050565b600082601f8301126145785761457761445c565b5b8135614588848260208601614521565b91505092915050565b600080600080608085870312156145ab576145aa613eb7565b5b60006145b987828801614104565b94505060206145ca87828801614104565b93505060406145db8782880161404f565b925050606085013567ffffffffffffffff8111156145fc576145fb613ebc565b5b61460887828801614563565b91505092959194509250565b600060ff82169050919050565b61462a81614614565b811461463557600080fd5b50565b60008135905061464781614621565b92915050565b614656816141d6565b811461466157600080fd5b50565b6000813590506146738161464d565b92915050565b60008060008060008060c0878903121561469657614695613eb7565b5b60006146a489828a01614104565b96505060206146b589828a0161404f565b95505060406146c689828a0161404f565b94505060606146d789828a01614638565b93505060806146e889828a01614664565b92505060a06146f989828a01614664565b9150509295509295509295565b6000806040838503121561471d5761471c613eb7565b5b600061472b85828601614104565b925050602061473c85828601614104565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061478d57607f821691505b6020821081036147a05761479f614746565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000614802602183613f87565b915061480d826147a6565b604082019050919050565b60006020820190508181036000830152614831816147f5565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000614894603d83613f87565b915061489f82614838565b604082019050919050565b600060208201905081810360008301526148c381614887565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000614926602d83613f87565b9150614931826148ca565b604082019050919050565b6000602082019050818103600083015261495581614919565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006149b8602b83613f87565b91506149c38261495c565b604082019050919050565b600060208201905081810360008301526149e7816149ab565b9050919050565b7f566f7465733a20667574757265206c6f6f6b7570000000000000000000000000600082015250565b6000614a24601483613f87565b9150614a2f826149ee565b602082019050919050565b60006020820190508181036000830152614a5381614a17565b9050919050565b7f566f7465733a2062726f6b656e20636c6f636b206d6f64650000000000000000600082015250565b6000614a90601883613f87565b9150614a9b82614a5a565b602082019050919050565b60006020820190508181036000830152614abf81614a83565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000614b22602c83613f87565b9150614b2d82614ac6565b604082019050919050565b60006020820190508181036000830152614b5181614b15565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614bbd601883613f87565b9150614bc882614b87565b602082019050919050565b60006020820190508181036000830152614bec81614bb0565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614c4f602983613f87565b9150614c5a82614bf3565b604082019050919050565b60006020820190508181036000830152614c7e81614c42565b9050919050565b7f566f7465733a207369676e617475726520657870697265640000000000000000600082015250565b6000614cbb601883613f87565b9150614cc682614c85565b602082019050919050565b60006020820190508181036000830152614cea81614cae565b9050919050565b6000608082019050614d0660008301876141e0565b614d1360208301866140c3565b614d206040830185614159565b614d2d6060830184614159565b95945050505050565b7f566f7465733a20696e76616c6964206e6f6e6365000000000000000000000000600082015250565b6000614d6c601483613f87565b9150614d7782614d36565b602082019050919050565b60006020820190508181036000830152614d9b81614d5f565b9050919050565b600081905092915050565b6000614db882613f7c565b614dc28185614da2565b9350614dd2818560208601613f98565b80840191505092915050565b6000614dea8285614dad565b9150614df68284614dad565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614e5e602683613f87565b9150614e6982614e02565b604082019050919050565b60006020820190508181036000830152614e8d81614e51565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614ef67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614eb9565b614f008683614eb9565b95508019841693508086168417925050509392505050565b6000819050919050565b6000614f3d614f38614f338461402e565b614f18565b61402e565b9050919050565b6000819050919050565b614f5783614f22565b614f6b614f6382614f44565b848454614ec6565b825550505050565b600090565b614f80614f73565b614f8b818484614f4e565b505050565b5b81811015614faf57614fa4600082614f78565b600181019050614f91565b5050565b601f821115614ff457614fc581614e94565b614fce84614ea9565b81016020851015614fdd578190505b614ff1614fe985614ea9565b830182614f90565b50505b505050565b600082821c905092915050565b600061501760001984600802614ff9565b1980831691505092915050565b60006150308383615006565b9150826002028217905092915050565b61504982613f7c565b67ffffffffffffffff81111561506257615061614466565b5b61506c8254614775565b615077828285614fb3565b600060209050601f8311600181146150aa5760008415615098578287015190505b6150a28582615024565b86555061510a565b601f1984166150b886614e94565b60005b828110156150e0578489015182556001820191506020850194506020810190506150bb565b868310156150fd57848901516150f9601f891682615006565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061516e602583613f87565b915061517982615112565b604082019050919050565b6000602082019050818103600083015261519d81615161565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000615200602483613f87565b915061520b826151a4565b604082019050919050565b6000602082019050818103600083015261522f816151f3565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000615292602683613f87565b915061529d82615236565b604082019050919050565b600060208201905081810360008301526152c181615285565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006153028261402e565b915061530d8361402e565b9250828203905081811115615325576153246152c8565b5b92915050565b60006153368261402e565b91506153418361402e565b9250828201905080821115615359576153586152c8565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000615395602083613f87565b91506153a08261535f565b602082019050919050565b600060208201905081810360008301526153c481615388565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000615427602683613f87565b9150615432826153cb565b604082019050919050565b600060208201905081810360008301526154568161541a565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000615493601983613f87565b915061549e8261545d565b602082019050919050565b600060208201905081810360008301526154c281615486565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000615525603283613f87565b9150615530826154c9565b604082019050919050565b6000602082019050818103600083015261555481615518565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b6000819050602082019050919050565b60006155b182516141d6565b80915050919050565b60006155c58261558a565b826155cf84615595565b90506155da816155a5565b9250602082101561561a576156157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614eb9565b831692505b5050919050565b600060a08201905061563660008301886141e0565b61564360208301876141e0565b61565060408301866141e0565b61565d6060830185614159565b61566a60808301846140c3565b9695505050505050565b60006040820190506156896000830185614159565b6156966020830184614159565b9392505050565b600082825260208201905092915050565b60006156b98261558a565b6156c3818561569d565b93506156d3818560208601613f98565b6156dc81613fc2565b840191505092915050565b60006080820190506156fc60008301876140c3565b61570960208301866140c3565b6157166040830185614159565b818103606083015261572881846156ae565b905095945050505050565b60008151905061574281613eed565b92915050565b60006020828403121561575e5761575d613eb7565b5b600061576c84828501615733565b91505092915050565b61577e81614614565b82525050565b600060808201905061579960008301876141e0565b6157a66020830186615775565b6157b360408301856141e0565b6157c060608301846141e0565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061582e601883613f87565b9150615839826157f8565b602082019050919050565b6000602082019050818103600083015261585d81615821565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061589a601f83613f87565b91506158a582615864565b602082019050919050565b600060208201905081810360008301526158c98161588d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061592c602283613f87565b9150615937826158d0565b604082019050919050565b6000602082019050818103600083015261595b8161591f565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006159be603583613f87565b91506159c982615962565b604082019050919050565b600060208201905081810360008301526159ed816159b1565b9050919050565b60006159ff8261402e565b9150615a0a8361402e565b925082615a1a57615a1961555b565b5b828204905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6000615a5882615a25565b9150615a6383615a25565b925082820390507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115615a9757615a966152c8565b5b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000615af9602783613f87565b9150615b0482615a9d565b604082019050919050565b60006020820190508181036000830152615b2881615aec565b9050919050565b6000615b3a82615a25565b9150615b4583615a25565b925082820190507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115615b7957615b786152c8565b5b92915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000615bb5602083613f87565b9150615bc082615b7f565b602082019050919050565b60006020820190508181036000830152615be481615ba8565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000615c21601c83613f87565b9150615c2c82615beb565b602082019050919050565b60006020820190508181036000830152615c5081615c14565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f436865636b706f696e743a2064656372656173696e67206b6579730000000000600082015250565b6000615cbc601b83613f87565b9150615cc782615c86565b602082019050919050565b60006020820190508181036000830152615ceb81615caf565b905091905056fea264697066735822122009da4114199cf9a6ed2224a7ab5aa985c5aa9efb5816405b513117f97061e15c64736f6c63430008120033

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106101f05760003560e01c806370a082311161010f5780639ab24eb0116100a2578063c3cda52011610071578063c3cda520146105e5578063c87b56dd14610601578063e985e9c514610631578063f2fde38b14610661576101f0565b80639ab24eb014610561578063a144819414610591578063a22cb465146105ad578063b88d4fde146105c9576101f0565b80638da5cb5b116100de5780638da5cb5b146104d75780638e539e8c146104f557806391ddadf41461052557806395d89b4114610543576101f0565b806370a0823114610449578063715018a6146104795780637ecebe001461048357806384b0196e146104b3576101f0565b80633a46b1a8116101875780634f6ccce7116101565780634f6ccce71461039d578063587cde1e146103cd5780635c19a95c146103fd5780636352211e14610419576101f0565b80633a46b1a81461031757806342842e0e1461034757806342966c68146103635780634bf5d7e91461037f576101f0565b806318160ddd116101c357806318160ddd1461028f57806323b872dd146102ad5780632f745c59146102c95780633644e515146102f9576101f0565b806301ffc9a7146101f557806306fdde0314610225578063081812fc14610243578063095ea7b314610273575b600080fd5b61020f600480360381019061020a9190613f19565b61067d565b60405161021c9190613f61565b60405180910390f35b61022d61068f565b60405161023a919061400c565b60405180910390f35b61025d60048036038101906102589190614064565b610721565b60405161026a91906140d2565b60405180910390f35b61028d60048036038101906102889190614119565b610767565b005b61029761087e565b6040516102a49190614168565b60405180910390f35b6102c760048036038101906102c29190614183565b61088b565b005b6102e360048036038101906102de9190614119565b6108eb565b6040516102f09190614168565b60405180910390f35b610301610990565b60405161030e91906141ef565b60405180910390f35b610331600480360381019061032c9190614119565b61099f565b60405161033e9190614168565b60405180910390f35b610361600480360381019061035c9190614183565b610a71565b005b61037d60048036038101906103789190614064565b610a91565b005b610387610aed565b604051610394919061400c565b60405180910390f35b6103b760048036038101906103b29190614064565b610b7b565b6040516103c49190614168565b60405180910390f35b6103e760048036038101906103e2919061420a565b610bec565b6040516103f491906140d2565b60405180910390f35b6104176004803603810190610412919061420a565b610c55565b005b610433600480360381019061042e9190614064565b610c6f565b60405161044091906140d2565b60405180910390f35b610463600480360381019061045e919061420a565b610cf5565b6040516104709190614168565b60405180910390f35b610481610dac565b005b61049d6004803603810190610498919061420a565b610dc0565b6040516104aa9190614168565b60405180910390f35b6104bb610e10565b6040516104ce9796959493929190614330565b60405180910390f35b6104df610f12565b6040516104ec91906140d2565b60405180910390f35b61050f600480360381019061050a9190614064565b610f3c565b60405161051c9190614168565b60405180910390f35b61052d610fd0565b60405161053a91906143d5565b60405180910390f35b61054b610fe0565b604051610558919061400c565b60405180910390f35b61057b6004803603810190610576919061420a565b611072565b6040516105889190614168565b60405180910390f35b6105ab60048036038101906105a69190614119565b6110e0565b005b6105c760048036038101906105c2919061441c565b6110f6565b005b6105e360048036038101906105de9190614591565b61110c565b005b6105ff60048036038101906105fa9190614679565b61116e565b005b61061b60048036038101906106169190614064565b611272565b604051610628919061400c565b60405180910390f35b61064b60048036038101906106469190614706565b6112da565b6040516106589190613f61565b60405180910390f35b61067b6004803603810190610676919061420a565b61136e565b005b60006106888261143f565b9050919050565b60606000805461069e90614775565b80601f01602080910402602001604051908101604052809291908181526020018280546106ca90614775565b80156107175780601f106106ec57610100808354040283529160200191610717565b820191906000526020600020905b8154815290600101906020018083116106fa57829003601f168201915b5050505050905090565b600061072c826114b9565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061077282610c6f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d990614818565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610801611504565b73ffffffffffffffffffffffffffffffffffffffff161480610830575061082f8161082a611504565b6112da565b5b61086f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610866906148aa565b60405180910390fd5b610879838361150c565b505050565b6000600880549050905090565b61089c610896611504565b826115c5565b6108db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d29061493c565b60405180910390fd5b6108e683838361165a565b505050565b60006108f683610cf5565b8210610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092e906149ce565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600061099a611953565b905090565b60006109a9610fd0565b65ffffffffffff1682106109f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e990614a3a565b60405180910390fd5b610a4b6109fe83611a0a565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611a5d90919063ffffffff16565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905092915050565b610a8c8383836040518060200160405280600081525061110c565b505050565b610aa2610a9c611504565b826115c5565b610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad89061493c565b60405180910390fd5b610aea81611b53565b50565b606043610af8610fd0565b65ffffffffffff1614610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3790614aa6565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000610b8561087e565b8210610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd90614b38565b60405180910390fd5b60088281548110610bda57610bd9614b58565b5b90600052602060002001549050919050565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610c5f611504565b9050610c6b8183611ca1565b5050565b600080610c7b83611db5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610cec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce390614bd3565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5c90614c65565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610db4611df2565b610dbe6000611e70565b565b6000610e09601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611f36565b9050919050565b600060608060008060006060610e50600b7f5252455245520000000000000000000000000000000000000000000000000006611f4490919063ffffffff16565b610e84600c7f3100000000000000000000000000000000000000000000000000000000000001611f4490919063ffffffff16565b46306000801b600067ffffffffffffffff811115610ea557610ea4614466565b5b604051908082528060200260200182016040528015610ed35781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610f46610fd0565b65ffffffffffff168210610f8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8690614a3a565b60405180910390fd5b610fab610f9b83611a0a565b600f611a5d90919063ffffffff16565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b6000610fdb43611ff4565b905090565b606060018054610fef90614775565b80601f016020809104026020016040519081016040528092919081815260200182805461101b90614775565b80156110685780601f1061103d57610100808354040283529160200191611068565b820191906000526020600020905b81548152906001019060200180831161104b57829003601f168201915b5050505050905090565b60006110bb600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612049565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b6110e8611df2565b6110f282826120b3565b5050565b611108611101611504565b83836120d1565b5050565b61111d611117611504565b836115c5565b61115c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111539061493c565b60405180910390fd5b6111688484848461223d565b50505050565b834211156111b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a890614cd1565b60405180910390fd5b600061121361120b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016111f09493929190614cf1565b60405160208183030381529060405280519060200120612299565b8585856122b3565b905061121e816122de565b861461125f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125690614d82565b60405180910390fd5b6112698188611ca1565b50505050505050565b606061127d826114b9565b600061128761233c565b905060008151116112a757604051806020016040528060008152506112d2565b806112b184612353565b6040516020016112c2929190614dde565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611376611df2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dc90614e74565b60405180910390fd5b6113ee81611e70565b50565b600060208351101561140d5761140683612421565b905061142f565b8261141783611435565b60000190816114269190615040565b5060ff60001b90505b92915050565b6000819050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806114b257506114b182612489565b5b9050919050565b6114c28161256b565b611501576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f890614bd3565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661157f83610c6f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806115d183610c6f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611613575061161281856112da565b5b8061165157508373ffffffffffffffffffffffffffffffffffffffff1661163984610721565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661167a82610c6f565b73ffffffffffffffffffffffffffffffffffffffff16146116d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c790615184565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361173f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173690615216565b60405180910390fd5b61174c83838360016125ac565b8273ffffffffffffffffffffffffffffffffffffffff1661176c82610c6f565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990615184565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461194e83838360016125be565b505050565b60007f000000000000000000000000e40fcc66608adc8dc04a6a7c52ccc47fdd0a41d273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161480156119cf57507f0000000000000000000000000000000000000000000000000000000000000a4146145b156119fc577f96b8b12c28f7b2e81270ebef9df30a01d45247da290439423e3ad40a40d8c9c09050611a07565b611a046125d0565b90505b90565b600063ffffffff8016821115611a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4c906152a8565b60405180910390fd5b819050919050565b600080836000018054905090506000808290506005831115611adf576000611a8484612666565b84611a8f91906152f7565b9050611a9e876000018261275f565b60000160009054906101000a900463ffffffff1663ffffffff168663ffffffff161015611acd57809150611add565b600181611ada919061532b565b92505b505b6000611af087600001878585612774565b905060008114611b4457611b1387600001600183611b0e91906152f7565b61275f565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611b47565b60005b94505050505092915050565b6000611b5e82610c6f565b9050611b6e8160008460016125ac565b611b7782610c6f565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611c9d8160008460016125be565b5050565b6000611cac83610bec565b905081600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611db08183611dab866127e7565b6127f9565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b611dfa611504565b73ffffffffffffffffffffffffffffffffffffffff16611e18610f12565b73ffffffffffffffffffffffffffffffffffffffff1614611e6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e65906153ab565b60405180910390fd5b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b606060ff60001b8314611f6157611f5a83612a7a565b9050611fee565b818054611f6d90614775565b80601f0160208091040260200160405190810160405280929190818152602001828054611f9990614775565b8015611fe65780601f10611fbb57610100808354040283529160200191611fe6565b820191906000526020600020905b815481529060010190602001808311611fc957829003601f168201915b505050505090505b92915050565b600065ffffffffffff8016821115612041576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120389061543d565b60405180910390fd5b819050919050565b60008082600001805490509050600081146120a8576120778360000160018361207291906152f7565b61275f565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166120ab565b60005b915050919050565b6120cd828260405180602001604052806000815250612aee565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361213f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612136906154a9565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516122309190613f61565b60405180910390a3505050565b61224884848461165a565b61225484848484612b49565b612293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228a9061553b565b60405180910390fd5b50505050565b60006122ac6122a6611953565b83612cd0565b9050919050565b60008060006122c487878787612d11565b915091506122d181612df3565b8192505050949350505050565b600080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061232b81611f36565b915061233681612f59565b50919050565b606060405180602001604052806000815250905090565b60606000600161236284612f6f565b01905060008167ffffffffffffffff81111561238157612380614466565b5b6040519080825280601f01601f1916602001820160405280156123b35781602001600182028036833780820191505090505b509050600082602001820190505b600115612416578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161240a5761240961555b565b5b049450600085036123c1575b819350505050919050565b600080829050601f8151111561246e57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401612465919061400c565b60405180910390fd5b80518161247a906155ba565b60001c1760001b915050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061255457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806125645750612563826130c2565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661258d83611db5565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6125b88484848461312c565b50505050565b6125ca8484848461328a565b50505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7fd4fefcee714ffb15173e6c888cbb653c6fd1db452e61eb2502955aa5278bf0967fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6463060405160200161264b959493929190615621565b60405160208183030381529060405280519060200120905090565b6000808203612678576000905061275a565b60006001612685846132a7565b901c6001901b9050600181848161269f5761269e61555b565b5b048201901c905060018184816126b8576126b761555b565b5b048201901c905060018184816126d1576126d061555b565b5b048201901c905060018184816126ea576126e961555b565b5b048201901c905060018184816127035761270261555b565b5b048201901c9050600181848161271c5761271b61555b565b5b048201901c905060018184816127355761273461555b565b5b048201901c9050612756818285816127505761274f61555b565b5b04613388565b9150505b919050565b60008260005281602060002001905092915050565b60005b818310156127dc57600061278b84846133a1565b90508463ffffffff1661279e878361275f565b60000160009054906101000a900463ffffffff1663ffffffff1611156127c6578092506127d6565b6001816127d3919061532b565b93505b50612777565b819050949350505050565b60006127f282610cf5565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128355750600081115b15612a7557600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612957576000806128c4600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206133c76128bf866133dd565b613448565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161294c929190615674565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612a74576000806129e1600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206134986129dc866133dd565b613448565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612a69929190615674565b60405180910390a250505b5b505050565b60606000612a87836134ae565b90506000602067ffffffffffffffff811115612aa657612aa5614466565b5b6040519080825280601f01601f191660200182016040528015612ad85781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b612af883836134fe565b612b056000848484612b49565b612b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3b9061553b565b60405180910390fd5b505050565b6000612b6a8473ffffffffffffffffffffffffffffffffffffffff1661371b565b15612cc3578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612b93611504565b8786866040518563ffffffff1660e01b8152600401612bb594939291906156e7565b6020604051808303816000875af1925050508015612bf157506040513d601f19601f82011682018060405250810190612bee9190615748565b60015b612c73573d8060008114612c21576040519150601f19603f3d011682016040523d82523d6000602084013e612c26565b606091505b506000815103612c6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c629061553b565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612cc8565b600190505b949350505050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612d4c576000600391509150612dea565b600060018787878760405160008152602001604052604051612d719493929190615784565b6020604051602081039080840390855afa158015612d93573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612de157600060019250925050612dea565b80600092509250505b94509492505050565b60006004811115612e0757612e066157c9565b5b816004811115612e1a57612e196157c9565b5b0315612f565760016004811115612e3457612e336157c9565b5b816004811115612e4757612e466157c9565b5b03612e87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e7e90615844565b60405180910390fd5b60026004811115612e9b57612e9a6157c9565b5b816004811115612eae57612ead6157c9565b5b03612eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ee5906158b0565b60405180910390fd5b60036004811115612f0257612f016157c9565b5b816004811115612f1557612f146157c9565b5b03612f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4c90615942565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612fcd577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612fc357612fc261555b565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061300a576d04ee2d6d415b85acef8100000000838161300057612fff61555b565b5b0492506020810190505b662386f26fc10000831061303957662386f26fc10000838161302f5761302e61555b565b5b0492506010810190505b6305f5e1008310613062576305f5e10083816130585761305761555b565b5b0492506008810190505b612710831061308757612710838161307d5761307c61555b565b5b0492506004810190505b606483106130aa57606483816130a05761309f61555b565b5b0492506002810190505b600a83106130b9576001810190505b80915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6131388484848461373e565b600181111561317c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613173906159d4565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036131c3576131be81613744565b613202565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461320157613200858261378d565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036132445761323f816138fa565b613283565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146132825761328184826139cb565b5b5b5050505050565b613295848483613a4a565b6132a184848484613b04565b50505050565b600080600090506000608084901c11156132c957608083901c92506080810190505b6000604084901c11156132e457604083901c92506040810190505b6000602084901c11156132ff57602083901c92506020810190505b6000601084901c111561331a57601083901c92506010810190505b6000600884901c111561333557600883901c92506008810190505b6000600484901c111561335057600483901c92506004810190505b6000600284901c111561336b57600283901c92506002810190505b6000600184901c111561337f576001810190505b80915050919050565b60008183106133975781613399565b825b905092915050565b600060028284186133b291906159f4565b8284166133bf919061532b565b905092915050565b600081836133d59190615a4d565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115613440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161343790615b0f565b60405180910390fd5b819050919050565b60008061348c613466613459610fd0565b65ffffffffffff16611a0a565b61347c61347288612049565b868863ffffffff16565b87613b0a9092919063ffffffff16565b91509150935093915050565b600081836134a69190615b2f565b905092915050565b60008060ff8360001c169050601f8111156134f5576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361356d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161356490615bcb565b60405180910390fd5b6135768161256b565b156135b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135ad90615c37565b60405180910390fd5b6135c46000838360016125ac565b6135cd8161256b565b1561360d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161360490615c37565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46137176000838360016125be565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161379a84610cf5565b6137a491906152f7565b9050600060076000848152602001908152602001600020549050818114613889576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061390e91906152f7565b905060006009600084815260200190815260200160002054905060006008838154811061393e5761393d614b58565b5b9060005260206000200154905080600883815481106139605761395f614b58565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806139af576139ae615c57565b5b6001900381819060005260206000200160009055905550505050565b60006139d683610cf5565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613a9757613a94600f613498613a8f846133dd565b613448565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613ae457613ae1600f6133c7613adc846133dd565b613448565b50505b613aff613af084610bec565b613af984610bec565b836127f9565b505050565b50505050565b600080613b1b856000018585613b27565b91509150935093915050565b6000806000858054905090506000811115613dbd576000613b5487600184613b4f91906152f7565b61275f565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508563ffffffff16816000015163ffffffff161115613c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613c3f90615cd2565b60405180910390fd5b8563ffffffff16816000015163ffffffff1603613ccc5784613c7688600185613c7191906152f7565b61275f565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550613dac565b8660405180604001604052808863ffffffff168152602001877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b806020015185935093505050613ea5565b8560405180604001604052808763ffffffff168152602001867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613ef681613ec1565b8114613f0157600080fd5b50565b600081359050613f1381613eed565b92915050565b600060208284031215613f2f57613f2e613eb7565b5b6000613f3d84828501613f04565b91505092915050565b60008115159050919050565b613f5b81613f46565b82525050565b6000602082019050613f766000830184613f52565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613fb6578082015181840152602081019050613f9b565b60008484015250505050565b6000601f19601f8301169050919050565b6000613fde82613f7c565b613fe88185613f87565b9350613ff8818560208601613f98565b61400181613fc2565b840191505092915050565b600060208201905081810360008301526140268184613fd3565b905092915050565b6000819050919050565b6140418161402e565b811461404c57600080fd5b50565b60008135905061405e81614038565b92915050565b60006020828403121561407a57614079613eb7565b5b60006140888482850161404f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006140bc82614091565b9050919050565b6140cc816140b1565b82525050565b60006020820190506140e760008301846140c3565b92915050565b6140f6816140b1565b811461410157600080fd5b50565b600081359050614113816140ed565b92915050565b600080604083850312156141305761412f613eb7565b5b600061413e85828601614104565b925050602061414f8582860161404f565b9150509250929050565b6141628161402e565b82525050565b600060208201905061417d6000830184614159565b92915050565b60008060006060848603121561419c5761419b613eb7565b5b60006141aa86828701614104565b93505060206141bb86828701614104565b92505060406141cc8682870161404f565b9150509250925092565b6000819050919050565b6141e9816141d6565b82525050565b600060208201905061420460008301846141e0565b92915050565b6000602082840312156142205761421f613eb7565b5b600061422e84828501614104565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61426c81614237565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6142a78161402e565b82525050565b60006142b9838361429e565b60208301905092915050565b6000602082019050919050565b60006142dd82614272565b6142e7818561427d565b93506142f28361428e565b8060005b8381101561432357815161430a88826142ad565b9750614315836142c5565b9250506001810190506142f6565b5085935050505092915050565b600060e082019050614345600083018a614263565b81810360208301526143578189613fd3565b9050818103604083015261436b8188613fd3565b905061437a6060830187614159565b61438760808301866140c3565b61439460a08301856141e0565b81810360c08301526143a681846142d2565b905098975050505050505050565b600065ffffffffffff82169050919050565b6143cf816143b4565b82525050565b60006020820190506143ea60008301846143c6565b92915050565b6143f981613f46565b811461440457600080fd5b50565b600081359050614416816143f0565b92915050565b6000806040838503121561443357614432613eb7565b5b600061444185828601614104565b925050602061445285828601614407565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61449e82613fc2565b810181811067ffffffffffffffff821117156144bd576144bc614466565b5b80604052505050565b60006144d0613ead565b90506144dc8282614495565b919050565b600067ffffffffffffffff8211156144fc576144fb614466565b5b61450582613fc2565b9050602081019050919050565b82818337600083830152505050565b600061453461452f846144e1565b6144c6565b9050828152602081018484840111156145505761454f614461565b5b61455b848285614512565b509392505050565b600082601f8301126145785761457761445c565b5b8135614588848260208601614521565b91505092915050565b600080600080608085870312156145ab576145aa613eb7565b5b60006145b987828801614104565b94505060206145ca87828801614104565b93505060406145db8782880161404f565b925050606085013567ffffffffffffffff8111156145fc576145fb613ebc565b5b61460887828801614563565b91505092959194509250565b600060ff82169050919050565b61462a81614614565b811461463557600080fd5b50565b60008135905061464781614621565b92915050565b614656816141d6565b811461466157600080fd5b50565b6000813590506146738161464d565b92915050565b60008060008060008060c0878903121561469657614695613eb7565b5b60006146a489828a01614104565b96505060206146b589828a0161404f565b95505060406146c689828a0161404f565b94505060606146d789828a01614638565b93505060806146e889828a01614664565b92505060a06146f989828a01614664565b9150509295509295509295565b6000806040838503121561471d5761471c613eb7565b5b600061472b85828601614104565b925050602061473c85828601614104565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061478d57607f821691505b6020821081036147a05761479f614746565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000614802602183613f87565b915061480d826147a6565b604082019050919050565b60006020820190508181036000830152614831816147f5565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000614894603d83613f87565b915061489f82614838565b604082019050919050565b600060208201905081810360008301526148c381614887565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000614926602d83613f87565b9150614931826148ca565b604082019050919050565b6000602082019050818103600083015261495581614919565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006149b8602b83613f87565b91506149c38261495c565b604082019050919050565b600060208201905081810360008301526149e7816149ab565b9050919050565b7f566f7465733a20667574757265206c6f6f6b7570000000000000000000000000600082015250565b6000614a24601483613f87565b9150614a2f826149ee565b602082019050919050565b60006020820190508181036000830152614a5381614a17565b9050919050565b7f566f7465733a2062726f6b656e20636c6f636b206d6f64650000000000000000600082015250565b6000614a90601883613f87565b9150614a9b82614a5a565b602082019050919050565b60006020820190508181036000830152614abf81614a83565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000614b22602c83613f87565b9150614b2d82614ac6565b604082019050919050565b60006020820190508181036000830152614b5181614b15565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614bbd601883613f87565b9150614bc882614b87565b602082019050919050565b60006020820190508181036000830152614bec81614bb0565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614c4f602983613f87565b9150614c5a82614bf3565b604082019050919050565b60006020820190508181036000830152614c7e81614c42565b9050919050565b7f566f7465733a207369676e617475726520657870697265640000000000000000600082015250565b6000614cbb601883613f87565b9150614cc682614c85565b602082019050919050565b60006020820190508181036000830152614cea81614cae565b9050919050565b6000608082019050614d0660008301876141e0565b614d1360208301866140c3565b614d206040830185614159565b614d2d6060830184614159565b95945050505050565b7f566f7465733a20696e76616c6964206e6f6e6365000000000000000000000000600082015250565b6000614d6c601483613f87565b9150614d7782614d36565b602082019050919050565b60006020820190508181036000830152614d9b81614d5f565b9050919050565b600081905092915050565b6000614db882613f7c565b614dc28185614da2565b9350614dd2818560208601613f98565b80840191505092915050565b6000614dea8285614dad565b9150614df68284614dad565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614e5e602683613f87565b9150614e6982614e02565b604082019050919050565b60006020820190508181036000830152614e8d81614e51565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614ef67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614eb9565b614f008683614eb9565b95508019841693508086168417925050509392505050565b6000819050919050565b6000614f3d614f38614f338461402e565b614f18565b61402e565b9050919050565b6000819050919050565b614f5783614f22565b614f6b614f6382614f44565b848454614ec6565b825550505050565b600090565b614f80614f73565b614f8b818484614f4e565b505050565b5b81811015614faf57614fa4600082614f78565b600181019050614f91565b5050565b601f821115614ff457614fc581614e94565b614fce84614ea9565b81016020851015614fdd578190505b614ff1614fe985614ea9565b830182614f90565b50505b505050565b600082821c905092915050565b600061501760001984600802614ff9565b1980831691505092915050565b60006150308383615006565b9150826002028217905092915050565b61504982613f7c565b67ffffffffffffffff81111561506257615061614466565b5b61506c8254614775565b615077828285614fb3565b600060209050601f8311600181146150aa5760008415615098578287015190505b6150a28582615024565b86555061510a565b601f1984166150b886614e94565b60005b828110156150e0578489015182556001820191506020850194506020810190506150bb565b868310156150fd57848901516150f9601f891682615006565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061516e602583613f87565b915061517982615112565b604082019050919050565b6000602082019050818103600083015261519d81615161565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000615200602483613f87565b915061520b826151a4565b604082019050919050565b6000602082019050818103600083015261522f816151f3565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000615292602683613f87565b915061529d82615236565b604082019050919050565b600060208201905081810360008301526152c181615285565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006153028261402e565b915061530d8361402e565b9250828203905081811115615325576153246152c8565b5b92915050565b60006153368261402e565b91506153418361402e565b9250828201905080821115615359576153586152c8565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000615395602083613f87565b91506153a08261535f565b602082019050919050565b600060208201905081810360008301526153c481615388565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000615427602683613f87565b9150615432826153cb565b604082019050919050565b600060208201905081810360008301526154568161541a565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000615493601983613f87565b915061549e8261545d565b602082019050919050565b600060208201905081810360008301526154c281615486565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000615525603283613f87565b9150615530826154c9565b604082019050919050565b6000602082019050818103600083015261555481615518565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b6000819050602082019050919050565b60006155b182516141d6565b80915050919050565b60006155c58261558a565b826155cf84615595565b90506155da816155a5565b9250602082101561561a576156157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614eb9565b831692505b5050919050565b600060a08201905061563660008301886141e0565b61564360208301876141e0565b61565060408301866141e0565b61565d6060830185614159565b61566a60808301846140c3565b9695505050505050565b60006040820190506156896000830185614159565b6156966020830184614159565b9392505050565b600082825260208201905092915050565b60006156b98261558a565b6156c3818561569d565b93506156d3818560208601613f98565b6156dc81613fc2565b840191505092915050565b60006080820190506156fc60008301876140c3565b61570960208301866140c3565b6157166040830185614159565b818103606083015261572881846156ae565b905095945050505050565b60008151905061574281613eed565b92915050565b60006020828403121561575e5761575d613eb7565b5b600061576c84828501615733565b91505092915050565b61577e81614614565b82525050565b600060808201905061579960008301876141e0565b6157a66020830186615775565b6157b360408301856141e0565b6157c060608301846141e0565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061582e601883613f87565b9150615839826157f8565b602082019050919050565b6000602082019050818103600083015261585d81615821565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061589a601f83613f87565b91506158a582615864565b602082019050919050565b600060208201905081810360008301526158c98161588d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061592c602283613f87565b9150615937826158d0565b604082019050919050565b6000602082019050818103600083015261595b8161591f565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006159be603583613f87565b91506159c982615962565b604082019050919050565b600060208201905081810360008301526159ed816159b1565b9050919050565b60006159ff8261402e565b9150615a0a8361402e565b925082615a1a57615a1961555b565b5b828204905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6000615a5882615a25565b9150615a6383615a25565b925082820390507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115615a9757615a966152c8565b5b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000615af9602783613f87565b9150615b0482615a9d565b604082019050919050565b60006020820190508181036000830152615b2881615aec565b9050919050565b6000615b3a82615a25565b9150615b4583615a25565b925082820190507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115615b7957615b786152c8565b5b92915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000615bb5602083613f87565b9150615bc082615b7f565b602082019050919050565b60006020820190508181036000830152615be481615ba8565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000615c21601c83613f87565b9150615c2c82615beb565b602082019050919050565b60006020820190508181036000830152615c5081615c14565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f436865636b706f696e743a2064656372656173696e67206b6579730000000000600082015250565b6000615cbc601b83613f87565b9150615cc782615c86565b602082019050919050565b60006020820190508181036000830152615ceb81615caf565b905091905056fea264697066735822122009da4114199cf9a6ed2224a7ab5aa985c5aa9efb5816405b513117f97061e15c64736f6c63430008120033