0 txs
385 calls
constructor
No constructor.
functions
factoryAddress
viewfunction factoryAddress() view returns (address)
getBurnFeeRequest
viewfunction getBurnFeeRequest(uint256 nonce) view returns (tuple)
getBurnFeeRequestLength
viewfunction getBurnFeeRequestLength() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
addBurnFeeRequest
nonpayablefunction addBurnFeeRequest(uint256 assetID, tuple orderInfo) returns (uint256)
cancelSwapRequest
nonpayablefunction cancelSwapRequest(address swap, tuple orderInfo)
collectFeeTokenset
nonpayablefunction collectFeeTokenset(uint256 assetID)
confirmBurnFeeRequest
nonpayablefunction confirmBurnFeeRequest(uint256 nonce, tuple orderInfo, bytes[] inTxHashs)
initialize
nonpayablefunction initialize(address owner_, address factoryAddress_)
pause
nonpayablefunction pause()
rejectBurnFeeRequest
nonpayablefunction rejectBurnFeeRequest(uint256 nonce)
renounceOwnership
nonpayablefunction renounceOwnership()
rollbackSwapRequest
nonpayablefunction rollbackSwapRequest(address swap, tuple orderInfo)
setFee
nonpayablefunction setFee(uint256 assetID, uint256 fee)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AddBurnFeeRequest
event AddBurnFeeRequest(uint256 nonce)
ConfirmBurnFeeRequest
event ConfirmBurnFeeRequest(uint256 nonce)
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
RejectBurnFeeRequest
event RejectBurnFeeRequest(uint256 nonce)
Unpaused
event Unpaused(address account)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
EnforcedPause
error EnforcedPause()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
ExpectedPause
error ExpectedPause()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a080604052346100c257306080525f5160206130585f395f51905f525460ff8160401c166100b3576002600160401b03196001600160401b03821601610060575b604051612f9190816100c782396080518181816116b001526117430152f35b6001600160401b0319166001600160401b039081175f5160206130585f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80610041565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c80633f4ba83a14611fae578063485cc95514611db75780634a2f9a85146119145780634f1ef2861461170457806352d1902d1461169d57806352f7c98814611455578063598ff8501461118b5780635c975abb1461115c578063715018a6146110f35780638456cb59146110705780638792985c146110525780638da5cb5b1461101d57806391a2d00514610560578063966dae0e14610539578063ad3cb1cc146104ec578063b8da9500146103f5578063c5eb188c14610394578063e60eb352146101b7578063f2fde38b1461018a5763f422352f146100f6575f80fd5b34610178578061010536612490565b9061010e612a9d565b6001600160a01b03166101228115156129ec565b803b15610186576040516352542f7360e11b8152602060048201529183918391829084908290610156906024830190612928565b03925af1801561017b576101675750f35b81610171916120a1565b6101785780f35b80fd5b6040513d84823e3d90fd5b5050fd5b5034610178576020366003190112610178576101b46101a761202c565b6101af612a9d565b612a2c565b80f35b5034610178576020366003190112610178576004356101d4612a9d565b6101e160015482106124d2565b6101f36101ed82612510565b50612540565b60c0810151600481101561031f575f19016103905760018060a01b036080820151168360a083015160246040518094819363e22ae4cd60e01b835260048301525afa8015610385576040918591610363575b50018051600781101561034f5790600485939214908115610333575b8115610305575b501561030157604001516001600160a01b0316803b1561030157818091600460405180948193634409f4b760e11b83525af1801561017b576102ec575b507f821ef82ae91983cad06c6beaeaa4b8e357ad9137b5e2d762de31f80760f3863860208360066102d582612510565b5001805460ff19166003179055604051908152a180f35b816102f6916120a1565b61030157815f6102a5565b5080fd5b9192505051600781101561031f579060068492145f610268565b634e487b7160e01b84526021600452602484fd5b919250508051600781101561034f579060058593921490610261565b634e487b7160e01b85526021600452602485fd5b61037f91503d8087833e61037781836120a1565b8101906126af565b5f610245565b6040513d86823e3d90fd5b8280fd5b503461017857806103a436612490565b906103ad612a9d565b6001600160a01b03166103c18115156129ec565b803b1561018657604051633753b77560e21b8152602060048201529183918391829084908290610156906024830190612928565b5034610178576020366003190112610178578061010060405161041781612085565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e082015201526104546101ed600435612510565b90604051908251825260018060a01b03602084015116602083015260018060a01b0360408401511660408301526060830151606083015260018060a01b03608084015116608083015260a083015160a083015260c08301519060048210156104d85750610120926101009160c084015260e081015160e08401520151610100820152f35b634e487b7160e01b81526021600452602490fd5b50346101785780600319360112610178575061053560405161050f6040826120a1565b60058152640352e302e360dc1b602082015260405191829160208352602083019061246c565b0390f35b5034610178578060031936011261017857546040516001600160a01b039091168152602090f35b503461017857604036600319011261017857600435906024356001600160401b038111610301576105959036906004016122d6565b9061059e612a9d565b80546040516373bacc5b60e01b8152600481018590526001600160a01b039091169190602081602481865afa90811561017b578291610fe3575b5060405163f09c582960e01b815260048101959095526001600160a01b031693602081602481865afa90811561017b578291610fa9575b50604051631ca54c9560e01b81526001600160a01b03919091169390602081600481868a5af1908115610ebc578391610f72575b50604051632474521560e21b81526004810191909152306024820152602081604481895afa8015610ebc578390610f37575b61067f915061295c565b60405163243dc4b360e21b8152602081600481895afa908115610ebc578391610efd575b50610ec757604051631522560f60e21b815260206004820181905281806106cd6024820186612928565b0381885afa908115610ebc578391610e8a575b50610e53576106fa815160e0606082015191015190612ad0565b60405163d5ded93160e01b81529083826004818a5afa8015610385578490610cf5575b6107279250612c3f565b15610cb757604093602090835b8351608081015151821015610a62578160c06107519201516129b6565b51602a815103610a2557875161076789826120a1565b60148152602081019185368437875b601481106109605750505190516bffffffffffffffffffffffff19811691906014821061093b575b5050875163fbfa77cf60e01b81526020816004818b5afa9081156108b75787916108fe575b506001600160a01b031660609190911c036108c1576107f16107ea826080875101516129b6565b51516129ca565b875163c763e5a160e01b815286816004818b5afa80156108b757879061086d575b61081c91506129ca565b0361082957600101610734565b865162461bcd60e51b815260206004820152601b60248201527f6f7574546f6b656e73657420636861696e206e6f74206d6174636800000000006044820152606490fd5b503d8088833e61087d81836120a1565b8101906020818303126108b3578051906001600160401b0382116108af57916108aa9161081c930161299c565b610812565b8880fd5b8780fd5b89513d89823e3d90fd5b865162461bcd60e51b81526020600482015260166024820152750cccaca40e4cac6cad2eccae440dcdee840dac2e8c6d60531b6044820152606490fd5b90506020813d8211610933575b81610918602093836120a1565b8101031261092f576109299061268e565b5f6107c3565b8680fd5b3d915061090b565b6bffffffffffffffffffffffff1960149290920360031b82901b161690505f8061079e565b8060011b818104600214821517156109fd578060020180600211610a115761099d906001600160f81b0319906109969086612ce8565b5116612d35565b60041b90610ff060f0831692168203610a115760030180600311610a11576109cf60ff916109968360f81b9187612ce8565b160160ff81116109fd576001919060f81b6001600160f81b0319168a1a6109f68286612ce8565b5301610776565b634e487b7160e01b8a52601160045260248afd5b634e487b7160e01b8b52601160045260248bfd5b875162461bcd60e51b8152602060048201526016602482015275092dcecc2d8d2c840c2c8c8e4cae6e640d8cadccee8d60531b6044820152606490fd5b85888a8588813b15610ca9578351631402885f60e21b8152606060048201528590818180610a936064820187612928565b83602483015260016044830152038183885af18015610cad57610c94575b50506020600154910151845192610ac784612085565b828452602084019133835286850191868352606086018981526080870191825260a0870192835260c08701936001855260e08801954287526101008901978c895268010000000000000000811015610c8057806001610b299201600155612510565b999099610c6c57518955516001890180546001600160a01b03199081166001600160a01b0393841617909155915160028a01805484169183169190911790559151600389015591516004808901805490941691909216179091559051600586015590516006850191811015610c5857815460ff191660ff91909116179055516007830155516008909101558290803b156103015781809160048551809481936350f368bf60e11b83525af18015610c4b57610c36575b50506001545f19810191908211610c22576020927fbf7553b23094c184d8c07e9e2df0690918062d35dc19c41bde673bb8cf30ff46848351858152a15051908152f35b634e487b7160e01b83526011600452602483fd5b81610c40916120a1565b610301578183610bdf565b50505051903d90823e3d90fd5b634e487b7160e01b88526021600452602488fd5b634e487b7160e01b8d5260048d905260248dfd5b634e487b7160e01b8d52604160045260248dfd5b81610c9e916120a1565b610ca9578486610ab1565b8480fd5b86513d84823e3d90fd5b60405162461bcd60e51b81526020600482015260166024820152751b9bdd08195b9bdd59da08199959481d1bc81cd95b1b60521b6044820152606490fd5b50903d8085833e610d0681836120a1565b810190602081830312610ca9578051906001600160401b038211610e4f570181601f82011215610ca957805190610d3c82612121565b92610d4a60405194856120a1565b82845260208085019360051b830101918183116108b35760208101935b838510610d7d575050505050906107279161071d565b84516001600160401b038111610e4b57820160a0818503601f190112610e4b5760405190610daa82612056565b60208101516001600160401b038111610e4757856020610dcc9284010161299c565b825260408101516001600160401b038111610e4757856020610df09284010161299c565b602083015260608101516001600160401b038111610e4757856020610e179284010161299c565b6040830152608081015160ff81168103610e4757606083015260a001516080820152815260209485019401610d67565b8b80fd5b8980fd5b8580fd5b60405162461bcd60e51b815260206004820152600f60248201526e1bdc99195c881b9bdd081d985b1a59608a1b6044820152606490fd5b90506020813d602011610eb4575b81610ea5602093836120a1565b8101031261039057515f6106e0565b3d9150610e98565b6040513d85823e3d90fd5b60405162461bcd60e51b815260206004820152600e60248201526d6973206275726e696e672066656560901b6044820152606490fd5b90506020813d602011610f2f575b81610f18602093836120a1565b8101031261039057610f29906126a2565b5f6106a3565b3d9150610f0b565b506020813d602011610f6a575b81610f51602093836120a1565b8101031261039057610f6561067f916126a2565b610675565b3d9150610f44565b90506020813d602011610fa1575b81610f8d602093836120a1565b81010312610f9d57516020610643565b5f80fd5b3d9150610f80565b90506020813d602011610fdb575b81610fc4602093836120a1565b8101031261030157610fd59061268e565b5f61060f565b3d9150610fb7565b90506020813d602011611015575b81610ffe602093836120a1565b810103126103015761100f9061268e565b5f6105d8565b3d9150610ff1565b50346101785780600319360112610178575f516020612edc5f395f51905f52546040516001600160a01b039091168152602090f35b50346101785780600319360112610178576020600154604051908152f35b5034610178578060031936011261017857611089612a9d565b5f516020612f1c5f395f51905f525460ff81166110e45760019060ff1916175f516020612f1c5f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b63d93c066560e01b8252600482fd5b503461017857806003193601126101785761110c612a9d565b5f516020612edc5f395f51905f5280546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610178578060031936011261017857602060ff5f516020612f1c5f395f51905f5254166040519015158152f35b5034610178576020366003190112610178576111a5612a9d565b80546040516373bacc5b60e01b8152600480359082015290602090829060249082906001600160a01b03165afa90811561017b57829161141b575b50604051631ca54c9560e01b81526001600160a01b03919091169060208160048186865af1908115610ebc5783916113e8575b50604051632474521560e21b81526004810191909152306024820152602081604481855afa8015610ebc5783906113ad575b61124f915061295c565b60405163959b13d960e01b8152602081600481855afa908115610ebc578391611373575b5061133d576040516231a03760e31b8152602081600481855afa908115610ebc578391611303575b506112d1578082913b156112ce578180916004604051809481936312c5452360e11b83525af1801561017b576101675750f35b50fd5b60405162461bcd60e51b815260206004820152600a60248201526969732069737375696e6760b01b6044820152606490fd5b90506020813d602011611335575b8161131e602093836120a1565b810103126103905761132f906126a2565b5f61129b565b3d9150611311565b60405162461bcd60e51b815260206004820152600e60248201526d697320726562616c616e63696e6760901b6044820152606490fd5b90506020813d6020116113a5575b8161138e602093836120a1565b810103126103905761139f906126a2565b5f611273565b3d9150611381565b506020813d6020116113e0575b816113c7602093836120a1565b81010312610390576113db61124f916126a2565b611245565b3d91506113ba565b90506020813d602011611413575b81611403602093836120a1565b81010312610f9d57516020611213565b3d91506113f6565b90506020813d60201161144d575b81611436602093836120a1565b81010312610301576114479061268e565b5f6111e0565b3d9150611429565b50346101785760403660031901126101785761146f612a9d565b80546040516373bacc5b60e01b8152600480359082015290602090829060249082906001600160a01b03165afa90811561017b578291611663575b50604051631b29fe5760e21b81526001600160a01b039190911690602081600481855afa908115610ebc578391611629575b50156115ec57604051631ca54c9560e01b815282919060208160048186865af1908115610ebc5783916115b4575b50604051632474521560e21b81526004810191909152306024820152602081604481855afa8015610ebc578390611579575b611546915061295c565b803b156112ce578180916024604051809481936369fe0e2d60e01b8352833560048401525af1801561017b576101675750f35b506020813d6020116115ac575b81611593602093836120a1565b81010312610186576115a7611546916126a2565b61153c565b3d9150611586565b9250506020823d6020116115e4575b816115d0602093836120a1565b81010312610f9d579051829190602061150a565b3d91506115c3565b60405162461bcd60e51b81526020600482015260156024820152741a185cc8199959481b9bdd0818dbdb1b1958dd1959605a1b6044820152606490fd5b90506020813d60201161165b575b81611644602093836120a1565b8101031261039057611655906126a2565b5f6114dc565b3d9150611637565b90506020813d602011611695575b8161167e602093836120a1565b810103126103015761168f9061268e565b5f6114aa565b3d9150611671565b50346101785780600319360112610178577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036116f55760206040515f516020612efc5f395f51905f528152f35b63703e46dd60e11b8152600490fd5b5060403660031901126101785761171961202c565b906024356001600160401b038111610301576117399036906004016120dd565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156118f2575b506118e35761177b612a9d565b6040516352d1902d60e01b8152926001600160a01b0381169190602085600481865afa809585966118af575b506117c057634c9c8ce360e01b84526004839052602484fd5b9091845f516020612efc5f395f51905f52810361189d5750813b1561188b575f516020612efc5f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28151839015611871578083602061186595519101845af43d15611869573d91611849836120c2565b9261185760405194856120a1565b83523d85602085013e612e7d565b5080f35b606091612e7d565b5050503461187c5780f35b63b398979f60e01b8152600490fd5b634c9c8ce360e01b8452600452602483fd5b632a87526960e21b8552600452602484fd5b9095506020813d6020116118db575b816118cb602093836120a1565b81010312610f9d5751945f6117a7565b3d91506118be565b63703e46dd60e11b8252600482fd5b5f516020612efc5f395f51905f52546001600160a01b0316141590505f61176e565b5034610f9d576060366003190112610f9d576004356024356001600160401b038111610f9d576119489036906004016122d6565b6044356001600160401b038111610f9d5736602382011215610f9d5780600401359061197382612121565b9061198160405192836120a1565b82825260208201906024829460051b82010190368211610f9d5760248101925b828410611d8857505050506119b4612a9d565b6119c160015485106124d2565b6119cd6101ed85612510565b9160a083019081516020860190815103611d4c57518551604051611a0f81611a01602082019460208652604083019061286c565b03601f1981018352826120a1565b51902003611d125760c08401516004811015611ce4575f1901610f9d5760018060a01b0360808501511691516040519063e22ae4cd60e01b825260048201525f81602481865afa8015611ca8576040915f91611cf8575b5001516007811015611ce45760011901610f9d57813b15610f9d5791604051928391630c5aa3bd60e11b835260406004840152611aa66044840188612928565b9060031984830301602485015251808252602082019160208260051b82010193925f915b838310611cb357505050505091815f81819503925af18015611ca857611c91575b50604001519051606081015160e0909101516001600160a01b0390921691611b1291612ad0565b813b15611c8d579083916040519063719d90f960e01b8252602482016020600484015281518091526044830190602060448260051b86010193019186905b828210611c10575050505081808592038183865af1908115610ebc578391611bfb575b50506006611b8084612510565b5001805460ff19166002179055803b1561030157818091600460405180948193634409f4b760e11b83525af1801561017b57611be6575b507ff37a1c7c7a7caea25d767574aae7ebc9b02ce4edec7ce381bc4597c1100b2a5f602083604051908152a180f35b81611bf0916120a1565b61030157815f611bb7565b81611c05916120a1565b61030157815f611b73565b9193600191939596975060208091604319898203018552875190608080611c68611c56611c46865160a0875260a087019061246c565b878701518682038988015261246c565b6040860151858203604087015261246c565b9360ff6060820151166060850152015191015296019201920188969594939192611b50565b8380fd5b611c9e9194505f906120a1565b5f92611b12611aeb565b6040513d5f823e3d90fd5b919395509193602080611cd2600193601f19868203018752895161246c565b97019301930190928795949293611aca565b634e487b7160e01b5f52602160045260245ffd5b611d0c91503d805f833e61037781836120a1565b5f611a66565b60405162461bcd60e51b81526020600482015260126024820152711bdc99195c881a185cda081a5b9d985b1a5960721b6044820152606490fd5b60405162461bcd60e51b81526020600482015260146024820152730dee4c8cae440d0c2e6d040dcdee840dac2e8c6d60631b6044820152606490fd5b83356001600160401b038111610f9d57602091611dac8392602436918701016120dd565b8152019301926119a1565b34610f9d576040366003190112610f9d57611dd061202c565b6024356001600160a01b03811690819003610f9d575f516020612f3c5f395f51905f525460ff8160401c1615926001600160401b03821680159081611fa6575b6001149081611f9c575b159081611f93575b50611f845767ffffffffffffffff1982166001175f516020612f3c5f395f51905f5255611e689184611f58575b50611e58612d0a565b611e60612d0a565b6101af612d0a565b611e70612d0a565b611e78612d0a565b60ff195f516020612f1c5f395f51905f5254165f516020612f1c5f395f51905f52558015611f13576bffffffffffffffffffffffff60a01b5f5416175f55611ebc57005b68ff0000000000000000195f516020612f3c5f395f51905f5254165f516020612f3c5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b60405162461bcd60e51b815260206004820152601760248201527f666163746f7279206973207a65726f20616464726573730000000000000000006044820152606490fd5b68ffffffffffffffffff191668010000000000000001175f516020612f3c5f395f51905f525584611e4f565b63f92ee8a960e01b5f5260045ffd5b90501585611e22565b303b159150611e1a565b859150611e10565b34610f9d575f366003190112610f9d57611fc6612a9d565b5f516020612f1c5f395f51905f525460ff81161561201d5760ff19165f516020612f1c5f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b600435906001600160a01b0382168203610f9d57565b35906001600160a01b0382168203610f9d57565b60a081019081106001600160401b0382111761207157604052565b634e487b7160e01b5f52604160045260245ffd5b61012081019081106001600160401b0382111761207157604052565b90601f801991011681019081106001600160401b0382111761207157604052565b6001600160401b03811161207157601f01601f191660200190565b81601f82011215610f9d576020813591016120f7826120c2565b9261210560405194856120a1565b82845282820111610f9d57815f92602092838601378301015290565b6001600160401b0381116120715760051b60200190565b9080601f83011215610f9d5781359161215083612121565b9261215e60405194856120a1565b80845260208085019160051b83010191838311610f9d5760208101915b83831061218a57505050505090565b82356001600160401b038111610f9d57820160a0818703601f190112610f9d57604051916121b783612056565b60208201356001600160401b038111610f9d578760206121d9928501016120dd565b835260408201356001600160401b038111610f9d578760206121fd928501016120dd565b602084015260608201356001600160401b038111610f9d57876020612224928501016120dd565b604084015260808201359260ff84168403610f9d5760a060209493859460608401520135608082015281520192019161217b565b9080601f83011215610f9d57813561226f81612121565b9261227d60405194856120a1565b81845260208085019260051b82010191838311610f9d5760208201905b8382106122a957505050505090565b81356001600160401b038111610f9d576020916122cb878480948801016120dd565b81520191019061229a565b9190606083820312610f9d5760405190606082018281106001600160401b0382111761207157604052819380356001600160401b038111610f9d57810161016081840312610f9d576040519061016082018281106001600160401b038211176120715760405280356001600160401b038111610f9d57846123589183016120dd565b825261236660208201612042565b60208301526040810135604083015260608101356001600160401b038111610f9d5784612394918301612138565b606083015260808101356001600160401b038111610f9d57846123b8918301612138565b608083015260a08101356001600160401b038111610f9d57846123dc918301612258565b60a083015260c08101356001600160401b038111610f9d578161240786610140936124349501612258565b60c085015260e081013560e085015261010081013561010085015261012081013561012085015201612042565b6101408201528352602081013560208401526040810135916001600160401b038311610f9d5760409261246792016120dd565b910152565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906040600319830112610f9d576004356001600160a01b0381168103610f9d5791602435906001600160401b038211610f9d576124cf916004016122d6565b90565b156124d957565b60405162461bcd60e51b815260206004820152600f60248201526e6e6f6e636520746f6f206c6172676560881b6044820152606490fd5b60015481101561252c5760015f52600960205f20910201905f90565b634e487b7160e01b5f52603260045260245ffd5b9060405161254d81612085565b8254815260018301546001600160a01b039081166020830152600284015481166040830152600384015460608301526004808501549091166080830152600584015460a0830152600684015491938492909160ff90911690811015611ce4576101009160089160c0850152600781015460e08501520154910152565b9291926125d5826120c2565b916125e360405193846120a1565b829481845281830111610f9d578281602093845f96015e010152565b81601f82011215610f9d5780519061261682612121565b9261262460405194856120a1565b82845260208085019360051b83010191818311610f9d5760208101935b83851061265057505050505090565b84516001600160401b038111610f9d57820183603f82011215610f9d5760209161268385836040868096015191016125c9565b815201940193612641565b51906001600160a01b0382168203610f9d57565b51908115158203610f9d57565b602081830312610f9d578051906001600160401b038211610f9d570161010081830312610f9d576040519161010083018381106001600160401b038211176120715760405281516001600160401b038111610f9d57816127109184016125ff565b83526020820151906001600160401b038211610f9d576127319183016125ff565b60208301526040810151906007821015610f9d5760e09160408401526127596060820161268e565b606084015261276a608082016126a2565b608084015261277b60a082016126a2565b60a084015260c081015160c0840152015160e082015290565b9080602083519182815201916020808360051b8301019401925f915b8383106127bf57505050505090565b9091929394602080600192601f198582030186528851906080806127f2611c56611c46865160a0875260a087019061246c565b9360ff60608201511660608501520151910152970193019301919392906127b0565b9080602083519182815201916020808360051b8301019401925f915b83831061283f57505050505090565b909192939460208061285d600193601f19868203018752895161246c565b97019301930191939290612830565b906101406128f56128e36128d16128bf6128918751610160885261016088019061246c565b60018060a01b0360208901511660208801526040880151604088015260608801518782036060890152612794565b60808701518682036080880152612794565b60a086015185820360a0870152612814565b60c085015184820360c0860152612814565b60e0808501519084015261010080850151908401526101208085015190840152928101516001600160a01b031691015290565b6124cf916040612941835160608452606084019061286c565b9260208101516020840152015190604081840391015261246c565b1561296357565b60405162461bcd60e51b81526020600482015260116024820152703737ba1030903332b29036b0b730b3b2b960791b6044820152606490fd5b9080601f83011215610f9d5781516124cf926020016125c9565b805182101561252c5760209160051b010190565b6020815191015190602081106129de575090565b5f199060200360031b1b1690565b156129f357565b60405162461bcd60e51b81526020600482015260116024820152707a65726f2073776170206164647265737360781b6044820152606490fd5b6001600160a01b03168015612a8a575f516020612edc5f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b5f516020612edc5f395f51905f52546001600160a01b03163303612abd57565b63118cdaa760e01b5f523360045260245ffd5b9190825190612ade82612121565b91612aec60405193846120a1565b808352612afb601f1991612121565b015f5b818110612c075750505f5b8451811015612ba15780612b1f600192876129b6565b51516020612b2d83896129b6565b5101516040612b3c848a6129b6565b51015160ff6060612b4d868c6129b6565b51015116906080612b5e868c6129b6565b5101519260405194612b6f86612056565b85526020850152604084015260608301526080820152612b8f82866129b6565b52612b9a81856129b6565b5001612b09565b5092505f5b8151811015612c02576080612bbb82846129b6565b5101519084820291808304861490151715612bee576305f5e100600192046080612be583866129b6565b51015201612ba6565b634e487b7160e01b5f52601160045260245ffd5b509150565b602090604051612c1681612056565b60608152606083820152606060408201525f60608201525f608082015282828701015201612afe565b5f905b8251821015612ce0578051925f5b8251811015612cd657612c6384836129b6565b51612c81612c7b612c7484876129b6565b5192612e0c565b91612e0c565b14612c8e57600101612c50565b9093506080612c9f828495946129b6565b5101516080612cae84876129b6565b51015111612cce575b825114612cc75760010190612c42565b5050505f90565b505050505f90565b5092919091612cb7565b505050600190565b90815181101561252c570160200190565b60ff16600a019060ff8211612bee57565b60ff5f516020612f3c5f395f51905f525460401c1615612d2657565b631afcd79f60e31b5f5260045ffd5b60f81c603081101580612e01575b15612d5757602f190160ff8111612bee5790565b606181101580612df6575b15612d8357612d7090612cf9565b60ff60601991160160ff8111612bee5790565b604181101580612deb575b612dcf5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103432bc1031b430b930b1ba32b960591b6044820152606490fd5b612dd890612cf9565b60ff60401991160160ff8111612bee5790565b506046811115612d8e565b506066811115612d62565b506039811115612d43565b6020612e776001835193838101519084606060408301519201519181604051978895818088019b8051918291018d5e8701908282015f8152815193849201905e0101905f8252805192839101825e019060ff60f81b9060f81b16815203601e198101845201826120a1565b51902090565b90612ea15750805115612e9257805190602001fd5b63d6bda27560e01b5f5260045ffd5b81511580612ed2575b612eb2575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b15612eaa56fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbccd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212205669301016b0e87849accd015ef0b09a08efc8e39b83dc90441cc0beb033fc4d64736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00