ERC-20
Source Code
Overview
Max Total Supply
733,674,136.50248 CTR
Holders
1,458
Transfers
-
25,507 ( 12.27%)
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_lzEndpoint","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"amountSD","type":"uint256"}],"name":"AmountSDOverflowed","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[],"name":"InvalidDelegate","type":"error"},{"inputs":[],"name":"InvalidEndpointCall","type":"error"},{"inputs":[],"name":"InvalidLocalDecimals","type":"error"},{"inputs":[{"internalType":"bytes","name":"options","type":"bytes"}],"name":"InvalidOptions","type":"error"},{"inputs":[],"name":"LzTokenUnavailable","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"NoPeer","type":"error"},{"inputs":[{"internalType":"uint256","name":"msgValue","type":"uint256"}],"name":"NotEnoughNative","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"OnlyEndpoint","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"}],"name":"OnlyPeer","type":"error"},{"inputs":[],"name":"OnlySelf","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"name":"SimulationResult","type":"error"},{"inputs":[{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"}],"name":"SlippageExceeded","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"indexed":false,"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]"}],"name":"EnforcedOptionSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"inspector","type":"address"}],"name":"MsgInspectorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"guid","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"srcEid","type":"uint32"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"name":"OFTReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"guid","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"dstEid","type":"uint32"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"name":"OFTSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"eid","type":"uint32"},{"indexed":false,"internalType":"bytes32","name":"peer","type":"bytes32"}],"name":"PeerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"preCrimeAddress","type":"address"}],"name":"PreCrimeSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"SEND","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SEND_AND_CALL","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"origin","type":"tuple"}],"name":"allowInitializePath","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"approvalRequired","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"uint16","name":"_msgType","type":"uint16"},{"internalType":"bytes","name":"_extraOptions","type":"bytes"}],"name":"combineOptions","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimalConversionRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endpoint","outputs":[{"internalType":"contract ILayerZeroEndpointV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"}],"name":"enforcedOptions","outputs":[{"internalType":"bytes","name":"enforcedOption","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"","type":"tuple"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"name":"isComposeMsgSender","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"name":"isPeer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"_origin","type":"tuple"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"lzReceive","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"origin","type":"tuple"},{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"executor","type":"address"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes","name":"extraData","type":"bytes"}],"internalType":"struct InboundPacket[]","name":"_packets","type":"tuple[]"}],"name":"lzReceiveAndRevert","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"_origin","type":"tuple"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"lzReceiveSimulate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"msgInspector","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"nextNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oApp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oAppVersion","outputs":[{"internalType":"uint64","name":"senderVersion","type":"uint64"},{"internalType":"uint64","name":"receiverVersion","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"oftVersion","outputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"},{"internalType":"uint64","name":"version","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"peers","outputs":[{"internalType":"bytes32","name":"peer","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"preCrime","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"}],"name":"quoteOFT","outputs":[{"components":[{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"uint256","name":"maxAmountLD","type":"uint256"}],"internalType":"struct OFTLimit","name":"oftLimit","type":"tuple"},{"components":[{"internalType":"int256","name":"feeAmountLD","type":"int256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct OFTFeeDetail[]","name":"oftFeeDetails","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"internalType":"bool","name":"_payInLzToken","type":"bool"}],"name":"quoteSend","outputs":[{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"msgFee","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"_fee","type":"tuple"},{"internalType":"address","name":"_refundAddress","type":"address"}],"name":"send","outputs":[{"components":[{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"fee","type":"tuple"}],"internalType":"struct MessagingReceipt","name":"msgReceipt","type":"tuple"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_delegate","type":"address"}],"name":"setDelegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]"}],"name":"setEnforcedOptions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_msgInspector","type":"address"}],"name":"setMsgInspector","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"name":"setPeer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_preCrime","type":"address"}],"name":"setPreCrime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sharedDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60c060405234801561000f575f5ffd5b5060405161359838038061359883398101604081905261002e91610286565b83838383838360128484818181818d6001600160a01b03811661006a57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100738161017a565b506001600160a01b0380831660805281166100a157604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e1906024015f604051808303815f87803b1580156100e5575f5ffd5b505af11580156100f7573d5f5f3e3d5ffd5b505050505050505061010d6101c960201b60201c565b60ff168360ff161015610133576040516301e9714b60e41b815260040160405180910390fd5b61013e60068461031f565b61014990600a610421565b60a052506008915061015d905083826104c5565b50600961016a82826104c5565b5050505050505050505050610583565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600690565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126101f1575f5ffd5b81516001600160401b0381111561020a5761020a6101ce565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610238576102386101ce565b60405281815283820160200185101561024f575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b80516001600160a01b0381168114610281575f5ffd5b919050565b5f5f5f5f60808587031215610299575f5ffd5b84516001600160401b038111156102ae575f5ffd5b6102ba878288016101e2565b602087015190955090506001600160401b038111156102d7575f5ffd5b6102e3878288016101e2565b9350506102f26040860161026b565b91506103006060860161026b565b905092959194509250565b634e487b7160e01b5f52601160045260245ffd5b60ff82811682821603908111156103385761033861030b565b92915050565b6001815b60018411156103795780850481111561035d5761035d61030b565b600184161561036b57908102905b60019390931c928002610342565b935093915050565b5f8261038f57506001610338565b8161039b57505f610338565b81600181146103b157600281146103bb576103d7565b6001915050610338565b60ff8411156103cc576103cc61030b565b50506001821b610338565b5060208310610133831016604e8410600b84101617156103fa575081810a610338565b6104065f19848461033e565b805f19048211156104195761041961030b565b029392505050565b5f61042f60ff841683610381565b9392505050565b600181811c9082168061044a57607f821691505b60208210810361046857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104c057828211156104c057805f5260205f20601f840160051c602085101561049957505f5b90810190601f840160051c035f5b818110156104bc575f838201556001016104a7565b5050505b505050565b81516001600160401b038111156104de576104de6101ce565b6104f2816104ec8454610436565b8461046e565b6020601f821160018114610524575f831561050d5750848201515b5f19600385901b1c1916600184901b17845561057c565b5f84815260208120601f198516915b828110156105535787850151825560209485019460019092019101610533565b508482101561057057868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b60805160a051612fae6105ea5f395f81816105f701528181611a1601528181611a880152611c8601525f81816104c201528181610a0d01528181611042015281816112ac0152818161160401528181611da801528181611f0f0152611fc60152612fae5ff3fe608060405260043610610249575f3560e01c80637d25a05e11610134578063bb0b6a53116100b3578063d045a0dc11610078578063d045a0dc14610725578063d424388514610738578063dd62ed3e14610757578063f2fde38b1461079b578063fc0c546a1461044b578063ff7bd03d146107ba575f5ffd5b8063bb0b6a5314610688578063bc70b354146106b3578063bd815db0146106d2578063c7c7f5b3146106e5578063ca5eb5e114610706575f5ffd5b8063963efcaa116100f9578063963efcaa146105e65780639f68b96414610619578063a9059cbb1461062b578063b731ea0a1461064a578063b98bd07014610669575f5ffd5b80637d25a05e1461054b57806382413eac14610584578063857749b0146105a35780638da5cb5b146105b657806395d89b41146105d2575f5ffd5b806323b872dd116101cb5780635535d461116101905780635535d4611461045d5780635a0dfe4d1461047c5780635e280f11146104b15780636fc1b31e146104e457806370a0823114610503578063715018a614610537575f5ffd5b806323b872dd146103c0578063313ce567146103df5780633400288b146104005780633b6f743b1461041f57806352ae28791461044b575f5ffd5b8063134d4f2511610211578063134d4f2514610320578063156a0d0f1461034757806317442b701461036d57806318160ddd1461038e5780631f5e1334146103ac575f5ffd5b806306fdde031461024d578063095ea7b3146102775780630d35b415146102a6578063111ecdad146102d457806313137d651461030b575b5f5ffd5b348015610258575f5ffd5b506102616107d9565b60405161026e91906120f7565b60405180910390f35b348015610282575f5ffd5b5061029661029136600461211d565b610869565b604051901515815260200161026e565b3480156102b1575f5ffd5b506102c56102c036600461215d565b610882565b60405161026e9392919061218e565b3480156102df575f5ffd5b506004546102f3906001600160a01b031681565b6040516001600160a01b03909116815260200161026e565b61031e61031936600461227d565b610a0b565b005b34801561032b575f5ffd5b50610334600281565b60405161ffff909116815260200161026e565b348015610352575f5ffd5b506040805162b9270b60e21b8152600160208201520161026e565b348015610378575f5ffd5b506040805160018152600260208201520161026e565b348015610399575f5ffd5b506007545b60405190815260200161026e565b3480156103b7575f5ffd5b50610334600181565b3480156103cb575f5ffd5b506102966103da366004612317565b610acb565b3480156103ea575f5ffd5b5060125b60405160ff909116815260200161026e565b34801561040b575f5ffd5b5061031e61041a36600461236d565b610af0565b34801561042a575f5ffd5b5061043e610439366004612394565b610b06565b60405161026e91906123e2565b348015610456575f5ffd5b50306102f3565b348015610468575f5ffd5b5061026161047736600461240a565b610b6a565b348015610487575f5ffd5b5061029661049636600461236d565b63ffffffff919091165f908152600160205260409020541490565b3480156104bc575f5ffd5b506102f37f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ef575f5ffd5b5061031e6104fe36600461243b565b610c0c565b34801561050e575f5ffd5b5061039e61051d36600461243b565b6001600160a01b03165f9081526005602052604090205490565b348015610542575f5ffd5b5061031e610c69565b348015610556575f5ffd5b5061056c61056536600461236d565b5f92915050565b6040516001600160401b03909116815260200161026e565b34801561058f575f5ffd5b5061029661059e366004612456565b610c7c565b3480156105ae575f5ffd5b5060066103ee565b3480156105c1575f5ffd5b505f546001600160a01b03166102f3565b3480156105dd575f5ffd5b50610261610c91565b3480156105f1575f5ffd5b5061039e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610624575f5ffd5b505f610296565b348015610636575f5ffd5b5061029661064536600461211d565b610ca0565b348015610655575f5ffd5b506002546102f3906001600160a01b031681565b348015610674575f5ffd5b5061031e6106833660046124f8565b610cad565b348015610693575f5ffd5b5061039e6106a2366004612536565b60016020525f908152604090205481565b3480156106be575f5ffd5b506102616106cd36600461254f565b610cc7565b61031e6106e03660046124f8565b610e68565b6106f86106f33660046125ab565b610fe8565b60405161026e929190612613565b348015610711575f5ffd5b5061031e61072036600461243b565b61101b565b61031e61073336600461227d565b61109c565b348015610743575f5ffd5b5061031e61075236600461243b565b6110cb565b348015610762575f5ffd5b5061039e610771366004612664565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107a6575f5ffd5b5061031e6107b536600461243b565b611121565b3480156107c5575f5ffd5b506102966107d4366004612690565b61115e565b6060600880546107e8906126aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610814906126aa565b801561085f5780601f106108365761010080835404028352916020019161085f565b820191905f5260205f20905b81548152906001019060200180831161084257829003601f168201915b5050505050905090565b5f33610876818585611192565b60019150505b92915050565b604080518082019091525f808252602082015260606108b260405180604001604052805f81526020015f81525090565b5f5f90505f306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f3573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091791906126dc565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610952573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097691906126f7565b604080518082018252848152602080820184905282515f808252918101909352909750919250906109c9565b604080518082019091525f8152606060208201528152602001906001900390816109a25790505b5093505f806109ed604089013560608a01356109e860208c018c612536565b6111a4565b60408051808201909152918252602082015296989597505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610a5b576040516391ac5e4f60e01b81523360048201526024015b60405180910390fd5b60208701803590610a7590610a70908a612536565b6111df565b14610ab357610a876020880188612536565b60405163309afaf360e21b815263ffffffff909116600482015260208801356024820152604401610a52565b610ac28787878787878761121a565b50505050505050565b5f33610ad8858285611378565b610ae38585856113f4565b60019150505b9392505050565b610af8611451565b610b02828261147d565b5050565b604080518082019091525f80825260208201525f610b34604085013560608601356109e86020880188612536565b9150505f5f610b4386846114d1565b9092509050610b60610b586020880188612536565b8383886115ef565b9695505050505050565b600360209081525f928352604080842090915290825290208054610b8d906126aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb9906126aa565b8015610c045780601f10610bdb57610100808354040283529160200191610c04565b820191905f5260205f20905b815481529060010190602001808311610be757829003601f168201915b505050505081565b610c14611451565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b610c71611451565b610c7a5f6116cd565b565b6001600160a01b03811630145b949350505050565b6060600980546107e8906126aa565b5f336108768185856113f4565b610cb5611451565b610b02610cc282846127c2565b61171c565b63ffffffff84165f90815260036020908152604080832061ffff87168452909152812080546060929190610cfa906126aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610d26906126aa565b8015610d715780601f10610d4857610100808354040283529160200191610d71565b820191905f5260205f20905b815481529060010190602001808311610d5457829003601f168201915b5050505050905080515f03610dbf5783838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929450610c899350505050565b5f839003610dce579050610c89565b60028310610e4b57610e1484848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061181d92505050565b80610e2284600281886128e3565b604051602001610e3493929190612921565b604051602081830303815290604052915050610c89565b8383604051639a6d49cd60e01b8152600401610a52929190612967565b5f5b81811015610f6b5736838383818110610e8557610e8561297a565b9050602002810190610e97919061298e565b9050610ec9610ea96020830183612536565b602083013563ffffffff919091165f908152600160205260409020541490565b610ed35750610f63565b3063d045a0dc60c08301358360a0810135610ef26101008301836129ad565b610f03610100890160e08a0161243b565b610f116101208a018a6129ad565b6040518963ffffffff1660e01b8152600401610f339796959493929190612a03565b5f604051808303818588803b158015610f4a575f5ffd5b505af1158015610f5c573d5f5f3e3d5ffd5b5050505050505b600101610e6a565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b81526004015f60405180830381865afa158015610fa7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fce9190810190612a88565b604051638351eea760e01b8152600401610a5291906120f7565b610ff0612089565b604080518082019091525f808252602082015261100e858585611849565b915091505b935093915050565b611023611451565b60405163ca5eb5e160e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e1906024015f604051808303815f87803b158015611083575f5ffd5b505af1158015611095573d5f5f3e3d5ffd5b5050505050565b3330146110bc5760405163029a949d60e31b815260040160405180910390fd5b610ac287878787878787610ab3565b6110d3611451565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001610c5e565b611129611451565b6001600160a01b03811661115257604051631e4fbdf760e01b81525f6004820152602401610a52565b61115b816116cd565b50565b5f6020820180359060019083906111759086612536565b63ffffffff16815260208101919091526040015f20541492915050565b61119f8383836001611941565b505050565b5f5f6111af85611a13565b915081905083811015611013576040516371c4efed60e01b81526004810182905260248101859052604401610a52565b63ffffffff81165f908152600160205260408120548061087c5760405163f6ff4fb760e01b815263ffffffff84166004820152602401610a52565b5f61122b6112288787611a49565b90565b90505f6112568261124461123f8a8a611a60565b611a82565b61125160208d018d612536565b611ab6565b90506028861115611316575f61129261127560608c0160408d01612afc565b61128260208d018d612536565b8461128d8c8c611add565b611b27565b604051633e5ac80960e11b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906112e79086908d905f908790600401612b17565b5f604051808303815f87803b1580156112fe575f5ffd5b505af1158015611310573d5f5f3e3d5ffd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61134f60208d018d612536565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b6001600160a01b038381165f908152600660209081526040808320938616835292905220545f198110156113ee57818110156113e057604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610a52565b6113ee84848484035f611941565b50505050565b6001600160a01b03831661141d57604051634b637e8f60e11b81525f6004820152602401610a52565b6001600160a01b0382166114465760405163ec442f0560e01b81525f6004820152602401610a52565b61119f838383611b59565b5f546001600160a01b03163314610c7a5760405163118cdaa760e01b8152336004820152602401610a52565b63ffffffff82165f81815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6060805f61152c85602001356114e686611c7f565b6114f360a08901896129ad565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611cd892505050565b90935090505f8161153e576001611541565b60025b90506115616115536020880188612536565b826106cd60808a018a6129ad565b6004549093506001600160a01b031680156115e55760405163043a78eb60e01b81526001600160a01b0382169063043a78eb906115a49088908890600401612b47565b602060405180830381865afa1580156115bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115e39190612b6b565b505b5050509250929050565b604080518082019091525f80825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff168152602001611651896111df565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611686929190612b86565b6040805180830381865afa1580156116a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c49190612c2d565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b81518110156117ed5761174d82828151811061173c5761173c61297a565b60200260200101516040015161181d565b81818151811061175f5761175f61297a565b60200260200101516040015160035f8484815181106117805761178061297a565b60200260200101515f015163ffffffff1663ffffffff1681526020019081526020015f205f8484815181106117b7576117b761297a565b60200260200101516020015161ffff1661ffff1681526020019081526020015f2090816117e49190612c9d565b5060010161171e565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051610c5e9190612d57565b600281015161ffff8116600314610b025781604051639a6d49cd60e01b8152600401610a5291906120f7565b611851612089565b604080518082019091525f80825260208201525f8061188633604089013560608a013561188160208c018c612536565b611d52565b915091505f5f61189689846114d1565b90925090506118c26118ab60208b018b612536565b83836118bc368d90038d018d612de5565b8b611d77565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90611910908d018d612536565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b6001600160a01b03841661196a5760405163e602df0560e01b81525f6004820152602401610a52565b6001600160a01b03831661199357604051634a1406b160e11b81525f6004820152602401610a52565b6001600160a01b038085165f90815260066020908152604080832093871683529290522082905580156113ee57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611a0591815260200190565b60405180910390a350505050565b5f7f0000000000000000000000000000000000000000000000000000000000000000611a3f8184612e2a565b61087c9190612e49565b5f611a5760208284866128e3565b610ae991612e60565b5f611a6f6028602084866128e3565b611a7891612e7d565b60c01c9392505050565b5f61087c7f00000000000000000000000000000000000000000000000000000000000000006001600160401b038416612e49565b5f6001600160a01b038416611acb5761dead93505b611ad58484611e7d565b509092915050565b6060611aec82602881866128e3565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929695505050505050565b606084848484604051602001611b409493929190612eb5565b6040516020818303038152906040529050949350505050565b6001600160a01b038316611b83578060075f828254611b789190612eef565b90915550611bf39050565b6001600160a01b0383165f9081526005602052604090205481811015611bd55760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610a52565b6001600160a01b0384165f9081526005602052604090209082900390555b6001600160a01b038216611c0f57600780548290039055611c2d565b6001600160a01b0382165f9081526005602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c7291815260200190565b60405180910390a3505050565b5f80611cab7f000000000000000000000000000000000000000000000000000000000000000084612e2a565b90506001600160401b0381111561087c5760405163e2ce941360e01b815260048101829052602401610a52565b8051606090151580611d21578484604051602001611d0d92919091825260c01b6001600160c01b031916602082015260280190565b604051602081830303815290604052611d48565b84843385604051602001611d389493929190612f02565b6040516020818303038152906040525b9150935093915050565b5f5f611d5f8585856111a4565b9092509050611d6e8683611eb1565b94509492505050565b611d7f612089565b5f611d8c845f0151611ee5565b602085015190915015611da657611da68460200151611f0c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff168152602001611df68c6111df565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b8152600401611e31929190612b86565b60806040518083038185885af1158015611e4d573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611e729190612f2e565b979650505050505050565b6001600160a01b038216611ea65760405163ec442f0560e01b81525f6004820152602401610a52565b610b025f8383611b59565b6001600160a01b038216611eda57604051634b637e8f60e11b81525f6004820152602401610a52565b610b02825f83611b59565b5f813414611f08576040516304fb820960e51b8152346004820152602401610a52565b5090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f69573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8d91906126dc565b90506001600160a01b038116611fb6576040516329b99a9560e11b815260040160405180910390fd5b610b026001600160a01b038216337f000000000000000000000000000000000000000000000000000000000000000085611ff484848484600161201c565b6113ee57604051635274afe760e01b81526001600160a01b0385166004820152602401610a52565b6040516323b872dd60e01b5f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f5114831661207857838315161561206c573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b60405180606001604052805f81526020015f6001600160401b031681526020016120c460405180604001604052805f81526020015f81525090565b905290565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610ae960208301846120c9565b6001600160a01b038116811461115b575f5ffd5b5f5f6040838503121561212e575f5ffd5b823561213981612109565b946020939093013593505050565b5f60e08284031215612157575f5ffd5b50919050565b5f6020828403121561216d575f5ffd5b81356001600160401b03811115612182575f5ffd5b610c8984828501612147565b83518152602080850151908201525f60a0820160a0604084015280855180835260c08501915060c08160051b8601019250602087015f5b8281101561220d5760bf1987860301845281518051865260208101519050604060208701526121f760408701826120c9565b95505060209384019391909101906001016121c5565b5050855160608601525050602084015160808401529050610c89565b5f60608284031215612157575f5ffd5b5f5f83601f840112612249575f5ffd5b5081356001600160401b0381111561225f575f5ffd5b602083019150836020828501011115612276575f5ffd5b9250929050565b5f5f5f5f5f5f5f60e0888a031215612293575f5ffd5b61229d8989612229565b96506060880135955060808801356001600160401b038111156122be575f5ffd5b6122ca8a828b01612239565b90965094505060a08801356122de81612109565b925060c08801356001600160401b038111156122f8575f5ffd5b6123048a828b01612239565b989b979a50959850939692959293505050565b5f5f5f60608486031215612329575f5ffd5b833561233481612109565b9250602084013561234481612109565b929592945050506040919091013590565b803563ffffffff81168114612368575f5ffd5b919050565b5f5f6040838503121561237e575f5ffd5b61213983612355565b801515811461115b575f5ffd5b5f5f604083850312156123a5575f5ffd5b82356001600160401b038111156123ba575f5ffd5b6123c685828601612147565b92505060208301356123d781612387565b809150509250929050565b81518152602080830151908201526040810161087c565b803561ffff81168114612368575f5ffd5b5f5f6040838503121561241b575f5ffd5b61242483612355565b9150612432602084016123f9565b90509250929050565b5f6020828403121561244b575f5ffd5b8135610ae981612109565b5f5f5f5f60a08587031215612469575f5ffd5b6124738686612229565b935060608501356001600160401b0381111561248d575f5ffd5b61249987828801612239565b90945092505060808501356124ad81612109565b939692955090935050565b5f5f83601f8401126124c8575f5ffd5b5081356001600160401b038111156124de575f5ffd5b6020830191508360208260051b8501011115612276575f5ffd5b5f5f60208385031215612509575f5ffd5b82356001600160401b0381111561251e575f5ffd5b61252a858286016124b8565b90969095509350505050565b5f60208284031215612546575f5ffd5b610ae982612355565b5f5f5f5f60608587031215612562575f5ffd5b61256b85612355565b9350612579602086016123f9565b925060408501356001600160401b03811115612593575f5ffd5b61259f87828801612239565b95989497509550505050565b5f5f5f83850360808112156125be575f5ffd5b84356001600160401b038111156125d3575f5ffd5b6125df87828801612147565b9450506040601f19820112156125f3575f5ffd5b50602084019150606084013561260881612109565b809150509250925092565b5f60c082019050835182526001600160401b036020850151166020830152604084015161264d604084018280518252602090810151910152565b5082516080830152602083015160a0830152610ae9565b5f5f60408385031215612675575f5ffd5b823561268081612109565b915060208301356123d781612109565b5f606082840312156126a0575f5ffd5b610ae98383612229565b600181811c908216806126be57607f821691505b60208210810361215757634e487b7160e01b5f52602260045260245ffd5b5f602082840312156126ec575f5ffd5b8151610ae981612109565b5f60208284031215612707575f5ffd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b03811182821017156127445761274461270e565b60405290565b604080519081016001600160401b03811182821017156127445761274461270e565b604051601f8201601f191681016001600160401b03811182821017156127945761279461270e565b604052919050565b5f6001600160401b038211156127b4576127b461270e565b50601f01601f191660200190565b5f6001600160401b038311156127da576127da61270e565b8260051b6127ea6020820161276c565b84815290830190602081019036831115612802575f5ffd5b845b838110156128d95780356001600160401b03811115612821575f5ffd5b86016060368290031215612833575f5ffd5b61283b612722565b61284482612355565b8152612852602083016123f9565b602082015260408201356001600160401b0381111561286f575f5ffd5b919091019036601f830112612882575f5ffd5b81356128956128908261279c565b61276c565b8181523660208386010111156128a9575f5ffd5b816020850160208301375f6020838301015280604084015250508085525050602083019250602081019050612804565b5095945050505050565b5f5f858511156128f1575f5ffd5b838611156128fd575f5ffd5b5050820193919092039150565b5f81518060208401855e5f93019283525090919050565b5f61292c828661290a565b838582375f930192835250909392505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610c8960208301848661293f565b634e487b7160e01b5f52603260045260245ffd5b5f823561013e198336030181126129a3575f5ffd5b9190910192915050565b5f5f8335601e198436030181126129c2575f5ffd5b8301803591506001600160401b038211156129db575f5ffd5b602001915036819003821315612276575f5ffd5b6001600160401b038116811461115b575f5ffd5b63ffffffff612a1189612355565b168152602088810135908201525f6040890135612a2d816129ef565b6001600160401b03811660408401525087606083015260e06080830152612a5860e08301878961293f565b6001600160a01b03861660a084015282810360c0840152612a7a81858761293f565b9a9950505050505050505050565b5f60208284031215612a98575f5ffd5b81516001600160401b03811115612aad575f5ffd5b8201601f81018413612abd575f5ffd5b8051612acb6128908261279c565b818152856020838501011115612adf575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031215612b0c575f5ffd5b8135610ae9816129ef565b60018060a01b038516815283602082015261ffff83166040820152608060608201525f610b6060808301846120c9565b604081525f612b5960408301856120c9565b82810360208401526116c481856120c9565b5f60208284031215612b7b575f5ffd5b8151610ae981612387565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a06080840152612bbb60e08401826120c9565b90506060850151603f198483030160a0850152612bd882826120c9565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f60408284031215612c0e575f5ffd5b612c1661274a565b825181526020928301519281019290925250919050565b5f60408284031215612c3d575f5ffd5b610ae98383612bfe565b601f82111561119f578282111561119f57805f5260205f20601f840160051c6020851015612c7257505f5b90810190601f840160051c035f5b81811015612c95575f83820155600101612c80565b505050505050565b81516001600160401b03811115612cb657612cb661270e565b612cca81612cc484546126aa565b84612c47565b6020601f821160018114612cfc575f8315612ce55750848201515b5f19600385901b1c1916600184901b178455611095565b5f84815260208120601f198516915b82811015612d2b5787850151825560209485019460019092019101612d0b565b5084821015612d4857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612dd957603f19878603018452815163ffffffff815116865261ffff60208201511660208701526040810151905060606040870152612dc360608701826120c9565b9550506020938401939190910190600101612d7d565b50929695505050505050565b5f6040828403128015612df6575f5ffd5b50612dff61274a565b823581526020928301359281019290925250919050565b634e487b7160e01b5f52601160045260245ffd5b5f82612e4457634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761087c5761087c612e16565b8035602083101561087c575f19602084900360031b1b1692915050565b80356001600160c01b03198116906008841015612eae576001600160c01b0319600885900360031b81901b82161691505b5092915050565b60c085901b6001600160c01b031916815260e084901b6001600160e01b0319166008820152600c81018390525f610b60602c83018461290a565b8082018082111561087c5761087c612e16565b8481526001600160401b0360c01b8460c01b1660208201528260288201525f610b60604883018461290a565b5f6080828403128015612f3f575f5ffd5b50612f48612722565b825181526020830151612f5a816129ef565b6020820152612f6c8460408501612bfe565b6040820152939250505056fea26469706673582212205f8f21ee4c93d434e73e30e79149934e5fab7c468313e5444a28b19adc1866af64736f6c63430008210033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000001a44076050125825900e736c501f859c50fe728c000000000000000000000000b6ef312c9d08cee2924bbf70251de9312a1d5e960000000000000000000000000000000000000000000000000000000000000003435452000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034354520000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405260043610610249575f3560e01c80637d25a05e11610134578063bb0b6a53116100b3578063d045a0dc11610078578063d045a0dc14610725578063d424388514610738578063dd62ed3e14610757578063f2fde38b1461079b578063fc0c546a1461044b578063ff7bd03d146107ba575f5ffd5b8063bb0b6a5314610688578063bc70b354146106b3578063bd815db0146106d2578063c7c7f5b3146106e5578063ca5eb5e114610706575f5ffd5b8063963efcaa116100f9578063963efcaa146105e65780639f68b96414610619578063a9059cbb1461062b578063b731ea0a1461064a578063b98bd07014610669575f5ffd5b80637d25a05e1461054b57806382413eac14610584578063857749b0146105a35780638da5cb5b146105b657806395d89b41146105d2575f5ffd5b806323b872dd116101cb5780635535d461116101905780635535d4611461045d5780635a0dfe4d1461047c5780635e280f11146104b15780636fc1b31e146104e457806370a0823114610503578063715018a614610537575f5ffd5b806323b872dd146103c0578063313ce567146103df5780633400288b146104005780633b6f743b1461041f57806352ae28791461044b575f5ffd5b8063134d4f2511610211578063134d4f2514610320578063156a0d0f1461034757806317442b701461036d57806318160ddd1461038e5780631f5e1334146103ac575f5ffd5b806306fdde031461024d578063095ea7b3146102775780630d35b415146102a6578063111ecdad146102d457806313137d651461030b575b5f5ffd5b348015610258575f5ffd5b506102616107d9565b60405161026e91906120f7565b60405180910390f35b348015610282575f5ffd5b5061029661029136600461211d565b610869565b604051901515815260200161026e565b3480156102b1575f5ffd5b506102c56102c036600461215d565b610882565b60405161026e9392919061218e565b3480156102df575f5ffd5b506004546102f3906001600160a01b031681565b6040516001600160a01b03909116815260200161026e565b61031e61031936600461227d565b610a0b565b005b34801561032b575f5ffd5b50610334600281565b60405161ffff909116815260200161026e565b348015610352575f5ffd5b506040805162b9270b60e21b8152600160208201520161026e565b348015610378575f5ffd5b506040805160018152600260208201520161026e565b348015610399575f5ffd5b506007545b60405190815260200161026e565b3480156103b7575f5ffd5b50610334600181565b3480156103cb575f5ffd5b506102966103da366004612317565b610acb565b3480156103ea575f5ffd5b5060125b60405160ff909116815260200161026e565b34801561040b575f5ffd5b5061031e61041a36600461236d565b610af0565b34801561042a575f5ffd5b5061043e610439366004612394565b610b06565b60405161026e91906123e2565b348015610456575f5ffd5b50306102f3565b348015610468575f5ffd5b5061026161047736600461240a565b610b6a565b348015610487575f5ffd5b5061029661049636600461236d565b63ffffffff919091165f908152600160205260409020541490565b3480156104bc575f5ffd5b506102f37f0000000000000000000000001a44076050125825900e736c501f859c50fe728c81565b3480156104ef575f5ffd5b5061031e6104fe36600461243b565b610c0c565b34801561050e575f5ffd5b5061039e61051d36600461243b565b6001600160a01b03165f9081526005602052604090205490565b348015610542575f5ffd5b5061031e610c69565b348015610556575f5ffd5b5061056c61056536600461236d565b5f92915050565b6040516001600160401b03909116815260200161026e565b34801561058f575f5ffd5b5061029661059e366004612456565b610c7c565b3480156105ae575f5ffd5b5060066103ee565b3480156105c1575f5ffd5b505f546001600160a01b03166102f3565b3480156105dd575f5ffd5b50610261610c91565b3480156105f1575f5ffd5b5061039e7f000000000000000000000000000000000000000000000000000000e8d4a5100081565b348015610624575f5ffd5b505f610296565b348015610636575f5ffd5b5061029661064536600461211d565b610ca0565b348015610655575f5ffd5b506002546102f3906001600160a01b031681565b348015610674575f5ffd5b5061031e6106833660046124f8565b610cad565b348015610693575f5ffd5b5061039e6106a2366004612536565b60016020525f908152604090205481565b3480156106be575f5ffd5b506102616106cd36600461254f565b610cc7565b61031e6106e03660046124f8565b610e68565b6106f86106f33660046125ab565b610fe8565b60405161026e929190612613565b348015610711575f5ffd5b5061031e61072036600461243b565b61101b565b61031e61073336600461227d565b61109c565b348015610743575f5ffd5b5061031e61075236600461243b565b6110cb565b348015610762575f5ffd5b5061039e610771366004612664565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107a6575f5ffd5b5061031e6107b536600461243b565b611121565b3480156107c5575f5ffd5b506102966107d4366004612690565b61115e565b6060600880546107e8906126aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610814906126aa565b801561085f5780601f106108365761010080835404028352916020019161085f565b820191905f5260205f20905b81548152906001019060200180831161084257829003601f168201915b5050505050905090565b5f33610876818585611192565b60019150505b92915050565b604080518082019091525f808252602082015260606108b260405180604001604052805f81526020015f81525090565b5f5f90505f306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f3573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091791906126dc565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610952573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097691906126f7565b604080518082018252848152602080820184905282515f808252918101909352909750919250906109c9565b604080518082019091525f8152606060208201528152602001906001900390816109a25790505b5093505f806109ed604089013560608a01356109e860208c018c612536565b6111a4565b60408051808201909152918252602082015296989597505050505050565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b03163314610a5b576040516391ac5e4f60e01b81523360048201526024015b60405180910390fd5b60208701803590610a7590610a70908a612536565b6111df565b14610ab357610a876020880188612536565b60405163309afaf360e21b815263ffffffff909116600482015260208801356024820152604401610a52565b610ac28787878787878761121a565b50505050505050565b5f33610ad8858285611378565b610ae38585856113f4565b60019150505b9392505050565b610af8611451565b610b02828261147d565b5050565b604080518082019091525f80825260208201525f610b34604085013560608601356109e86020880188612536565b9150505f5f610b4386846114d1565b9092509050610b60610b586020880188612536565b8383886115ef565b9695505050505050565b600360209081525f928352604080842090915290825290208054610b8d906126aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb9906126aa565b8015610c045780601f10610bdb57610100808354040283529160200191610c04565b820191905f5260205f20905b815481529060010190602001808311610be757829003601f168201915b505050505081565b610c14611451565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b610c71611451565b610c7a5f6116cd565b565b6001600160a01b03811630145b949350505050565b6060600980546107e8906126aa565b5f336108768185856113f4565b610cb5611451565b610b02610cc282846127c2565b61171c565b63ffffffff84165f90815260036020908152604080832061ffff87168452909152812080546060929190610cfa906126aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610d26906126aa565b8015610d715780601f10610d4857610100808354040283529160200191610d71565b820191905f5260205f20905b815481529060010190602001808311610d5457829003601f168201915b5050505050905080515f03610dbf5783838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929450610c899350505050565b5f839003610dce579050610c89565b60028310610e4b57610e1484848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061181d92505050565b80610e2284600281886128e3565b604051602001610e3493929190612921565b604051602081830303815290604052915050610c89565b8383604051639a6d49cd60e01b8152600401610a52929190612967565b5f5b81811015610f6b5736838383818110610e8557610e8561297a565b9050602002810190610e97919061298e565b9050610ec9610ea96020830183612536565b602083013563ffffffff919091165f908152600160205260409020541490565b610ed35750610f63565b3063d045a0dc60c08301358360a0810135610ef26101008301836129ad565b610f03610100890160e08a0161243b565b610f116101208a018a6129ad565b6040518963ffffffff1660e01b8152600401610f339796959493929190612a03565b5f604051808303818588803b158015610f4a575f5ffd5b505af1158015610f5c573d5f5f3e3d5ffd5b5050505050505b600101610e6a565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b81526004015f60405180830381865afa158015610fa7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fce9190810190612a88565b604051638351eea760e01b8152600401610a5291906120f7565b610ff0612089565b604080518082019091525f808252602082015261100e858585611849565b915091505b935093915050565b611023611451565b60405163ca5eb5e160e01b81526001600160a01b0382811660048301527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c169063ca5eb5e1906024015f604051808303815f87803b158015611083575f5ffd5b505af1158015611095573d5f5f3e3d5ffd5b5050505050565b3330146110bc5760405163029a949d60e31b815260040160405180910390fd5b610ac287878787878787610ab3565b6110d3611451565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001610c5e565b611129611451565b6001600160a01b03811661115257604051631e4fbdf760e01b81525f6004820152602401610a52565b61115b816116cd565b50565b5f6020820180359060019083906111759086612536565b63ffffffff16815260208101919091526040015f20541492915050565b61119f8383836001611941565b505050565b5f5f6111af85611a13565b915081905083811015611013576040516371c4efed60e01b81526004810182905260248101859052604401610a52565b63ffffffff81165f908152600160205260408120548061087c5760405163f6ff4fb760e01b815263ffffffff84166004820152602401610a52565b5f61122b6112288787611a49565b90565b90505f6112568261124461123f8a8a611a60565b611a82565b61125160208d018d612536565b611ab6565b90506028861115611316575f61129261127560608c0160408d01612afc565b61128260208d018d612536565b8461128d8c8c611add565b611b27565b604051633e5ac80960e11b81529091506001600160a01b037f0000000000000000000000001a44076050125825900e736c501f859c50fe728c1690637cb59012906112e79086908d905f908790600401612b17565b5f604051808303815f87803b1580156112fe575f5ffd5b505af1158015611310573d5f5f3e3d5ffd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61134f60208d018d612536565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b6001600160a01b038381165f908152600660209081526040808320938616835292905220545f198110156113ee57818110156113e057604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610a52565b6113ee84848484035f611941565b50505050565b6001600160a01b03831661141d57604051634b637e8f60e11b81525f6004820152602401610a52565b6001600160a01b0382166114465760405163ec442f0560e01b81525f6004820152602401610a52565b61119f838383611b59565b5f546001600160a01b03163314610c7a5760405163118cdaa760e01b8152336004820152602401610a52565b63ffffffff82165f81815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6060805f61152c85602001356114e686611c7f565b6114f360a08901896129ad565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611cd892505050565b90935090505f8161153e576001611541565b60025b90506115616115536020880188612536565b826106cd60808a018a6129ad565b6004549093506001600160a01b031680156115e55760405163043a78eb60e01b81526001600160a01b0382169063043a78eb906115a49088908890600401612b47565b602060405180830381865afa1580156115bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115e39190612b6b565b505b5050509250929050565b604080518082019091525f80825260208201527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b031663ddc28c586040518060a001604052808863ffffffff168152602001611651896111df565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611686929190612b86565b6040805180830381865afa1580156116a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c49190612c2d565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b81518110156117ed5761174d82828151811061173c5761173c61297a565b60200260200101516040015161181d565b81818151811061175f5761175f61297a565b60200260200101516040015160035f8484815181106117805761178061297a565b60200260200101515f015163ffffffff1663ffffffff1681526020019081526020015f205f8484815181106117b7576117b761297a565b60200260200101516020015161ffff1661ffff1681526020019081526020015f2090816117e49190612c9d565b5060010161171e565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051610c5e9190612d57565b600281015161ffff8116600314610b025781604051639a6d49cd60e01b8152600401610a5291906120f7565b611851612089565b604080518082019091525f80825260208201525f8061188633604089013560608a013561188160208c018c612536565b611d52565b915091505f5f61189689846114d1565b90925090506118c26118ab60208b018b612536565b83836118bc368d90038d018d612de5565b8b611d77565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90611910908d018d612536565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b6001600160a01b03841661196a5760405163e602df0560e01b81525f6004820152602401610a52565b6001600160a01b03831661199357604051634a1406b160e11b81525f6004820152602401610a52565b6001600160a01b038085165f90815260066020908152604080832093871683529290522082905580156113ee57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611a0591815260200190565b60405180910390a350505050565b5f7f000000000000000000000000000000000000000000000000000000e8d4a51000611a3f8184612e2a565b61087c9190612e49565b5f611a5760208284866128e3565b610ae991612e60565b5f611a6f6028602084866128e3565b611a7891612e7d565b60c01c9392505050565b5f61087c7f000000000000000000000000000000000000000000000000000000e8d4a510006001600160401b038416612e49565b5f6001600160a01b038416611acb5761dead93505b611ad58484611e7d565b509092915050565b6060611aec82602881866128e3565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929695505050505050565b606084848484604051602001611b409493929190612eb5565b6040516020818303038152906040529050949350505050565b6001600160a01b038316611b83578060075f828254611b789190612eef565b90915550611bf39050565b6001600160a01b0383165f9081526005602052604090205481811015611bd55760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610a52565b6001600160a01b0384165f9081526005602052604090209082900390555b6001600160a01b038216611c0f57600780548290039055611c2d565b6001600160a01b0382165f9081526005602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c7291815260200190565b60405180910390a3505050565b5f80611cab7f000000000000000000000000000000000000000000000000000000e8d4a5100084612e2a565b90506001600160401b0381111561087c5760405163e2ce941360e01b815260048101829052602401610a52565b8051606090151580611d21578484604051602001611d0d92919091825260c01b6001600160c01b031916602082015260280190565b604051602081830303815290604052611d48565b84843385604051602001611d389493929190612f02565b6040516020818303038152906040525b9150935093915050565b5f5f611d5f8585856111a4565b9092509050611d6e8683611eb1565b94509492505050565b611d7f612089565b5f611d8c845f0151611ee5565b602085015190915015611da657611da68460200151611f0c565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b0316632637a450826040518060a001604052808b63ffffffff168152602001611df68c6111df565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b8152600401611e31929190612b86565b60806040518083038185885af1158015611e4d573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611e729190612f2e565b979650505050505050565b6001600160a01b038216611ea65760405163ec442f0560e01b81525f6004820152602401610a52565b610b025f8383611b59565b6001600160a01b038216611eda57604051634b637e8f60e11b81525f6004820152602401610a52565b610b02825f83611b59565b5f813414611f08576040516304fb820960e51b8152346004820152602401610a52565b5090565b5f7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f69573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8d91906126dc565b90506001600160a01b038116611fb6576040516329b99a9560e11b815260040160405180910390fd5b610b026001600160a01b038216337f0000000000000000000000001a44076050125825900e736c501f859c50fe728c85611ff484848484600161201c565b6113ee57604051635274afe760e01b81526001600160a01b0385166004820152602401610a52565b6040516323b872dd60e01b5f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f5114831661207857838315161561206c573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b60405180606001604052805f81526020015f6001600160401b031681526020016120c460405180604001604052805f81526020015f81525090565b905290565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610ae960208301846120c9565b6001600160a01b038116811461115b575f5ffd5b5f5f6040838503121561212e575f5ffd5b823561213981612109565b946020939093013593505050565b5f60e08284031215612157575f5ffd5b50919050565b5f6020828403121561216d575f5ffd5b81356001600160401b03811115612182575f5ffd5b610c8984828501612147565b83518152602080850151908201525f60a0820160a0604084015280855180835260c08501915060c08160051b8601019250602087015f5b8281101561220d5760bf1987860301845281518051865260208101519050604060208701526121f760408701826120c9565b95505060209384019391909101906001016121c5565b5050855160608601525050602084015160808401529050610c89565b5f60608284031215612157575f5ffd5b5f5f83601f840112612249575f5ffd5b5081356001600160401b0381111561225f575f5ffd5b602083019150836020828501011115612276575f5ffd5b9250929050565b5f5f5f5f5f5f5f60e0888a031215612293575f5ffd5b61229d8989612229565b96506060880135955060808801356001600160401b038111156122be575f5ffd5b6122ca8a828b01612239565b90965094505060a08801356122de81612109565b925060c08801356001600160401b038111156122f8575f5ffd5b6123048a828b01612239565b989b979a50959850939692959293505050565b5f5f5f60608486031215612329575f5ffd5b833561233481612109565b9250602084013561234481612109565b929592945050506040919091013590565b803563ffffffff81168114612368575f5ffd5b919050565b5f5f6040838503121561237e575f5ffd5b61213983612355565b801515811461115b575f5ffd5b5f5f604083850312156123a5575f5ffd5b82356001600160401b038111156123ba575f5ffd5b6123c685828601612147565b92505060208301356123d781612387565b809150509250929050565b81518152602080830151908201526040810161087c565b803561ffff81168114612368575f5ffd5b5f5f6040838503121561241b575f5ffd5b61242483612355565b9150612432602084016123f9565b90509250929050565b5f6020828403121561244b575f5ffd5b8135610ae981612109565b5f5f5f5f60a08587031215612469575f5ffd5b6124738686612229565b935060608501356001600160401b0381111561248d575f5ffd5b61249987828801612239565b90945092505060808501356124ad81612109565b939692955090935050565b5f5f83601f8401126124c8575f5ffd5b5081356001600160401b038111156124de575f5ffd5b6020830191508360208260051b8501011115612276575f5ffd5b5f5f60208385031215612509575f5ffd5b82356001600160401b0381111561251e575f5ffd5b61252a858286016124b8565b90969095509350505050565b5f60208284031215612546575f5ffd5b610ae982612355565b5f5f5f5f60608587031215612562575f5ffd5b61256b85612355565b9350612579602086016123f9565b925060408501356001600160401b03811115612593575f5ffd5b61259f87828801612239565b95989497509550505050565b5f5f5f83850360808112156125be575f5ffd5b84356001600160401b038111156125d3575f5ffd5b6125df87828801612147565b9450506040601f19820112156125f3575f5ffd5b50602084019150606084013561260881612109565b809150509250925092565b5f60c082019050835182526001600160401b036020850151166020830152604084015161264d604084018280518252602090810151910152565b5082516080830152602083015160a0830152610ae9565b5f5f60408385031215612675575f5ffd5b823561268081612109565b915060208301356123d781612109565b5f606082840312156126a0575f5ffd5b610ae98383612229565b600181811c908216806126be57607f821691505b60208210810361215757634e487b7160e01b5f52602260045260245ffd5b5f602082840312156126ec575f5ffd5b8151610ae981612109565b5f60208284031215612707575f5ffd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b03811182821017156127445761274461270e565b60405290565b604080519081016001600160401b03811182821017156127445761274461270e565b604051601f8201601f191681016001600160401b03811182821017156127945761279461270e565b604052919050565b5f6001600160401b038211156127b4576127b461270e565b50601f01601f191660200190565b5f6001600160401b038311156127da576127da61270e565b8260051b6127ea6020820161276c565b84815290830190602081019036831115612802575f5ffd5b845b838110156128d95780356001600160401b03811115612821575f5ffd5b86016060368290031215612833575f5ffd5b61283b612722565b61284482612355565b8152612852602083016123f9565b602082015260408201356001600160401b0381111561286f575f5ffd5b919091019036601f830112612882575f5ffd5b81356128956128908261279c565b61276c565b8181523660208386010111156128a9575f5ffd5b816020850160208301375f6020838301015280604084015250508085525050602083019250602081019050612804565b5095945050505050565b5f5f858511156128f1575f5ffd5b838611156128fd575f5ffd5b5050820193919092039150565b5f81518060208401855e5f93019283525090919050565b5f61292c828661290a565b838582375f930192835250909392505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610c8960208301848661293f565b634e487b7160e01b5f52603260045260245ffd5b5f823561013e198336030181126129a3575f5ffd5b9190910192915050565b5f5f8335601e198436030181126129c2575f5ffd5b8301803591506001600160401b038211156129db575f5ffd5b602001915036819003821315612276575f5ffd5b6001600160401b038116811461115b575f5ffd5b63ffffffff612a1189612355565b168152602088810135908201525f6040890135612a2d816129ef565b6001600160401b03811660408401525087606083015260e06080830152612a5860e08301878961293f565b6001600160a01b03861660a084015282810360c0840152612a7a81858761293f565b9a9950505050505050505050565b5f60208284031215612a98575f5ffd5b81516001600160401b03811115612aad575f5ffd5b8201601f81018413612abd575f5ffd5b8051612acb6128908261279c565b818152856020838501011115612adf575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031215612b0c575f5ffd5b8135610ae9816129ef565b60018060a01b038516815283602082015261ffff83166040820152608060608201525f610b6060808301846120c9565b604081525f612b5960408301856120c9565b82810360208401526116c481856120c9565b5f60208284031215612b7b575f5ffd5b8151610ae981612387565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a06080840152612bbb60e08401826120c9565b90506060850151603f198483030160a0850152612bd882826120c9565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f60408284031215612c0e575f5ffd5b612c1661274a565b825181526020928301519281019290925250919050565b5f60408284031215612c3d575f5ffd5b610ae98383612bfe565b601f82111561119f578282111561119f57805f5260205f20601f840160051c6020851015612c7257505f5b90810190601f840160051c035f5b81811015612c95575f83820155600101612c80565b505050505050565b81516001600160401b03811115612cb657612cb661270e565b612cca81612cc484546126aa565b84612c47565b6020601f821160018114612cfc575f8315612ce55750848201515b5f19600385901b1c1916600184901b178455611095565b5f84815260208120601f198516915b82811015612d2b5787850151825560209485019460019092019101612d0b565b5084821015612d4857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612dd957603f19878603018452815163ffffffff815116865261ffff60208201511660208701526040810151905060606040870152612dc360608701826120c9565b9550506020938401939190910190600101612d7d565b50929695505050505050565b5f6040828403128015612df6575f5ffd5b50612dff61274a565b823581526020928301359281019290925250919050565b634e487b7160e01b5f52601160045260245ffd5b5f82612e4457634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761087c5761087c612e16565b8035602083101561087c575f19602084900360031b1b1692915050565b80356001600160c01b03198116906008841015612eae576001600160c01b0319600885900360031b81901b82161691505b5092915050565b60c085901b6001600160c01b031916815260e084901b6001600160e01b0319166008820152600c81018390525f610b60602c83018461290a565b8082018082111561087c5761087c612e16565b8481526001600160401b0360c01b8460c01b1660208201528260288201525f610b60604883018461290a565b5f6080828403128015612f3f575f5ffd5b50612f48612722565b825181526020830151612f5a816129ef565b6020820152612f6c8460408501612bfe565b6040820152939250505056fea26469706673582212205f8f21ee4c93d434e73e30e79149934e5fab7c468313e5444a28b19adc1866af64736f6c63430008210033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000001a44076050125825900e736c501f859c50fe728c000000000000000000000000b6ef312c9d08cee2924bbf70251de9312a1d5e960000000000000000000000000000000000000000000000000000000000000003435452000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034354520000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): CTR
Arg [1] : _symbol (string): CTR
Arg [2] : _lzEndpoint (address): 0x1a44076050125825900e736c501f859c50fE728c
Arg [3] : _owner (address): 0xb6ef312c9d08CeE2924bBf70251de9312A1D5e96
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000001a44076050125825900e736c501f859c50fe728c
Arg [3] : 000000000000000000000000b6ef312c9d08cee2924bbf70251de9312a1d5e96
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 4354520000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 4354520000000000000000000000000000000000000000000000000000000000
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)