ETH Price: $2,277.70 (-2.38%)
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Set Approval For...1275508712024-11-04 6:08:39554 days ago1730700519IN
0xEbA30978...a5Fa98622
0 ETH0.0000006573170.00010028

View more zero value Internal Transactions in Advanced View mode

Advanced mode:

Cross-Chain Transactions
Loading...
Loading
Source Code Verified Exact Match

Contract Name

HypercertMinter

Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled
Yes with 5000 runs
Other Settings
default 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":"AlreadyClaimed","type":"error"},{"inputs":[],"name":"ArraySize","type":"error"},{"inputs":[],"name":"DoesNotExist","type":"error"},{"inputs":[],"name":"DuplicateEntry","type":"error"},{"inputs":[],"name":"Invalid","type":"error"},{"inputs":[],"name":"NotAllowed","type":"error"},{"inputs":[],"name":"NotApprovedOrOwner","type":"error"},{"inputs":[],"name":"TransfersNotAllowed","type":"error"},{"inputs":[],"name":"TypeMismatch","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenID","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"root","type":"bytes32"}],"name":"AllowlistCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"claimIDs","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"fromTokenIDs","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"toTokenIDs","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"BatchValueTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"claimID","type":"uint256"},{"indexed":false,"internalType":"string","name":"uri","type":"string"},{"indexed":false,"internalType":"uint256","name":"totalUnits","type":"uint256"}],"name":"ClaimStored","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenID","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"leaf","type":"bytes32"}],"name":"LeafClaimed","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":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"claimID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fromTokenID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ValueTransfer","type":"event"},{"inputs":[],"name":"__SemiFungible1155_init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256[]","name":"_tokenIDs","type":"uint256[]"}],"name":"batchBurnFraction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[][]","name":"proofs","type":"bytes32[][]"},{"internalType":"uint256[]","name":"claimIDs","type":"uint256[]"},{"internalType":"uint256[]","name":"units","type":"uint256[]"}],"name":"batchMintClaimsFromAllowlists","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"name":"burnBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_tokenID","type":"uint256"}],"name":"burnFraction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"units","type":"uint256"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"},{"internalType":"string","name":"_uri","type":"string"},{"internalType":"enum IHypercertToken.TransferRestrictions","name":"restrictions","type":"uint8"}],"name":"createAllowlist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"claimID","type":"uint256"}],"name":"getMinted","outputs":[{"internalType":"uint256","name":"mintedUnits","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"hasBeenClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"internalType":"uint256","name":"claimID","type":"uint256"},{"internalType":"bytes32","name":"leaf","type":"bytes32"}],"name":"isAllowedToClaim","outputs":[{"internalType":"bool","name":"isAllowed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256[]","name":"_fractionIDs","type":"uint256[]"}],"name":"mergeFractions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"units","type":"uint256"},{"internalType":"string","name":"_uri","type":"string"},{"internalType":"enum IHypercertToken.TransferRestrictions","name":"restrictions","type":"uint8"}],"name":"mintClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"internalType":"uint256","name":"claimID","type":"uint256"},{"internalType":"uint256","name":"units","type":"uint256"}],"name":"mintClaimFromAllowlist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"units","type":"uint256"},{"internalType":"uint256[]","name":"fractions","type":"uint256[]"},{"internalType":"string","name":"_uri","type":"string"},{"internalType":"enum IHypercertToken.TransferRestrictions","name":"restrictions","type":"uint8"}],"name":"mintClaimWithFractions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"_owner","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":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"readTransferRestriction","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_tokenID","type":"uint256"},{"internalType":"uint256[]","name":"_newFractions","type":"uint256[]"}],"name":"splitFraction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"unitsOf","outputs":[{"internalType":"uint256","name":"units","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"unitsOf","outputs":[{"internalType":"uint256","name":"units","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"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":"tokenID","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"view","type":"function"}]
60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051615fa26200011f60003960008181610ad201528181610b6801528181610f2301528181610fb901526110b40152615fa26000f3fe6080604052600436106102845760003560e01c8063715018a611610153578063b316962f116100cb578063f242432a1161007f578063f5298aca11610064578063f5298aca1461077b578063f6b122931461079b578063fda4823c146107bb57600080fd5b8063f242432a1461073b578063f2fde38b1461075b57600080fd5b8063e985e9c5116100b0578063e985e9c5146106b2578063eb568a14146106fb578063f11690621461071b57600080fd5b8063b316962f14610672578063c7b26c541461069257600080fd5b80638fc202dd1161012257806399f771a71161010757806399f771a7146105f6578063a21ed98014610616578063a22cb4651461065257600080fd5b80638fc202dd146105c1578063993de184146105d657600080fd5b8063715018a6146105645780638129fc1c146105795780638456cb591461058e5780638da5cb5b146105a357600080fd5b80633e11eefe1161020157806352d1902d116101b55780636352211e1161019a5780636352211e146104d55780636b20c454146105245780636ebd893f1461054457600080fd5b806352d1902d146104a75780635c975abb146104bc57600080fd5b80633f71e944116101e65780633f71e944146104475780634e1273f4146104675780634f1ef2861461049457600080fd5b80633e11eefe146104125780633f4ba83a1461043257600080fd5b80631a2e9824116102585780631e75a8b51161023d5780631e75a8b5146103b05780632eb2c2d6146103d25780633659cfe6146103f257600080fd5b80631a2e9824146103625780631a9e379f1461038257600080fd5b8062fdd58e1461028957806301ffc9a7146102bc57806306fdde03146102ec5780630e89341c14610342575b600080fd5b34801561029557600080fd5b506102a96102a4366004614f0a565b6107db565b6040519081526020015b60405180910390f35b3480156102c857600080fd5b506102dc6102d7366004614f62565b610889565b60405190151581526020016102b3565b3480156102f857600080fd5b506103356040518060400160405280600f81526020017f4879706572636572744d696e746572000000000000000000000000000000000081525081565b6040516102b39190614fcf565b34801561034e57600080fd5b5061033561035d366004614fe2565b6108df565b34801561036e57600080fd5b506102a961037d366004614f0a565b6108ea565b34801561038e57600080fd5b506102a961039d366004614fe2565b60009081526101b2602052604090205490565b3480156103bc57600080fd5b506103d06103cb366004615126565b6108fd565b005b3480156103de57600080fd5b506103d06103ed36600461524e565b610a26565b3480156103fe57600080fd5b506103d061040d3660046152f8565b610ac8565b34801561041e57600080fd5b506102dc61042d366004615313565b610c65565b34801561043e57600080fd5b506103d0610c8c565b34801561045357600080fd5b50610335610462366004614fe2565b610c9e565b34801561047357600080fd5b50610487610482366004615364565b610ddb565b6040516102b3919061546a565b6103d06104a236600461547d565b610f19565b3480156104b357600080fd5b506102a96110a7565b3480156104c857600080fd5b506101cd5460ff166102dc565b3480156104e157600080fd5b5061050c6104f0366004614fe2565b600090815261019260205260409020546001600160a01b031690565b6040516001600160a01b0390911681526020016102b3565b34801561053057600080fd5b506103d061053f3660046154c1565b61116d565b34801561055057600080fd5b506103d061055f366004615535565b611184565b34801561057057600080fd5b506103d061119e565b34801561058557600080fd5b506103d06111b0565b34801561059a57600080fd5b506103d0611311565b3480156105af57600080fd5b5060fb546001600160a01b031661050c565b3480156105cd57600080fd5b506103d0611321565b3480156105e257600080fd5b506103d06105f136600461558f565b6113c4565b34801561060257600080fd5b506102a9610611366004614fe2565b6113eb565b34801561062257600080fd5b506102dc6106313660046155f4565b6101b060209081526000928352604080842090915290825290205460ff1681565b34801561065e57600080fd5b506103d061066d366004615616565b611400565b34801561067e57600080fd5b506103d061068d366004615652565b61140b565b34801561069e57600080fd5b506103d06106ad3660046156c4565b6114a0565b3480156106be57600080fd5b506102dc6106cd366004615717565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b34801561070757600080fd5b506103d061071636600461574a565b6114e5565b34801561072757600080fd5b506103d061073636600461578e565b6114f7565b34801561074757600080fd5b506103d0610756366004615839565b61158a565b34801561076757600080fd5b506103d06107763660046152f8565b611625565b34801561078757600080fd5b506103d061079636600461589e565b6116b2565b3480156107a757600080fd5b506103d06107b6366004614f0a565b6116c4565b3480156107c757600080fd5b506103d06107d63660046158d1565b6116d6565b60006001600160a01b03831661085e5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fda69bafa000000000000000000000000000000000000000000000000000000001480610883575061088382611788565b60606108838261186b565b60006108f68383611889565b9392505050565b6109056118c1565b336001600160a01b0387161461092e57604051631eb49d6d60e11b815260040160405180910390fd5b8461096b85858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061191592505050565b146109a2576040517f6dac6a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109b087868686611994565b60008181526101ff602052604090208054919250839160ff191660018360028111156109de576109de615939565b0217905550807f19789dde2d660b739733377add05f87576a360d2d4adea587c2592264f7f6d4e8488604051610a15929190615968565b60405180910390a250505050505050565b6001600160a01b038516331480610a425750610a4285336106cd565b610ab45760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f7665640000000000000000000000000000000000006064820152608401610855565b610ac18585858585611a0e565b5050505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610b665760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610855565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610bc17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610c3d5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610855565b610c4681611cc3565b60408051600080825260208201909252610c6291839190611ccb565b50565b60008281526101af6020526040812054610c83908690869085611e6b565b95945050505050565b610c94611e83565b610c9c611edd565b565b6fffffffffffffffffffffffffffffffff19811660009081526101ff602052604081205460609160ff90911690816002811115610cdd57610cdd615939565b03610d1d57505060408051808201909152600881527f416c6c6f77416c6c0000000000000000000000000000000000000000000000006020820152919050565b6001816002811115610d3157610d31615939565b03610d7157505060408051808201909152600b81527f446973616c6c6f77416c6c0000000000000000000000000000000000000000006020820152919050565b6002816002811115610d8557610d85615939565b03610dc557505060408051808201909152600f81527f46726f6d43726561746f724f6e6c7900000000000000000000000000000000006020820152919050565b5050604080516020810190915260008152919050565b60608151835114610e545760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d6174636800000000000000000000000000000000000000000000006064820152608401610855565b6000835167ffffffffffffffff811115610e7057610e70615047565b604051908082528060200260200182016040528015610e99578160200160208202803683370190505b50905060005b8451811015610f1157610ee4858281518110610ebd57610ebd61598a565b6020026020010151858381518110610ed757610ed761598a565b60200260200101516107db565b828281518110610ef657610ef661598a565b6020908102919091010152610f0a816159e8565b9050610e9f565b509392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610fb75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610855565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110127f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461108e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610855565b61109782611cc3565b6110a382826001611ccb565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111475760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610855565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b6111756118c1565b61117f8383611f30565b505050565b61118c6118c1565b611198848484846121be565b50505050565b6111a6611e83565b610c9c6000612706565b600054610100900460ff16158080156111d05750600054600160ff909116105b806111ea5750303b1580156111ea575060005460ff166001145b61125c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610855565b6000805460ff19166001179055801561129c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6112a4611321565b6112ac612770565b8015610c6257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b611319611e83565b610c9c6127e3565b600054610100900460ff1661138c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b6113a460405180602001604052806000815250612821565b6113ac612895565b6113b4612900565b6113bc612973565b610c9c612895565b6113cc6118c1565b6113d8848484846129e6565b6113e3858383612b91565b505050505050565b60008181526101946020526040812054610883565b6110a3338383612c69565b6114136118c1565b6000611420868685612d5d565b905061142d818587612e2e565b60008181526101ff60205260409020805483919060ff1916600183600281111561145957611459615939565b0217905550807f19789dde2d660b739733377add05f87576a360d2d4adea587c2592264f7f6d4e8487604051611490929190615968565b60405180910390a2505050505050565b6114a86118c1565b61117f83838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612f1492505050565b6114ed6118c1565b6110a38282611f30565b6114ff6118c1565b8260005b81811015611571576115698888838181106115205761152061598a565b90506020028101906115329190615a02565b8888858181106115445761154461598a565b9050602002013587878681811061155d5761155d61598a565b905060200201356129e6565b600101611503565b5061157f8886868686613385565b505050505050505050565b6001600160a01b0385163314806115a657506115a685336106cd565b6116185760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f7665640000000000000000000000000000000000006064820152608401610855565b610ac185858585856135c0565b61162d611e83565b6001600160a01b0381166116a95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610855565b610c6281612706565b6116ba6118c1565b61117f83836137ab565b6116cc6118c1565b6110a382826137ab565b6116de6118c1565b336001600160a01b0385161461170757604051631eb49d6d60e11b815260040160405180910390fd5b600061171485858561387a565b60008181526101ff602052604090208054919250839160ff1916600183600281111561174257611742615939565b0217905550807f19789dde2d660b739733377add05f87576a360d2d4adea587c2592264f7f6d4e8486604051611779929190615968565b60405180910390a25050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061181b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b8061088357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610883565b60606108836fffffffffffffffffffffffffffffffff19831661395f565b600081815261019260205260408120546001600160a01b03848116911603610883575060009081526101946020526040902054919050565b6101cd5460ff1615610c9c5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610855565b8051600090815b8181101561198d578381815181106119365761193661598a565b602002602001015160000361195e57604051631eb49d6d60e11b815260040160405180910390fd5b8381815181106119705761197061598a565b6020026020010151836119839190615a6a565b925060010161191c565b5050919050565b60006119dc856119d686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061191592505050565b8461387a565b60008181526101956020526040902054909150611a069086906119ff9084615a6a565b86866121be565b949350505050565b8151835114611a855760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152608401610855565b6001600160a01b038416611b015760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610855565b33611b10818787878787613a3e565b60005b8451811015611c4f576000858281518110611b3057611b3061598a565b602002602001015190506000858381518110611b4e57611b4e61598a565b60209081029190910181015160008481526065835260408082206001600160a01b038e168352909352919091205490915081811015611bf55760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e73666572000000000000000000000000000000000000000000006064820152608401610855565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611c34908490615a6a565b9250508190555050505080611c48906159e8565b9050611b13565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611c9f929190615a7d565b60405180910390a4611cb5818787878787613b68565b6113e3818787878787613bd2565b610c62611e83565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611cfe5761117f83613ddf565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611d58575060408051601f3d908101601f19168201909252611d5591810190615aa2565b60015b611dca5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610855565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611e5f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610855565b5061117f838383613eb5565b600082611e79868685613eda565b1495945050505050565b60fb546001600160a01b03163314610c9c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610855565b611ee5613f26565b6101cd805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382163314801590611f505750611f4e82336106cd565b155b15611f87576040517fe433766c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805160008167ffffffffffffffff811115611fa457611fa4615047565b604051908082528060200260200182016040528015611fcd578160200160208202803683370190505b50905060008267ffffffffffffffff811115611feb57611feb615047565b604051908082528060200260200182016040528015612014578160200160208202803683370190505b50905060008367ffffffffffffffff81111561203257612032615047565b60405190808252806020026020018201604052801561205b578160200160208202803683370190505b50905060008467ffffffffffffffff81111561207957612079615047565b6040519080825280602002602001820160405280156120a2578160200160208202803683370190505b50905060005b8581101561216c5760008782815181106120c4576120c461598a565b602090810291909101810151600081815261019490925260408220805492905591506fffffffffffffffffffffffffffffffff19821687848151811061210c5761210c61598a565b6020026020010181815250508085848151811061212b5761212b61598a565b602002602001018181525050600184848151811061214b5761214b61598a565b60200260200101818152505050508080612164906159e8565b9150506120a8565b50612178878783613f79565b7f088515a3c7b4e71520602d818f4dec002fadefde30c55e13f390c8d96046990a848785856040516121ad9493929190615abb565b60405180910390a150505050505050565b60fd8111806121cd5750600281105b15612204576040517f3ada02e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61224082828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061191592505050565b600084815261019460205260409020541461226e57604051631eb49d6d60e11b815260040160405180910390fd5b600083815261019460205260408120546fffffffffffffffffffffffffffffffff1985169161229e600185615b13565b905060008167ffffffffffffffff8111156122bb576122bb615047565b6040519080825280602002602001820160405280156122e4578160200160208202803683370190505b50905060008267ffffffffffffffff81111561230257612302615047565b60405190808252806020026020018201604052801561232b578160200160208202803683370190505b50905060008367ffffffffffffffff81111561234957612349615047565b604051908082528060200260200182016040528015612372578160200160208202803683370190505b50905060008467ffffffffffffffff81111561239057612390615047565b6040519080825280602002602001820160405280156123b9578160200160208202803683370190505b50905060008567ffffffffffffffff8111156123d7576123d7615047565b604051908082528060200260200182016040528015612400578160200160208202803683370190505b50905060008a8a8080602002602001604051908101604052809392919081815260200183836020028082843760009201829052508451949550938593508b9250821090506124505761245061598a565b602002602001015190508160008151811061246d5761246d61598a565b60200260200101518289815181106124875761248761598a565b60200260200101818152505080826000815181106124a7576124a761598a565b60200260200101818152505060005b888110156125c25760008b815261019560205260409020546124d790614223565b8a8882815181106124ea576124ea61598a565b6020026020010181815250508d8782815181106125095761250961598a565b60200260200101818152505061019560008c815260200190815260200160002060008154612536906159e8565b9182905550612545908c615a6a565b8682815181106125575761255761598a565b60200260200101818152505060018582815181106125775761257761598a565b6020026020010181815250508281815181106125955761259561598a565b60200260200101518482815181106125af576125af61598a565b60209081029190910101526001016124b6565b5050506126046125cf3390565b60008d8152610192602090815260408083205481519283019091529181526001600160a01b039091169087908790869061422d565b60005b8681101561268c578181815181106126215761262161598a565b6020026020010151886126349190615b13565b97508181815181106126485761264861598a565b602002602001015161019460008684815181106126675761266761598a565b6020026020010151815260200190815260200160002081905550806001019050612607565b5060008b8152610194602090815260408083208a9055805191820190529081526126bb908d908590859061435d565b7f088515a3c7b4e71520602d818f4dec002fadefde30c55e13f390c8d96046990a858585846040516126f09493929190615abb565b60405180910390a1505050505050505050505050565b60fb80546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166127db5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b610c9c614573565b6127eb6118c1565b6101cd805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f133390565b600054610100900460ff1661288c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b610c62816145eb565b600054610100900460ff16610c9c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b600054610100900460ff1661296b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b610c9c61465f565b600054610100900460ff166129de5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b610c9c6146e6565b60008281526101af60209081526040805133818401528082018590528151808203830181526060820183528051908401206080808301919091528251808303909101815260a090910182528051908301208584526101b083528184208185529092529091205460ff1615612a86576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526101af6020526040902054612aa4908690869084611e6b565b1580612ad5575060008381526101b160209081526040808320546101b290925290912054612ad3908490615a6a565b115b15612b0c576040517f6dac6a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526101b0602090815260408083208484528252808320805460ff191660011790558583526101b290915281208054849290612b4c908490615a6a565b909155505060408051848152602081018390527f51483c8cc684284e9ba3215822230838b766f1698bcc7e922a31e02c3c203bd7910160405180910390a15050505050565b6000612b9c8361475a565b612bb957604051631eb49d6d60e11b815260040160405180910390fd5b60008381526101956020526040902054612bd290614223565b5060008281526101956020908152604080832080546001808201909255860181018085526101948452828520869055825193840190925292825291612c1a9186918491614790565b6040805184815260006020820152908101829052606081018390527f5e65fcde72b913ac2870f9df6ea5b6bca757862f44636cb368ed5e339fc524fb9060800160405180910390a19392505050565b816001600160a01b0316836001600160a01b031603612cf05760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c6600000000000000000000000000000000000000000000006064820152608401610855565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000612d6b610191546148d7565b608061019160008154612d7d906159e8565b9182905550901b60008181526101936020908152604080832080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038a1617905561019490915290208490559050612dde81836148e5565b604080518281526000602082018190529182916001600160a01b038816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a49392505050565b811580612e39575080155b15612e70576040517f6dac6a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526101af602052604090205415612eb7576040517f357d0cc400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526101af602090815260408083208590556101b182529182902083905581518581529081018490527f233c854c30aaaad173f2dd900c76d53c64e556d1d009d71466ec1afcb7b5844d91015b60405180910390a1505050565b60fd81511180612f25575060028151105b15612f5c576040517f3ada02e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018251612f6c9190615b13565b90506000612fa483600081518110612f8657612f8661598a565b60200260200101516fffffffffffffffffffffffffffffffff191690565b90506000838381518110612fba57612fba61598a565b602002602001015190506000808467ffffffffffffffff811115612fe057612fe0615047565b604051908082528060200260200182016040528015613009578160200160208202803683370190505b50905060008567ffffffffffffffff81111561302757613027615047565b604051908082528060200260200182016040528015613050578160200160208202803683370190505b50905060008667ffffffffffffffff81111561306e5761306e615047565b604051908082528060200260200182016040528015613097578160200160208202803683370190505b50905060008767ffffffffffffffff8111156130b5576130b5615047565b6040519080825280602002602001820160405280156130de578160200160208202803683370190505b50905060008867ffffffffffffffff8111156130fc576130fc615047565b604051908082528060200260200182016040528015613125578160200160208202803683370190505b50905060005b8981101561327e5760008b82815181106131475761314761598a565b60200260200101519050898783815181106131645761316461598a565b602002602001018181525050808683815181106131835761318361598a565b602002602001018181525050888583815181106131a2576131a261598a565b60200260200101818152505060018383815181106131c2576131c261598a565b6020026020010181815250506101946000828152602001908152602001600020548483815181106131f5576131f561598a565b60209081029190910101526001600160a01b038d1615806132315750600081815261019260205260409020546001600160a01b038e8116911614155b806132575750600089815261019260205260409020546001600160a01b038e8116911614155b1561327557604051631eb49d6d60e11b815260040160405180910390fd5b5060010161312b565b5061329c338c8686866040518060200160405280600081525061422d565b60005b8981101561330a578281815181106132b9576132b961598a565b6020026020010151876132cc9190615a6a565b965061019460008683815181106132e5576132e561598a565b602002602001015181526020019081526020016000206000905580600101905061329f565b50600087815261019460205260408120805488929061332a908490615a6a565b9091555061333b90508b8583613f79565b7f088515a3c7b4e71520602d818f4dec002fadefde30c55e13f390c8d96046990a858585856040516133709493929190615abb565b60405180910390a15050505050505050505050565b6060838067ffffffffffffffff8111156133a1576133a1615047565b6040519080825280602002602001820160405280156133ca578160200160208202803683370190505b50915060008167ffffffffffffffff8111156133e8576133e8615047565b604051908082528060200260200182016040528015613411578160200160208202803683370190505b50905060008267ffffffffffffffff81111561342f5761342f615047565b604051908082528060200260200182016040528015613458578160200160208202803683370190505b50905060005b8381101561355757600089898381811061347a5761347a61598a565b90506020020135905061348c8161475a565b6134a957604051631eb49d6d60e11b815260040160405180910390fd5b600081815261019560205260409020546134c290614223565b600081815261019560205260409020805460018082019092558201018888848181106134f0576134f061598a565b90506020020135610194600083815260200190815260200160002081905550808784815181106135225761352261598a565b60200260200101818152505060018584815181106135425761354261598a565b6020908102919091010152505060010161345e565b506135738985846040518060200160405280600081525061435d565b7f088515a3c7b4e71520602d818f4dec002fadefde30c55e13f390c8d96046990a888883878a8a6040516135ac96959493929190615b71565b60405180910390a150505095945050505050565b6001600160a01b03841661363c5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610855565b33600061364885614942565b9050600061365585614942565b9050613665838989858589613a3e565b60008681526065602090815260408083206001600160a01b038c168452909152902054858110156136fe5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e73666572000000000000000000000000000000000000000000006064820152608401610855565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a1682528120805488929061373d908490615a6a565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461379d848a8a86868a613b68565b61157f848a8a8a8a8a61498d565b6001600160a01b03821633148015906137cb57506137c982336106cd565b155b15613802576040517fe433766c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815261019460205260408120805491905561382283836001614ae8565b7f5e65fcde72b913ac2870f9df6ea5b6bca757862f44636cb368ed5e339fc524fb6fffffffffffffffffffffffffffffffff198316604080519182526020820185905260009082015260608101839052608001612f07565b60008260000361389d57604051631eb49d6d60e11b815260040160405180910390fd5b6138a8848484612d5d565b6000818152610195602052604081208054929350909182906138c9906159e8565b91829055506138d89083615a6a565b90508361019460008381526020019081526020016000208190555061390f8582600160405180602001604052806000815250614790565b6040805183815260006020820152908101829052606081018590527f5e65fcde72b913ac2870f9df6ea5b6bca757862f44636cb368ed5e339fc524fb9060800160405180910390a1509392505050565b600081815260ca602052604081208054606092919061397d90615bcd565b80601f01602080910402602001604051908101604052809291908181526020018280546139a990615bcd565b80156139f65780601f106139cb576101008083540402835291602001916139f6565b820191906000526020600020905b8154815290600101906020018083116139d957829003601f168201915b505050505090506000815111613a1457613a0f83614cb9565b6108f6565b60c981604051602001613a28929190615c20565b6040516020818303038152906040529392505050565b6001600160a01b038516156113e3576001600160a01b038416156113e357825160005b81811015613b5e576000613a80868381518110612f8657612f8661598a565b60008181526101ff602052604090205490915060ff166001816002811115613aaa57613aaa615939565b03613ae1576040517fab064ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002816002811115613af557613af5615939565b148015613b1d5750600082815261019360205260409020546001600160a01b038a8116911614155b15613b54576040517fab064ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600101613a61565b5050505050505050565b825160005b81811015613b5e57856101926000878481518110613b8d57613b8d61598a565b6020026020010151815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001019050613b6d565b6001600160a01b0384163b156113e3576040517fbc197c810000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063bc197c8190613c2f9089908990889088908890600401615ca7565b6020604051808303816000875af1925050508015613c6a575060408051601f3d908101601f19168201909252613c6791810190615d05565b60015b613d1f57613c76615d22565b806308c379a003613caf5750613c8a615d3d565b80613c955750613cb1565b8060405162461bcd60e51b81526004016108559190614fcf565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e7465720000000000000000000000006064820152608401610855565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014613dd65760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e730000000000000000000000000000000000000000000000006064820152608401610855565b50505050505050565b6001600160a01b0381163b613e5c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610855565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b613ebe83614d4d565b600082511180613ecb5750805b1561117f576111988383614d8d565b600081815b84811015613f1d57613f0982878784818110613efd57613efd61598a565b90506020020135614e8f565b915080613f15816159e8565b915050613edf565b50949350505050565b6101cd5460ff16610c9c5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610855565b6001600160a01b038316613ff55760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610855565b805182511461406c5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152608401610855565b600033905061408f81856000868660405180602001604052806000815250613a3e565b60005b83518110156141ac5760008482815181106140af576140af61598a565b6020026020010151905060008483815181106140cd576140cd61598a565b60209081029190910181015160008481526065835260408082206001600160a01b038c1683529093529190912054909150818110156141735760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e6365000000000000000000000000000000000000000000000000000000006064820152608401610855565b60009283526065602090815260408085206001600160a01b038b16865290915290922091039055806141a4816159e8565b915050614092565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516141fd929190615a7d565b60405180910390a461119881856000868660405180602001604052806000815250613b68565b8061117f81615de5565b83516001600160a01b038616331480159061424f575061424d86336106cd565b155b15614286576040517fe433766c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015613b5e5760008682815181106142a5576142a561598a565b6020026020010151905060008683815181106142c3576142c361598a565b602002602001015190506142d68261475a565b156142f457604051631eb49d6d60e11b815260040160405180910390fd5b6fffffffffffffffffffffffffffffffff1981166fffffffffffffffffffffffffffffffff19831614614353576040517fb4902a1300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600101614289565b6001600160a01b0384166143d95760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610855565b81518351146144505760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152608401610855565b3361446081600087878787613a3e565b60005b84518110156144fc5783818151811061447e5761447e61598a565b60200260200101516065600087848151811061449c5761449c61598a565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546144e49190615a6a565b909155508190506144f4816159e8565b915050614463565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161454d929190615a7d565b60405180910390a461456481600087878787613b68565b610ac181600087878787613bd2565b600054610100900460ff166145de5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b6101cd805460ff19169055565b600054610100900460ff166146565760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b610c6281614ebe565b600054610100900460ff166146ca5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b60408051602081019091526000815260c990610c629082615e5a565b600054610100900460ff166147515760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b610c9c33612706565b60006fffffffffffffffffffffffffffffffff198216821480156108835750506fffffffffffffffffffffffffffffffff161590565b6001600160a01b03841661480c5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610855565b33600061481885614942565b9050600061482585614942565b905061483683600089858589613a3e565b60008681526065602090815260408083206001600160a01b038b16845290915281208054879290614868908490615a6a565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46148c883600089858589613b68565b613dd68360008989898961498d565b608081901c61117f81615de5565b600082815260ca602052604090206148fd8282615e5a565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b614929846108df565b6040516149369190614fcf565b60405180910390a25050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061497c5761497c61598a565b602090810291909101015292915050565b6001600160a01b0384163b156113e3576040517ff23a6e610000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063f23a6e61906149ea9089908990889088908890600401615f1a565b6020604051808303816000875af1925050508015614a25575060408051601f3d908101601f19168201909252614a2291810190615d05565b60015b614a3157613c76615d22565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014613dd65760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e730000000000000000000000000000000000000000000000006064820152608401610855565b6001600160a01b038316614b645760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610855565b336000614b7084614942565b90506000614b7d84614942565b9050614b9d83876000858560405180602001604052806000815250613a3e565b60008581526065602090815260408083206001600160a01b038a16845290915290205484811015614c355760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e6365000000000000000000000000000000000000000000000000000000006064820152608401610855565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4613dd684886000868660405180602001604052806000815250613b68565b606060678054614cc890615bcd565b80601f0160208091040260200160405190810160405280929190818152602001828054614cf490615bcd565b8015614d415780601f10614d1657610100808354040283529160200191614d41565b820191906000526020600020905b815481529060010190602001808311614d2457829003601f168201915b50505050509050919050565b614d5681613ddf565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b614e0c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610855565b600080846001600160a01b031684604051614e279190615f52565b600060405180830381855af49150503d8060008114614e62576040519150601f19603f3d011682016040523d82523d6000602084013e614e67565b606091505b5091509150610c838282604051806060016040528060278152602001615f6f60279139614eca565b6000818310614eab5760008281526020849052604090206108f6565b60008381526020839052604090206108f6565b60676110a38282615e5a565b60608315614ed95750816108f6565b6108f68383815115613c955781518083602001fd5b80356001600160a01b0381168114614f0557600080fd5b919050565b60008060408385031215614f1d57600080fd5b614f2683614eee565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c6257600080fd5b600060208284031215614f7457600080fd5b81356108f681614f34565b60005b83811015614f9a578181015183820152602001614f82565b50506000910152565b60008151808452614fbb816020860160208601614f7f565b601f01601f19169290920160200192915050565b6020815260006108f66020830184614fa3565b600060208284031215614ff457600080fd5b5035919050565b60008083601f84011261500d57600080fd5b50813567ffffffffffffffff81111561502557600080fd5b6020830191508360208260051b850101111561504057600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff8211171561509c5761509c615047565b6040525050565b600082601f8301126150b457600080fd5b813567ffffffffffffffff8111156150ce576150ce615047565b6040516150e56020601f19601f8501160182615076565b8181528460208386010111156150fa57600080fd5b816020850160208301376000918101602001919091529392505050565b803560038110614f0557600080fd5b60008060008060008060a0878903121561513f57600080fd5b61514887614eee565b955060208701359450604087013567ffffffffffffffff8082111561516c57600080fd5b6151788a838b01614ffb565b9096509450606089013591508082111561519157600080fd5b5061519e89828a016150a3565b9250506151ad60808801615117565b90509295509295509295565b600067ffffffffffffffff8211156151d3576151d3615047565b5060051b60200190565b600082601f8301126151ee57600080fd5b813560206151fb826151b9565b6040516152088282615076565b83815260059390931b850182019282810191508684111561522857600080fd5b8286015b84811015615243578035835291830191830161522c565b509695505050505050565b600080600080600060a0868803121561526657600080fd5b61526f86614eee565b945061527d60208701614eee565b9350604086013567ffffffffffffffff8082111561529a57600080fd5b6152a689838a016151dd565b945060608801359150808211156152bc57600080fd5b6152c889838a016151dd565b935060808801359150808211156152de57600080fd5b506152eb888289016150a3565b9150509295509295909350565b60006020828403121561530a57600080fd5b6108f682614eee565b6000806000806060858703121561532957600080fd5b843567ffffffffffffffff81111561534057600080fd5b61534c87828801614ffb565b90989097506020870135966040013595509350505050565b6000806040838503121561537757600080fd5b823567ffffffffffffffff8082111561538f57600080fd5b818501915085601f8301126153a357600080fd5b813560206153b0826151b9565b6040516153bd8282615076565b83815260059390931b85018201928281019150898411156153dd57600080fd5b948201945b83861015615402576153f386614eee565b825294820194908201906153e2565b9650508601359250508082111561541857600080fd5b50615425858286016151dd565b9150509250929050565b600081518084526020808501945080840160005b8381101561545f57815187529582019590820190600101615443565b509495945050505050565b6020815260006108f6602083018461542f565b6000806040838503121561549057600080fd5b61549983614eee565b9150602083013567ffffffffffffffff8111156154b557600080fd5b615425858286016150a3565b6000806000606084860312156154d657600080fd5b6154df84614eee565b9250602084013567ffffffffffffffff808211156154fc57600080fd5b615508878388016151dd565b9350604086013591508082111561551e57600080fd5b5061552b868287016151dd565b9150509250925092565b6000806000806060858703121561554b57600080fd5b61555485614eee565b935060208501359250604085013567ffffffffffffffff81111561557757600080fd5b61558387828801614ffb565b95989497509550505050565b6000806000806000608086880312156155a757600080fd5b6155b086614eee565b9450602086013567ffffffffffffffff8111156155cc57600080fd5b6155d888828901614ffb565b9699909850959660408101359660609091013595509350505050565b6000806040838503121561560757600080fd5b50508035926020909101359150565b6000806040838503121561562957600080fd5b61563283614eee565b91506020830135801515811461564757600080fd5b809150509250929050565b600080600080600060a0868803121561566a57600080fd5b61567386614eee565b94506020860135935060408601359250606086013567ffffffffffffffff81111561569d57600080fd5b6156a9888289016150a3565b9250506156b860808701615117565b90509295509295909350565b6000806000604084860312156156d957600080fd5b6156e284614eee565b9250602084013567ffffffffffffffff8111156156fe57600080fd5b61570a86828701614ffb565b9497909650939450505050565b6000806040838503121561572a57600080fd5b61573383614eee565b915061574160208401614eee565b90509250929050565b6000806040838503121561575d57600080fd5b61576683614eee565b9150602083013567ffffffffffffffff81111561578257600080fd5b615425858286016151dd565b60008060008060008060006080888a0312156157a957600080fd5b6157b288614eee565b9650602088013567ffffffffffffffff808211156157cf57600080fd5b6157db8b838c01614ffb565b909850965060408a01359150808211156157f457600080fd5b6158008b838c01614ffb565b909650945060608a013591508082111561581957600080fd5b506158268a828b01614ffb565b989b979a50959850939692959293505050565b600080600080600060a0868803121561585157600080fd5b61585a86614eee565b945061586860208701614eee565b93506040860135925060608601359150608086013567ffffffffffffffff81111561589257600080fd5b6152eb888289016150a3565b6000806000606084860312156158b357600080fd5b6158bc84614eee565b95602085013595506040909401359392505050565b600080600080608085870312156158e757600080fd5b6158f085614eee565b935060208501359250604085013567ffffffffffffffff81111561591357600080fd5b61591f878288016150a3565b92505061592e60608601615117565b905092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60408152600061597b6040830185614fa3565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060001982036159fb576159fb6159b9565b5060010190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112615a3757600080fd5b83018035915067ffffffffffffffff821115615a5257600080fd5b6020019150600581901b360382131561504057600080fd5b80820180821115610883576108836159b9565b604081526000615a90604083018561542f565b8281036020840152610c83818561542f565b600060208284031215615ab457600080fd5b5051919050565b608081526000615ace608083018761542f565b8281036020840152615ae0818761542f565b90508281036040840152615af4818661542f565b90508281036060840152615b08818561542f565b979650505050505050565b81810381811115610883576108836159b9565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115615b5857600080fd5b8260051b80836020870137939093016020019392505050565b608081526000615b8560808301888a615b26565b8281036020840152615b97818861542f565b90508281036040840152615bab818761542f565b90508281036060840152615bc0818587615b26565b9998505050505050505050565b600181811c90821680615be157607f821691505b602082108103615c1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000808454615c2e81615bcd565b60018281168015615c465760018114615c5b57615c8a565b60ff1984168752821515830287019450615c8a565b8860005260208060002060005b85811015615c815781548a820152908401908201615c68565b50505082870194505b505050508351615c9e818360208801614f7f565b01949350505050565b60006001600160a01b03808816835280871660208401525060a06040830152615cd360a083018661542f565b8281036060840152615ce5818661542f565b90508281036080840152615cf98185614fa3565b98975050505050505050565b600060208284031215615d1757600080fd5b81516108f681614f34565b600060033d111561116a5760046000803e5060005160e01c90565b600060443d1015615d4b5790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff8160248401118184111715615d9957505050505090565b8285019150815181811115615db15750505050505090565b843d8701016020828501011115615dcb5750505050505090565b615dda60208286010187615076565b509095945050505050565b60006fffffffffffffffffffffffffffffffff808316818103615e0a57615e0a6159b9565b6001019392505050565b601f82111561117f57600081815260208120601f850160051c81016020861015615e3b5750805b601f850160051c820191505b818110156113e357828155600101615e47565b815167ffffffffffffffff811115615e7457615e74615047565b615e8881615e828454615bcd565b84615e14565b602080601f831160018114615ebd5760008415615ea55750858301515b600019600386901b1c1916600185901b1785556113e3565b600085815260208120601f198616915b82811015615eec57888601518255948401946001909101908401615ecd565b5085821015615f0a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001600160a01b03808816835280871660208401525084604083015283606083015260a06080830152615b0860a0830184614fa3565b60008251615f64818460208701614f7f565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000811000a
Deployed Bytecode
0x6080604052600436106102845760003560e01c8063715018a611610153578063b316962f116100cb578063f242432a1161007f578063f5298aca11610064578063f5298aca1461077b578063f6b122931461079b578063fda4823c146107bb57600080fd5b8063f242432a1461073b578063f2fde38b1461075b57600080fd5b8063e985e9c5116100b0578063e985e9c5146106b2578063eb568a14146106fb578063f11690621461071b57600080fd5b8063b316962f14610672578063c7b26c541461069257600080fd5b80638fc202dd1161012257806399f771a71161010757806399f771a7146105f6578063a21ed98014610616578063a22cb4651461065257600080fd5b80638fc202dd146105c1578063993de184146105d657600080fd5b8063715018a6146105645780638129fc1c146105795780638456cb591461058e5780638da5cb5b146105a357600080fd5b80633e11eefe1161020157806352d1902d116101b55780636352211e1161019a5780636352211e146104d55780636b20c454146105245780636ebd893f1461054457600080fd5b806352d1902d146104a75780635c975abb146104bc57600080fd5b80633f71e944116101e65780633f71e944146104475780634e1273f4146104675780634f1ef2861461049457600080fd5b80633e11eefe146104125780633f4ba83a1461043257600080fd5b80631a2e9824116102585780631e75a8b51161023d5780631e75a8b5146103b05780632eb2c2d6146103d25780633659cfe6146103f257600080fd5b80631a2e9824146103625780631a9e379f1461038257600080fd5b8062fdd58e1461028957806301ffc9a7146102bc57806306fdde03146102ec5780630e89341c14610342575b600080fd5b34801561029557600080fd5b506102a96102a4366004614f0a565b6107db565b6040519081526020015b60405180910390f35b3480156102c857600080fd5b506102dc6102d7366004614f62565b610889565b60405190151581526020016102b3565b3480156102f857600080fd5b506103356040518060400160405280600f81526020017f4879706572636572744d696e746572000000000000000000000000000000000081525081565b6040516102b39190614fcf565b34801561034e57600080fd5b5061033561035d366004614fe2565b6108df565b34801561036e57600080fd5b506102a961037d366004614f0a565b6108ea565b34801561038e57600080fd5b506102a961039d366004614fe2565b60009081526101b2602052604090205490565b3480156103bc57600080fd5b506103d06103cb366004615126565b6108fd565b005b3480156103de57600080fd5b506103d06103ed36600461524e565b610a26565b3480156103fe57600080fd5b506103d061040d3660046152f8565b610ac8565b34801561041e57600080fd5b506102dc61042d366004615313565b610c65565b34801561043e57600080fd5b506103d0610c8c565b34801561045357600080fd5b50610335610462366004614fe2565b610c9e565b34801561047357600080fd5b50610487610482366004615364565b610ddb565b6040516102b3919061546a565b6103d06104a236600461547d565b610f19565b3480156104b357600080fd5b506102a96110a7565b3480156104c857600080fd5b506101cd5460ff166102dc565b3480156104e157600080fd5b5061050c6104f0366004614fe2565b600090815261019260205260409020546001600160a01b031690565b6040516001600160a01b0390911681526020016102b3565b34801561053057600080fd5b506103d061053f3660046154c1565b61116d565b34801561055057600080fd5b506103d061055f366004615535565b611184565b34801561057057600080fd5b506103d061119e565b34801561058557600080fd5b506103d06111b0565b34801561059a57600080fd5b506103d0611311565b3480156105af57600080fd5b5060fb546001600160a01b031661050c565b3480156105cd57600080fd5b506103d0611321565b3480156105e257600080fd5b506103d06105f136600461558f565b6113c4565b34801561060257600080fd5b506102a9610611366004614fe2565b6113eb565b34801561062257600080fd5b506102dc6106313660046155f4565b6101b060209081526000928352604080842090915290825290205460ff1681565b34801561065e57600080fd5b506103d061066d366004615616565b611400565b34801561067e57600080fd5b506103d061068d366004615652565b61140b565b34801561069e57600080fd5b506103d06106ad3660046156c4565b6114a0565b3480156106be57600080fd5b506102dc6106cd366004615717565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b34801561070757600080fd5b506103d061071636600461574a565b6114e5565b34801561072757600080fd5b506103d061073636600461578e565b6114f7565b34801561074757600080fd5b506103d0610756366004615839565b61158a565b34801561076757600080fd5b506103d06107763660046152f8565b611625565b34801561078757600080fd5b506103d061079636600461589e565b6116b2565b3480156107a757600080fd5b506103d06107b6366004614f0a565b6116c4565b3480156107c757600080fd5b506103d06107d63660046158d1565b6116d6565b60006001600160a01b03831661085e5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fda69bafa000000000000000000000000000000000000000000000000000000001480610883575061088382611788565b60606108838261186b565b60006108f68383611889565b9392505050565b6109056118c1565b336001600160a01b0387161461092e57604051631eb49d6d60e11b815260040160405180910390fd5b8461096b85858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061191592505050565b146109a2576040517f6dac6a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109b087868686611994565b60008181526101ff602052604090208054919250839160ff191660018360028111156109de576109de615939565b0217905550807f19789dde2d660b739733377add05f87576a360d2d4adea587c2592264f7f6d4e8488604051610a15929190615968565b60405180910390a250505050505050565b6001600160a01b038516331480610a425750610a4285336106cd565b610ab45760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f7665640000000000000000000000000000000000006064820152608401610855565b610ac18585858585611a0e565b5050505050565b6001600160a01b037f000000000000000000000000eba30978164cc0985091f11532c8f83a5fa98622163003610b665760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610855565b7f000000000000000000000000eba30978164cc0985091f11532c8f83a5fa986226001600160a01b0316610bc17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610c3d5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610855565b610c4681611cc3565b60408051600080825260208201909252610c6291839190611ccb565b50565b60008281526101af6020526040812054610c83908690869085611e6b565b95945050505050565b610c94611e83565b610c9c611edd565b565b6fffffffffffffffffffffffffffffffff19811660009081526101ff602052604081205460609160ff90911690816002811115610cdd57610cdd615939565b03610d1d57505060408051808201909152600881527f416c6c6f77416c6c0000000000000000000000000000000000000000000000006020820152919050565b6001816002811115610d3157610d31615939565b03610d7157505060408051808201909152600b81527f446973616c6c6f77416c6c0000000000000000000000000000000000000000006020820152919050565b6002816002811115610d8557610d85615939565b03610dc557505060408051808201909152600f81527f46726f6d43726561746f724f6e6c7900000000000000000000000000000000006020820152919050565b5050604080516020810190915260008152919050565b60608151835114610e545760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d6174636800000000000000000000000000000000000000000000006064820152608401610855565b6000835167ffffffffffffffff811115610e7057610e70615047565b604051908082528060200260200182016040528015610e99578160200160208202803683370190505b50905060005b8451811015610f1157610ee4858281518110610ebd57610ebd61598a565b6020026020010151858381518110610ed757610ed761598a565b60200260200101516107db565b828281518110610ef657610ef661598a565b6020908102919091010152610f0a816159e8565b9050610e9f565b509392505050565b6001600160a01b037f000000000000000000000000eba30978164cc0985091f11532c8f83a5fa98622163003610fb75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610855565b7f000000000000000000000000eba30978164cc0985091f11532c8f83a5fa986226001600160a01b03166110127f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461108e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610855565b61109782611cc3565b6110a382826001611ccb565b5050565b6000306001600160a01b037f000000000000000000000000eba30978164cc0985091f11532c8f83a5fa9862216146111475760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610855565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b6111756118c1565b61117f8383611f30565b505050565b61118c6118c1565b611198848484846121be565b50505050565b6111a6611e83565b610c9c6000612706565b600054610100900460ff16158080156111d05750600054600160ff909116105b806111ea5750303b1580156111ea575060005460ff166001145b61125c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610855565b6000805460ff19166001179055801561129c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6112a4611321565b6112ac612770565b8015610c6257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b611319611e83565b610c9c6127e3565b600054610100900460ff1661138c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b6113a460405180602001604052806000815250612821565b6113ac612895565b6113b4612900565b6113bc612973565b610c9c612895565b6113cc6118c1565b6113d8848484846129e6565b6113e3858383612b91565b505050505050565b60008181526101946020526040812054610883565b6110a3338383612c69565b6114136118c1565b6000611420868685612d5d565b905061142d818587612e2e565b60008181526101ff60205260409020805483919060ff1916600183600281111561145957611459615939565b0217905550807f19789dde2d660b739733377add05f87576a360d2d4adea587c2592264f7f6d4e8487604051611490929190615968565b60405180910390a2505050505050565b6114a86118c1565b61117f83838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612f1492505050565b6114ed6118c1565b6110a38282611f30565b6114ff6118c1565b8260005b81811015611571576115698888838181106115205761152061598a565b90506020028101906115329190615a02565b8888858181106115445761154461598a565b9050602002013587878681811061155d5761155d61598a565b905060200201356129e6565b600101611503565b5061157f8886868686613385565b505050505050505050565b6001600160a01b0385163314806115a657506115a685336106cd565b6116185760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f7665640000000000000000000000000000000000006064820152608401610855565b610ac185858585856135c0565b61162d611e83565b6001600160a01b0381166116a95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610855565b610c6281612706565b6116ba6118c1565b61117f83836137ab565b6116cc6118c1565b6110a382826137ab565b6116de6118c1565b336001600160a01b0385161461170757604051631eb49d6d60e11b815260040160405180910390fd5b600061171485858561387a565b60008181526101ff602052604090208054919250839160ff1916600183600281111561174257611742615939565b0217905550807f19789dde2d660b739733377add05f87576a360d2d4adea587c2592264f7f6d4e8486604051611779929190615968565b60405180910390a25050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061181b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b8061088357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610883565b60606108836fffffffffffffffffffffffffffffffff19831661395f565b600081815261019260205260408120546001600160a01b03848116911603610883575060009081526101946020526040902054919050565b6101cd5460ff1615610c9c5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610855565b8051600090815b8181101561198d578381815181106119365761193661598a565b602002602001015160000361195e57604051631eb49d6d60e11b815260040160405180910390fd5b8381815181106119705761197061598a565b6020026020010151836119839190615a6a565b925060010161191c565b5050919050565b60006119dc856119d686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061191592505050565b8461387a565b60008181526101956020526040902054909150611a069086906119ff9084615a6a565b86866121be565b949350505050565b8151835114611a855760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152608401610855565b6001600160a01b038416611b015760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610855565b33611b10818787878787613a3e565b60005b8451811015611c4f576000858281518110611b3057611b3061598a565b602002602001015190506000858381518110611b4e57611b4e61598a565b60209081029190910181015160008481526065835260408082206001600160a01b038e168352909352919091205490915081811015611bf55760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e73666572000000000000000000000000000000000000000000006064820152608401610855565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611c34908490615a6a565b9250508190555050505080611c48906159e8565b9050611b13565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611c9f929190615a7d565b60405180910390a4611cb5818787878787613b68565b6113e3818787878787613bd2565b610c62611e83565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611cfe5761117f83613ddf565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611d58575060408051601f3d908101601f19168201909252611d5591810190615aa2565b60015b611dca5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610855565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611e5f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610855565b5061117f838383613eb5565b600082611e79868685613eda565b1495945050505050565b60fb546001600160a01b03163314610c9c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610855565b611ee5613f26565b6101cd805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382163314801590611f505750611f4e82336106cd565b155b15611f87576040517fe433766c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805160008167ffffffffffffffff811115611fa457611fa4615047565b604051908082528060200260200182016040528015611fcd578160200160208202803683370190505b50905060008267ffffffffffffffff811115611feb57611feb615047565b604051908082528060200260200182016040528015612014578160200160208202803683370190505b50905060008367ffffffffffffffff81111561203257612032615047565b60405190808252806020026020018201604052801561205b578160200160208202803683370190505b50905060008467ffffffffffffffff81111561207957612079615047565b6040519080825280602002602001820160405280156120a2578160200160208202803683370190505b50905060005b8581101561216c5760008782815181106120c4576120c461598a565b602090810291909101810151600081815261019490925260408220805492905591506fffffffffffffffffffffffffffffffff19821687848151811061210c5761210c61598a565b6020026020010181815250508085848151811061212b5761212b61598a565b602002602001018181525050600184848151811061214b5761214b61598a565b60200260200101818152505050508080612164906159e8565b9150506120a8565b50612178878783613f79565b7f088515a3c7b4e71520602d818f4dec002fadefde30c55e13f390c8d96046990a848785856040516121ad9493929190615abb565b60405180910390a150505050505050565b60fd8111806121cd5750600281105b15612204576040517f3ada02e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61224082828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061191592505050565b600084815261019460205260409020541461226e57604051631eb49d6d60e11b815260040160405180910390fd5b600083815261019460205260408120546fffffffffffffffffffffffffffffffff1985169161229e600185615b13565b905060008167ffffffffffffffff8111156122bb576122bb615047565b6040519080825280602002602001820160405280156122e4578160200160208202803683370190505b50905060008267ffffffffffffffff81111561230257612302615047565b60405190808252806020026020018201604052801561232b578160200160208202803683370190505b50905060008367ffffffffffffffff81111561234957612349615047565b604051908082528060200260200182016040528015612372578160200160208202803683370190505b50905060008467ffffffffffffffff81111561239057612390615047565b6040519080825280602002602001820160405280156123b9578160200160208202803683370190505b50905060008567ffffffffffffffff8111156123d7576123d7615047565b604051908082528060200260200182016040528015612400578160200160208202803683370190505b50905060008a8a8080602002602001604051908101604052809392919081815260200183836020028082843760009201829052508451949550938593508b9250821090506124505761245061598a565b602002602001015190508160008151811061246d5761246d61598a565b60200260200101518289815181106124875761248761598a565b60200260200101818152505080826000815181106124a7576124a761598a565b60200260200101818152505060005b888110156125c25760008b815261019560205260409020546124d790614223565b8a8882815181106124ea576124ea61598a565b6020026020010181815250508d8782815181106125095761250961598a565b60200260200101818152505061019560008c815260200190815260200160002060008154612536906159e8565b9182905550612545908c615a6a565b8682815181106125575761255761598a565b60200260200101818152505060018582815181106125775761257761598a565b6020026020010181815250508281815181106125955761259561598a565b60200260200101518482815181106125af576125af61598a565b60209081029190910101526001016124b6565b5050506126046125cf3390565b60008d8152610192602090815260408083205481519283019091529181526001600160a01b039091169087908790869061422d565b60005b8681101561268c578181815181106126215761262161598a565b6020026020010151886126349190615b13565b97508181815181106126485761264861598a565b602002602001015161019460008684815181106126675761266761598a565b6020026020010151815260200190815260200160002081905550806001019050612607565b5060008b8152610194602090815260408083208a9055805191820190529081526126bb908d908590859061435d565b7f088515a3c7b4e71520602d818f4dec002fadefde30c55e13f390c8d96046990a858585846040516126f09493929190615abb565b60405180910390a1505050505050505050505050565b60fb80546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166127db5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b610c9c614573565b6127eb6118c1565b6101cd805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f133390565b600054610100900460ff1661288c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b610c62816145eb565b600054610100900460ff16610c9c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b600054610100900460ff1661296b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b610c9c61465f565b600054610100900460ff166129de5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b610c9c6146e6565b60008281526101af60209081526040805133818401528082018590528151808203830181526060820183528051908401206080808301919091528251808303909101815260a090910182528051908301208584526101b083528184208185529092529091205460ff1615612a86576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526101af6020526040902054612aa4908690869084611e6b565b1580612ad5575060008381526101b160209081526040808320546101b290925290912054612ad3908490615a6a565b115b15612b0c576040517f6dac6a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526101b0602090815260408083208484528252808320805460ff191660011790558583526101b290915281208054849290612b4c908490615a6a565b909155505060408051848152602081018390527f51483c8cc684284e9ba3215822230838b766f1698bcc7e922a31e02c3c203bd7910160405180910390a15050505050565b6000612b9c8361475a565b612bb957604051631eb49d6d60e11b815260040160405180910390fd5b60008381526101956020526040902054612bd290614223565b5060008281526101956020908152604080832080546001808201909255860181018085526101948452828520869055825193840190925292825291612c1a9186918491614790565b6040805184815260006020820152908101829052606081018390527f5e65fcde72b913ac2870f9df6ea5b6bca757862f44636cb368ed5e339fc524fb9060800160405180910390a19392505050565b816001600160a01b0316836001600160a01b031603612cf05760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c6600000000000000000000000000000000000000000000006064820152608401610855565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000612d6b610191546148d7565b608061019160008154612d7d906159e8565b9182905550901b60008181526101936020908152604080832080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038a1617905561019490915290208490559050612dde81836148e5565b604080518281526000602082018190529182916001600160a01b038816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a49392505050565b811580612e39575080155b15612e70576040517f6dac6a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526101af602052604090205415612eb7576040517f357d0cc400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526101af602090815260408083208590556101b182529182902083905581518581529081018490527f233c854c30aaaad173f2dd900c76d53c64e556d1d009d71466ec1afcb7b5844d91015b60405180910390a1505050565b60fd81511180612f25575060028151105b15612f5c576040517f3ada02e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018251612f6c9190615b13565b90506000612fa483600081518110612f8657612f8661598a565b60200260200101516fffffffffffffffffffffffffffffffff191690565b90506000838381518110612fba57612fba61598a565b602002602001015190506000808467ffffffffffffffff811115612fe057612fe0615047565b604051908082528060200260200182016040528015613009578160200160208202803683370190505b50905060008567ffffffffffffffff81111561302757613027615047565b604051908082528060200260200182016040528015613050578160200160208202803683370190505b50905060008667ffffffffffffffff81111561306e5761306e615047565b604051908082528060200260200182016040528015613097578160200160208202803683370190505b50905060008767ffffffffffffffff8111156130b5576130b5615047565b6040519080825280602002602001820160405280156130de578160200160208202803683370190505b50905060008867ffffffffffffffff8111156130fc576130fc615047565b604051908082528060200260200182016040528015613125578160200160208202803683370190505b50905060005b8981101561327e5760008b82815181106131475761314761598a565b60200260200101519050898783815181106131645761316461598a565b602002602001018181525050808683815181106131835761318361598a565b602002602001018181525050888583815181106131a2576131a261598a565b60200260200101818152505060018383815181106131c2576131c261598a565b6020026020010181815250506101946000828152602001908152602001600020548483815181106131f5576131f561598a565b60209081029190910101526001600160a01b038d1615806132315750600081815261019260205260409020546001600160a01b038e8116911614155b806132575750600089815261019260205260409020546001600160a01b038e8116911614155b1561327557604051631eb49d6d60e11b815260040160405180910390fd5b5060010161312b565b5061329c338c8686866040518060200160405280600081525061422d565b60005b8981101561330a578281815181106132b9576132b961598a565b6020026020010151876132cc9190615a6a565b965061019460008683815181106132e5576132e561598a565b602002602001015181526020019081526020016000206000905580600101905061329f565b50600087815261019460205260408120805488929061332a908490615a6a565b9091555061333b90508b8583613f79565b7f088515a3c7b4e71520602d818f4dec002fadefde30c55e13f390c8d96046990a858585856040516133709493929190615abb565b60405180910390a15050505050505050505050565b6060838067ffffffffffffffff8111156133a1576133a1615047565b6040519080825280602002602001820160405280156133ca578160200160208202803683370190505b50915060008167ffffffffffffffff8111156133e8576133e8615047565b604051908082528060200260200182016040528015613411578160200160208202803683370190505b50905060008267ffffffffffffffff81111561342f5761342f615047565b604051908082528060200260200182016040528015613458578160200160208202803683370190505b50905060005b8381101561355757600089898381811061347a5761347a61598a565b90506020020135905061348c8161475a565b6134a957604051631eb49d6d60e11b815260040160405180910390fd5b600081815261019560205260409020546134c290614223565b600081815261019560205260409020805460018082019092558201018888848181106134f0576134f061598a565b90506020020135610194600083815260200190815260200160002081905550808784815181106135225761352261598a565b60200260200101818152505060018584815181106135425761354261598a565b6020908102919091010152505060010161345e565b506135738985846040518060200160405280600081525061435d565b7f088515a3c7b4e71520602d818f4dec002fadefde30c55e13f390c8d96046990a888883878a8a6040516135ac96959493929190615b71565b60405180910390a150505095945050505050565b6001600160a01b03841661363c5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610855565b33600061364885614942565b9050600061365585614942565b9050613665838989858589613a3e565b60008681526065602090815260408083206001600160a01b038c168452909152902054858110156136fe5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e73666572000000000000000000000000000000000000000000006064820152608401610855565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a1682528120805488929061373d908490615a6a565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461379d848a8a86868a613b68565b61157f848a8a8a8a8a61498d565b6001600160a01b03821633148015906137cb57506137c982336106cd565b155b15613802576040517fe433766c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815261019460205260408120805491905561382283836001614ae8565b7f5e65fcde72b913ac2870f9df6ea5b6bca757862f44636cb368ed5e339fc524fb6fffffffffffffffffffffffffffffffff198316604080519182526020820185905260009082015260608101839052608001612f07565b60008260000361389d57604051631eb49d6d60e11b815260040160405180910390fd5b6138a8848484612d5d565b6000818152610195602052604081208054929350909182906138c9906159e8565b91829055506138d89083615a6a565b90508361019460008381526020019081526020016000208190555061390f8582600160405180602001604052806000815250614790565b6040805183815260006020820152908101829052606081018590527f5e65fcde72b913ac2870f9df6ea5b6bca757862f44636cb368ed5e339fc524fb9060800160405180910390a1509392505050565b600081815260ca602052604081208054606092919061397d90615bcd565b80601f01602080910402602001604051908101604052809291908181526020018280546139a990615bcd565b80156139f65780601f106139cb576101008083540402835291602001916139f6565b820191906000526020600020905b8154815290600101906020018083116139d957829003601f168201915b505050505090506000815111613a1457613a0f83614cb9565b6108f6565b60c981604051602001613a28929190615c20565b6040516020818303038152906040529392505050565b6001600160a01b038516156113e3576001600160a01b038416156113e357825160005b81811015613b5e576000613a80868381518110612f8657612f8661598a565b60008181526101ff602052604090205490915060ff166001816002811115613aaa57613aaa615939565b03613ae1576040517fab064ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002816002811115613af557613af5615939565b148015613b1d5750600082815261019360205260409020546001600160a01b038a8116911614155b15613b54576040517fab064ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600101613a61565b5050505050505050565b825160005b81811015613b5e57856101926000878481518110613b8d57613b8d61598a565b6020026020010151815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001019050613b6d565b6001600160a01b0384163b156113e3576040517fbc197c810000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063bc197c8190613c2f9089908990889088908890600401615ca7565b6020604051808303816000875af1925050508015613c6a575060408051601f3d908101601f19168201909252613c6791810190615d05565b60015b613d1f57613c76615d22565b806308c379a003613caf5750613c8a615d3d565b80613c955750613cb1565b8060405162461bcd60e51b81526004016108559190614fcf565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e7465720000000000000000000000006064820152608401610855565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014613dd65760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e730000000000000000000000000000000000000000000000006064820152608401610855565b50505050505050565b6001600160a01b0381163b613e5c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610855565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b613ebe83614d4d565b600082511180613ecb5750805b1561117f576111988383614d8d565b600081815b84811015613f1d57613f0982878784818110613efd57613efd61598a565b90506020020135614e8f565b915080613f15816159e8565b915050613edf565b50949350505050565b6101cd5460ff16610c9c5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610855565b6001600160a01b038316613ff55760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610855565b805182511461406c5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152608401610855565b600033905061408f81856000868660405180602001604052806000815250613a3e565b60005b83518110156141ac5760008482815181106140af576140af61598a565b6020026020010151905060008483815181106140cd576140cd61598a565b60209081029190910181015160008481526065835260408082206001600160a01b038c1683529093529190912054909150818110156141735760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e6365000000000000000000000000000000000000000000000000000000006064820152608401610855565b60009283526065602090815260408085206001600160a01b038b16865290915290922091039055806141a4816159e8565b915050614092565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516141fd929190615a7d565b60405180910390a461119881856000868660405180602001604052806000815250613b68565b8061117f81615de5565b83516001600160a01b038616331480159061424f575061424d86336106cd565b155b15614286576040517fe433766c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015613b5e5760008682815181106142a5576142a561598a565b6020026020010151905060008683815181106142c3576142c361598a565b602002602001015190506142d68261475a565b156142f457604051631eb49d6d60e11b815260040160405180910390fd5b6fffffffffffffffffffffffffffffffff1981166fffffffffffffffffffffffffffffffff19831614614353576040517fb4902a1300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600101614289565b6001600160a01b0384166143d95760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610855565b81518351146144505760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152608401610855565b3361446081600087878787613a3e565b60005b84518110156144fc5783818151811061447e5761447e61598a565b60200260200101516065600087848151811061449c5761449c61598a565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546144e49190615a6a565b909155508190506144f4816159e8565b915050614463565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161454d929190615a7d565b60405180910390a461456481600087878787613b68565b610ac181600087878787613bd2565b600054610100900460ff166145de5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b6101cd805460ff19169055565b600054610100900460ff166146565760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b610c6281614ebe565b600054610100900460ff166146ca5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b60408051602081019091526000815260c990610c629082615e5a565b600054610100900460ff166147515760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610855565b610c9c33612706565b60006fffffffffffffffffffffffffffffffff198216821480156108835750506fffffffffffffffffffffffffffffffff161590565b6001600160a01b03841661480c5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610855565b33600061481885614942565b9050600061482585614942565b905061483683600089858589613a3e565b60008681526065602090815260408083206001600160a01b038b16845290915281208054879290614868908490615a6a565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46148c883600089858589613b68565b613dd68360008989898961498d565b608081901c61117f81615de5565b600082815260ca602052604090206148fd8282615e5a565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b614929846108df565b6040516149369190614fcf565b60405180910390a25050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061497c5761497c61598a565b602090810291909101015292915050565b6001600160a01b0384163b156113e3576040517ff23a6e610000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063f23a6e61906149ea9089908990889088908890600401615f1a565b6020604051808303816000875af1925050508015614a25575060408051601f3d908101601f19168201909252614a2291810190615d05565b60015b614a3157613c76615d22565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014613dd65760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e730000000000000000000000000000000000000000000000006064820152608401610855565b6001600160a01b038316614b645760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610855565b336000614b7084614942565b90506000614b7d84614942565b9050614b9d83876000858560405180602001604052806000815250613a3e565b60008581526065602090815260408083206001600160a01b038a16845290915290205484811015614c355760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e6365000000000000000000000000000000000000000000000000000000006064820152608401610855565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4613dd684886000868660405180602001604052806000815250613b68565b606060678054614cc890615bcd565b80601f0160208091040260200160405190810160405280929190818152602001828054614cf490615bcd565b8015614d415780601f10614d1657610100808354040283529160200191614d41565b820191906000526020600020905b815481529060010190602001808311614d2457829003601f168201915b50505050509050919050565b614d5681613ddf565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b614e0c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610855565b600080846001600160a01b031684604051614e279190615f52565b600060405180830381855af49150503d8060008114614e62576040519150601f19603f3d011682016040523d82523d6000602084013e614e67565b606091505b5091509150610c838282604051806060016040528060278152602001615f6f60279139614eca565b6000818310614eab5760008281526020849052604090206108f6565b60008381526020839052604090206108f6565b60676110a38282615e5a565b60608315614ed95750816108f6565b6108f68383815115613c955781518083602001fd5b80356001600160a01b0381168114614f0557600080fd5b919050565b60008060408385031215614f1d57600080fd5b614f2683614eee565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c6257600080fd5b600060208284031215614f7457600080fd5b81356108f681614f34565b60005b83811015614f9a578181015183820152602001614f82565b50506000910152565b60008151808452614fbb816020860160208601614f7f565b601f01601f19169290920160200192915050565b6020815260006108f66020830184614fa3565b600060208284031215614ff457600080fd5b5035919050565b60008083601f84011261500d57600080fd5b50813567ffffffffffffffff81111561502557600080fd5b6020830191508360208260051b850101111561504057600080fd5b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff8211171561509c5761509c615047565b6040525050565b600082601f8301126150b457600080fd5b813567ffffffffffffffff8111156150ce576150ce615047565b6040516150e56020601f19601f8501160182615076565b8181528460208386010111156150fa57600080fd5b816020850160208301376000918101602001919091529392505050565b803560038110614f0557600080fd5b60008060008060008060a0878903121561513f57600080fd5b61514887614eee565b955060208701359450604087013567ffffffffffffffff8082111561516c57600080fd5b6151788a838b01614ffb565b9096509450606089013591508082111561519157600080fd5b5061519e89828a016150a3565b9250506151ad60808801615117565b90509295509295509295565b600067ffffffffffffffff8211156151d3576151d3615047565b5060051b60200190565b600082601f8301126151ee57600080fd5b813560206151fb826151b9565b6040516152088282615076565b83815260059390931b850182019282810191508684111561522857600080fd5b8286015b84811015615243578035835291830191830161522c565b509695505050505050565b600080600080600060a0868803121561526657600080fd5b61526f86614eee565b945061527d60208701614eee565b9350604086013567ffffffffffffffff8082111561529a57600080fd5b6152a689838a016151dd565b945060608801359150808211156152bc57600080fd5b6152c889838a016151dd565b935060808801359150808211156152de57600080fd5b506152eb888289016150a3565b9150509295509295909350565b60006020828403121561530a57600080fd5b6108f682614eee565b6000806000806060858703121561532957600080fd5b843567ffffffffffffffff81111561534057600080fd5b61534c87828801614ffb565b90989097506020870135966040013595509350505050565b6000806040838503121561537757600080fd5b823567ffffffffffffffff8082111561538f57600080fd5b818501915085601f8301126153a357600080fd5b813560206153b0826151b9565b6040516153bd8282615076565b83815260059390931b85018201928281019150898411156153dd57600080fd5b948201945b83861015615402576153f386614eee565b825294820194908201906153e2565b9650508601359250508082111561541857600080fd5b50615425858286016151dd565b9150509250929050565b600081518084526020808501945080840160005b8381101561545f57815187529582019590820190600101615443565b509495945050505050565b6020815260006108f6602083018461542f565b6000806040838503121561549057600080fd5b61549983614eee565b9150602083013567ffffffffffffffff8111156154b557600080fd5b615425858286016150a3565b6000806000606084860312156154d657600080fd5b6154df84614eee565b9250602084013567ffffffffffffffff808211156154fc57600080fd5b615508878388016151dd565b9350604086013591508082111561551e57600080fd5b5061552b868287016151dd565b9150509250925092565b6000806000806060858703121561554b57600080fd5b61555485614eee565b935060208501359250604085013567ffffffffffffffff81111561557757600080fd5b61558387828801614ffb565b95989497509550505050565b6000806000806000608086880312156155a757600080fd5b6155b086614eee565b9450602086013567ffffffffffffffff8111156155cc57600080fd5b6155d888828901614ffb565b9699909850959660408101359660609091013595509350505050565b6000806040838503121561560757600080fd5b50508035926020909101359150565b6000806040838503121561562957600080fd5b61563283614eee565b91506020830135801515811461564757600080fd5b809150509250929050565b600080600080600060a0868803121561566a57600080fd5b61567386614eee565b94506020860135935060408601359250606086013567ffffffffffffffff81111561569d57600080fd5b6156a9888289016150a3565b9250506156b860808701615117565b90509295509295909350565b6000806000604084860312156156d957600080fd5b6156e284614eee565b9250602084013567ffffffffffffffff8111156156fe57600080fd5b61570a86828701614ffb565b9497909650939450505050565b6000806040838503121561572a57600080fd5b61573383614eee565b915061574160208401614eee565b90509250929050565b6000806040838503121561575d57600080fd5b61576683614eee565b9150602083013567ffffffffffffffff81111561578257600080fd5b615425858286016151dd565b60008060008060008060006080888a0312156157a957600080fd5b6157b288614eee565b9650602088013567ffffffffffffffff808211156157cf57600080fd5b6157db8b838c01614ffb565b909850965060408a01359150808211156157f457600080fd5b6158008b838c01614ffb565b909650945060608a013591508082111561581957600080fd5b506158268a828b01614ffb565b989b979a50959850939692959293505050565b600080600080600060a0868803121561585157600080fd5b61585a86614eee565b945061586860208701614eee565b93506040860135925060608601359150608086013567ffffffffffffffff81111561589257600080fd5b6152eb888289016150a3565b6000806000606084860312156158b357600080fd5b6158bc84614eee565b95602085013595506040909401359392505050565b600080600080608085870312156158e757600080fd5b6158f085614eee565b935060208501359250604085013567ffffffffffffffff81111561591357600080fd5b61591f878288016150a3565b92505061592e60608601615117565b905092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60408152600061597b6040830185614fa3565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060001982036159fb576159fb6159b9565b5060010190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112615a3757600080fd5b83018035915067ffffffffffffffff821115615a5257600080fd5b6020019150600581901b360382131561504057600080fd5b80820180821115610883576108836159b9565b604081526000615a90604083018561542f565b8281036020840152610c83818561542f565b600060208284031215615ab457600080fd5b5051919050565b608081526000615ace608083018761542f565b8281036020840152615ae0818761542f565b90508281036040840152615af4818661542f565b90508281036060840152615b08818561542f565b979650505050505050565b81810381811115610883576108836159b9565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115615b5857600080fd5b8260051b80836020870137939093016020019392505050565b608081526000615b8560808301888a615b26565b8281036020840152615b97818861542f565b90508281036040840152615bab818761542f565b90508281036060840152615bc0818587615b26565b9998505050505050505050565b600181811c90821680615be157607f821691505b602082108103615c1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000808454615c2e81615bcd565b60018281168015615c465760018114615c5b57615c8a565b60ff1984168752821515830287019450615c8a565b8860005260208060002060005b85811015615c815781548a820152908401908201615c68565b50505082870194505b505050508351615c9e818360208801614f7f565b01949350505050565b60006001600160a01b03808816835280871660208401525060a06040830152615cd360a083018661542f565b8281036060840152615ce5818661542f565b90508281036080840152615cf98185614fa3565b98975050505050505050565b600060208284031215615d1757600080fd5b81516108f681614f34565b600060033d111561116a5760046000803e5060005160e01c90565b600060443d1015615d4b5790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff8160248401118184111715615d9957505050505090565b8285019150815181811115615db15750505050505090565b843d8701016020828501011115615dcb5750505050505090565b615dda60208286010187615076565b509095945050505050565b60006fffffffffffffffffffffffffffffffff808316818103615e0a57615e0a6159b9565b6001019392505050565b601f82111561117f57600081815260208120601f850160051c81016020861015615e3b5750805b601f850160051c820191505b818110156113e357828155600101615e47565b815167ffffffffffffffff811115615e7457615e74615047565b615e8881615e828454615bcd565b84615e14565b602080601f831160018114615ebd5760008415615ea55750858301515b600019600386901b1c1916600185901b1785556113e3565b600085815260208120601f198616915b82811015615eec57888601518255948401946001909101908401615ecd565b5085821015615f0a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001600160a01b03808816835280871660208401525084604083015283606083015260a06080830152615b0860a0830184614fa3565b60008251615f64818460208701614f7f565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000811000a
🤖 Code Reader Beta

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

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.