ETH Price: $2,677.90 (-0.33%)

Contract

0x15e355024de1CDc74ADdea7EBDf98418Ba5B1a2c
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Source Code Verified Exact Match

Contract Name

Entrypoint

Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled
Yes with 10000 runs
Other Settings
cancun EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"AssetMismatch","type":"error"},{"inputs":[],"name":"AssetPoolAlreadyRegistered","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"EmptyRoot","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"inputs":[],"name":"InvalidEntrypointForPool","type":"error"},{"inputs":[],"name":"InvalidFeeBPS","type":"error"},{"inputs":[],"name":"InvalidIPFSCIDLength","type":"error"},{"inputs":[],"name":"InvalidIndex","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidPoolState","type":"error"},{"inputs":[],"name":"InvalidProcessooor","type":"error"},{"inputs":[],"name":"InvalidWithdrawalAmount","type":"error"},{"inputs":[],"name":"MinimumDepositAmount","type":"error"},{"inputs":[],"name":"NativeAssetNotAccepted","type":"error"},{"inputs":[],"name":"NativeAssetTransferFailed","type":"error"},{"inputs":[],"name":"NoRootsAvailable","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"PoolIsDead","type":"error"},{"inputs":[],"name":"PoolNotFound","type":"error"},{"inputs":[],"name":"PrecommitmentAlreadyUsed","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"RelayFeeGreaterThanMax","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[],"name":"ScopePoolAlreadyRegistered","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_depositor","type":"address"},{"indexed":true,"internalType":"contract IPrivacyPool","name":"_pool","type":"address"},{"indexed":false,"internalType":"uint256","name":"_commitment","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract IERC20","name":"_asset","type":"address"},{"indexed":false,"internalType":"address","name":"_recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"FeesWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract IPrivacyPool","name":"_pool","type":"address"},{"indexed":false,"internalType":"contract IERC20","name":"_asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"_newMinimumDepositAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_newVettingFeeBPS","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_newMaxRelayFeeBPS","type":"uint256"}],"name":"PoolConfigurationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract IPrivacyPool","name":"_pool","type":"address"},{"indexed":false,"internalType":"contract IERC20","name":"_asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"_scope","type":"uint256"}],"name":"PoolRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract IPrivacyPool","name":"_pool","type":"address"},{"indexed":false,"internalType":"contract IERC20","name":"_asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"_scope","type":"uint256"}],"name":"PoolRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract IPrivacyPool","name":"_pool","type":"address"}],"name":"PoolWindDown","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_root","type":"uint256"},{"indexed":false,"internalType":"string","name":"_ipfsCID","type":"string"},{"indexed":false,"internalType":"uint256","name":"_timestamp","type":"uint256"}],"name":"RootUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_relayer","type":"address"},{"indexed":true,"internalType":"address","name":"_recipient","type":"address"},{"indexed":true,"internalType":"contract IERC20","name":"_asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_feeAmount","type":"uint256"}],"name":"WithdrawalRelayed","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_asset","type":"address"}],"name":"assetConfig","outputs":[{"internalType":"contract IPrivacyPool","name":"pool","type":"address"},{"internalType":"uint256","name":"minimumDepositAmount","type":"uint256"},{"internalType":"uint256","name":"vettingFeeBPS","type":"uint256"},{"internalType":"uint256","name":"maxRelayFeeBPS","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"associationSets","outputs":[{"internalType":"uint256","name":"root","type":"uint256"},{"internalType":"string","name":"ipfsCID","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_asset","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_precommitment","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"_commitment","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_precommitment","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"_commitment","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_postman","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"latestRoot","outputs":[{"internalType":"uint256","name":"_root","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_asset","type":"address"},{"internalType":"contract IPrivacyPool","name":"_pool","type":"address"},{"internalType":"uint256","name":"_minimumDepositAmount","type":"uint256"},{"internalType":"uint256","name":"_vettingFeeBPS","type":"uint256"},{"internalType":"uint256","name":"_maxRelayFeeBPS","type":"uint256"}],"name":"registerPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"processooor","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct IPrivacyPool.Withdrawal","name":"_withdrawal","type":"tuple"},{"components":[{"internalType":"uint256[2]","name":"pA","type":"uint256[2]"},{"internalType":"uint256[2][2]","name":"pB","type":"uint256[2][2]"},{"internalType":"uint256[2]","name":"pC","type":"uint256[2]"},{"internalType":"uint256[8]","name":"pubSignals","type":"uint256[8]"}],"internalType":"struct ProofLib.WithdrawProof","name":"_proof","type":"tuple"},{"internalType":"uint256","name":"_scope","type":"uint256"}],"name":"relay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_asset","type":"address"}],"name":"removePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"rootByIndex","outputs":[{"internalType":"uint256","name":"_root","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_scope","type":"uint256"}],"name":"scopeToPool","outputs":[{"internalType":"contract IPrivacyPool","name":"_pool","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_asset","type":"address"},{"internalType":"uint256","name":"_minimumDepositAmount","type":"uint256"},{"internalType":"uint256","name":"_vettingFeeBPS","type":"uint256"},{"internalType":"uint256","name":"_maxRelayFeeBPS","type":"uint256"}],"name":"updatePoolConfiguration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_root","type":"uint256"},{"internalType":"string","name":"_ipfsCID","type":"string"}],"name":"updateRoot","outputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_precommitment","type":"uint256"}],"name":"usedPrecommitments","outputs":[{"internalType":"bool","name":"_used","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IPrivacyPool","name":"_pool","type":"address"}],"name":"windDownPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_asset","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"name":"withdrawFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
60a060405230608052348015610013575f5ffd5b5061001c610021565b6100d3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100715760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d05780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516134b26100f95f395f81816122130152818161223c015261241301526134b25ff3fe60806040526004361061019c575f3560e01c806391d14854116100dc578063b6b55f2511610087578063d6dbaf5811610062578063d6dbaf58146105a9578063d7b0fef114610620578063ddb6afa914610634578063f255527814610662575f5ffd5b8063b6b55f2514610558578063c30b48cf1461056b578063d547741f1461058a575f5ffd5b8063ad3cb1cc116100b7578063ad3cb1cc14610498578063adeca3dc146104ed578063b2df656914610539575f5ffd5b806391d14854146103f4578063a1cc748b14610457578063a217fddf14610485575f5ffd5b8063485cc955116101475780635e33debb116101225780635e33debb146103785780637c0ed0211461039757806387bf00f0146103b65780638a44121e146103d5575f5ffd5b8063485cc955146103325780634f1ef2861461035157806352d1902d14610364575f5ffd5b80632f2ff15d116101775780632f2ff15d146102d557806336568abe146102f45780633b7d094614610313575f5ffd5b806301ffc9a7146102275780630efe6a8b1461025b578063248a9ca314610288575f5ffd5b366102235773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5f5260016020527fde3e59ea0eeb6a65f16dd826b7bdfb53723c09ad80c81d458bbf2e138d918523546001600160a01b0316338114610221576040517f7ae9011800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b5f5ffd5b348015610232575f5ffd5b50610246610241366004612b06565b610681565b60405190151581526020015b60405180910390f35b348015610266575f5ffd5b5061027a610275366004612b59565b610719565b604051908152602001610252565b348015610293575f5ffd5b5061027a6102a2366004612b8b565b5f9081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b3480156102e0575f5ffd5b506102216102ef366004612ba2565b610774565b3480156102ff575f5ffd5b5061022161030e366004612ba2565b6107bd565b34801561031e575f5ffd5b5061022161032d366004612bd0565b61080e565b34801561033d575f5ffd5b5061022161034c366004612beb565b6109d3565b61022161035f366004612cf7565b610cd5565b34801561036f575f5ffd5b5061027a610cf4565b348015610383575f5ffd5b50610221610392366004612bd0565b610d22565b3480156103a2575f5ffd5b506102216103b1366004612d57565b610ddb565b3480156103c1575f5ffd5b5061027a6103d0366004612d8f565b610ec7565b3480156103e0575f5ffd5b506102216103ef366004612dbd565b611060565b3480156103ff575f5ffd5b5061024661040e366004612ba2565b5f9182527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602090815260408084206001600160a01b0393909316845291905290205460ff1690565b348015610462575f5ffd5b50610246610471366004612b8b565b60036020525f908152604090205460ff1681565b348015610490575f5ffd5b5061027a5f81565b3480156104a3575f5ffd5b506104e06040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516102529190612e50565b3480156104f8575f5ffd5b50610521610507366004612b8b565b5f602081905290815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610252565b348015610544575f5ffd5b5061027a610553366004612b8b565b6113c8565b61027a610566366004612b8b565b61142e565b348015610576575f5ffd5b50610221610585366004612e62565b611486565b348015610595575f5ffd5b506102216105a4366004612ba2565b611922565b3480156105b4575f5ffd5b506105f66105c3366004612bd0565b600160208190525f918252604090912080549181015460028201546003909201546001600160a01b039093169290919084565b604080516001600160a01b0390951685526020850193909352918301526060820152608001610252565b34801561062b575f5ffd5b5061027a611965565b34801561063f575f5ffd5b5061065361064e366004612b8b565b6119d6565b60405161025293929190612eaf565b34801561066d575f5ffd5b5061022161067c366004612beb565b611a90565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061071357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b5f610722611b4f565b6107376001600160a01b038516333086611bd0565b610742848484611c4c565b905061076d60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b9392505050565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260409020600101546107ad81611ed7565b6107b78383611ee4565b50505050565b6001600160a01b03811633146107ff576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108098282611fce565b505050565b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e61083881611ed7565b6001600160a01b038083165f908152600160205260409020541680610889576040517f76ecffc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f816001600160a01b03166333d092006040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108c6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ea9190612ed7565b90506001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610924576109246001600160a01b038516835f612090565b5f8181526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556001600160a01b03888116808652600180865284872080549094168455830186905560028301869055600390920194909455815193861684529183019190915281018290527f5c09d0bd7d17133573048145e67aeefdf3e5b7a5315ed8ecf344401cdd7af3d79060600160405180910390a150505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f81158015610a1d5750825b90505f8267ffffffffffffffff166001148015610a395750303b155b905081158015610a47575080155b15610a7e576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660011785558315610adf5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6001600160a01b038716610b1f576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038616610b5f576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b6761214d565b610b6f612157565b610b7761214d565b610ba15f7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e612167565b610bcb7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e80612167565b610c157ffc84ade01695dae2ade01aa4226dc40bdceaf9d5dbd3bf8630b1dd5af195bbc57fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e612167565b610c3f7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e88611ee4565b50610c6a7ffc84ade01695dae2ade01aa4226dc40bdceaf9d5dbd3bf8630b1dd5af195bbc587611ee4565b508315610ccc5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610cdd612208565b610ce6826122d8565b610cf08282612302565b5050565b5f610cfd612408565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e610d4c81611ed7565b816001600160a01b031663b85c51456040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610d84575f5ffd5b505af1158015610d96573d5f5f3e3d5ffd5b50506040516001600160a01b03851681527f553cc33d23d2e9040c6bf11923a373315dc4c6ecb52c37451cbfc0b5903e2ec69250602001905060405180910390a15050565b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e610e0581611ed7565b6001600160a01b038086165f9081526001602052604090208054909116610e58576040517f76ecffc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e648186868661246a565b8054604080516001600160a01b0392831681529188166020830152810186905260608101859052608081018490527ffd8e5b01fa101008dcfcd9a7eab8692908a5493de0f49b63c0d4d7603efb7ede9060a00160405180910390a1505050505050565b5f7ffc84ade01695dae2ade01aa4226dc40bdceaf9d5dbd3bf8630b1dd5af195bbc5610ef281611ed7565b835f03610f2b576040517f53ce4ece00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82516020811080610f3c5750604081115b15610f73576040517febc0ebeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051606081018252868152602081018681524292820192909252600280546001810182555f91909152815160039091027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81019182559251919290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf909101906110009082612f8a565b50604091909101516002918201555461101b906001906130b0565b92507ff43641373d5bc20fddfffcd0496fd39bde41e1aa0ce326d8899b7e658261ac0285854260405161105093929190612eaf565b60405180910390a1505092915050565b611068611b4f565b61108561107a3684900384018461315c565b606001516040015190565b5f036110bd576040517f9abc749100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b306110cb6020850185612bd0565b6001600160a01b03161461110b576040517f1a7c48e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152602081905260409020546001600160a01b031680611159576040517f76ecffc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f816001600160a01b0316634800d97f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611196573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ba9190613207565b90505f6111c6826124c9565b6040517f30c0766d0000000000000000000000000000000000000000000000000000000081529091506001600160a01b038416906330c0766d906112109089908990600401613270565b5f604051808303815f87803b158015611227575f5ffd5b505af1158015611239573d5f5f3e3d5ffd5b505f925061124d915050602088018861332e565b81019061125a9190613396565b6001600160a01b0384165f9081526001602052604090819020600301549082015191925010156112b6576040517fdfa294c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6112c961107a3689900389018961315c565b90505f6112da828460400151612580565b90505f6112e782846130b0565b90506112f786855f0151846125a2565b611306868560200151836125a2565b5f611310876124c9565b90508086111561134c576040517f1a1889b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845160408051868152602081018590526001600160a01b03808b1693169133917fe9b67844a7bb6e6ac95e8a0de02e4448dbb0c9460be9194348e4bbac6d13c2cf910160405180910390a4505050505050505061080960017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6002545f908210611405576040517f63df817100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002828154811061141857611418613401565b905f5260205f2090600302015f01549050919050565b5f611437611b4f565b61145673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee3484611c4c565b905061148160017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b919050565b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e6114b081611ed7565b6001600160a01b0386166114f0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038516611530576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038087165f908152600160205260409020805490911615611584576040517f70186a0b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b856001600160a01b03166336cf7c876040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115e4919061342e565b1561161b576040517f924b372700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b306001600160a01b0316866001600160a01b031663e8eb3cc66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611661573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116859190613207565b6001600160a01b0316146116c5576040517f5d40e13800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f866001600160a01b03166333d092006040518163ffffffff1660e01b8152600401602060405180830381865afa158015611702573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117269190612ed7565b5f818152602081905260409020549091506001600160a01b031615611777576040517f243c9c6300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b866001600160a01b0316634800d97f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117d79190613207565b6001600160a01b0316886001600160a01b031614611821576040517f83c1010a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260208190526040902080546001600160a01b0389167fffffffffffffffffffffffff000000000000000000000000000000000000000091821681179092558354161782556118758287878761246a565b6001600160a01b03881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146118cd576118cd6001600160a01b038916887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612090565b604080516001600160a01b03808a1682528a1660208201529081018290527ff9db649aad81ad9a4497a5f606f7aeff83c48f87b5d86c78efc5700ca8098f779060600160405180910390a15050505050505050565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015461195b81611ed7565b6107b78383611fce565b6002545f9081036119a2576040517fa42a714f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280546119b2906001906130b0565b815481106119c2576119c2613401565b905f5260205f2090600302015f0154905090565b600281815481106119e5575f80fd5b5f9182526020909120600390910201805460018201805491935090611a0990612eee565b80601f0160208091040260200160405190810160405280929190818152602001828054611a3590612eee565b8015611a805780601f10611a5757610100808354040283529160200191611a80565b820191905f5260205f20905b815481529060010190602001808311611a6357829003601f168201915b5050505050908060020154905083565b611a98611b4f565b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e611ac281611ed7565b5f611acc846124c9565b9050611ad98484836125a2565b604080516001600160a01b038087168252851660208201529081018290527f5e110f8bc8a20b65dcc87f224bdf1cc039346e267118bae2739847f07321ffa89060600160405180910390a15050610cf060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080547ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01611bca576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60029055565b6040516001600160a01b0384811660248301528381166044830152606482018390526107b79186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506126af565b6001600160a01b038084165f90815260016020818152604080842081516080810183528154909616808752938101549286019290925260028201549085015260030154606084015290919080611cce576040517f76ecffc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8481526003602052604090205460ff1615611d16576040517fda85277b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f84815260036020908152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055820151851015611d8b576040517fb0ab7ae400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611d9a868460400151612580565b90505f6001600160a01b03881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14611dc7575f611dc9565b815b6040517f0efe6a8b00000000000000000000000000000000000000000000000000000000815233600482015260248101849052604481018890529091506001600160a01b03841690630efe6a8b90839060640160206040518083038185885af1158015611e38573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611e5d9190612ed7565b60408051828152602081018590529196506001600160a01b0385169133917ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c5910160405180910390a3505050509392505050565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b611ee18133612734565b50565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602081815260408084206001600160a01b038616855290915282205460ff16611fc5575f848152602082815260408083206001600160a01b0387168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611f7b3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610713565b5f915050610713565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602081815260408084206001600160a01b038616855290915282205460ff1615611fc5575f848152602082815260408083206001600160a01b038716808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610713565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905261210f84826127c0565b6107b7576040516001600160a01b0384811660248301525f604483015261214391869182169063095ea7b390606401611c05565b6107b784826126af565b612155612809565b565b61215f612809565b612155612870565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268005f6121c0845f9081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b5f85815260208490526040808220600101869055519192508491839187917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a450505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806122a157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166122957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b15612155576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e610cf081611ed7565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561235c575060408051601f3d908101601f1916820190925261235991810190612ed7565b60015b6123a2576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146123fe576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401612399565b6108098383612878565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612155576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127108210158061247d57506127108110155b156124b4576040517f530da5b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018401929092556002830155600390910155565b5f7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03831601612501575047919050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa15801561255c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107139190612ed7565b5f61271061258e838561344d565b6125989190613464565b61076d90846130b0565b6001600160a01b0382166125e2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161269b575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461265b576040519150601f19603f3d011682016040523d82523d5f602084013e612660565b606091505b50509050806107b7576040517f5a04673700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108096001600160a01b03841683836128cd565b5f5f60205f8451602086015f885af1806126ce576040513d5f823e3d81fd5b50505f513d915081156126e55780600114156126f2565b6001600160a01b0384163b155b156107b7576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401612399565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602090815260408083206001600160a01b038516845290915290205460ff16610cf0576040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526001600160a01b038216600482015260248101839052604401612399565b5f5f5f5f60205f8651602088015f8a5af192503d91505f5190508280156127ff575081156127f157806001146127ff565b5f866001600160a01b03163b115b9695505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16612155576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611eb1612809565b612881826128fe565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156128c55761080982826129a5565b610cf0612a17565b6040516001600160a01b0383811660248301526044820183905261080991859182169063a9059cbb90606401611c05565b806001600160a01b03163b5f0361294c576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401612399565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60605f5f846001600160a01b0316846040516129c1919061349c565b5f60405180830381855af49150503d805f81146129f9576040519150601f19603f3d011682016040523d82523d5f602084013e6129fe565b606091505b5091509150612a0e858383612a4f565b95945050505050565b3415612155576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082612a6457612a5f82612ac4565b61076d565b8151158015612a7b57506001600160a01b0384163b155b15612abd576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401612399565b508061076d565b805115612ad45780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60208284031215612b16575f5ffd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461076d575f5ffd5b6001600160a01b0381168114611ee1575f5ffd5b5f5f5f60608486031215612b6b575f5ffd5b8335612b7681612b45565b95602085013595506040909401359392505050565b5f60208284031215612b9b575f5ffd5b5035919050565b5f5f60408385031215612bb3575f5ffd5b823591506020830135612bc581612b45565b809150509250929050565b5f60208284031215612be0575f5ffd5b813561076d81612b45565b5f5f60408385031215612bfc575f5ffd5b8235612c0781612b45565b91506020830135612bc581612b45565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715612c6757612c67612c17565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612c9657612c96612c17565b604052919050565b5f5f67ffffffffffffffff841115612cb857612cb8612c17565b50601f8301601f1916602001612ccd81612c6d565b915050828152838383011115612ce1575f5ffd5b828260208301375f602084830101529392505050565b5f5f60408385031215612d08575f5ffd5b8235612d1381612b45565b9150602083013567ffffffffffffffff811115612d2e575f5ffd5b8301601f81018513612d3e575f5ffd5b612d4d85823560208401612c9e565b9150509250929050565b5f5f5f5f60808587031215612d6a575f5ffd5b8435612d7581612b45565b966020860135965060408601359560600135945092505050565b5f5f60408385031215612da0575f5ffd5b82359150602083013567ffffffffffffffff811115612d2e575f5ffd5b5f5f5f838503610240811215612dd1575f5ffd5b843567ffffffffffffffff811115612de7575f5ffd5b850160408188031215612df8575f5ffd5b9350610200601f1982011215612e0c575f5ffd5b5091946020840194506102209093013592915050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61076d6020830184612e22565b5f5f5f5f5f60a08688031215612e76575f5ffd5b8535612e8181612b45565b94506020860135612e9181612b45565b94979496505050506040830135926060810135926080909101359150565b838152606060208201525f612ec76060830185612e22565b9050826040830152949350505050565b5f60208284031215612ee7575f5ffd5b5051919050565b600181811c90821680612f0257607f821691505b602082108103612f39577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f82111561080957805f5260205f20601f840160051c81016020851015612f645750805b601f840160051c820191505b81811015612f83575f8155600101612f70565b5050505050565b815167ffffffffffffffff811115612fa457612fa4612c17565b612fb881612fb28454612eee565b84612f3f565b6020601f821160018114613009575f8315612fd35750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455612f83565b5f84815260208120601f198516915b828110156130385787850151825560209485019460019092019101613018565b508482101561307457868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561071357610713613083565b5f82601f8301126130d2575f5ffd5b5f6130dd6040612c6d565b90508060408401858111156130f0575f5ffd5b845b8181101561310a5780358352602092830192016130f2565b509195945050505050565b5f82601f830112613124575f5ffd5b5f61010061313181612c6d565b915083018185821115613142575f5ffd5b845b8281101561310a578035825260209182019101613144565b5f61020082840312801561316e575f5ffd5b50613177612c44565b61318184846130c3565b815283605f840112613191575f5ffd5b604061319c81612c6d565b8060c08601878111156131ad575f5ffd5b604087015b818110156131d3576131c489826130c3565b845260209093019284016131b2565b508160208601526131e488826130c3565b6040860152505050506131fb846101008501613115565b60608201529392505050565b5f60208284031215613217575f5ffd5b815161076d81612b45565b604081833760408201604082015f5b60028110156132525760408284376040928301929190910190600101613231565b505050604060c0820160c08401376101008082016101008401375050565b61022081525f833561328181612b45565b6001600160a01b03166102208301526020840135368590037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe10181126132c5575f5ffd5b840160208101903567ffffffffffffffff8111156132e1575f5ffd5b8036038213156132ef575f5ffd5b60406102408501528061026085015280826102808601375f6102808286010152610280601f19601f8301168501019250505061076d6020830184613222565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613361575f5ffd5b83018035915067ffffffffffffffff82111561337b575f5ffd5b60200191503681900382131561338f575f5ffd5b9250929050565b5f60608284031280156133a7575f5ffd5b506040516060810167ffffffffffffffff811182821017156133cb576133cb612c17565b60405282356133d981612b45565b815260208301356133e981612b45565b60208201526040928301359281019290925250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561343e575f5ffd5b8151801515811461076d575f5ffd5b808202811582820484141761071357610713613083565b5f82613497577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f82518060208501845e5f92019182525091905056
Deployed Bytecode
0x60806040526004361061019c575f3560e01c806391d14854116100dc578063b6b55f2511610087578063d6dbaf5811610062578063d6dbaf58146105a9578063d7b0fef114610620578063ddb6afa914610634578063f255527814610662575f5ffd5b8063b6b55f2514610558578063c30b48cf1461056b578063d547741f1461058a575f5ffd5b8063ad3cb1cc116100b7578063ad3cb1cc14610498578063adeca3dc146104ed578063b2df656914610539575f5ffd5b806391d14854146103f4578063a1cc748b14610457578063a217fddf14610485575f5ffd5b8063485cc955116101475780635e33debb116101225780635e33debb146103785780637c0ed0211461039757806387bf00f0146103b65780638a44121e146103d5575f5ffd5b8063485cc955146103325780634f1ef2861461035157806352d1902d14610364575f5ffd5b80632f2ff15d116101775780632f2ff15d146102d557806336568abe146102f45780633b7d094614610313575f5ffd5b806301ffc9a7146102275780630efe6a8b1461025b578063248a9ca314610288575f5ffd5b366102235773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5f5260016020527fde3e59ea0eeb6a65f16dd826b7bdfb53723c09ad80c81d458bbf2e138d918523546001600160a01b0316338114610221576040517f7ae9011800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b5f5ffd5b348015610232575f5ffd5b50610246610241366004612b06565b610681565b60405190151581526020015b60405180910390f35b348015610266575f5ffd5b5061027a610275366004612b59565b610719565b604051908152602001610252565b348015610293575f5ffd5b5061027a6102a2366004612b8b565b5f9081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b3480156102e0575f5ffd5b506102216102ef366004612ba2565b610774565b3480156102ff575f5ffd5b5061022161030e366004612ba2565b6107bd565b34801561031e575f5ffd5b5061022161032d366004612bd0565b61080e565b34801561033d575f5ffd5b5061022161034c366004612beb565b6109d3565b61022161035f366004612cf7565b610cd5565b34801561036f575f5ffd5b5061027a610cf4565b348015610383575f5ffd5b50610221610392366004612bd0565b610d22565b3480156103a2575f5ffd5b506102216103b1366004612d57565b610ddb565b3480156103c1575f5ffd5b5061027a6103d0366004612d8f565b610ec7565b3480156103e0575f5ffd5b506102216103ef366004612dbd565b611060565b3480156103ff575f5ffd5b5061024661040e366004612ba2565b5f9182527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602090815260408084206001600160a01b0393909316845291905290205460ff1690565b348015610462575f5ffd5b50610246610471366004612b8b565b60036020525f908152604090205460ff1681565b348015610490575f5ffd5b5061027a5f81565b3480156104a3575f5ffd5b506104e06040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516102529190612e50565b3480156104f8575f5ffd5b50610521610507366004612b8b565b5f602081905290815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610252565b348015610544575f5ffd5b5061027a610553366004612b8b565b6113c8565b61027a610566366004612b8b565b61142e565b348015610576575f5ffd5b50610221610585366004612e62565b611486565b348015610595575f5ffd5b506102216105a4366004612ba2565b611922565b3480156105b4575f5ffd5b506105f66105c3366004612bd0565b600160208190525f918252604090912080549181015460028201546003909201546001600160a01b039093169290919084565b604080516001600160a01b0390951685526020850193909352918301526060820152608001610252565b34801561062b575f5ffd5b5061027a611965565b34801561063f575f5ffd5b5061065361064e366004612b8b565b6119d6565b60405161025293929190612eaf565b34801561066d575f5ffd5b5061022161067c366004612beb565b611a90565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061071357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b5f610722611b4f565b6107376001600160a01b038516333086611bd0565b610742848484611c4c565b905061076d60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b9392505050565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260409020600101546107ad81611ed7565b6107b78383611ee4565b50505050565b6001600160a01b03811633146107ff576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108098282611fce565b505050565b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e61083881611ed7565b6001600160a01b038083165f908152600160205260409020541680610889576040517f76ecffc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f816001600160a01b03166333d092006040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108c6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ea9190612ed7565b90506001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610924576109246001600160a01b038516835f612090565b5f8181526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556001600160a01b03888116808652600180865284872080549094168455830186905560028301869055600390920194909455815193861684529183019190915281018290527f5c09d0bd7d17133573048145e67aeefdf3e5b7a5315ed8ecf344401cdd7af3d79060600160405180910390a150505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f81158015610a1d5750825b90505f8267ffffffffffffffff166001148015610a395750303b155b905081158015610a47575080155b15610a7e576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660011785558315610adf5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6001600160a01b038716610b1f576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038616610b5f576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b6761214d565b610b6f612157565b610b7761214d565b610ba15f7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e612167565b610bcb7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e80612167565b610c157ffc84ade01695dae2ade01aa4226dc40bdceaf9d5dbd3bf8630b1dd5af195bbc57fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e612167565b610c3f7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e88611ee4565b50610c6a7ffc84ade01695dae2ade01aa4226dc40bdceaf9d5dbd3bf8630b1dd5af195bbc587611ee4565b508315610ccc5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610cdd612208565b610ce6826122d8565b610cf08282612302565b5050565b5f610cfd612408565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e610d4c81611ed7565b816001600160a01b031663b85c51456040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610d84575f5ffd5b505af1158015610d96573d5f5f3e3d5ffd5b50506040516001600160a01b03851681527f553cc33d23d2e9040c6bf11923a373315dc4c6ecb52c37451cbfc0b5903e2ec69250602001905060405180910390a15050565b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e610e0581611ed7565b6001600160a01b038086165f9081526001602052604090208054909116610e58576040517f76ecffc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e648186868661246a565b8054604080516001600160a01b0392831681529188166020830152810186905260608101859052608081018490527ffd8e5b01fa101008dcfcd9a7eab8692908a5493de0f49b63c0d4d7603efb7ede9060a00160405180910390a1505050505050565b5f7ffc84ade01695dae2ade01aa4226dc40bdceaf9d5dbd3bf8630b1dd5af195bbc5610ef281611ed7565b835f03610f2b576040517f53ce4ece00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82516020811080610f3c5750604081115b15610f73576040517febc0ebeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051606081018252868152602081018681524292820192909252600280546001810182555f91909152815160039091027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81019182559251919290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf909101906110009082612f8a565b50604091909101516002918201555461101b906001906130b0565b92507ff43641373d5bc20fddfffcd0496fd39bde41e1aa0ce326d8899b7e658261ac0285854260405161105093929190612eaf565b60405180910390a1505092915050565b611068611b4f565b61108561107a3684900384018461315c565b606001516040015190565b5f036110bd576040517f9abc749100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b306110cb6020850185612bd0565b6001600160a01b03161461110b576040517f1a7c48e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152602081905260409020546001600160a01b031680611159576040517f76ecffc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f816001600160a01b0316634800d97f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611196573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ba9190613207565b90505f6111c6826124c9565b6040517f30c0766d0000000000000000000000000000000000000000000000000000000081529091506001600160a01b038416906330c0766d906112109089908990600401613270565b5f604051808303815f87803b158015611227575f5ffd5b505af1158015611239573d5f5f3e3d5ffd5b505f925061124d915050602088018861332e565b81019061125a9190613396565b6001600160a01b0384165f9081526001602052604090819020600301549082015191925010156112b6576040517fdfa294c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6112c961107a3689900389018961315c565b90505f6112da828460400151612580565b90505f6112e782846130b0565b90506112f786855f0151846125a2565b611306868560200151836125a2565b5f611310876124c9565b90508086111561134c576040517f1a1889b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845160408051868152602081018590526001600160a01b03808b1693169133917fe9b67844a7bb6e6ac95e8a0de02e4448dbb0c9460be9194348e4bbac6d13c2cf910160405180910390a4505050505050505061080960017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6002545f908210611405576040517f63df817100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002828154811061141857611418613401565b905f5260205f2090600302015f01549050919050565b5f611437611b4f565b61145673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee3484611c4c565b905061148160017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b919050565b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e6114b081611ed7565b6001600160a01b0386166114f0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038516611530576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038087165f908152600160205260409020805490911615611584576040517f70186a0b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b856001600160a01b03166336cf7c876040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115e4919061342e565b1561161b576040517f924b372700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b306001600160a01b0316866001600160a01b031663e8eb3cc66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611661573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116859190613207565b6001600160a01b0316146116c5576040517f5d40e13800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f866001600160a01b03166333d092006040518163ffffffff1660e01b8152600401602060405180830381865afa158015611702573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117269190612ed7565b5f818152602081905260409020549091506001600160a01b031615611777576040517f243c9c6300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b866001600160a01b0316634800d97f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117d79190613207565b6001600160a01b0316886001600160a01b031614611821576040517f83c1010a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260208190526040902080546001600160a01b0389167fffffffffffffffffffffffff000000000000000000000000000000000000000091821681179092558354161782556118758287878761246a565b6001600160a01b03881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146118cd576118cd6001600160a01b038916887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612090565b604080516001600160a01b03808a1682528a1660208201529081018290527ff9db649aad81ad9a4497a5f606f7aeff83c48f87b5d86c78efc5700ca8098f779060600160405180910390a15050505050505050565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015461195b81611ed7565b6107b78383611fce565b6002545f9081036119a2576040517fa42a714f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280546119b2906001906130b0565b815481106119c2576119c2613401565b905f5260205f2090600302015f0154905090565b600281815481106119e5575f80fd5b5f9182526020909120600390910201805460018201805491935090611a0990612eee565b80601f0160208091040260200160405190810160405280929190818152602001828054611a3590612eee565b8015611a805780601f10611a5757610100808354040283529160200191611a80565b820191905f5260205f20905b815481529060010190602001808311611a6357829003601f168201915b5050505050908060020154905083565b611a98611b4f565b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e611ac281611ed7565b5f611acc846124c9565b9050611ad98484836125a2565b604080516001600160a01b038087168252851660208201529081018290527f5e110f8bc8a20b65dcc87f224bdf1cc039346e267118bae2739847f07321ffa89060600160405180910390a15050610cf060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080547ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01611bca576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60029055565b6040516001600160a01b0384811660248301528381166044830152606482018390526107b79186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506126af565b6001600160a01b038084165f90815260016020818152604080842081516080810183528154909616808752938101549286019290925260028201549085015260030154606084015290919080611cce576040517f76ecffc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8481526003602052604090205460ff1615611d16576040517fda85277b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f84815260036020908152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055820151851015611d8b576040517fb0ab7ae400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611d9a868460400151612580565b90505f6001600160a01b03881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14611dc7575f611dc9565b815b6040517f0efe6a8b00000000000000000000000000000000000000000000000000000000815233600482015260248101849052604481018890529091506001600160a01b03841690630efe6a8b90839060640160206040518083038185885af1158015611e38573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611e5d9190612ed7565b60408051828152602081018590529196506001600160a01b0385169133917ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c5910160405180910390a3505050509392505050565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b611ee18133612734565b50565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602081815260408084206001600160a01b038616855290915282205460ff16611fc5575f848152602082815260408083206001600160a01b0387168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611f7b3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610713565b5f915050610713565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602081815260408084206001600160a01b038616855290915282205460ff1615611fc5575f848152602082815260408083206001600160a01b038716808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610713565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905261210f84826127c0565b6107b7576040516001600160a01b0384811660248301525f604483015261214391869182169063095ea7b390606401611c05565b6107b784826126af565b612155612809565b565b61215f612809565b612155612870565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268005f6121c0845f9081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b5f85815260208490526040808220600101869055519192508491839187917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a450505050565b306001600160a01b037f00000000000000000000000015e355024de1cdc74addea7ebdf98418ba5b1a2c1614806122a157507f00000000000000000000000015e355024de1cdc74addea7ebdf98418ba5b1a2c6001600160a01b03166122957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b15612155576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e610cf081611ed7565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561235c575060408051601f3d908101601f1916820190925261235991810190612ed7565b60015b6123a2576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146123fe576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401612399565b6108098383612878565b306001600160a01b037f00000000000000000000000015e355024de1cdc74addea7ebdf98418ba5b1a2c1614612155576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127108210158061247d57506127108110155b156124b4576040517f530da5b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018401929092556002830155600390910155565b5f7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03831601612501575047919050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa15801561255c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107139190612ed7565b5f61271061258e838561344d565b6125989190613464565b61076d90846130b0565b6001600160a01b0382166125e2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161269b575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461265b576040519150601f19603f3d011682016040523d82523d5f602084013e612660565b606091505b50509050806107b7576040517f5a04673700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108096001600160a01b03841683836128cd565b5f5f60205f8451602086015f885af1806126ce576040513d5f823e3d81fd5b50505f513d915081156126e55780600114156126f2565b6001600160a01b0384163b155b156107b7576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401612399565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602090815260408083206001600160a01b038516845290915290205460ff16610cf0576040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526001600160a01b038216600482015260248101839052604401612399565b5f5f5f5f60205f8651602088015f8a5af192503d91505f5190508280156127ff575081156127f157806001146127ff565b5f866001600160a01b03163b115b9695505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16612155576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611eb1612809565b612881826128fe565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156128c55761080982826129a5565b610cf0612a17565b6040516001600160a01b0383811660248301526044820183905261080991859182169063a9059cbb90606401611c05565b806001600160a01b03163b5f0361294c576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401612399565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60605f5f846001600160a01b0316846040516129c1919061349c565b5f60405180830381855af49150503d805f81146129f9576040519150601f19603f3d011682016040523d82523d5f602084013e6129fe565b606091505b5091509150612a0e858383612a4f565b95945050505050565b3415612155576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082612a6457612a5f82612ac4565b61076d565b8151158015612a7b57506001600160a01b0384163b155b15612abd576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401612399565b508061076d565b805115612ad45780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60208284031215612b16575f5ffd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461076d575f5ffd5b6001600160a01b0381168114611ee1575f5ffd5b5f5f5f60608486031215612b6b575f5ffd5b8335612b7681612b45565b95602085013595506040909401359392505050565b5f60208284031215612b9b575f5ffd5b5035919050565b5f5f60408385031215612bb3575f5ffd5b823591506020830135612bc581612b45565b809150509250929050565b5f60208284031215612be0575f5ffd5b813561076d81612b45565b5f5f60408385031215612bfc575f5ffd5b8235612c0781612b45565b91506020830135612bc581612b45565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715612c6757612c67612c17565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612c9657612c96612c17565b604052919050565b5f5f67ffffffffffffffff841115612cb857612cb8612c17565b50601f8301601f1916602001612ccd81612c6d565b915050828152838383011115612ce1575f5ffd5b828260208301375f602084830101529392505050565b5f5f60408385031215612d08575f5ffd5b8235612d1381612b45565b9150602083013567ffffffffffffffff811115612d2e575f5ffd5b8301601f81018513612d3e575f5ffd5b612d4d85823560208401612c9e565b9150509250929050565b5f5f5f5f60808587031215612d6a575f5ffd5b8435612d7581612b45565b966020860135965060408601359560600135945092505050565b5f5f60408385031215612da0575f5ffd5b82359150602083013567ffffffffffffffff811115612d2e575f5ffd5b5f5f5f838503610240811215612dd1575f5ffd5b843567ffffffffffffffff811115612de7575f5ffd5b850160408188031215612df8575f5ffd5b9350610200601f1982011215612e0c575f5ffd5b5091946020840194506102209093013592915050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61076d6020830184612e22565b5f5f5f5f5f60a08688031215612e76575f5ffd5b8535612e8181612b45565b94506020860135612e9181612b45565b94979496505050506040830135926060810135926080909101359150565b838152606060208201525f612ec76060830185612e22565b9050826040830152949350505050565b5f60208284031215612ee7575f5ffd5b5051919050565b600181811c90821680612f0257607f821691505b602082108103612f39577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f82111561080957805f5260205f20601f840160051c81016020851015612f645750805b601f840160051c820191505b81811015612f83575f8155600101612f70565b5050505050565b815167ffffffffffffffff811115612fa457612fa4612c17565b612fb881612fb28454612eee565b84612f3f565b6020601f821160018114613009575f8315612fd35750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455612f83565b5f84815260208120601f198516915b828110156130385787850151825560209485019460019092019101613018565b508482101561307457868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561071357610713613083565b5f82601f8301126130d2575f5ffd5b5f6130dd6040612c6d565b90508060408401858111156130f0575f5ffd5b845b8181101561310a5780358352602092830192016130f2565b509195945050505050565b5f82601f830112613124575f5ffd5b5f61010061313181612c6d565b915083018185821115613142575f5ffd5b845b8281101561310a578035825260209182019101613144565b5f61020082840312801561316e575f5ffd5b50613177612c44565b61318184846130c3565b815283605f840112613191575f5ffd5b604061319c81612c6d565b8060c08601878111156131ad575f5ffd5b604087015b818110156131d3576131c489826130c3565b845260209093019284016131b2565b508160208601526131e488826130c3565b6040860152505050506131fb846101008501613115565b60608201529392505050565b5f60208284031215613217575f5ffd5b815161076d81612b45565b604081833760408201604082015f5b60028110156132525760408284376040928301929190910190600101613231565b505050604060c0820160c08401376101008082016101008401375050565b61022081525f833561328181612b45565b6001600160a01b03166102208301526020840135368590037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe10181126132c5575f5ffd5b840160208101903567ffffffffffffffff8111156132e1575f5ffd5b8036038213156132ef575f5ffd5b60406102408501528061026085015280826102808601375f6102808286010152610280601f19601f8301168501019250505061076d6020830184613222565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613361575f5ffd5b83018035915067ffffffffffffffff82111561337b575f5ffd5b60200191503681900382131561338f575f5ffd5b9250929050565b5f60608284031280156133a7575f5ffd5b506040516060810167ffffffffffffffff811182821017156133cb576133cb612c17565b60405282356133d981612b45565b815260208301356133e981612b45565b60208201526040928301359281019290925250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561343e575f5ffd5b8151801515811461076d575f5ffd5b808202811582820484141761071357610713613083565b5f82613497577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f82518060208501845e5f92019182525091905056
🤖 Code Reader

Generate instant answers for your smart contract questions using AI Models. Read more.

Custom Contract ABI

                            

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

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.