Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 44247530 | 64 days ago | Contract Creation | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_erc20","type":"address"},{"internalType":"address","name":"_offchainRewardManager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"actualSharesOut","type":"uint256"},{"internalType":"uint256","name":"requiredSharesOut","type":"uint256"}],"name":"SYInsufficientSharesOut","type":"error"},{"inputs":[{"internalType":"uint256","name":"actualTokenOut","type":"uint256"},{"internalType":"uint256","name":"requiredTokenOut","type":"uint256"}],"name":"SYInsufficientTokenOut","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SYInvalidTokenIn","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SYInvalidTokenOut","type":"error"},{"inputs":[],"name":"SYZeroDeposit","type":"error"},{"inputs":[],"name":"SYZeroRedeem","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":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"address[]","name":"rewardTokens","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"rewardAmounts","type":"uint256[]"}],"name":"ClaimRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"tokenIn","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountDeposited","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountSyOut","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","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":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"tokenOut","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountSyToRedeem","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokenOut","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"adapter","type":"address"}],"name":"SetAdapter","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"ANGLE_DISTRIBUTOR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"accruedRewards","outputs":[{"internalType":"uint256[]","name":"rewardAmounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"adapter","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"assetInfo","outputs":[{"internalType":"enum IStandardizedYield.AssetType","name":"assetType","type":"uint8"},{"internalType":"address","name":"assetAddress","type":"address"},{"internalType":"uint8","name":"assetDecimals","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenReceiver","type":"address"},{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"address[]","name":"tokens","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[][]","name":"proofs","type":"bytes32[][]"}],"name":"claimOffchainRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimRewards","outputs":[{"internalType":"uint256[]","name":"rewardAmounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"uint256","name":"amountTokenToDeposit","type":"uint256"},{"internalType":"uint256","name":"minSharesOut","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"amountSharesOut","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exchangeRate","outputs":[{"internalType":"uint256","name":"res","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardTokens","outputs":[{"internalType":"address[]","name":"rewardTokens","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTokensIn","outputs":[{"internalType":"address[]","name":"res","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTokensOut","outputs":[{"internalType":"address[]","name":"res","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_adapter","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"isValidTokenIn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"isValidTokenOut","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"offchainRewardManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"uint256","name":"amountTokenToDeposit","type":"uint256"}],"name":"previewDeposit","outputs":[{"internalType":"uint256","name":"amountSharesOut","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"uint256","name":"amountSharesToRedeem","type":"uint256"}],"name":"previewRedeem","outputs":[{"internalType":"uint256","name":"amountTokenOut","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"amountSharesToRedeem","type":"uint256"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"uint256","name":"minTokenOut","type":"uint256"},{"internalType":"bool","name":"burnFromInternalBalance","type":"bool"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"amountTokenOut","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardIndexesCurrent","outputs":[{"internalType":"uint256[]","name":"indexes","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardIndexesStored","outputs":[{"internalType":"uint256[]","name":"indexes","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_adapter","type":"address"}],"name":"setAdapter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"amount","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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"bool","name":"direct","type":"bool"},{"internalType":"bool","name":"renounce","type":"bool"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"yieldToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60e060409080825234620002015781816200505e803803809162000024828562000217565b83398101031262000201576200003a816200024f565b906200004a60208092016200024f565b835163313ce56760e01b815290929082816004816001600160a01b0386165afa9081156200020d575f91620001cb575b5060805261013460ff19815416905560a0526001549060ff8260a81c16620001785760ff808360a01c160362000134575b505060c05251614df990816200026582396080518161150f015260a0518181816108d101528181610f5801528181611d4c015281816134d101528181613521015281816136c10152818161380f015281816138a8015281816138f401528181613bdb015281816143e70152818161456c0152614624015260c05181818161160601526122520152f35b60ff60a01b1990911660ff60a01b17600155825160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989190a15f80620000ab565b60849084519062461bcd60e51b82526004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152fd5b90508281813d831162000205575b620001e5818362000217565b8101031262000201575160ff8116810362000201575f6200007a565b5f80fd5b503d620001d9565b85513d5f823e3d90fd5b601f909101601f19168101906001600160401b038211908210176200023b57604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b0382168203620002015756fe608080604052600436101561001c575b50361561001a575f80fd5b005b5f905f3560e01c90816303eadcfc146130045750806306fdde0314612f3d578063071bc3c914612f04578063077f224a14612446578063078dfbe7146122c5578063095ea7b3146122765780631036df4714612208578063128fced11461024557806318160ddd146121ac57806320e8c56514611c6d578063213cae6314611c2857806323b872dd14611a6657806329afbf5914611533578063313ce567146114d75780633644e5151461149e5780633ba0b9a91461145d5780633f4ba83a1461134f5780634e71e0c8146112475780635c975abb1461120557806370a08231146111a2578063769f8e5d14610f7c57806376d5de8514610f0d578063784367d614610ecb5780637ecebe0014610e685780638456cb5914610db657806384b0196e14610af15780638da5cb5b14610aa057806395d89b4114610985578063a40bee501461087a578063a9059cbb146107a5578063ab1da79c14610743578063b8f82b26146106a7578063c4f59f9b14610656578063cbe52ae3146105b2578063cf2fa57614610565578063d505accf14610315578063da88ecb414610240578063dd62ed3e1461029c578063e30c39781461024a578063ef5cfb8c14610245578063f8b2f991146102405763fa5a4f060361000f573461023d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57602061023361022e61321c565b6138ce565b6040519015158152f35b80fd5b613324565b613295565b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b503461023d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576102d461321c565b60406102de61323f565b9273ffffffffffffffffffffffffffffffffffffffff809316815260036020522091165f52602052602060405f2054604051908152f35b503461023d5760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d5761034d61321c565b61035561323f565b6044359060843560643560ff82168203610561578042116105035773ffffffffffffffffffffffffffffffffffffffff9081861692838852609f60205260408820908154916001830190556040519260208401927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452866040860152858816606086015288608086015260a085015260c084015260c0835260e083019183831067ffffffffffffffff8411176104d6576104669361045e9360405251902061041c6146b1565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220614792565b91909161481a565b16036104785761047592613c40565b80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8580fd5b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576020604051733ef3d8ba38ebe18db133cec108f4d14ce00dd9ae8152f35b503461023d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576105ea61321c565b6105f3816137e9565b1561060f576106076020916024359061460a565b604051908152f35b60249073ffffffffffffffffffffffffffffffffffffffff604051917f88a50561000000000000000000000000000000000000000000000000000000008352166004820152fd5b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576106a36040516106948161311c565b5f8152604051918291826130af565b0390f35b503461023d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576106df61321c565b6106e8816138ce565b156106fc5761060760209160243590614552565b60249073ffffffffffffffffffffffffffffffffffffffff604051917faeabe718000000000000000000000000000000000000000000000000000000008352166004820152fd5b503461023d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d5761047561077e61321c565b6107a073ffffffffffffffffffffffffffffffffffffffff8454163314613545565b613ac0565b503461023d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d577f01000000000000000000000000000000000000000000000000000000000000006107fe61321c565b6108676004549161081560028460f81c14156135f9565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff809416176004556024359033613db1565b6004541617600455602060405160018152f35b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576040517f313ce5670000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16602082600481845afa91821561097a578392610937575b60608460ff85856040519384526020840152166040820152f35b9091506020813d602011610972575b8161095360209383613138565b8101031261096e575160ff8116810361096e579060ff61091d565b8280fd5b3d9150610946565b6040513d85823e3d90fd5b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576040516006545f826109c583613361565b91828252602093600190856001821691825f14610a62575050600114610a07575b506109f392500383613138565b6106a3604051928284938452830190613053565b84915060065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f905f915b858310610a4a5750506109f39350820101856109e6565b80548389018501528794508693909201918101610a33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016858201526109f395151560051b85010192508791506109e69050565b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d5773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57606b541580610dac575b15610d4e57604051606d54915f91610b4184613361565b80825281602094600196866001821691825f14610d13575050600114610cb7575b610b6e92500382613138565b604051935f90606e5490610b8182613361565b8088529160018116908115610c7b5750600114610c27575b60e0866106a38787610c088c610bb1818b0382613138565b610bfa60405193610bc18561311c565b8585526040519889987f0f000000000000000000000000000000000000000000000000000000000000008a5289015260e0880190613053565b908682036040880152613053565b9146606086015230608086015260a085015283820360c0850152613262565b606e5f90815292507f9930d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a5b828410610c685750505084018301610c0885610b99565b8054888501880152928601928101610c51565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016878901525050151560051b850184019050610c0885610b99565b5050606d5f5281847f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d8875f915b858310610cfa575050610b6e9350820101610b62565b8091929450548385880101520191018590878593610ce4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001684820152610b6e94151560051b8401019150610b629050565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152fd5b50606c5415610b2a565b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57610e0773ffffffffffffffffffffffffffffffffffffffff8254163314613545565b610e0f614727565b61013460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b503461023d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57604060209173ffffffffffffffffffffffffffffffffffffffff610eba61321c565b168152609f83522054604051908152f35b503461023d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576020610233610f0861321c565b6137e9565b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461023d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57610fb461321c565b602435610fbf6131f9565b916064359160843593841515850361119e5760045494610fe560028760f81c14156135f9565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80971617600455611036826137e9565b1561115757821561112d571561111e576110508230614201565b61105b8282856143e4565b938085106110e7575091602094917f01000000000000000000000000000000000000000000000000000000000000009373ffffffffffffffffffffffffffffffffffffffff80916040519384528789850152169216907faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c60403392a46004541617600455604051908152f35b84604491604051917fbfee4ca000000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b6111288233614201565b611050565b60046040517fc3d83b07000000000000000000000000000000000000000000000000000000008152fd5b60248273ffffffffffffffffffffffffffffffffffffffff604051917f88a50561000000000000000000000000000000000000000000000000000000008352166004820152fd5b5f80fd5b503461023d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57604060209173ffffffffffffffffffffffffffffffffffffffff6111f461321c565b168152600283522054604051908152f35b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57602060ff61013454166040519015158152f35b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d5760015473ffffffffffffffffffffffffffffffffffffffff908181168033036112f1578084549384167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a37fffffffffffffffffffffffff00000000000000000000000000000000000000008093161783551660015580f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576113a073ffffffffffffffffffffffffffffffffffffffff8254163314613545565b610134805460ff8116156113ff577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152fd5b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576020604051670de0b6b3a76400008152f35b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d5760206106076146b1565b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461119e5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e5761156b61321c565b60243567ffffffffffffffff811161119e5761158b9036906004016132f3565b919060443567ffffffffffffffff811161119e576115ad9036906004016132f3565b9160643567ffffffffffffffff811161119e576115ce9036906004016132f3565b9060843567ffffffffffffffff811161119e576115ef9036906004016132f3565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303611a0857868914806119ff575b806119f6575b1561199857611649896135aa565b945f5b8a81106118eb5750733ef3d8ba38ebe18db133cec108f4d14ce00dd9ae93843b1561119e5761171a908b9492966116ea6116b9604051998a987f71ee95c0000000000000000000000000000000000000000000000000000000008a52608060048b015260848a0191613758565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8882030160248901528c8c613758565b917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8784030160448801526137ac565b917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc848403016064850152808352602080840193600560208460051b83010195855f935b86851061184757505050505050505091815f81819503925af1801561183c5761181f575b50855b858110611790578680f35b6117ab6117a66117a18387876136e6565b613723565b614035565b6117b58284613744565b51808203918083116117f257906001939291036117d4575b5001611785565b6117ec90876117e76117a1858a8a6136e6565b6140fb565b5f6117cd565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b90955067ffffffffffffffff81116104d6576040525f945f611782565b6040513d5f823e3d90fd5b919395979092949698507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820301845288357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181121561119e57830187810191903567ffffffffffffffff811161119e5780871b3603831361119e576118d7899283926001956137ac565b9a0194019501929593918a9897959161175e565b3073ffffffffffffffffffffffffffffffffffffffff61190f6117a1848f876136e6565b160361193a57806119296117a66117a16001948d8d6136e6565b611933828a613744565b520161164c565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4d52413a20696e76616c696420757365727300000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d52413a20696e76616c6964206c656e677468730000000000000000000000006044820152fd5b5080891461163b565b50838914611635565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d52413a20756e617574686f72697a65640000000000000000000000000000006044820152fd5b3461119e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e57611a9d61321c565b611aa561323f565b60443560045491611abc60028460f81c14156135f9565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8094161760045573ffffffffffffffffffffffffffffffffffffffff84165f52600360205260405f20335f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8103611b86575b5090610867917f010000000000000000000000000000000000000000000000000000000000000094613db1565b9190818310611bca577f010000000000000000000000000000000000000000000000000000000000000094611bc18361086795033383613c40565b94509091611b59565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576106a3611c6161365e565b604051918291826130af565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e57611c9f61321c565b611ca761323f565b604491823590606480359460045492611cc660028560f81c14156135f9565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80951617600455611d17866138ce565b1561216557841561213b5773ffffffffffffffffffffffffffffffffffffffff8681169390846120d557863403612079575b867f000000000000000000000000000000000000000000000000000000000000000098828a1687145f14611fb45750611d829098614035565b9260045499878b1694611d958b876139a9565b11611f5757808a10611f21575016928315611ec6575050611db4614727565b83861161119e578386160193838511611e99576020967fff00000000000000000000000000000000000000000000000000000000000000857f01000000000000000000000000000000000000000000000000000000000000009716911617600455815f526002875260405f20611e2b8782546139a9565b9055815f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040518a8152a360405190815285878201527f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d5960403392a46004541617600455604051908152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300604051917f08c379a000000000000000000000000000000000000000000000000000000000835260206004840152601f6024840152820152fd5b898691604051917fbc71f2ba00000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b83867f53593a20696e73756666696369656e7420736861726573000000000000000000604051917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260176024840152820152fd5b6120299160209184610199611fcd8483835416856140fb565b5416905f6040518096819582947fb8f86171000000000000000000000000000000000000000000000000000000008452600484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801561183c575f90612045575b611d82915098614035565b506020813d602011612071575b8161205f60209383613138565b8101031261119e57611d82905161203a565b3d9150612052565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f657468206d69736d61746368000000000000000000000000000000000000000081850152fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523085820152878382015282815260a081019080821067ffffffffffffffff8311176104d65761213691604052866149b1565b611d49565b60046040517fa907f2f0000000000000000000000000000000000000000000000000000000008152fd5b60248673ffffffffffffffffffffffffffffffffffffffff604051917faeabe718000000000000000000000000000000000000000000000000000000008352166004820152fd5b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e5760207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60045416604051908152f35b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461119e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576122ba6122b061321c565b6024359033613c40565b602060405160018152f35b3461119e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576122fc61321c565b602435801515810361119e5760443590811515820361119e5773ffffffffffffffffffffffffffffffffffffffff92839161233b835f54163314613545565b1561241557169081159081159161240d575b50156123af57805f549283167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a37fffffffffffffffffffffffff0000000000000000000000000000000000000000809216175f55600154166001555f80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b90508361234d565b915050167fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001555f80f35b3461119e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e5760043567ffffffffffffffff811161119e576124959036906004016131b3565b60243567ffffffffffffffff811161119e576124b59036906004016131b3565b906124be6131f9565b6001549060ff8260a81c161591828093612ef4575b8015612eda575b15612e565782740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff831617600155612e13575b5061254660ff60015460a81c1661253881613a35565b61254181613a35565b613a35565b825167ffffffffffffffff81116104d657612562600554613361565b601f8111612d72575b50806020601f8211600114612c95575f91612c8a575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176005555b835167ffffffffffffffff81116104d6576125cf600654613361565b601f8111612be9575b506020601f8211600114612b0a5781929394955f92612aff575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176006555b7f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600454161760045560405161267a81613100565b600181527f310000000000000000000000000000000000000000000000000000000000000060208201526126b960ff60015460a81c1661254181613a35565b835167ffffffffffffffff81116104d6576126d5606d54613361565b601f8111612a5e575b506020601f821160011461297f5781929394955f92612974575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617606d555b80519067ffffffffffffffff82116104d657612748606e54613361565b601f8111612911575b50602090601f831160011461284d576127e79392915f9183612842575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617606e555b5f606b555f606c556127ba60ff60015460a81c16613a35565b337fffffffffffffffffffffffff00000000000000000000000000000000000000005f5416175f55613ac0565b6127ed57005b7fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff600154166001557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b01519050858061276e565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0831691606e5f527f9930d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a925f5b8181106128f957509160019391856127e7979694106128c2575b505050811b01606e556127a1565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690558580806128b4565b9293602060018192878601518155019501930161289a565b606e5f527f9930d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a601f840160051c8101916020851061296a575b601f0160051c01905b81811061295f5750612751565b5f8155600101612952565b9091508190612949565b0151905085806126f8565b606d5f527f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d8905f5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084168110612a465750600193949596837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0811610612a0f575b505050811b01606d5561272b565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080612a01565b9091602060018192858b0151815501930191016129a7565b606d5f52601f820160051c7f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d8019060208310612ad7575b601f0160051c7f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d801905b818110612acc57506126de565b5f8155600101612abf565b7f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d89150612a95565b0151905085806125f2565b60065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f905f5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084168110612bd15750600193949596837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0811610612b9a575b505050811b01600655612625565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080612b8c565b9091602060018192858b015181550193019101612b32565b60065f52601f820160051c7ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f019060208310612c62575b601f0160051c7ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01905b818110612c5757506125d8565b5f8155600101612c4a565b7ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9150612c20565b905084015186612581565b915060055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05f925b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083168410612d5a5760019350827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0811610612d23575b5050811b016005556125b3565b8601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690558680612d16565b86810151825560209384019360019092019101612cbf565b60055f52601f820160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0019060208310612deb575b601f0160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001905b818110612de0575061256b565b5f8155600101612dd3565b7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db09150612da9565b7fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff1675010100000000000000000000000000000000000000001760015584612522565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b1580156124da5750600160ff8260a01c16146124da565b50600160ff8260a01c16106124d3565b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576106a3611c6161346d565b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576040516005545f82612f7c83613361565b91828252602093600190856001821691825f14610a62575050600114612fa957506109f392500383613138565b84915060055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0905f915b858310612fec5750506109f39350820101856109e6565b80548389018501528794508693909201918101612fd5565b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e5760209073ffffffffffffffffffffffffffffffffffffffff61019954168152f35b91908251928382525f5b84811061309b5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f845f6020809697860101520116010190565b60208183018101518483018201520161305d565b60209060206040818301928281528551809452019301915f5b8281106130d6575050505090565b835173ffffffffffffffffffffffffffffffffffffffff16855293810193928101926001016130c8565b6040810190811067ffffffffffffffff8211176104d657604052565b6020810190811067ffffffffffffffff8211176104d657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176104d657604052565b67ffffffffffffffff81116104d657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f8201121561119e578035906131ca82613179565b926131d86040519485613138565b8284526020838301011161119e57815f926020809301838601378301015290565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361119e57565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361119e57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361119e57565b9081518082526020808093019301915f5b828110613281575050505090565b835185529381019392810192600101613273565b3461119e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576132cc61321c565b506106a36040516132dc8161311c565b5f8152604051918291602083526020830190613262565b9181601f8401121561119e5782359167ffffffffffffffff831161119e576020808501948460051b01011161119e57565b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576106a36040516132dc8161311c565b90600182811c921680156133a8575b602083101461337b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691613370565b67ffffffffffffffff81116104d65760051b60200190565b519073ffffffffffffffffffffffffffffffffffffffff8216820361119e57565b602090818184031261119e5780519067ffffffffffffffff821161119e57019180601f8401121561119e578251613421816133b2565b9361342f6040519586613138565b818552838086019260051b82010192831161119e578301905b828210613456575050505090565b838091613462846133ca565b815201910190613448565b73ffffffffffffffffffffffffffffffffffffffff6101995416801561351b575f600491604051928380927fcad107dd0000000000000000000000000000000000000000000000000000000082525afa801561183c576134f6915f916134f9575b507f0000000000000000000000000000000000000000000000000000000000000000906139b6565b90565b61351591503d805f833e61350d8183613138565b8101906133eb565b5f6134ce565b506134f67f000000000000000000000000000000000000000000000000000000000000000061396c565b1561354c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b906135b4826133b2565b6135c16040519182613138565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06135ef82946133b2565b0190602036910137565b1561360057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff6101995416801561351b575f600491604051928380927f56e2816e0000000000000000000000000000000000000000000000000000000082525afa801561183c576134f6915f916134f957507f0000000000000000000000000000000000000000000000000000000000000000906139b6565b91908110156136f65760051b0190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3573ffffffffffffffffffffffffffffffffffffffff8116810361119e5790565b80518210156136f65760209160051b010190565b9190808252602080920192915f5b828110613774575050505090565b9091929384359073ffffffffffffffffffffffffffffffffffffffff821680920361119e579081528201938201929190600101613766565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161119e5760209260051b809284830137010190565b73ffffffffffffffffffffffffffffffffffffffff908161019954169182156138a257807f0000000000000000000000000000000000000000000000000000000000000000169082161491821561383f57505090565b600492505f90604051938480927fcad107dd0000000000000000000000000000000000000000000000000000000082525afa801561183c576134f6925f91613888575b50614502565b61389c91503d805f833e61350d8183613138565b5f613882565b809192507f00000000000000000000000000000000000000000000000000000000000000001691161490565b73ffffffffffffffffffffffffffffffffffffffff908161019954169182156138a257807f0000000000000000000000000000000000000000000000000000000000000000169082161491821561392457505090565b600492505f90604051938480927f56e2816e0000000000000000000000000000000000000000000000000000000082525afa801561183c576134f6925f916138885750614502565b906040519161397a83613100565b60018352602083019060203683378351156136f65773ffffffffffffffffffffffffffffffffffffffff169052565b91908201809211611e9957565b919082516001808201808311611e99576139cf906135aa565b945f5b838110613a01575050506139fb73ffffffffffffffffffffffffffffffffffffffff9185613744565b91169052565b8073ffffffffffffffffffffffffffffffffffffffff613a22859385613744565b5116613a2e828a613744565b52016139d2565b15613a3c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff809116908115908115613b98575b5015613b3a57610199817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f491784ddb6af903db22df115fa8320b4b0b4fdca5e088f87ef5c178a31283e715f80a2565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5f736574416461707465723a20696e76616c69642061646170746572000000006044820152fd5b6040517fdfbe7c820000000000000000000000000000000000000000000000000000000081529150602082600481865afa91821561183c575f92613c04575b50807f0000000000000000000000000000000000000000000000000000000000000000169116145f613ae3565b9091506020813d602011613c38575b81613c2060209383613138565b8101031261119e57613c31906133ca565b905f613bd7565b3d9150613c13565b73ffffffffffffffffffffffffffffffffffffffff809116918215613d2e5716918215613caa5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526003825260405f20855f5282528060405f2055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff809116918215613fb15716918215613f2d57828214613ecf57613de7614727565b815f52600260205260405f2054818110613e4b57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f52600284520360405f2055845f5260405f20613e408282546139a9565b9055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f45524332303a207472616e7366657220746f2073656c660000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff168061405557504790565b6020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa90811561183c575f9161409d575090565b90506020813d6020116140c4575b816140b860209383613138565b8101031261119e575190565b3d91506140ab565b3d156140f6573d906140dd82613179565b916140eb6040519384613138565b82523d5f602084013e565b606090565b82156141fc5773ffffffffffffffffffffffffffffffffffffffff168061419357505f80809381935af161412d6140cc565b501561413557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6574682073656e64206661696c656400000000000000000000000000000000006044820152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9290921660248301526044808301939093529181526141fa916141f5606483613138565b6149b1565b565b505050565b73ffffffffffffffffffffffffffffffffffffffff16801561436057614225614727565b805f52600260205260405f20548281106142dc578290825f5260026020520360405f20557effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9182811161119e57600454928082168185160391818311611e99575f947fff000000000000000000000000000000000000000000000000000000000000006020937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9516911617600455604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b907f00000000000000000000000000000000000000000000000000000000000000009073ffffffffffffffffffffffffffffffffffffffff808216818416036144345750506134f69183916140fb565b846144ac91602093946144505f986101999284845416906140fb565b5416906040519687809481937f10a5338600000000000000000000000000000000000000000000000000000000835288600484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af192831561183c575f936144ca575b506134f69183916140fb565b9192506020823d6020116144fa575b816144e660209383613138565b8101031261119e576134f6915192916144be565b3d91506144d9565b908151915f5b83811061451757505050505f90565b73ffffffffffffffffffffffffffffffffffffffff806145378385613744565b51169084161461454957600101614508565b50505050600190565b73ffffffffffffffffffffffffffffffffffffffff8181167f000000000000000000000000000000000000000000000000000000000000000082160361459757505090565b610199546040517f5c727c7d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019390935290916020918391168180604481015b03915afa90811561183c575f9161409d575090565b73ffffffffffffffffffffffffffffffffffffffff8181167f000000000000000000000000000000000000000000000000000000000000000082160361464f57505090565b610199546040517f4e32a1e200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019390935290916020918391168180604481016145f5565b6146b9614ad8565b6146c1614bf8565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176104d65760405251902090565b60ff610134541661473457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161480f576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa1561183c575f5173ffffffffffffffffffffffffffffffffffffffff81161561480757905f90565b505f90600190565b505050505f90600390565b6005811015614984578061482b5750565b600181036148915760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036148f75760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461490057565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b604051614a1b9173ffffffffffffffffffffffffffffffffffffffff166149d782613100565b5f806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1614a156140cc565b91614cf3565b8051828115918215614ab8575b5050905015614a345750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b838092935001031261119e57810151801515810361119e5780825f614a28565b604051606d54905f81614aea84613361565b918282526020808301956001906001811690815f14614bb85750600114614b59575b5050614b1a92500382613138565b51908115614b26572090565b5050606b548015614b345790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b915092606d5f527f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d8935f925b828410614ba05750614b1a9450505081016020015f80614b0c565b85548785018301529485019486945092810192614b85565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016885250614b1a94151560051b840160200192505f9150819050614b0c565b604051606e54905f81614c0a84613361565b918282526020808301956001906001811690815f14614cb35750600114614c54575b5050614c3a92500382613138565b51908115614c46572090565b5050606c548015614b345790565b915092606e5f527f9930d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a935f925b828410614c9b5750614c3a9450505081016020015f80614c2c565b85548785018301529485019486945092810192614c80565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016885250614c3a94151560051b840160200192505f9150819050614c2c565b91929015614d6e5750815115614d07575090565b3b15614d105790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015614d815750805190602001fd5b614dbf906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352602060048401526024830190613053565b0390fdfea2646970667358221220cfeb971b649c2f78a6f52653dec55e9fe4381f202d4447e60a29f5b674baf4a264736f6c63430008180033000000000000000000000000d993935e13851dd7517af10687ec7e50221272280000000000000000000000002ad631f72fb16d91c4953a7f4260a97c2fe2f31e
Deployed Bytecode
0x608080604052600436101561001c575b50361561001a575f80fd5b005b5f905f3560e01c90816303eadcfc146130045750806306fdde0314612f3d578063071bc3c914612f04578063077f224a14612446578063078dfbe7146122c5578063095ea7b3146122765780631036df4714612208578063128fced11461024557806318160ddd146121ac57806320e8c56514611c6d578063213cae6314611c2857806323b872dd14611a6657806329afbf5914611533578063313ce567146114d75780633644e5151461149e5780633ba0b9a91461145d5780633f4ba83a1461134f5780634e71e0c8146112475780635c975abb1461120557806370a08231146111a2578063769f8e5d14610f7c57806376d5de8514610f0d578063784367d614610ecb5780637ecebe0014610e685780638456cb5914610db657806384b0196e14610af15780638da5cb5b14610aa057806395d89b4114610985578063a40bee501461087a578063a9059cbb146107a5578063ab1da79c14610743578063b8f82b26146106a7578063c4f59f9b14610656578063cbe52ae3146105b2578063cf2fa57614610565578063d505accf14610315578063da88ecb414610240578063dd62ed3e1461029c578063e30c39781461024a578063ef5cfb8c14610245578063f8b2f991146102405763fa5a4f060361000f573461023d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57602061023361022e61321c565b6138ce565b6040519015158152f35b80fd5b613324565b613295565b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b503461023d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576102d461321c565b60406102de61323f565b9273ffffffffffffffffffffffffffffffffffffffff809316815260036020522091165f52602052602060405f2054604051908152f35b503461023d5760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d5761034d61321c565b61035561323f565b6044359060843560643560ff82168203610561578042116105035773ffffffffffffffffffffffffffffffffffffffff9081861692838852609f60205260408820908154916001830190556040519260208401927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452866040860152858816606086015288608086015260a085015260c084015260c0835260e083019183831067ffffffffffffffff8411176104d6576104669361045e9360405251902061041c6146b1565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220614792565b91909161481a565b16036104785761047592613c40565b80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8580fd5b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576020604051733ef3d8ba38ebe18db133cec108f4d14ce00dd9ae8152f35b503461023d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576105ea61321c565b6105f3816137e9565b1561060f576106076020916024359061460a565b604051908152f35b60249073ffffffffffffffffffffffffffffffffffffffff604051917f88a50561000000000000000000000000000000000000000000000000000000008352166004820152fd5b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576106a36040516106948161311c565b5f8152604051918291826130af565b0390f35b503461023d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576106df61321c565b6106e8816138ce565b156106fc5761060760209160243590614552565b60249073ffffffffffffffffffffffffffffffffffffffff604051917faeabe718000000000000000000000000000000000000000000000000000000008352166004820152fd5b503461023d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d5761047561077e61321c565b6107a073ffffffffffffffffffffffffffffffffffffffff8454163314613545565b613ac0565b503461023d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d577f01000000000000000000000000000000000000000000000000000000000000006107fe61321c565b6108676004549161081560028460f81c14156135f9565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff809416176004556024359033613db1565b6004541617600455602060405160018152f35b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576040517f313ce5670000000000000000000000000000000000000000000000000000000081527f000000000000000000000000d993935e13851dd7517af10687ec7e502212722873ffffffffffffffffffffffffffffffffffffffff16602082600481845afa91821561097a578392610937575b60608460ff85856040519384526020840152166040820152f35b9091506020813d602011610972575b8161095360209383613138565b8101031261096e575160ff8116810361096e579060ff61091d565b8280fd5b3d9150610946565b6040513d85823e3d90fd5b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576040516006545f826109c583613361565b91828252602093600190856001821691825f14610a62575050600114610a07575b506109f392500383613138565b6106a3604051928284938452830190613053565b84915060065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f905f915b858310610a4a5750506109f39350820101856109e6565b80548389018501528794508693909201918101610a33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016858201526109f395151560051b85010192508791506109e69050565b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d5773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57606b541580610dac575b15610d4e57604051606d54915f91610b4184613361565b80825281602094600196866001821691825f14610d13575050600114610cb7575b610b6e92500382613138565b604051935f90606e5490610b8182613361565b8088529160018116908115610c7b5750600114610c27575b60e0866106a38787610c088c610bb1818b0382613138565b610bfa60405193610bc18561311c565b8585526040519889987f0f000000000000000000000000000000000000000000000000000000000000008a5289015260e0880190613053565b908682036040880152613053565b9146606086015230608086015260a085015283820360c0850152613262565b606e5f90815292507f9930d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a5b828410610c685750505084018301610c0885610b99565b8054888501880152928601928101610c51565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016878901525050151560051b850184019050610c0885610b99565b5050606d5f5281847f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d8875f915b858310610cfa575050610b6e9350820101610b62565b8091929450548385880101520191018590878593610ce4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001684820152610b6e94151560051b8401019150610b629050565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152fd5b50606c5415610b2a565b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57610e0773ffffffffffffffffffffffffffffffffffffffff8254163314613545565b610e0f614727565b61013460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b503461023d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57604060209173ffffffffffffffffffffffffffffffffffffffff610eba61321c565b168152609f83522054604051908152f35b503461023d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576020610233610f0861321c565b6137e9565b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57602060405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000d993935e13851dd7517af10687ec7e5022127228168152f35b503461023d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57610fb461321c565b602435610fbf6131f9565b916064359160843593841515850361119e5760045494610fe560028760f81c14156135f9565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80971617600455611036826137e9565b1561115757821561112d571561111e576110508230614201565b61105b8282856143e4565b938085106110e7575091602094917f01000000000000000000000000000000000000000000000000000000000000009373ffffffffffffffffffffffffffffffffffffffff80916040519384528789850152169216907faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c60403392a46004541617600455604051908152f35b84604491604051917fbfee4ca000000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b6111288233614201565b611050565b60046040517fc3d83b07000000000000000000000000000000000000000000000000000000008152fd5b60248273ffffffffffffffffffffffffffffffffffffffff604051917f88a50561000000000000000000000000000000000000000000000000000000008352166004820152fd5b5f80fd5b503461023d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57604060209173ffffffffffffffffffffffffffffffffffffffff6111f461321c565b168152600283522054604051908152f35b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57602060ff61013454166040519015158152f35b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d5760015473ffffffffffffffffffffffffffffffffffffffff908181168033036112f1578084549384167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a37fffffffffffffffffffffffff00000000000000000000000000000000000000008093161783551660015580f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576113a073ffffffffffffffffffffffffffffffffffffffff8254163314613545565b610134805460ff8116156113ff577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152fd5b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d576020604051670de0b6b3a76400008152f35b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d5760206106076146b1565b503461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d57602060405160ff7f0000000000000000000000000000000000000000000000000000000000000012168152f35b503461119e5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e5761156b61321c565b60243567ffffffffffffffff811161119e5761158b9036906004016132f3565b919060443567ffffffffffffffff811161119e576115ad9036906004016132f3565b9160643567ffffffffffffffff811161119e576115ce9036906004016132f3565b9060843567ffffffffffffffff811161119e576115ef9036906004016132f3565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000002ad631f72fb16d91c4953a7f4260a97c2fe2f31e163303611a0857868914806119ff575b806119f6575b1561199857611649896135aa565b945f5b8a81106118eb5750733ef3d8ba38ebe18db133cec108f4d14ce00dd9ae93843b1561119e5761171a908b9492966116ea6116b9604051998a987f71ee95c0000000000000000000000000000000000000000000000000000000008a52608060048b015260848a0191613758565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8882030160248901528c8c613758565b917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8784030160448801526137ac565b917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc848403016064850152808352602080840193600560208460051b83010195855f935b86851061184757505050505050505091815f81819503925af1801561183c5761181f575b50855b858110611790578680f35b6117ab6117a66117a18387876136e6565b613723565b614035565b6117b58284613744565b51808203918083116117f257906001939291036117d4575b5001611785565b6117ec90876117e76117a1858a8a6136e6565b6140fb565b5f6117cd565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b90955067ffffffffffffffff81116104d6576040525f945f611782565b6040513d5f823e3d90fd5b919395979092949698507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820301845288357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181121561119e57830187810191903567ffffffffffffffff811161119e5780871b3603831361119e576118d7899283926001956137ac565b9a0194019501929593918a9897959161175e565b3073ffffffffffffffffffffffffffffffffffffffff61190f6117a1848f876136e6565b160361193a57806119296117a66117a16001948d8d6136e6565b611933828a613744565b520161164c565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4d52413a20696e76616c696420757365727300000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d52413a20696e76616c6964206c656e677468730000000000000000000000006044820152fd5b5080891461163b565b50838914611635565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d52413a20756e617574686f72697a65640000000000000000000000000000006044820152fd5b3461119e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e57611a9d61321c565b611aa561323f565b60443560045491611abc60028460f81c14156135f9565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8094161760045573ffffffffffffffffffffffffffffffffffffffff84165f52600360205260405f20335f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8103611b86575b5090610867917f010000000000000000000000000000000000000000000000000000000000000094613db1565b9190818310611bca577f010000000000000000000000000000000000000000000000000000000000000094611bc18361086795033383613c40565b94509091611b59565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576106a3611c6161365e565b604051918291826130af565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e57611c9f61321c565b611ca761323f565b604491823590606480359460045492611cc660028560f81c14156135f9565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80951617600455611d17866138ce565b1561216557841561213b5773ffffffffffffffffffffffffffffffffffffffff8681169390846120d557863403612079575b867f000000000000000000000000d993935e13851dd7517af10687ec7e502212722898828a1687145f14611fb45750611d829098614035565b9260045499878b1694611d958b876139a9565b11611f5757808a10611f21575016928315611ec6575050611db4614727565b83861161119e578386160193838511611e99576020967fff00000000000000000000000000000000000000000000000000000000000000857f01000000000000000000000000000000000000000000000000000000000000009716911617600455815f526002875260405f20611e2b8782546139a9565b9055815f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040518a8152a360405190815285878201527f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d5960403392a46004541617600455604051908152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300604051917f08c379a000000000000000000000000000000000000000000000000000000000835260206004840152601f6024840152820152fd5b898691604051917fbc71f2ba00000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b83867f53593a20696e73756666696369656e7420736861726573000000000000000000604051917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260176024840152820152fd5b6120299160209184610199611fcd8483835416856140fb565b5416905f6040518096819582947fb8f86171000000000000000000000000000000000000000000000000000000008452600484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801561183c575f90612045575b611d82915098614035565b506020813d602011612071575b8161205f60209383613138565b8101031261119e57611d82905161203a565b3d9150612052565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f657468206d69736d61746368000000000000000000000000000000000000000081850152fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523085820152878382015282815260a081019080821067ffffffffffffffff8311176104d65761213691604052866149b1565b611d49565b60046040517fa907f2f0000000000000000000000000000000000000000000000000000000008152fd5b60248673ffffffffffffffffffffffffffffffffffffffff604051917faeabe718000000000000000000000000000000000000000000000000000000008352166004820152fd5b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e5760207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60045416604051908152f35b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000002ad631f72fb16d91c4953a7f4260a97c2fe2f31e168152f35b3461119e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576122ba6122b061321c565b6024359033613c40565b602060405160018152f35b3461119e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576122fc61321c565b602435801515810361119e5760443590811515820361119e5773ffffffffffffffffffffffffffffffffffffffff92839161233b835f54163314613545565b1561241557169081159081159161240d575b50156123af57805f549283167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a37fffffffffffffffffffffffff0000000000000000000000000000000000000000809216175f55600154166001555f80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b90508361234d565b915050167fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001555f80f35b3461119e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e5760043567ffffffffffffffff811161119e576124959036906004016131b3565b60243567ffffffffffffffff811161119e576124b59036906004016131b3565b906124be6131f9565b6001549060ff8260a81c161591828093612ef4575b8015612eda575b15612e565782740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff831617600155612e13575b5061254660ff60015460a81c1661253881613a35565b61254181613a35565b613a35565b825167ffffffffffffffff81116104d657612562600554613361565b601f8111612d72575b50806020601f8211600114612c95575f91612c8a575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176005555b835167ffffffffffffffff81116104d6576125cf600654613361565b601f8111612be9575b506020601f8211600114612b0a5781929394955f92612aff575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176006555b7f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600454161760045560405161267a81613100565b600181527f310000000000000000000000000000000000000000000000000000000000000060208201526126b960ff60015460a81c1661254181613a35565b835167ffffffffffffffff81116104d6576126d5606d54613361565b601f8111612a5e575b506020601f821160011461297f5781929394955f92612974575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617606d555b80519067ffffffffffffffff82116104d657612748606e54613361565b601f8111612911575b50602090601f831160011461284d576127e79392915f9183612842575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617606e555b5f606b555f606c556127ba60ff60015460a81c16613a35565b337fffffffffffffffffffffffff00000000000000000000000000000000000000005f5416175f55613ac0565b6127ed57005b7fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff600154166001557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b01519050858061276e565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0831691606e5f527f9930d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a925f5b8181106128f957509160019391856127e7979694106128c2575b505050811b01606e556127a1565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690558580806128b4565b9293602060018192878601518155019501930161289a565b606e5f527f9930d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a601f840160051c8101916020851061296a575b601f0160051c01905b81811061295f5750612751565b5f8155600101612952565b9091508190612949565b0151905085806126f8565b606d5f527f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d8905f5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084168110612a465750600193949596837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0811610612a0f575b505050811b01606d5561272b565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080612a01565b9091602060018192858b0151815501930191016129a7565b606d5f52601f820160051c7f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d8019060208310612ad7575b601f0160051c7f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d801905b818110612acc57506126de565b5f8155600101612abf565b7f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d89150612a95565b0151905085806125f2565b60065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f905f5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084168110612bd15750600193949596837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0811610612b9a575b505050811b01600655612625565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080612b8c565b9091602060018192858b015181550193019101612b32565b60065f52601f820160051c7ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f019060208310612c62575b601f0160051c7ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01905b818110612c5757506125d8565b5f8155600101612c4a565b7ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9150612c20565b905084015186612581565b915060055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05f925b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083168410612d5a5760019350827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0811610612d23575b5050811b016005556125b3565b8601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690558680612d16565b86810151825560209384019360019092019101612cbf565b60055f52601f820160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0019060208310612deb575b601f0160051c7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001905b818110612de0575061256b565b5f8155600101612dd3565b7f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db09150612da9565b7fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff1675010100000000000000000000000000000000000000001760015584612522565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b1580156124da5750600160ff8260a01c16146124da565b50600160ff8260a01c16106124d3565b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576106a3611c6161346d565b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576040516005545f82612f7c83613361565b91828252602093600190856001821691825f14610a62575050600114612fa957506109f392500383613138565b84915060055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0905f915b858310612fec5750506109f39350820101856109e6565b80548389018501528794508693909201918101612fd5565b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e5760209073ffffffffffffffffffffffffffffffffffffffff61019954168152f35b91908251928382525f5b84811061309b5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f845f6020809697860101520116010190565b60208183018101518483018201520161305d565b60209060206040818301928281528551809452019301915f5b8281106130d6575050505090565b835173ffffffffffffffffffffffffffffffffffffffff16855293810193928101926001016130c8565b6040810190811067ffffffffffffffff8211176104d657604052565b6020810190811067ffffffffffffffff8211176104d657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176104d657604052565b67ffffffffffffffff81116104d657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f8201121561119e578035906131ca82613179565b926131d86040519485613138565b8284526020838301011161119e57815f926020809301838601378301015290565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361119e57565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361119e57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361119e57565b9081518082526020808093019301915f5b828110613281575050505090565b835185529381019392810192600101613273565b3461119e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576132cc61321c565b506106a36040516132dc8161311c565b5f8152604051918291602083526020830190613262565b9181601f8401121561119e5782359167ffffffffffffffff831161119e576020808501948460051b01011161119e57565b3461119e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261119e576106a36040516132dc8161311c565b90600182811c921680156133a8575b602083101461337b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691613370565b67ffffffffffffffff81116104d65760051b60200190565b519073ffffffffffffffffffffffffffffffffffffffff8216820361119e57565b602090818184031261119e5780519067ffffffffffffffff821161119e57019180601f8401121561119e578251613421816133b2565b9361342f6040519586613138565b818552838086019260051b82010192831161119e578301905b828210613456575050505090565b838091613462846133ca565b815201910190613448565b73ffffffffffffffffffffffffffffffffffffffff6101995416801561351b575f600491604051928380927fcad107dd0000000000000000000000000000000000000000000000000000000082525afa801561183c576134f6915f916134f9575b507f000000000000000000000000d993935e13851dd7517af10687ec7e5022127228906139b6565b90565b61351591503d805f833e61350d8183613138565b8101906133eb565b5f6134ce565b506134f67f000000000000000000000000d993935e13851dd7517af10687ec7e502212722861396c565b1561354c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b906135b4826133b2565b6135c16040519182613138565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06135ef82946133b2565b0190602036910137565b1561360057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff6101995416801561351b575f600491604051928380927f56e2816e0000000000000000000000000000000000000000000000000000000082525afa801561183c576134f6915f916134f957507f000000000000000000000000d993935e13851dd7517af10687ec7e5022127228906139b6565b91908110156136f65760051b0190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3573ffffffffffffffffffffffffffffffffffffffff8116810361119e5790565b80518210156136f65760209160051b010190565b9190808252602080920192915f5b828110613774575050505090565b9091929384359073ffffffffffffffffffffffffffffffffffffffff821680920361119e579081528201938201929190600101613766565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161119e5760209260051b809284830137010190565b73ffffffffffffffffffffffffffffffffffffffff908161019954169182156138a257807f000000000000000000000000d993935e13851dd7517af10687ec7e5022127228169082161491821561383f57505090565b600492505f90604051938480927fcad107dd0000000000000000000000000000000000000000000000000000000082525afa801561183c576134f6925f91613888575b50614502565b61389c91503d805f833e61350d8183613138565b5f613882565b809192507f000000000000000000000000d993935e13851dd7517af10687ec7e50221272281691161490565b73ffffffffffffffffffffffffffffffffffffffff908161019954169182156138a257807f000000000000000000000000d993935e13851dd7517af10687ec7e5022127228169082161491821561392457505090565b600492505f90604051938480927f56e2816e0000000000000000000000000000000000000000000000000000000082525afa801561183c576134f6925f916138885750614502565b906040519161397a83613100565b60018352602083019060203683378351156136f65773ffffffffffffffffffffffffffffffffffffffff169052565b91908201809211611e9957565b919082516001808201808311611e99576139cf906135aa565b945f5b838110613a01575050506139fb73ffffffffffffffffffffffffffffffffffffffff9185613744565b91169052565b8073ffffffffffffffffffffffffffffffffffffffff613a22859385613744565b5116613a2e828a613744565b52016139d2565b15613a3c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff809116908115908115613b98575b5015613b3a57610199817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f491784ddb6af903db22df115fa8320b4b0b4fdca5e088f87ef5c178a31283e715f80a2565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5f736574416461707465723a20696e76616c69642061646170746572000000006044820152fd5b6040517fdfbe7c820000000000000000000000000000000000000000000000000000000081529150602082600481865afa91821561183c575f92613c04575b50807f000000000000000000000000d993935e13851dd7517af10687ec7e5022127228169116145f613ae3565b9091506020813d602011613c38575b81613c2060209383613138565b8101031261119e57613c31906133ca565b905f613bd7565b3d9150613c13565b73ffffffffffffffffffffffffffffffffffffffff809116918215613d2e5716918215613caa5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526003825260405f20855f5282528060405f2055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff809116918215613fb15716918215613f2d57828214613ecf57613de7614727565b815f52600260205260405f2054818110613e4b57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f52600284520360405f2055845f5260405f20613e408282546139a9565b9055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f45524332303a207472616e7366657220746f2073656c660000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff168061405557504790565b6020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa90811561183c575f9161409d575090565b90506020813d6020116140c4575b816140b860209383613138565b8101031261119e575190565b3d91506140ab565b3d156140f6573d906140dd82613179565b916140eb6040519384613138565b82523d5f602084013e565b606090565b82156141fc5773ffffffffffffffffffffffffffffffffffffffff168061419357505f80809381935af161412d6140cc565b501561413557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6574682073656e64206661696c656400000000000000000000000000000000006044820152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9290921660248301526044808301939093529181526141fa916141f5606483613138565b6149b1565b565b505050565b73ffffffffffffffffffffffffffffffffffffffff16801561436057614225614727565b805f52600260205260405f20548281106142dc578290825f5260026020520360405f20557effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9182811161119e57600454928082168185160391818311611e99575f947fff000000000000000000000000000000000000000000000000000000000000006020937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9516911617600455604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b907f000000000000000000000000d993935e13851dd7517af10687ec7e50221272289073ffffffffffffffffffffffffffffffffffffffff808216818416036144345750506134f69183916140fb565b846144ac91602093946144505f986101999284845416906140fb565b5416906040519687809481937f10a5338600000000000000000000000000000000000000000000000000000000835288600484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af192831561183c575f936144ca575b506134f69183916140fb565b9192506020823d6020116144fa575b816144e660209383613138565b8101031261119e576134f6915192916144be565b3d91506144d9565b908151915f5b83811061451757505050505f90565b73ffffffffffffffffffffffffffffffffffffffff806145378385613744565b51169084161461454957600101614508565b50505050600190565b73ffffffffffffffffffffffffffffffffffffffff8181167f000000000000000000000000d993935e13851dd7517af10687ec7e502212722882160361459757505090565b610199546040517f5c727c7d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019390935290916020918391168180604481015b03915afa90811561183c575f9161409d575090565b73ffffffffffffffffffffffffffffffffffffffff8181167f000000000000000000000000d993935e13851dd7517af10687ec7e502212722882160361464f57505090565b610199546040517f4e32a1e200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9093166004840152602483019390935290916020918391168180604481016145f5565b6146b9614ad8565b6146c1614bf8565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176104d65760405251902090565b60ff610134541661473457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161480f576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa1561183c575f5173ffffffffffffffffffffffffffffffffffffffff81161561480757905f90565b505f90600190565b505050505f90600390565b6005811015614984578061482b5750565b600181036148915760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036148f75760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461490057565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b604051614a1b9173ffffffffffffffffffffffffffffffffffffffff166149d782613100565b5f806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1614a156140cc565b91614cf3565b8051828115918215614ab8575b5050905015614a345750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b838092935001031261119e57810151801515810361119e5780825f614a28565b604051606d54905f81614aea84613361565b918282526020808301956001906001811690815f14614bb85750600114614b59575b5050614b1a92500382613138565b51908115614b26572090565b5050606b548015614b345790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b915092606d5f527f5006b838207c6a9ae9b84d68f467dd4bb5c305fbfb6b04eab8faaabeec1e18d8935f925b828410614ba05750614b1a9450505081016020015f80614b0c565b85548785018301529485019486945092810192614b85565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016885250614b1a94151560051b840160200192505f9150819050614b0c565b604051606e54905f81614c0a84613361565b918282526020808301956001906001811690815f14614cb35750600114614c54575b5050614c3a92500382613138565b51908115614c46572090565b5050606c548015614b345790565b915092606e5f527f9930d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a935f925b828410614c9b5750614c3a9450505081016020015f80614c2c565b85548785018301529485019486945092810192614c80565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016885250614c3a94151560051b840160200192505f9150819050614c2c565b91929015614d6e5750815115614d07575090565b3b15614d105790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015614d815750805190602001fd5b614dbf906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352602060048401526024830190613053565b0390fdfea2646970667358221220cfeb971b649c2f78a6f52653dec55e9fe4381f202d4447e60a29f5b674baf4a264736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d993935e13851dd7517af10687ec7e50221272280000000000000000000000002ad631f72fb16d91c4953a7f4260a97c2fe2f31e
-----Decoded View---------------
Arg [0] : _erc20 (address): 0xD993935E13851dd7517af10687EC7e5022127228
Arg [1] : _offchainRewardManager (address): 0x2aD631F72fB16d91c4953A7f4260A97C2fE2f31e
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000d993935e13851dd7517af10687ec7e5022127228
Arg [1] : 0000000000000000000000002ad631f72fb16d91c4953a7f4260a97c2fe2f31e
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.

