Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"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":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":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"},{"inputs":[],"name":"CREATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GNUSNFTFactory_Initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","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":"id","type":"uint256"},{"internalType":"uint256","name":"value","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":"values","type":"uint256[]"}],"name":"burnBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"parentID","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"exchRate","type":"uint256"},{"internalType":"uint256","name":"max_supply","type":"uint256"},{"internalType":"string","name":"newuri","type":"string"}],"name":"createNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"parentID","type":"uint256"},{"internalType":"string[]","name":"names","type":"string[]"},{"internalType":"string[]","name":"symbols","type":"string[]"},{"internalType":"uint256[]","name":"exchRates","type":"uint256[]"},{"internalType":"uint256[]","name":"max_supplies","type":"uint256[]"},{"internalType":"string[]","name":"newuris","type":"string[]"}],"name":"createNFTs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"getNFTInfo","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"uri","type":"string"},{"internalType":"uint256","name":"exchangeRate","type":"uint256"},{"internalType":"uint256","name":"maxSupply","type":"uint256"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"uint128","name":"childCurIndex","type":"uint128"},{"internalType":"bool","name":"nftCreated","type":"bool"}],"internalType":"struct NFT","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":"mintBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"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":"string","name":"newuri","type":"string"}],"name":"setURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"newuri","type":"string"}],"name":"setURI","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":"uint256","name":"id","type":"uint256"}],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b506152be806100206000396000f3fe608060405234801561001057600080fd5b506004361061020a5760003560e01c8063731133e91161012a578063bd85b039116100bd578063e985e9c51161008c578063f5298aca11610071578063f5298aca1461057d578063f667ab7c14610590578063f72c0d8b146105a357600080fd5b8063e985e9c51461050f578063f242432a1461056a57600080fd5b8063bd85b0391461048a578063ca15c873146104c9578063d188929f146104dc578063d547741f146104fc57600080fd5b80639010d07c116100f95780639010d07c1461043157806391d148541461045c578063a217fddf1461046f578063a22cb4651461047757600080fd5b8063731133e9146103dc5780638456cb59146103ef578063862440e2146103f75780638aeda25a1461040a57600080fd5b80632eb2c2d6116101a25780634e1273f4116101715780634e1273f41461033e5780634f558e791461035e5780635c975abb1461039f5780636b20c454146103c957600080fd5b80632eb2c2d6146102fd5780632f2ff15d1461031057806336568abe146103235780633f4ba83a1461033657600080fd5b8063101521f8116101de578063101521f81461028d5780631a9d2360146102955780631f7fdffa146102a8578063248a9ca3146102bb57600080fd5b8062fdd58e1461020f57806301ffc9a71461023557806302fe5305146102585780630e89341c1461026d575b600080fd5b61022261021d366004614525565b6105ca565b6040519081526020015b60405180910390f35b610248610243366004614565565b610685565b604051901515815260200161022c565b61026b610266366004614639565b6106e9565b005b61028061027b366004614676565b61074b565b60405161022c91906146e7565b61026b610880565b61026b6102a336600461481a565b610b43565b61026b6102b63660046148f4565b6112fa565b6102226102c9366004614676565b60009081527f790f2e6a69a6ef47d9d055fc71267d8ba088e4aaa30d0fa0755c430237a51b2f602052604090206001015490565b61026b61030b36600461498d565b61139e565b61026b61031e366004614a37565b61147d565b61026b610331366004614a37565b6114c1565b61026b61158e565b61035161034c366004614a63565b6115a1565b60405161022c9190614b69565b61024861036c366004614676565b60009081527fb0edfe61c69510d41d9efb0ba580d054ecb12d79bdc12d01397ec172ba81d2d16020526040902054151590565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a727725460ff16610248565b61026b6103d7366004614b7c565b6116df565b61026b6103ea366004614bf0565b6117a1565b61026b6117d4565b61026b610405366004614c45565b6117e7565b6102227f828634d95e775031b9ff576b159a8509d3053581a8c9c4d7d86899e0afcd882f81565b61044461043f366004614c82565b611931565b6040516001600160a01b03909116815260200161022c565b61024861046a366004614a37565b61196f565b610222600081565b61026b610485366004614ca4565b6119bd565b610222610498366004614676565b60009081527fb0edfe61c69510d41d9efb0ba580d054ecb12d79bdc12d01397ec172ba81d2d1602052604090205490565b6102226104d7366004614676565b6119c8565b6104ef6104ea366004614676565b6119fe565b60405161022c9190614ce0565b61026b61050a366004614a37565b611cfe565b61024861051d366004614d98565b6001600160a01b0391821660009081527f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0f6020908152604080832093909416825291909152205460ff1690565b61026b610578366004614dc2565b611dc7565b61026b61058b366004614e27565b611e8b565b61026b61059e366004614e5a565b611f4d565b6102227f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b60006001600160a01b03831661064d5760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201527f65726f206164647265737300000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805160206152498339815191526000838152602091825260408082206001600160a01b0387168352909252205490505b92915050565b600061069082611f86565b8061069f575061069f82612021565b8061067f5750506001600160e01b03191660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f602052604090205460ff16151560011490565b60006106f48161205f565b6106fd82612069565b6000805260008051602061526983398151915260209081528251610746917f5e0e766c71480bd0e1e731fe7c705cfc3e8d9729912b7673e508155b19ec38e79190850190614470565b505050565b600081815260008051602061526983398151915260205260409020600681015460609190600160801b900460ff166107eb5760405162461bcd60e51b815260206004820152603160248201527f4e4654206d75737420616c7265616479206265206372656174656420746f206760448201527f6574207468652055524920666f722069740000000000000000000000000000006064820152608401610644565b8060020180546107fa90614ef1565b80601f016020809104026020016040519081016040528092919081815260200182805461082690614ef1565b80156108735780601f1061084857610100808354040283529160200191610873565b820191906000526020600020905b81548152906001019060200180831161085657829003601f168201915b5050505050915050919050565b60008051602061522983398151915254610100900460ff166108b5576000805160206152298339815191525460ff16156108b9565b303b155b61092b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610644565b60008051602061522983398151915254610100900460ff1615801561096757600080516020615229833981519152805461ffff19166101011790555b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c1320546001600160a01b031633146109e05760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920537570657241646d696e20616c6c6f7765640000000000000000006044820152606401610644565b6109f86040518060200160405280600081525061209b565b610a0061212c565b610a086121b6565b610a106121b6565b610a18612246565b33610a437f828634d95e775031b9ff576b159a8509d3053581a8c9c4d7d86899e0afcd882f82612347565b610b0960006040518060400160405280600d81526020017f47656e69757320546f6b656e73000000000000000000000000000000000000008152506040518060400160405280600481526020017f474e5553000000000000000000000000000000000000000000000000000000008152506001670de0b6b3a76400006302faf080610ace9190614f42565b6040518060400160405280601881526020017f68747470733a2f2f6e66742e676e75732e61692f7b69647d0000000000000000815250611f4d565b50600080516020615229833981519152805460ff191690558015610b4057600080516020615229833981519152805461ff00191690555b50565b60008681526000805160206152698339815191526020526040808220815161010081019092528054339392919082908290610b7d90614ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba990614ef1565b8015610bf65780601f10610bcb57610100808354040283529160200191610bf6565b820191906000526020600020905b815481529060010190602001808311610bd957829003601f168201915b50505050508152602001600182018054610c0f90614ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3b90614ef1565b8015610c885780601f10610c5d57610100808354040283529160200191610c88565b820191906000526020600020905b815481529060010190602001808311610c6b57829003601f168201915b50505050508152602001600282018054610ca190614ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054610ccd90614ef1565b8015610d1a5780601f10610cef57610100808354040283529160200191610d1a565b820191906000526020600020905b815481529060010190602001808311610cfd57829003601f168201915b5050509183525050600382015460208201526004820154604082015260058201546001600160a01b031660608201526006909101546001600160801b0381166080830152600160801b900460ff16151560a090910152905087610e2957610d8260008361196f565b80610db25750610db27f828634d95e775031b9ff576b159a8509d3053581a8c9c4d7d86899e0afcd882f8361196f565b610e245760405162461bcd60e51b815260206004820152603460248201527f4f6e6c792043726561746f7273206f722041646d696e732063616e206372656160448201527f7465204e4654206368696c64206f6620474e55530000000000000000000000006064820152608401610644565b610f2b565b8060e00151610ea05760405162461bcd60e51b815260206004820152602b60248201527f506172656e74204e46542053686f756c642068617665206265656e206372656160448201527f74656420616c72656164790000000000000000000000000000000000000000006064820152608401610644565b8060a001516001600160a01b0316826001600160a01b031614610f2b5760405162461bcd60e51b815260206004820152602960248201527f4f6e6c7920706172656e742063726561746f722063616e20637265617465206360448201527f68696c64204e46547300000000000000000000000000000000000000000000006064820152608401610644565b8651865181148015610f3d5750855181145b8015610f495750845181145b8015610f555750835181145b610fc75760405162461bcd60e51b815260206004820152602e60248201527f4e4654206372656174696f6e206172726179206c656e677468732c2073686f7560448201527f6c64206265207468652073616d650000000000000000000000000000000000006064820152608401610644565b60005b88518110156112955789611069576000878281518110610fec57610fec614f61565b602002602001015111611069576040805162461bcd60e51b81526020600482015260248101919091527f45786368616e676520526174652068617320746f206265203e203020666f722060448201527f6372656174696e672061206e6577204368696c64204e4654206f6620474e55536064820152608401610644565b60c08301805160009161107b82614f77565b6001600160801b03166001600160801b03168152506001600160801b031660808c901b1790506040518061010001604052808b84815181106110bf576110bf614f61565b602002602001015181526020018a84815181106110de576110de614f61565b602002602001015181526020018784815181106110fd576110fd614f61565b6020026020010151815260200189848151811061111c5761111c614f61565b6020026020010151815260200188848151811061113b5761113b614f61565b60200260200101518152602001866001600160a01b0316815260200160006001600160801b031681526020016001151581525061118360008051602061526983398151915290565b60008381526020918252604090208251805191926111a692849290910190614470565b5060208281015180516111bf9260018501920190614470565b50604082015180516111db916002840191602090910190614470565b50606082015160038201556080820151600482015560a08201516005820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0390921691909117905560c08201516006909101805460e0909301516001600160801b039092167fffffffffffffffffffffffffffffff000000000000000000000000000000000090931692909217600160801b91151591909102179055508061128d81614f9e565b915050610fca565b5060c082015160008051602061526983398151915260009a8b52602052604090992060060180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001600160801b03909a16999099179098555050505050505050565b60005b835181101561138b57600084828151811061131a5761131a614f61565b60200260200101519050600061133b60008051602061526983398151915290565b6000016000838152602001908152602001600020905061137687838388878151811061136957611369614f61565b6020026020010151612388565b5050808061138390614f9e565b9150506112fd565b50611398848484846125f6565b50505050565b6001600160a01b0385163314806113f757506001600160a01b03851660009081527f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0f6020908152604080832033845290915290205460ff165b6114695760405162461bcd60e51b815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f742060448201527f6f776e6572206e6f7220617070726f76656400000000000000000000000000006064820152608401610644565b61147685858585856127e7565b5050505050565b60008281527f790f2e6a69a6ef47d9d055fc71267d8ba088e4aaa30d0fa0755c430237a51b2f60205260409020600101546114b78161205f565b6107468383612347565b6114cc60008261196f565b801561150d57506001600160a01b0381167fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c600401546001600160a01b0316145b156115805760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f742072656e6f756e636520737570657241646d696e2066726f6d2060448201527f41646d696e20526f6c65000000000000000000000000000000000000000000006064820152608401610644565b61158a8282612a72565b5050565b60006115998161205f565b610b40612afa565b6060815183511461161a5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d6174636800000000000000000000000000000000000000000000006064820152608401610644565b6000835167ffffffffffffffff81111561163657611636614582565b60405190808252806020026020018201604052801561165f578160200160208202803683370190505b50905060005b84518110156116d7576116aa85828151811061168357611683614f61565b602002602001015185838151811061169d5761169d614f61565b60200260200101516105ca565b8282815181106116bc576116bc614f61565b60209081029190910101526116d081614f9e565b9050611665565b509392505050565b6001600160a01b03831633148061173857506001600160a01b03831660009081527f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0f6020908152604080832033845290915290205460ff165b6117965760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201526808185c1c1c9bdd995960ba1b6064820152608401610644565b610746838383612bd4565b6000838152600080516020615269833981519152602052604090206117c885858386612388565b61147685858585612e4b565b60006117df8161205f565b610b40612f7d565b6000828152600080516020615269833981519152602052604090206006810154339190600160801b900460ff166118865760405162461bcd60e51b815260206004820152602d60248201527f4e4654206d7573742068617665206265656e206372656174656420746f20736560448201527f74207468652055524920666f72000000000000000000000000000000000000006064820152608401610644565b60058101546001600160a01b03838116911614806118aa57506118aa60008361196f565b61191c5760405162461bcd60e51b815260206004820152602860248201527f4f6e6c792041646d696e206f722043726561746f722063616e2073657420555260448201527f49206f66204e46540000000000000000000000000000000000000000000000006064820152608401610644565b82516114769060028301906020860190614470565b60008281527f0a626c3e9de8986f5b7a00bbc89d7b4ba768b895440372b07cda519d5c37a667602052604081206119689083613042565b9392505050565b60007f790f2e6a69a6ef47d9d055fc71267d8ba088e4aaa30d0fa0755c430237a51b2f5b6000938452602090815260408085206001600160a01b039490941685529290525090205460ff1690565b61158a33838361304e565b60008181527f0a626c3e9de8986f5b7a00bbc89d7b4ba768b895440372b07cda519d5c37a6676020526040812061067f90613163565b611a5a604051806101000160405280606081526020016060815260200160608152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160801b031681526020016000151581525090565b60008281526000805160206152698339815191526020526040902060060154600160801b900460ff16611acf5760405162461bcd60e51b815260206004820152601c60248201527f4e6f20546f6b656e206372656174656420666f722074686973204944000000006044820152606401610644565b600082815260008051602061526983398151915260205260409081902081516101008101909252805482908290611b0590614ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054611b3190614ef1565b8015611b7e5780601f10611b5357610100808354040283529160200191611b7e565b820191906000526020600020905b815481529060010190602001808311611b6157829003601f168201915b50505050508152602001600182018054611b9790614ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054611bc390614ef1565b8015611c105780601f10611be557610100808354040283529160200191611c10565b820191906000526020600020905b815481529060010190602001808311611bf357829003601f168201915b50505050508152602001600282018054611c2990614ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054611c5590614ef1565b8015611ca25780601f10611c7757610100808354040283529160200191611ca2565b820191906000526020600020905b815481529060010190602001808311611c8557829003601f168201915b5050509183525050600382015460208201526004820154604082015260058201546001600160a01b031660608201526006909101546001600160801b0381166080830152600160801b900460ff16151560a09091015292915050565b611d0960008261196f565b8015611d4a57506001600160a01b0381167fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c600401546001600160a01b0316145b15611dbd5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f74207265766f6b6520737570657241646d696e2066726f6d20416460448201527f6d696e20526f6c650000000000000000000000000000000000000000000000006064820152608401610644565b61158a828261316d565b6001600160a01b038516331480611e2057506001600160a01b03851660009081527f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0f6020908152604080832033845290915290205460ff165b611e7e5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201526808185c1c1c9bdd995960ba1b6064820152608401610644565b61147685858585856131b1565b6001600160a01b038316331480611ee457506001600160a01b03831660009081527f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0f6020908152604080832033845290915290205460ff165b611f425760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201526808185c1c1c9bdd995960ba1b6064820152608401610644565b610746838383613388565b611f7e86611f5a87613536565b611f6387613536565b611f6c8761358d565b611f758761358d565b6102a387613536565b505050505050565b60006001600160e01b031982167fd9b67a26000000000000000000000000000000000000000000000000000000001480611fe957506001600160e01b031982167f0e89341c00000000000000000000000000000000000000000000000000000000145b8061067f57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b031983161461067f565b60006001600160e01b031982167f5a05180f00000000000000000000000000000000000000000000000000000000148061067f575061067f826135c7565b610b408133613605565b805161158a907f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf10906020840190614470565b60008051602061522983398151915254610100900460ff166121135760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b61211b613669565b612123613669565b610b40816136e1565b60008051602061522983398151915254610100900460ff166121a45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b6121ac613669565b6121b4613762565b565b60008051602061522983398151915254610100900460ff1661222e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b612236613669565b61223e613669565b6121b4613669565b60008051602061522983398151915254610100900460ff166122be5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c1320546001600160a01b031633146123375760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920537570657241646d696e20616c6c6f7765640000000000000000006044820152606401610644565b61233f613669565b6121b4613805565b61235182826138b3565b60008281527f0a626c3e9de8986f5b7a00bbc89d7b4ba768b895440372b07cda519d5c37a66760205260409020610746908261393b565b33836123fc5760405162461bcd60e51b815260206004820152603c60248201527f53686f756c646e2774206d696e7420474e555320746f6b656e7320746f6b656e60448201527f732c206f6e6c79206465706f73697420616e64207769746864726177000000006064820152608401610644565b6001600160a01b03851661245c5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610644565b6006830154600160801b900460ff166124dd5760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f74206d696e74204e4654207468617420646f65736e27742065786960448201527f73740000000000000000000000000000000000000000000000000000000000006064820152608401610644565b60058301546001600160a01b0382811691161480612501575061250160008261196f565b6125735760405162461bcd60e51b815260206004820152602260248201527f43726561746f72206f722041646d696e2063616e206f6e6c79206d696e74204e60448201527f46540000000000000000000000000000000000000000000000000000000000006064820152608401610644565b608084901c61147657600083600301548361258e9190614f42565b90508061259c8360006105ca565b10156125ea5760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420656e6f75676820474e55535f544f4b454e20746f206275726e0000006044820152606401610644565b611f7e82600083613388565b6001600160a01b0384166126565760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610644565b81518351146126b85760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610644565b336126c881600087878787613950565b60005b845181101561277a578381815181106126e6576126e6614f61565b602002602001015161270360008051602061524983398151915290565b600001600087848151811061271a5761271a614f61565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546127629190614fb9565b9091555081905061277281614f9e565b9150506126cb565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516127cb929190614fd1565b60405180910390a46127e281600087878787613b2d565b611476565b81518351146128495760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610644565b6001600160a01b0384166128ad5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b6064820152608401610644565b336128bc818787878787613950565b60005b8451811015612a075760008582815181106128dc576128dc614f61565b6020026020010151905060008583815181106128fa576128fa614f61565b60200260200101519050600061291b60008051602061524983398151915290565b6000848152602091825260408082206001600160a01b038e16835290925220549050818110156129a05760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b6064820152608401610644565b6000838152600080516020615249833981519152602090815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906129ec908490614fb9565b9250508190555050505080612a0090614f9e565b90506128bf565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051612a57929190614fd1565b60405180910390a4612a6d818787878787613b2d565b611f7e565b6001600160a01b0381163314612af05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610644565b61158a8282613ce2565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a727725460ff16612b6b5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610644565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a72772805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038316612c365760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610644565b8051825114612c985760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610644565b6000339050612cbb81856000868660405180602001604052806000815250613950565b60005b8351811015612dde576000848281518110612cdb57612cdb614f61565b602002602001015190506000848381518110612cf957612cf9614f61565b602002602001015190506000612d1a60008051602061524983398151915290565b6000848152602091825260408082206001600160a01b038c1683529092522054905081811015612d985760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610644565b6000928352600080516020615249833981519152602090815260408085206001600160a01b038b1686529091529092209103905580612dd681614f9e565b915050612cbe565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612e2f929190614fd1565b60405180910390a4604080516020810190915260009052611398565b6001600160a01b038416612eab5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610644565b336000612eb78561358d565b90506000612ec48561358d565b9050612ed583600089858589613950565b6000868152600080516020615249833981519152602090815260408083206001600160a01b038b16845290915281208054879290612f14908490614fb9565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612f7483600089898989613d23565b50505050505050565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a727725460ff1615612fef5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610644565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a72772805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612bb7565b60006119688383613e2e565b816001600160a01b0316836001600160a01b031614156130d65760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c6600000000000000000000000000000000000000000000006064820152608401610644565b6001600160a01b0383811660008181527f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0f6020908152604080832094871680845294825291829020805460ff1916861515908117909155825190815291517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319281900390910190a3505050565b600061067f825490565b60008281527f790f2e6a69a6ef47d9d055fc71267d8ba088e4aaa30d0fa0755c430237a51b2f60205260409020600101546131a78161205f565b6107468383613ce2565b6001600160a01b0384166132155760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b6064820152608401610644565b3360006132218561358d565b9050600061322e8561358d565b905061323e838989858589613950565b6000868152600080516020615249833981519152602090815260408083206001600160a01b038c168452909152902054858110156132d15760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b6064820152608401610644565b6000878152600080516020615249833981519152602090815260408083206001600160a01b038d8116855292528083208985039055908a1682528120805488929061331d908490614fb9565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461337d848a8a8a8a8a613d23565b505050505050505050565b6001600160a01b0383166133ea5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610644565b3360006133f68461358d565b905060006134038461358d565b905061342383876000858560405180602001604052806000815250613950565b6000858152600080516020615249833981519152602090815260408083206001600160a01b038a168452909152902054848110156134af5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610644565b6000868152600080516020615249833981519152602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a905282519193908916927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6292918290030190a4604080516020810190915260009052612f74565b60408051600180825281830190925260609160009190816020015b6060815260200190600190039081613551579050509050828160008151811061357c5761357c614f61565b602090810291909101015292915050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061357c5761357c614f61565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061067f575061067f82611f86565b61360f828261196f565b61158a57613627816001600160a01b03166014613e58565b613632836020613e58565b604051602001613643929190614fff565b60408051601f198184030181529082905262461bcd60e51b8252610644916004016146e7565b60008051602061522983398151915254610100900460ff166121b45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b60008051602061522983398151915254610100900460ff166137595760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b610b4081612069565b60008051602061522983398151915254610100900460ff166137da5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a72772805460ff19169055565b60008051602061522983398151915254610100900460ff1661387d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b33613889600082612347565b610b407f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e382612347565b6138bd828261196f565b61158a5760008281527f790f2e6a69a6ef47d9d055fc71267d8ba088e4aaa30d0fa0755c430237a51b2f602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000611968836001600160a01b038416614039565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a727725460ff16156139c25760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610644565b6139d0868686868686614088565b60005b8351811015612f745760008482815181106139f0576139f0614f61565b60200260200101519050613a048189614280565b15613a515760405162461bcd60e51b815260206004820152601260248201527f426c6f636b6564207472616e736665726f7200000000000000000000000000006044820152606401610644565b6001600160a01b038716613b1c57600081815260008051602061526983398151915260209081526040808320600401547fb0edfe61c69510d41d9efb0ba580d054ecb12d79bdc12d01397ec172ba81d2d1909252909120541115613b1c5760405162461bcd60e51b8152602060048201526024808201527f4d617820537570706c7920666f72204e465420776f756c64206265206578636560448201527f65646564000000000000000000000000000000000000000000000000000000006064820152608401610644565b50613b2681614f9e565b90506139d3565b6001600160a01b0384163b15611f7e5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190613b719089908990889088908890600401615080565b602060405180830381600087803b158015613b8b57600080fd5b505af1925050508015613bbb575060408051601f3d908101601f19168201909252613bb8918101906150de565b60015b613c7157613bc76150fb565b806308c379a01415613c015750613bdc615117565b80613be75750613c03565b8060405162461bcd60e51b815260040161064491906146e7565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e204552433131353560448201527f526563656976657220696d706c656d656e7465720000000000000000000000006064820152608401610644565b6001600160e01b0319811663bc197c8160e01b14612f745760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b6064820152608401610644565b613cec82826142e7565b60008281527f0a626c3e9de8986f5b7a00bbc89d7b4ba768b895440372b07cda519d5c37a66760205260409020610746908261436d565b6001600160a01b0384163b15611f7e5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190613d6790899089908890889088906004016151a1565b602060405180830381600087803b158015613d8157600080fd5b505af1925050508015613db1575060408051601f3d908101601f19168201909252613dae918101906150de565b60015b613dbd57613bc76150fb565b6001600160e01b0319811663f23a6e6160e01b14612f745760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b6064820152608401610644565b6000826000018281548110613e4557613e45614f61565b9060005260206000200154905092915050565b60606000613e67836002614f42565b613e72906002614fb9565b67ffffffffffffffff811115613e8a57613e8a614582565b6040519080825280601f01601f191660200182016040528015613eb4576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110613eeb57613eeb614f61565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110613f3657613f36614f61565b60200101906001600160f81b031916908160001a9053506000613f5a846002614f42565b613f65906001614fb9565b90505b6001811115613fea577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110613fa657613fa6614f61565b1a60f81b828281518110613fbc57613fbc614f61565b60200101906001600160f81b031916908160001a90535060049490941c93613fe3816151e4565b9050613f68565b5083156119685760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610644565b60008181526001830160205260408120546140805750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561067f565b50600061067f565b6001600160a01b0385166141375760005b8351811015614135578281815181106140b4576140b4614f61565b60200260200101516140e37fb0edfe61c69510d41d9efb0ba580d054ecb12d79bdc12d01397ec172ba81d2d190565b60000160008684815181106140fa576140fa614f61565b60200260200101518152602001908152602001600020600082825461411f9190614fb9565b9091555061412e905081614f9e565b9050614099565b505b6001600160a01b038416611f7e5760005b8351811015612f7457600084828151811061416557614165614f61565b60200260200101519050600084838151811061418357614183614f61565b6020026020010151905060006141b67fb0edfe61c69510d41d9efb0ba580d054ecb12d79bdc12d01397ec172ba81d2d190565b6000848152602091909152604090205490508181101561423e5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f7460448201527f616c537570706c790000000000000000000000000000000000000000000000006064820152608401610644565b60009283527fb0edfe61c69510d41d9efb0ba580d054ecb12d79bdc12d01397ec172ba81d2d160205260409092209103905561427981614f9e565b9050614148565b6001600160a01b03811660009081527fb71a9c3279f86830e5148b4d1d4c95a6b423647cace2d1cf9ba68f19841f686e602052604081205460ff168061196857507fb71a9c3279f86830e5148b4d1d4c95a6b423647cace2d1cf9ba68f19841f686d611993565b6142f1828261196f565b1561158a5760008281527f790f2e6a69a6ef47d9d055fc71267d8ba088e4aaa30d0fa0755c430237a51b2f602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611968836001600160a01b038416600081815260018301602052604081205480156144665760006143a16001836151fb565b85549091506000906143b5906001906151fb565b905081811461441a5760008660000182815481106143d5576143d5614f61565b90600052602060002001549050808760000184815481106143f8576143f8614f61565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061442b5761442b615212565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061067f565b600091505061067f565b82805461447c90614ef1565b90600052602060002090601f01602090048101928261449e57600085556144e4565b82601f106144b757805160ff19168380011785556144e4565b828001600101855582156144e4579182015b828111156144e45782518255916020019190600101906144c9565b506144f09291506144f4565b5090565b5b808211156144f057600081556001016144f5565b80356001600160a01b038116811461452057600080fd5b919050565b6000806040838503121561453857600080fd5b61454183614509565b946020939093013593505050565b6001600160e01b031981168114610b4057600080fd5b60006020828403121561457757600080fd5b81356119688161454f565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156145be576145be614582565b6040525050565b600082601f8301126145d657600080fd5b813567ffffffffffffffff8111156145f0576145f0614582565b604051614607601f8301601f191660200182614598565b81815284602083860101111561461c57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561464b57600080fd5b813567ffffffffffffffff81111561466257600080fd5b61466e848285016145c5565b949350505050565b60006020828403121561468857600080fd5b5035919050565b60005b838110156146aa578181015183820152602001614692565b838111156113985750506000910152565b600081518084526146d381602086016020860161468f565b601f01601f19169290920160200192915050565b60208152600061196860208301846146bb565b600067ffffffffffffffff82111561471457614714614582565b5060051b60200190565b600082601f83011261472f57600080fd5b8135602061473c826146fa565b6040516147498282614598565b83815260059390931b850182019282810191508684111561476957600080fd5b8286015b848110156147a957803567ffffffffffffffff81111561478d5760008081fd5b61479b8986838b01016145c5565b84525091830191830161476d565b509695505050505050565b600082601f8301126147c557600080fd5b813560206147d2826146fa565b6040516147df8282614598565b83815260059390931b85018201928281019150868411156147ff57600080fd5b8286015b848110156147a95780358352918301918301614803565b60008060008060008060c0878903121561483357600080fd5b86359550602087013567ffffffffffffffff8082111561485257600080fd5b61485e8a838b0161471e565b9650604089013591508082111561487457600080fd5b6148808a838b0161471e565b9550606089013591508082111561489657600080fd5b6148a28a838b016147b4565b945060808901359150808211156148b857600080fd5b6148c48a838b016147b4565b935060a08901359150808211156148da57600080fd5b506148e789828a0161471e565b9150509295509295509295565b6000806000806080858703121561490a57600080fd5b61491385614509565b9350602085013567ffffffffffffffff8082111561493057600080fd5b61493c888389016147b4565b9450604087013591508082111561495257600080fd5b61495e888389016147b4565b9350606087013591508082111561497457600080fd5b50614981878288016145c5565b91505092959194509250565b600080600080600060a086880312156149a557600080fd5b6149ae86614509565b94506149bc60208701614509565b9350604086013567ffffffffffffffff808211156149d957600080fd5b6149e589838a016147b4565b945060608801359150808211156149fb57600080fd5b614a0789838a016147b4565b93506080880135915080821115614a1d57600080fd5b50614a2a888289016145c5565b9150509295509295909350565b60008060408385031215614a4a57600080fd5b82359150614a5a60208401614509565b90509250929050565b60008060408385031215614a7657600080fd5b823567ffffffffffffffff80821115614a8e57600080fd5b818501915085601f830112614aa257600080fd5b81356020614aaf826146fa565b604051614abc8282614598565b83815260059390931b8501820192828101915089841115614adc57600080fd5b948201945b83861015614b0157614af286614509565b82529482019490820190614ae1565b96505086013592505080821115614b1757600080fd5b50614b24858286016147b4565b9150509250929050565b600081518084526020808501945080840160005b83811015614b5e57815187529582019590820190600101614b42565b509495945050505050565b6020815260006119686020830184614b2e565b600080600060608486031215614b9157600080fd5b614b9a84614509565b9250602084013567ffffffffffffffff80821115614bb757600080fd5b614bc3878388016147b4565b93506040860135915080821115614bd957600080fd5b50614be6868287016147b4565b9150509250925092565b60008060008060808587031215614c0657600080fd5b614c0f85614509565b93506020850135925060408501359150606085013567ffffffffffffffff811115614c3957600080fd5b614981878288016145c5565b60008060408385031215614c5857600080fd5b82359150602083013567ffffffffffffffff811115614c7657600080fd5b614b24858286016145c5565b60008060408385031215614c9557600080fd5b50508035926020909101359150565b60008060408385031215614cb757600080fd5b614cc083614509565b915060208301358015158114614cd557600080fd5b809150509250929050565b6020815260008251610100806020850152614cff6101208501836146bb565b91506020850151601f1980868503016040870152614d1d84836146bb565b9350604087015191508086850301606087015250614d3b83826146bb565b92505060608501516080850152608085015160a085015260a0850151614d6c60c08601826001600160a01b03169052565b5060c08501516001600160801b03811660e08601525060e0850151801515858301525090949350505050565b60008060408385031215614dab57600080fd5b614db483614509565b9150614a5a60208401614509565b600080600080600060a08688031215614dda57600080fd5b614de386614509565b9450614df160208701614509565b93506040860135925060608601359150608086013567ffffffffffffffff811115614e1b57600080fd5b614a2a888289016145c5565b600080600060608486031215614e3c57600080fd5b614e4584614509565b95602085013595506040909401359392505050565b60008060008060008060c08789031215614e7357600080fd5b86359550602087013567ffffffffffffffff80821115614e9257600080fd5b614e9e8a838b016145c5565b96506040890135915080821115614eb457600080fd5b614ec08a838b016145c5565b9550606089013594506080890135935060a0890135915080821115614ee457600080fd5b506148e789828a016145c5565b600181811c90821680614f0557607f821691505b60208210811415614f2657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615614f5c57614f5c614f2c565b500290565b634e487b7160e01b600052603260045260246000fd5b60006001600160801b0380831681811415614f9457614f94614f2c565b6001019392505050565b6000600019821415614fb257614fb2614f2c565b5060010190565b60008219821115614fcc57614fcc614f2c565b500190565b604081526000614fe46040830185614b2e565b8281036020840152614ff68185614b2e565b95945050505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161503781601785016020880161468f565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161507481602884016020880161468f565b01602801949350505050565b60006001600160a01b03808816835280871660208401525060a060408301526150ac60a0830186614b2e565b82810360608401526150be8186614b2e565b905082810360808401526150d281856146bb565b98975050505050505050565b6000602082840312156150f057600080fd5b81516119688161454f565b600060033d11156151145760046000803e5060005160e01c5b90565b600060443d10156151255790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561515557505050505090565b828501915081518181111561516d5750505050505090565b843d87010160208285010111156151875750505050505090565b61519660208286010187614598565b509095945050505050565b60006001600160a01b03808816835280871660208401525084604083015283606083015260a060808301526151d960a08301846146bb565b979650505050505050565b6000816151f3576151f3614f2c565b506000190190565b60008282101561520d5761520d614f2c565b500390565b634e487b7160e01b600052603160045260246000fdfe7a9c09dffb400f1c80d0455dcb8e56808aa28f0a58ad6480b85e9ec3328b6d9b63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0e26574be2b6aedd32a9251a4406b3af0911e6879459ace91df15aa9c86f84291aa2646970667358221220d54add9f670c64614e5aa7f4e1e5cc02cca4d9eb5ef69ef712b4436ff8d1f57f64736f6c63430008090033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061020a5760003560e01c8063731133e91161012a578063bd85b039116100bd578063e985e9c51161008c578063f5298aca11610071578063f5298aca1461057d578063f667ab7c14610590578063f72c0d8b146105a357600080fd5b8063e985e9c51461050f578063f242432a1461056a57600080fd5b8063bd85b0391461048a578063ca15c873146104c9578063d188929f146104dc578063d547741f146104fc57600080fd5b80639010d07c116100f95780639010d07c1461043157806391d148541461045c578063a217fddf1461046f578063a22cb4651461047757600080fd5b8063731133e9146103dc5780638456cb59146103ef578063862440e2146103f75780638aeda25a1461040a57600080fd5b80632eb2c2d6116101a25780634e1273f4116101715780634e1273f41461033e5780634f558e791461035e5780635c975abb1461039f5780636b20c454146103c957600080fd5b80632eb2c2d6146102fd5780632f2ff15d1461031057806336568abe146103235780633f4ba83a1461033657600080fd5b8063101521f8116101de578063101521f81461028d5780631a9d2360146102955780631f7fdffa146102a8578063248a9ca3146102bb57600080fd5b8062fdd58e1461020f57806301ffc9a71461023557806302fe5305146102585780630e89341c1461026d575b600080fd5b61022261021d366004614525565b6105ca565b6040519081526020015b60405180910390f35b610248610243366004614565565b610685565b604051901515815260200161022c565b61026b610266366004614639565b6106e9565b005b61028061027b366004614676565b61074b565b60405161022c91906146e7565b61026b610880565b61026b6102a336600461481a565b610b43565b61026b6102b63660046148f4565b6112fa565b6102226102c9366004614676565b60009081527f790f2e6a69a6ef47d9d055fc71267d8ba088e4aaa30d0fa0755c430237a51b2f602052604090206001015490565b61026b61030b36600461498d565b61139e565b61026b61031e366004614a37565b61147d565b61026b610331366004614a37565b6114c1565b61026b61158e565b61035161034c366004614a63565b6115a1565b60405161022c9190614b69565b61024861036c366004614676565b60009081527fb0edfe61c69510d41d9efb0ba580d054ecb12d79bdc12d01397ec172ba81d2d16020526040902054151590565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a727725460ff16610248565b61026b6103d7366004614b7c565b6116df565b61026b6103ea366004614bf0565b6117a1565b61026b6117d4565b61026b610405366004614c45565b6117e7565b6102227f828634d95e775031b9ff576b159a8509d3053581a8c9c4d7d86899e0afcd882f81565b61044461043f366004614c82565b611931565b6040516001600160a01b03909116815260200161022c565b61024861046a366004614a37565b61196f565b610222600081565b61026b610485366004614ca4565b6119bd565b610222610498366004614676565b60009081527fb0edfe61c69510d41d9efb0ba580d054ecb12d79bdc12d01397ec172ba81d2d1602052604090205490565b6102226104d7366004614676565b6119c8565b6104ef6104ea366004614676565b6119fe565b60405161022c9190614ce0565b61026b61050a366004614a37565b611cfe565b61024861051d366004614d98565b6001600160a01b0391821660009081527f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0f6020908152604080832093909416825291909152205460ff1690565b61026b610578366004614dc2565b611dc7565b61026b61058b366004614e27565b611e8b565b61026b61059e366004614e5a565b611f4d565b6102227f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b60006001600160a01b03831661064d5760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201527f65726f206164647265737300000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805160206152498339815191526000838152602091825260408082206001600160a01b0387168352909252205490505b92915050565b600061069082611f86565b8061069f575061069f82612021565b8061067f5750506001600160e01b03191660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f602052604090205460ff16151560011490565b60006106f48161205f565b6106fd82612069565b6000805260008051602061526983398151915260209081528251610746917f5e0e766c71480bd0e1e731fe7c705cfc3e8d9729912b7673e508155b19ec38e79190850190614470565b505050565b600081815260008051602061526983398151915260205260409020600681015460609190600160801b900460ff166107eb5760405162461bcd60e51b815260206004820152603160248201527f4e4654206d75737420616c7265616479206265206372656174656420746f206760448201527f6574207468652055524920666f722069740000000000000000000000000000006064820152608401610644565b8060020180546107fa90614ef1565b80601f016020809104026020016040519081016040528092919081815260200182805461082690614ef1565b80156108735780601f1061084857610100808354040283529160200191610873565b820191906000526020600020905b81548152906001019060200180831161085657829003601f168201915b5050505050915050919050565b60008051602061522983398151915254610100900460ff166108b5576000805160206152298339815191525460ff16156108b9565b303b155b61092b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610644565b60008051602061522983398151915254610100900460ff1615801561096757600080516020615229833981519152805461ffff19166101011790555b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c1320546001600160a01b031633146109e05760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920537570657241646d696e20616c6c6f7765640000000000000000006044820152606401610644565b6109f86040518060200160405280600081525061209b565b610a0061212c565b610a086121b6565b610a106121b6565b610a18612246565b33610a437f828634d95e775031b9ff576b159a8509d3053581a8c9c4d7d86899e0afcd882f82612347565b610b0960006040518060400160405280600d81526020017f47656e69757320546f6b656e73000000000000000000000000000000000000008152506040518060400160405280600481526020017f474e5553000000000000000000000000000000000000000000000000000000008152506001670de0b6b3a76400006302faf080610ace9190614f42565b6040518060400160405280601881526020017f68747470733a2f2f6e66742e676e75732e61692f7b69647d0000000000000000815250611f4d565b50600080516020615229833981519152805460ff191690558015610b4057600080516020615229833981519152805461ff00191690555b50565b60008681526000805160206152698339815191526020526040808220815161010081019092528054339392919082908290610b7d90614ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba990614ef1565b8015610bf65780601f10610bcb57610100808354040283529160200191610bf6565b820191906000526020600020905b815481529060010190602001808311610bd957829003601f168201915b50505050508152602001600182018054610c0f90614ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3b90614ef1565b8015610c885780601f10610c5d57610100808354040283529160200191610c88565b820191906000526020600020905b815481529060010190602001808311610c6b57829003601f168201915b50505050508152602001600282018054610ca190614ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054610ccd90614ef1565b8015610d1a5780601f10610cef57610100808354040283529160200191610d1a565b820191906000526020600020905b815481529060010190602001808311610cfd57829003601f168201915b5050509183525050600382015460208201526004820154604082015260058201546001600160a01b031660608201526006909101546001600160801b0381166080830152600160801b900460ff16151560a090910152905087610e2957610d8260008361196f565b80610db25750610db27f828634d95e775031b9ff576b159a8509d3053581a8c9c4d7d86899e0afcd882f8361196f565b610e245760405162461bcd60e51b815260206004820152603460248201527f4f6e6c792043726561746f7273206f722041646d696e732063616e206372656160448201527f7465204e4654206368696c64206f6620474e55530000000000000000000000006064820152608401610644565b610f2b565b8060e00151610ea05760405162461bcd60e51b815260206004820152602b60248201527f506172656e74204e46542053686f756c642068617665206265656e206372656160448201527f74656420616c72656164790000000000000000000000000000000000000000006064820152608401610644565b8060a001516001600160a01b0316826001600160a01b031614610f2b5760405162461bcd60e51b815260206004820152602960248201527f4f6e6c7920706172656e742063726561746f722063616e20637265617465206360448201527f68696c64204e46547300000000000000000000000000000000000000000000006064820152608401610644565b8651865181148015610f3d5750855181145b8015610f495750845181145b8015610f555750835181145b610fc75760405162461bcd60e51b815260206004820152602e60248201527f4e4654206372656174696f6e206172726179206c656e677468732c2073686f7560448201527f6c64206265207468652073616d650000000000000000000000000000000000006064820152608401610644565b60005b88518110156112955789611069576000878281518110610fec57610fec614f61565b602002602001015111611069576040805162461bcd60e51b81526020600482015260248101919091527f45786368616e676520526174652068617320746f206265203e203020666f722060448201527f6372656174696e672061206e6577204368696c64204e4654206f6620474e55536064820152608401610644565b60c08301805160009161107b82614f77565b6001600160801b03166001600160801b03168152506001600160801b031660808c901b1790506040518061010001604052808b84815181106110bf576110bf614f61565b602002602001015181526020018a84815181106110de576110de614f61565b602002602001015181526020018784815181106110fd576110fd614f61565b6020026020010151815260200189848151811061111c5761111c614f61565b6020026020010151815260200188848151811061113b5761113b614f61565b60200260200101518152602001866001600160a01b0316815260200160006001600160801b031681526020016001151581525061118360008051602061526983398151915290565b60008381526020918252604090208251805191926111a692849290910190614470565b5060208281015180516111bf9260018501920190614470565b50604082015180516111db916002840191602090910190614470565b50606082015160038201556080820151600482015560a08201516005820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0390921691909117905560c08201516006909101805460e0909301516001600160801b039092167fffffffffffffffffffffffffffffff000000000000000000000000000000000090931692909217600160801b91151591909102179055508061128d81614f9e565b915050610fca565b5060c082015160008051602061526983398151915260009a8b52602052604090992060060180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001600160801b03909a16999099179098555050505050505050565b60005b835181101561138b57600084828151811061131a5761131a614f61565b60200260200101519050600061133b60008051602061526983398151915290565b6000016000838152602001908152602001600020905061137687838388878151811061136957611369614f61565b6020026020010151612388565b5050808061138390614f9e565b9150506112fd565b50611398848484846125f6565b50505050565b6001600160a01b0385163314806113f757506001600160a01b03851660009081527f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0f6020908152604080832033845290915290205460ff165b6114695760405162461bcd60e51b815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f742060448201527f6f776e6572206e6f7220617070726f76656400000000000000000000000000006064820152608401610644565b61147685858585856127e7565b5050505050565b60008281527f790f2e6a69a6ef47d9d055fc71267d8ba088e4aaa30d0fa0755c430237a51b2f60205260409020600101546114b78161205f565b6107468383612347565b6114cc60008261196f565b801561150d57506001600160a01b0381167fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c600401546001600160a01b0316145b156115805760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f742072656e6f756e636520737570657241646d696e2066726f6d2060448201527f41646d696e20526f6c65000000000000000000000000000000000000000000006064820152608401610644565b61158a8282612a72565b5050565b60006115998161205f565b610b40612afa565b6060815183511461161a5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d6174636800000000000000000000000000000000000000000000006064820152608401610644565b6000835167ffffffffffffffff81111561163657611636614582565b60405190808252806020026020018201604052801561165f578160200160208202803683370190505b50905060005b84518110156116d7576116aa85828151811061168357611683614f61565b602002602001015185838151811061169d5761169d614f61565b60200260200101516105ca565b8282815181106116bc576116bc614f61565b60209081029190910101526116d081614f9e565b9050611665565b509392505050565b6001600160a01b03831633148061173857506001600160a01b03831660009081527f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0f6020908152604080832033845290915290205460ff165b6117965760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201526808185c1c1c9bdd995960ba1b6064820152608401610644565b610746838383612bd4565b6000838152600080516020615269833981519152602052604090206117c885858386612388565b61147685858585612e4b565b60006117df8161205f565b610b40612f7d565b6000828152600080516020615269833981519152602052604090206006810154339190600160801b900460ff166118865760405162461bcd60e51b815260206004820152602d60248201527f4e4654206d7573742068617665206265656e206372656174656420746f20736560448201527f74207468652055524920666f72000000000000000000000000000000000000006064820152608401610644565b60058101546001600160a01b03838116911614806118aa57506118aa60008361196f565b61191c5760405162461bcd60e51b815260206004820152602860248201527f4f6e6c792041646d696e206f722043726561746f722063616e2073657420555260448201527f49206f66204e46540000000000000000000000000000000000000000000000006064820152608401610644565b82516114769060028301906020860190614470565b60008281527f0a626c3e9de8986f5b7a00bbc89d7b4ba768b895440372b07cda519d5c37a667602052604081206119689083613042565b9392505050565b60007f790f2e6a69a6ef47d9d055fc71267d8ba088e4aaa30d0fa0755c430237a51b2f5b6000938452602090815260408085206001600160a01b039490941685529290525090205460ff1690565b61158a33838361304e565b60008181527f0a626c3e9de8986f5b7a00bbc89d7b4ba768b895440372b07cda519d5c37a6676020526040812061067f90613163565b611a5a604051806101000160405280606081526020016060815260200160608152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160801b031681526020016000151581525090565b60008281526000805160206152698339815191526020526040902060060154600160801b900460ff16611acf5760405162461bcd60e51b815260206004820152601c60248201527f4e6f20546f6b656e206372656174656420666f722074686973204944000000006044820152606401610644565b600082815260008051602061526983398151915260205260409081902081516101008101909252805482908290611b0590614ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054611b3190614ef1565b8015611b7e5780601f10611b5357610100808354040283529160200191611b7e565b820191906000526020600020905b815481529060010190602001808311611b6157829003601f168201915b50505050508152602001600182018054611b9790614ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054611bc390614ef1565b8015611c105780601f10611be557610100808354040283529160200191611c10565b820191906000526020600020905b815481529060010190602001808311611bf357829003601f168201915b50505050508152602001600282018054611c2990614ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054611c5590614ef1565b8015611ca25780601f10611c7757610100808354040283529160200191611ca2565b820191906000526020600020905b815481529060010190602001808311611c8557829003601f168201915b5050509183525050600382015460208201526004820154604082015260058201546001600160a01b031660608201526006909101546001600160801b0381166080830152600160801b900460ff16151560a09091015292915050565b611d0960008261196f565b8015611d4a57506001600160a01b0381167fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c600401546001600160a01b0316145b15611dbd5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f74207265766f6b6520737570657241646d696e2066726f6d20416460448201527f6d696e20526f6c650000000000000000000000000000000000000000000000006064820152608401610644565b61158a828261316d565b6001600160a01b038516331480611e2057506001600160a01b03851660009081527f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0f6020908152604080832033845290915290205460ff165b611e7e5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201526808185c1c1c9bdd995960ba1b6064820152608401610644565b61147685858585856131b1565b6001600160a01b038316331480611ee457506001600160a01b03831660009081527f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0f6020908152604080832033845290915290205460ff165b611f425760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201526808185c1c1c9bdd995960ba1b6064820152608401610644565b610746838383613388565b611f7e86611f5a87613536565b611f6387613536565b611f6c8761358d565b611f758761358d565b6102a387613536565b505050505050565b60006001600160e01b031982167fd9b67a26000000000000000000000000000000000000000000000000000000001480611fe957506001600160e01b031982167f0e89341c00000000000000000000000000000000000000000000000000000000145b8061067f57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b031983161461067f565b60006001600160e01b031982167f5a05180f00000000000000000000000000000000000000000000000000000000148061067f575061067f826135c7565b610b408133613605565b805161158a907f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf10906020840190614470565b60008051602061522983398151915254610100900460ff166121135760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b61211b613669565b612123613669565b610b40816136e1565b60008051602061522983398151915254610100900460ff166121a45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b6121ac613669565b6121b4613762565b565b60008051602061522983398151915254610100900460ff1661222e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b612236613669565b61223e613669565b6121b4613669565b60008051602061522983398151915254610100900460ff166122be5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c1320546001600160a01b031633146123375760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920537570657241646d696e20616c6c6f7765640000000000000000006044820152606401610644565b61233f613669565b6121b4613805565b61235182826138b3565b60008281527f0a626c3e9de8986f5b7a00bbc89d7b4ba768b895440372b07cda519d5c37a66760205260409020610746908261393b565b33836123fc5760405162461bcd60e51b815260206004820152603c60248201527f53686f756c646e2774206d696e7420474e555320746f6b656e7320746f6b656e60448201527f732c206f6e6c79206465706f73697420616e64207769746864726177000000006064820152608401610644565b6001600160a01b03851661245c5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610644565b6006830154600160801b900460ff166124dd5760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f74206d696e74204e4654207468617420646f65736e27742065786960448201527f73740000000000000000000000000000000000000000000000000000000000006064820152608401610644565b60058301546001600160a01b0382811691161480612501575061250160008261196f565b6125735760405162461bcd60e51b815260206004820152602260248201527f43726561746f72206f722041646d696e2063616e206f6e6c79206d696e74204e60448201527f46540000000000000000000000000000000000000000000000000000000000006064820152608401610644565b608084901c61147657600083600301548361258e9190614f42565b90508061259c8360006105ca565b10156125ea5760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420656e6f75676820474e55535f544f4b454e20746f206275726e0000006044820152606401610644565b611f7e82600083613388565b6001600160a01b0384166126565760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610644565b81518351146126b85760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610644565b336126c881600087878787613950565b60005b845181101561277a578381815181106126e6576126e6614f61565b602002602001015161270360008051602061524983398151915290565b600001600087848151811061271a5761271a614f61565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546127629190614fb9565b9091555081905061277281614f9e565b9150506126cb565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516127cb929190614fd1565b60405180910390a46127e281600087878787613b2d565b611476565b81518351146128495760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610644565b6001600160a01b0384166128ad5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b6064820152608401610644565b336128bc818787878787613950565b60005b8451811015612a075760008582815181106128dc576128dc614f61565b6020026020010151905060008583815181106128fa576128fa614f61565b60200260200101519050600061291b60008051602061524983398151915290565b6000848152602091825260408082206001600160a01b038e16835290925220549050818110156129a05760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b6064820152608401610644565b6000838152600080516020615249833981519152602090815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906129ec908490614fb9565b9250508190555050505080612a0090614f9e565b90506128bf565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051612a57929190614fd1565b60405180910390a4612a6d818787878787613b2d565b611f7e565b6001600160a01b0381163314612af05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610644565b61158a8282613ce2565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a727725460ff16612b6b5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610644565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a72772805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038316612c365760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610644565b8051825114612c985760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610644565b6000339050612cbb81856000868660405180602001604052806000815250613950565b60005b8351811015612dde576000848281518110612cdb57612cdb614f61565b602002602001015190506000848381518110612cf957612cf9614f61565b602002602001015190506000612d1a60008051602061524983398151915290565b6000848152602091825260408082206001600160a01b038c1683529092522054905081811015612d985760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610644565b6000928352600080516020615249833981519152602090815260408085206001600160a01b038b1686529091529092209103905580612dd681614f9e565b915050612cbe565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612e2f929190614fd1565b60405180910390a4604080516020810190915260009052611398565b6001600160a01b038416612eab5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610644565b336000612eb78561358d565b90506000612ec48561358d565b9050612ed583600089858589613950565b6000868152600080516020615249833981519152602090815260408083206001600160a01b038b16845290915281208054879290612f14908490614fb9565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612f7483600089898989613d23565b50505050505050565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a727725460ff1615612fef5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610644565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a72772805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612bb7565b60006119688383613e2e565b816001600160a01b0316836001600160a01b031614156130d65760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c6600000000000000000000000000000000000000000000006064820152608401610644565b6001600160a01b0383811660008181527f63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0f6020908152604080832094871680845294825291829020805460ff1916861515908117909155825190815291517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319281900390910190a3505050565b600061067f825490565b60008281527f790f2e6a69a6ef47d9d055fc71267d8ba088e4aaa30d0fa0755c430237a51b2f60205260409020600101546131a78161205f565b6107468383613ce2565b6001600160a01b0384166132155760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b6064820152608401610644565b3360006132218561358d565b9050600061322e8561358d565b905061323e838989858589613950565b6000868152600080516020615249833981519152602090815260408083206001600160a01b038c168452909152902054858110156132d15760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b6064820152608401610644565b6000878152600080516020615249833981519152602090815260408083206001600160a01b038d8116855292528083208985039055908a1682528120805488929061331d908490614fb9565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461337d848a8a8a8a8a613d23565b505050505050505050565b6001600160a01b0383166133ea5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610644565b3360006133f68461358d565b905060006134038461358d565b905061342383876000858560405180602001604052806000815250613950565b6000858152600080516020615249833981519152602090815260408083206001600160a01b038a168452909152902054848110156134af5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610644565b6000868152600080516020615249833981519152602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a905282519193908916927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6292918290030190a4604080516020810190915260009052612f74565b60408051600180825281830190925260609160009190816020015b6060815260200190600190039081613551579050509050828160008151811061357c5761357c614f61565b602090810291909101015292915050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061357c5761357c614f61565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061067f575061067f82611f86565b61360f828261196f565b61158a57613627816001600160a01b03166014613e58565b613632836020613e58565b604051602001613643929190614fff565b60408051601f198184030181529082905262461bcd60e51b8252610644916004016146e7565b60008051602061522983398151915254610100900460ff166121b45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b60008051602061522983398151915254610100900460ff166137595760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b610b4081612069565b60008051602061522983398151915254610100900460ff166137da5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a72772805460ff19169055565b60008051602061522983398151915254610100900460ff1661387d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610644565b33613889600082612347565b610b407f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e382612347565b6138bd828261196f565b61158a5760008281527f790f2e6a69a6ef47d9d055fc71267d8ba088e4aaa30d0fa0755c430237a51b2f602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000611968836001600160a01b038416614039565b7fe015734889d3a8ab0ca3c280ee72165114ca59934360f1e946ade07ca4a727725460ff16156139c25760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610644565b6139d0868686868686614088565b60005b8351811015612f745760008482815181106139f0576139f0614f61565b60200260200101519050613a048189614280565b15613a515760405162461bcd60e51b815260206004820152601260248201527f426c6f636b6564207472616e736665726f7200000000000000000000000000006044820152606401610644565b6001600160a01b038716613b1c57600081815260008051602061526983398151915260209081526040808320600401547fb0edfe61c69510d41d9efb0ba580d054ecb12d79bdc12d01397ec172ba81d2d1909252909120541115613b1c5760405162461bcd60e51b8152602060048201526024808201527f4d617820537570706c7920666f72204e465420776f756c64206265206578636560448201527f65646564000000000000000000000000000000000000000000000000000000006064820152608401610644565b50613b2681614f9e565b90506139d3565b6001600160a01b0384163b15611f7e5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190613b719089908990889088908890600401615080565b602060405180830381600087803b158015613b8b57600080fd5b505af1925050508015613bbb575060408051601f3d908101601f19168201909252613bb8918101906150de565b60015b613c7157613bc76150fb565b806308c379a01415613c015750613bdc615117565b80613be75750613c03565b8060405162461bcd60e51b815260040161064491906146e7565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e204552433131353560448201527f526563656976657220696d706c656d656e7465720000000000000000000000006064820152608401610644565b6001600160e01b0319811663bc197c8160e01b14612f745760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b6064820152608401610644565b613cec82826142e7565b60008281527f0a626c3e9de8986f5b7a00bbc89d7b4ba768b895440372b07cda519d5c37a66760205260409020610746908261436d565b6001600160a01b0384163b15611f7e5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190613d6790899089908890889088906004016151a1565b602060405180830381600087803b158015613d8157600080fd5b505af1925050508015613db1575060408051601f3d908101601f19168201909252613dae918101906150de565b60015b613dbd57613bc76150fb565b6001600160e01b0319811663f23a6e6160e01b14612f745760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b6064820152608401610644565b6000826000018281548110613e4557613e45614f61565b9060005260206000200154905092915050565b60606000613e67836002614f42565b613e72906002614fb9565b67ffffffffffffffff811115613e8a57613e8a614582565b6040519080825280601f01601f191660200182016040528015613eb4576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110613eeb57613eeb614f61565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110613f3657613f36614f61565b60200101906001600160f81b031916908160001a9053506000613f5a846002614f42565b613f65906001614fb9565b90505b6001811115613fea577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110613fa657613fa6614f61565b1a60f81b828281518110613fbc57613fbc614f61565b60200101906001600160f81b031916908160001a90535060049490941c93613fe3816151e4565b9050613f68565b5083156119685760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610644565b60008181526001830160205260408120546140805750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561067f565b50600061067f565b6001600160a01b0385166141375760005b8351811015614135578281815181106140b4576140b4614f61565b60200260200101516140e37fb0edfe61c69510d41d9efb0ba580d054ecb12d79bdc12d01397ec172ba81d2d190565b60000160008684815181106140fa576140fa614f61565b60200260200101518152602001908152602001600020600082825461411f9190614fb9565b9091555061412e905081614f9e565b9050614099565b505b6001600160a01b038416611f7e5760005b8351811015612f7457600084828151811061416557614165614f61565b60200260200101519050600084838151811061418357614183614f61565b6020026020010151905060006141b67fb0edfe61c69510d41d9efb0ba580d054ecb12d79bdc12d01397ec172ba81d2d190565b6000848152602091909152604090205490508181101561423e5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f7460448201527f616c537570706c790000000000000000000000000000000000000000000000006064820152608401610644565b60009283527fb0edfe61c69510d41d9efb0ba580d054ecb12d79bdc12d01397ec172ba81d2d160205260409092209103905561427981614f9e565b9050614148565b6001600160a01b03811660009081527fb71a9c3279f86830e5148b4d1d4c95a6b423647cace2d1cf9ba68f19841f686e602052604081205460ff168061196857507fb71a9c3279f86830e5148b4d1d4c95a6b423647cace2d1cf9ba68f19841f686d611993565b6142f1828261196f565b1561158a5760008281527f790f2e6a69a6ef47d9d055fc71267d8ba088e4aaa30d0fa0755c430237a51b2f602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611968836001600160a01b038416600081815260018301602052604081205480156144665760006143a16001836151fb565b85549091506000906143b5906001906151fb565b905081811461441a5760008660000182815481106143d5576143d5614f61565b90600052602060002001549050808760000184815481106143f8576143f8614f61565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061442b5761442b615212565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061067f565b600091505061067f565b82805461447c90614ef1565b90600052602060002090601f01602090048101928261449e57600085556144e4565b82601f106144b757805160ff19168380011785556144e4565b828001600101855582156144e4579182015b828111156144e45782518255916020019190600101906144c9565b506144f09291506144f4565b5090565b5b808211156144f057600081556001016144f5565b80356001600160a01b038116811461452057600080fd5b919050565b6000806040838503121561453857600080fd5b61454183614509565b946020939093013593505050565b6001600160e01b031981168114610b4057600080fd5b60006020828403121561457757600080fd5b81356119688161454f565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156145be576145be614582565b6040525050565b600082601f8301126145d657600080fd5b813567ffffffffffffffff8111156145f0576145f0614582565b604051614607601f8301601f191660200182614598565b81815284602083860101111561461c57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561464b57600080fd5b813567ffffffffffffffff81111561466257600080fd5b61466e848285016145c5565b949350505050565b60006020828403121561468857600080fd5b5035919050565b60005b838110156146aa578181015183820152602001614692565b838111156113985750506000910152565b600081518084526146d381602086016020860161468f565b601f01601f19169290920160200192915050565b60208152600061196860208301846146bb565b600067ffffffffffffffff82111561471457614714614582565b5060051b60200190565b600082601f83011261472f57600080fd5b8135602061473c826146fa565b6040516147498282614598565b83815260059390931b850182019282810191508684111561476957600080fd5b8286015b848110156147a957803567ffffffffffffffff81111561478d5760008081fd5b61479b8986838b01016145c5565b84525091830191830161476d565b509695505050505050565b600082601f8301126147c557600080fd5b813560206147d2826146fa565b6040516147df8282614598565b83815260059390931b85018201928281019150868411156147ff57600080fd5b8286015b848110156147a95780358352918301918301614803565b60008060008060008060c0878903121561483357600080fd5b86359550602087013567ffffffffffffffff8082111561485257600080fd5b61485e8a838b0161471e565b9650604089013591508082111561487457600080fd5b6148808a838b0161471e565b9550606089013591508082111561489657600080fd5b6148a28a838b016147b4565b945060808901359150808211156148b857600080fd5b6148c48a838b016147b4565b935060a08901359150808211156148da57600080fd5b506148e789828a0161471e565b9150509295509295509295565b6000806000806080858703121561490a57600080fd5b61491385614509565b9350602085013567ffffffffffffffff8082111561493057600080fd5b61493c888389016147b4565b9450604087013591508082111561495257600080fd5b61495e888389016147b4565b9350606087013591508082111561497457600080fd5b50614981878288016145c5565b91505092959194509250565b600080600080600060a086880312156149a557600080fd5b6149ae86614509565b94506149bc60208701614509565b9350604086013567ffffffffffffffff808211156149d957600080fd5b6149e589838a016147b4565b945060608801359150808211156149fb57600080fd5b614a0789838a016147b4565b93506080880135915080821115614a1d57600080fd5b50614a2a888289016145c5565b9150509295509295909350565b60008060408385031215614a4a57600080fd5b82359150614a5a60208401614509565b90509250929050565b60008060408385031215614a7657600080fd5b823567ffffffffffffffff80821115614a8e57600080fd5b818501915085601f830112614aa257600080fd5b81356020614aaf826146fa565b604051614abc8282614598565b83815260059390931b8501820192828101915089841115614adc57600080fd5b948201945b83861015614b0157614af286614509565b82529482019490820190614ae1565b96505086013592505080821115614b1757600080fd5b50614b24858286016147b4565b9150509250929050565b600081518084526020808501945080840160005b83811015614b5e57815187529582019590820190600101614b42565b509495945050505050565b6020815260006119686020830184614b2e565b600080600060608486031215614b9157600080fd5b614b9a84614509565b9250602084013567ffffffffffffffff80821115614bb757600080fd5b614bc3878388016147b4565b93506040860135915080821115614bd957600080fd5b50614be6868287016147b4565b9150509250925092565b60008060008060808587031215614c0657600080fd5b614c0f85614509565b93506020850135925060408501359150606085013567ffffffffffffffff811115614c3957600080fd5b614981878288016145c5565b60008060408385031215614c5857600080fd5b82359150602083013567ffffffffffffffff811115614c7657600080fd5b614b24858286016145c5565b60008060408385031215614c9557600080fd5b50508035926020909101359150565b60008060408385031215614cb757600080fd5b614cc083614509565b915060208301358015158114614cd557600080fd5b809150509250929050565b6020815260008251610100806020850152614cff6101208501836146bb565b91506020850151601f1980868503016040870152614d1d84836146bb565b9350604087015191508086850301606087015250614d3b83826146bb565b92505060608501516080850152608085015160a085015260a0850151614d6c60c08601826001600160a01b03169052565b5060c08501516001600160801b03811660e08601525060e0850151801515858301525090949350505050565b60008060408385031215614dab57600080fd5b614db483614509565b9150614a5a60208401614509565b600080600080600060a08688031215614dda57600080fd5b614de386614509565b9450614df160208701614509565b93506040860135925060608601359150608086013567ffffffffffffffff811115614e1b57600080fd5b614a2a888289016145c5565b600080600060608486031215614e3c57600080fd5b614e4584614509565b95602085013595506040909401359392505050565b60008060008060008060c08789031215614e7357600080fd5b86359550602087013567ffffffffffffffff80821115614e9257600080fd5b614e9e8a838b016145c5565b96506040890135915080821115614eb457600080fd5b614ec08a838b016145c5565b9550606089013594506080890135935060a0890135915080821115614ee457600080fd5b506148e789828a016145c5565b600181811c90821680614f0557607f821691505b60208210811415614f2657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615614f5c57614f5c614f2c565b500290565b634e487b7160e01b600052603260045260246000fd5b60006001600160801b0380831681811415614f9457614f94614f2c565b6001019392505050565b6000600019821415614fb257614fb2614f2c565b5060010190565b60008219821115614fcc57614fcc614f2c565b500190565b604081526000614fe46040830185614b2e565b8281036020840152614ff68185614b2e565b95945050505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161503781601785016020880161468f565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161507481602884016020880161468f565b01602801949350505050565b60006001600160a01b03808816835280871660208401525060a060408301526150ac60a0830186614b2e565b82810360608401526150be8186614b2e565b905082810360808401526150d281856146bb565b98975050505050505050565b6000602082840312156150f057600080fd5b81516119688161454f565b600060033d11156151145760046000803e5060005160e01c5b90565b600060443d10156151255790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561515557505050505090565b828501915081518181111561516d5750505050505090565b843d87010160208285010111156151875750505050505090565b61519660208286010187614598565b509095945050505050565b60006001600160a01b03808816835280871660208401525084604083015283606083015260a060808301526151d960a08301846146bb565b979650505050505050565b6000816151f3576151f3614f2c565b506000190190565b60008282101561520d5761520d614f2c565b500390565b634e487b7160e01b600052603160045260246000fdfe7a9c09dffb400f1c80d0455dcb8e56808aa28f0a58ad6480b85e9ec3328b6d9b63f5ee69939926675f9d4c5ae42ca7e354fed543b326aa3b0fe26f83de89bf0e26574be2b6aedd32a9251a4406b3af0911e6879459ace91df15aa9c86f84291aa2646970667358221220d54add9f670c64614e5aa7f4e1e5cc02cca4d9eb5ef69ef712b4436ff8d1f57f64736f6c63430008090033
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.

