0 txs
154 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
0x60a080604052346100c257306080525f51602061344e5f395f51905f525460ff8160401c166100b3576002600160401b03196001600160401b03821601610060575b60405161338790816100c782396080518181816108d001526109f80152f35b6001600160401b0319166001600160401b039081175f51602061344e5f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80610041565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633f4ba83a14610154578063485cc9551461014f5780634a2f9a851461014a5780634f1ef2861461014557806352d1902d1461014057806352f7c9881461013b578063598ff850146101365780635c975abb14610131578063715018a61461012c5780638456cb59146101275780638792985c146101225780638da5cb5b1461011d57806391a2d00514610118578063966dae0e14610113578063ad3cb1cc1461010e578063b8da950014610109578063c5eb188c14610104578063e60eb352146100ff578063f2fde38b146100fa5763f422352f146100f5575f80fd5b6118c6565b611899565b6116ac565b61162e565b611580565b61148c565b611441565b610f41565b610f0d565b610ef0565b610e6f565b610e08565b610dda565b610c48565b610a3d565b6109e6565b61088e565b6107c0565b610203565b610167565b5f91031261016357565b5f80fd5b34610163575f3660031901126101635761017f6127e5565b5f5160206133125f395f51905f525460ff8116156101d65760ff19165f5160206133125f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b6001600160a01b0381160361016357565b3590610201826101e5565b565b3461016357604036600319011261016357600435610220816101e5565b6024359061022d826101e5565b5f5160206133325f395f51905f5254916001600160401b0361025e60ff604086901c1615946001600160401b031690565b1680159081610378575b600114908161036e575b159081610365575b50610356576102bd91836102b460016001600160401b03195f5160206133325f395f51905f525416175f5160206133325f395f51905f5255565b61032157611926565b6102c357005b6102ed60ff60401b195f5160206133325f395f51905f5254165f5160206133325f395f51905f5255565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29080602081015b0390a1005b610351600160401b60ff60401b195f5160206133325f395f51905f525416175f5160206133325f395f51905f5255565b611926565b63f92ee8a960e01b5f5260045ffd5b9050155f61027a565b303b159150610272565b849150610268565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b038211176103af57604052565b610380565b61012081019081106001600160401b038211176103af57604052565b90601f801991011681019081106001600160401b038211176103af57604052565b6040519061020160a0836103d0565b60405190610201610160836103d0565b60405190610201610120836103d0565b60405190610201610100836103d0565b6001600160401b0381116103af57601f01601f191660200190565b81601f820112156101635760208135910161046582610430565b9261047360405194856103d0565b8284528282011161016357815f92602092838601378301015290565b6001600160401b0381116103af5760051b60200190565b60ff81160361016357565b3590610201826104a6565b81601f82011215610163578035906104d38261048f565b926104e160405194856103d0565b82845260208085019360051b830101918183116101635760208101935b83851061050d57505050505090565b84356001600160401b03811161016357820160a0818503601f190112610163576105356103f1565b9160208201356001600160401b038111610163578560206105589285010161044b565b835260408201356001600160401b0381116101635785602061057c9285010161044b565b60208401526060820135926001600160401b0384116101635760a0836105a988602080988198010161044b565b60408401526105ba608082016104b1565b6060840152013560808201528152019401936104fe565b9080601f830112156101635781356105e88161048f565b926105f660405194856103d0565b81845260208085019260051b820101918383116101635760208201905b83821061062257505050505090565b81356001600160401b038111610163576020916106448784809488010161044b565b815201910190610613565b9190606083820312610163576040519061066882610394565b819380356001600160401b038111610163578101610160818403126101635761068f610400565b9080356001600160401b03811161016357846106ac91830161044b565b82526106ba602082016101f6565b60208301526040810135604083015260608101356001600160401b03811161016357846106e89183016104bc565b606083015260808101356001600160401b038111610163578461070c9183016104bc565b608083015260a08101356001600160401b03811161016357846107309183016105d1565b60a083015260c08101356001600160401b038111610163578161075b866101409361078895016105d1565b60c085015260e081013560e0850152610100810135610100850152610120810135610120850152016101f6565b6101408201528352602081013560208401526040810135916001600160401b038311610163576040926107bb920161044b565b910152565b34610163576060366003190112610163576004356024356001600160401b038111610163576107f390369060040161064f565b604435906001600160401b03821161016357366023830112156101635781600401359261081f8461048f565b9261082d60405194856103d0565b8484526024602085019560051b820101903682116101635760248101955b82871061085f5761085d8686866119dc565b005b86356001600160401b0381116101635760209161088383926024369187010161044b565b81520196019561084b565b6040366003190112610163576004356108a6816101e5565b6024356001600160401b038111610163576108c590369060040161044b565b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156109c4575b506109b5576109086127e5565b6040516352d1902d60e01b8152916020836004816001600160a01b0386165afa5f9381610984575b5061095157634c9c8ce360e01b5f526001600160a01b03821660045260245ffd5b905f5160206132f25f395f51905f5283036109705761085d9250612eba565b632a87526960e21b5f52600483905260245ffd5b6109a791945060203d6020116109ae575b61099f81836103d0565b81019061225d565b925f610930565b503d610995565b63703e46dd60e11b5f5260045ffd5b5f5160206132f25f395f51905f52546001600160a01b0316141590505f6108fb565b34610163575f366003190112610163577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036109b55760206040515f5160206132f25f395f51905f528152f35b3461016357604036600319011261016357602435610aa36020600435610a616127e5565b5f54610a8390610a77906001600160a01b031681565b6001600160a01b031690565b60405180809581946373bacc5b60e01b8352600483019190602083019252565b03915afa908115610ba9575f91610c19575b50604051631b29fe5760e21b81526001600160a01b039190911690602081600481855afa8015610ba957610af0915f91610bfa575b50612219565b604051631ca54c9560e01b81526020816004815f865af1908115610ba957610b44916020915f91610bdd575b50604051632474521560e21b8152600481019190915230602482015291829081906044820190565b0381855afa8015610ba957610b60915f91610bae575b5061226c565b803b15610163576040516369fe0e2d60e01b815260048101839052905f908290602490829084905af18015610ba957610b9557005b80610ba35f61085d936103d0565b80610159565b611edc565b610bd0915060203d602011610bd6575b610bc881836103d0565b810190612205565b5f610b5a565b503d610bbe565b610bf49150823d84116109ae5761099f81836103d0565b5f610b1c565b610c13915060203d602011610bd657610bc881836103d0565b5f610aea565b610c3b915060203d602011610c41575b610c3381836103d0565b8101906121f0565b5f610ab5565b503d610c29565b3461016357602036600319011261016357610c696020600435610a616127e5565b03915afa908115610ba9575f91610dbb575b50604051631ca54c9560e01b81526001600160a01b0391909116906020816004815f865af1908115610ba957610cdc916020915f91610bdd5750604051632474521560e21b8152600481019190915230602482015291829081906044820190565b0381855afa8015610ba957610cf7915f91610bae575061226c565b60405163959b13d960e01b8152602081600481855afa8015610ba957610d25915f91610d9c575b50156122ac565b6040516231a03760e31b8152602081600481855afa8015610ba957610d52915f91610d7d575b50156122e9565b803b15610163575f80916004604051809481936312c5452360e11b83525af18015610ba957610b9557005b610d96915060203d602011610bd657610bc881836103d0565b5f610d4b565b610db5915060203d602011610bd657610bc881836103d0565b5f610d1e565b610dd4915060203d602011610c4157610c3381836103d0565b5f610c7b565b34610163575f36600319011261016357602060ff5f5160206133125f395f51905f5254166040519015158152f35b34610163575f36600319011261016357610e206127e5565b5f5160206132d25f395f51905f5280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610163575f36600319011261016357610e876127e5565b5f5160206133125f395f51905f525460ff8116610ee15760019060ff1916175f5160206133125f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b63d93c066560e01b5f5260045ffd5b34610163575f366003190112610163576020600154604051908152f35b34610163575f366003190112610163575f5160206132d25f395f51905f52546040516001600160a01b039091168152602090f35b34610163576040366003190112610163576004356024356001600160401b03811161016357610f7490369060040161064f565b90610f7d6127e5565b5f54610f9390610a77906001600160a01b031681565b6040516373bacc5b60e01b81526004810183905290929091602083602481875afa908115610ba957610ff6935f92611420575b5060405163f09c582960e01b81526004810191909152926001600160a01b03821690602090859081906024820190565b0381885afa938415610ba9575f946113ff575b50604051631ca54c9560e01b81526001600160a01b038516906020816004815f875af1908115610ba957611068916020915f91610bdd5750604051632474521560e21b8152600481019190915230602482015291829081906044820190565b0381865afa8015610ba957611083915f91610bae575061226c565b60405163243dc4b360e21b8152602081600481865afa8015610ba9576110b1915f916113e0575b5015612322565b604051631522560f60e21b8152602081806110cf886004830161235f565b0381855afa8015610ba9576110ec915f916113c1575b5015612370565b6110fa606085510151612a29565b611108608085510151612a29565b61111d845160e0606082015191015190612928565b60405163d5ded93160e01b81525f81600481875afa918215610ba9576111539261114e925f9161139f575b50612ad9565b612504565b5f5b845160808101515182101561124e576111758260c061117b930151612549565b51612cfc565b60405163fbfa77cf60e01b8152906020826004818c5afa8015610ba9576111b7925f91611230575b506001600160a01b0391821691161461255d565b6111c681608087510151612549565b5151602081519101209060405163c763e5a160e01b81525f816004818c5afa928315610ba957600193611208925f9161120e575b5060208151910120146125c7565b01611155565b61122a91503d805f833e61122281836103d0565b8101906125a2565b5f6111fa565b611248915060203d8111610c4157610c3381836103d0565b5f6111a3565b8386846112bc8a8961129e6001549261128860208801519361126e610410565b9586523360208701525b6001600160a01b03166040860152565b5f60608501526001600160a01b03166080840152565b60a0820152600160c08201524260e08201525f610100820152612613565b803b1561016357604051631402885f60e21b8152915f9183918290849082906112e890600483016126ea565b03925af18015610ba95761138b575b50803b15610163575f80916004604051809481936350f368bf60e11b83525af18015610ba957611377575b602061136f6001547fbf7553b23094c184d8c07e9e2df0690918062d35dc19c41bde673bb8cf30ff4661136761135783612721565b6040519081529081906020820190565b0390a1612721565b604051908152f35b80610ba35f611385936103d0565b80611322565b80610ba35f611399936103d0565b816112f7565b6113bb91503d805f833e6113b381836103d0565b8101906123d3565b5f611148565b6113da915060203d6020116109ae5761099f81836103d0565b5f6110e5565b6113f9915060203d602011610bd657610bc881836103d0565b5f6110aa565b61141991945060203d602011610c4157610c3381836103d0565b925f611009565b61143a91925060203d602011610c4157610c3381836103d0565b905f610fc6565b34610163575f366003190112610163575f546040516001600160a01b039091168152602090f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610163575f366003190112610163576114d36040516114ad6040826103d0565b60058152640352e302e360dc1b6020820152604051918291602083526020830190611468565b0390f35b634e487b7160e01b5f52602160045260245ffd5b600511156114f557565b6114d7565b9060058210156114f55752565b815181526020808301516001600160a01b039081169183019190915260408084015182169083015260608084015190830152608080840151909116908201526101208101929161010090819060a081015160a085015261156f60c082015160c08601906114fa565b60e081015160e08501520151910152565b34610163576020366003190112610163576114d36115e76115e16004355f6101006040516115ad816103b4565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e08201520152611c49565b50611c8f565b60405191829182611507565b9060406003198301126101635760043561160c816101e5565b91602435906001600160401b0382116101635761162b9160040161064f565b90565b346101635761163c366115f3565b6116446127e5565b5f916001600160a01b031661165a811515612734565b803b1561016357604051633753b77560e21b815260206004820152915f91839182908490829061168e9060248301906120c3565b03925af18015610ba9576116a0575080f35b61085d91505f906103d0565b34610163576020366003190112610163576004356116c86127e5565b6116d56001548210611bf7565b6117476116e46115e183611c49565b611706600160c08301516116f7816114eb565b611700816114eb565b14611d1e565b60808101515f9061172190610a77906001600160a01b031681565b60a083015190604051808096819463e22ae4cd60e01b8352600483019190602083019252565b03915afa8015610ba9576040610a779261179882610a77946117c3975f91611877575b50016004815161177981611ee7565b61178281611ee7565b14908115611858575b811561183a575b50611d1e565b6117b560066117a688611c49565b5001805460ff19166003179055565b01516001600160a01b031690565b90813b15610163575f8092600460405180958193634409f4b760e11b83525af1908115610ba9577f821ef82ae91983cad06c6beaeaa4b8e357ad9137b5e2d762de31f80760f386389261031c92611826575b506040519081529081906020820190565b80610ba35f611834936103d0565b5f611815565b600691505161184881611ee7565b61185181611ee7565b145f611792565b90506005815161186781611ee7565b61187081611ee7565b149061178b565b61189391503d805f833e61188b81836103d0565b810190611e0f565b5f61176a565b346101635760203660031901126101635761085d6004356118b9816101e5565b6118c16127e5565b612774565b34610163576118d4366115f3565b6118dc6127e5565b5f916001600160a01b03166118f2811515612734565b803b15610163576040516352542f7360e11b815260206004820152915f91839182908490829061168e9060248301906120c3565b61194290611932612e0e565b61193a612e0e565b6118c1612e0e565b61194a612e0e565b611952612e0e565b5f5160206133125f395f51905f52805460ff191690556001600160a01b038116156119975760018060a01b03166bffffffffffffffffffffffff60a01b5f5416175f55565b60405162461bcd60e51b815260206004820152601760248201527f666163746f7279206973207a65726f20616464726573730000000000000000006044820152606490fd5b90916119e66127e5565b6119f36001548310611bf7565b6119ff6115e183611c49565b611a098482612859565b611a1c600160c08301516116f7816114eb565b6080810151611a3590610a77906001600160a01b031681565b60a082015160405163e22ae4cd60e01b815260048101919091525f81602481855afa8015610ba9576040600291611a82935f91611bdd575b500151611a7981611ee7565b61170081611ee7565b611a9f6006611a9086611c49565b5001805460ff19166002179055565b803b1561016357604051630c5aa3bd60e11b8152925f918491829084908290611acc908b600484016120f7565b03925af1918215610ba9576040611af992610a7792611b0b95611bc9575b5001516001600160a01b031690565b925160e0606082015191015190612928565b6001600160a01b0390921691823b15610163575f611b3d916040518093819263719d90f960e01b835260048301612169565b038183875af18015610ba957611bb5575b50813b15610163575f8092600460405180958193634409f4b760e11b83525af1908115610ba9577ff37a1c7c7a7caea25d767574aae7ebc9b02ce4edec7ce381bc4597c1100b2a5f92611bb09261182657506040519081529081906020820190565b0390a1565b80610ba35f611bc3936103d0565b5f611b4e565b80610ba35f611bd7936103d0565b5f611aea565b611bf191503d805f833e61188b81836103d0565b5f611a6d565b15611bfe57565b60405162461bcd60e51b815260206004820152600f60248201526e6e6f6e636520746f6f206c6172676560881b6044820152606490fd5b634e487b7160e01b5f52603260045260245ffd5b600154811015611c655760015f52600960205f20910201905f90565b611c35565b8054821015611c65575f52600960205f20910201905f90565b60058210156114f55752565b906008611c9a610410565b8354815260018401546001600160a01b03166020820152926002810154611cc9906001600160a01b0316611278565b6003810154606085015260048101546001600160a01b03166080850152600581015460a0850152611d0a611d01600683015460ff1690565b60c08601611c83565b600781015460e08501520154610100830152565b1561016357565b929192611d3182610430565b91611d3f60405193846103d0565b829481845281830111610163578281602093845f96015e010152565b81601f8201121561016357805190611d728261048f565b92611d8060405194856103d0565b82845260208085019360051b830101918183116101635760208101935b838510611dac57505050505090565b84516001600160401b03811161016357820183603f8201121561016357602091611ddf8583604086809601519101611d25565b815201940193611d9d565b5190600782101561016357565b5190610201826101e5565b5190811515820361016357565b602081830312610163578051906001600160401b0382116101635701906101008282031261016357611e3f610420565b9180516001600160401b0381116101635782611e5c918301611d5b565b835260208101516001600160401b0381116101635760e092611e7f918301611d5b565b6020840152611e9060408201611dea565b6040840152611ea160608201611df7565b6060840152611eb260808201611e02565b6080840152611ec360a08201611e02565b60a084015260c081015160c0840152015160e082015290565b6040513d5f823e3d90fd5b600711156114f557565b9060058110156114f55760ff80198354169116179055565b9080602083519182815201916020808360051b8301019401925f915b838310611f3457505050505090565b9091929394602080600192601f19858203018652885190608080611f89611f77611f67865160a0875260a0870190611468565b8787015186820389880152611468565b60408601518582036040870152611468565b9360ff6060820151166060850152015191015297019301930191939290611f25565b9080602083519182815201916020808360051b8301019401925f915b838310611fd657505050505090565b9091929394602080611ff4600193601f198682030187528951611468565b97019301930191939290611fc7565b9061162b906101408061209261208061206e61205c61202d89516101608952610160890190611468565b60208a8101516001600160a01b03169089015260408a0151604089015260608a015188820360608a0152611f09565b60808901518782036080890152611f09565b60a088015186820360a0880152611fab565b60c087015185820360c0870152611fab565b60e08087015190850152610100808701519085015261012080870151908501529401516001600160a01b0316910152565b61162b9160406120dc8351606084526060840190612003565b92602081015160208401520151906040818403910152611468565b9061210a906040835260408301906120c3565b906020818303910152815180825260208201916020808360051b8301019401925f915b83831061213c57505050505090565b909192939460208061215a600193601f198682030187528951611468565b9701930193019193929061212d565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061219b57505050505090565b9091929394602080600192603f198582030186528851906080806121ce611f77611f67865160a0875260a0870190611468565b9360ff606082015116606085015201519101529701930193019193929061218c565b90816020910312610163575161162b816101e5565b908160209103126101635761162b90611e02565b1561222057565b60405162461bcd60e51b81526020600482015260156024820152741a185cc8199959481b9bdd0818dbdb1b1958dd1959605a1b6044820152606490fd5b90816020910312610163575190565b1561227357565b60405162461bcd60e51b81526020600482015260116024820152703737ba1030903332b29036b0b730b3b2b960791b6044820152606490fd5b156122b357565b60405162461bcd60e51b815260206004820152600e60248201526d697320726562616c616e63696e6760901b6044820152606490fd5b156122f057565b60405162461bcd60e51b815260206004820152600a60248201526969732069737375696e6760b01b6044820152606490fd5b1561232957565b60405162461bcd60e51b815260206004820152600e60248201526d6973206275726e696e672066656560901b6044820152606490fd5b90602061162b9281815201906120c3565b1561237757565b60405162461bcd60e51b815260206004820152600f60248201526e1bdc99195c881b9bdd081d985b1a59608a1b6044820152606490fd5b9080601f8301121561016357815161162b92602001611d25565b5190610201826104a6565b602081830312610163578051906001600160401b038211610163570181601f82011215610163578051906124068261048f565b9261241460405194856103d0565b82845260208085019360051b830101918183116101635760208101935b83851061244057505050505090565b84516001600160401b03811161016357820160a0818503601f190112610163576124686103f1565b9160208201516001600160401b0381116101635785602061248b928501016123ae565b835260408201516001600160401b038111610163578560206124af928501016123ae565b60208401526060820151926001600160401b0384116101635760a0836124dc8860208098819801016123ae565b60408401526124ed608082016123c8565b606084015201516080820152815201940193612431565b1561250b57565b60405162461bcd60e51b81526020600482015260166024820152751b9bdd08195b9bdd59da08199959481d1bc81cd95b1b60521b6044820152606490fd5b8051821015611c655760209160051b010190565b1561256457565b60405162461bcd60e51b81526020600482015260166024820152750cccaca40e4cac6cad2eccae440dcdee840dac2e8c6d60531b6044820152606490fd5b906020828203126101635781516001600160401b0381116101635761162b92016123ae565b156125ce57565b60405162461bcd60e51b815260206004820152601b60248201527f6f7574546f6b656e73657420636861696e206e6f74206d6174636800000000006044820152606490fd5b600154600160401b8110156103af5780600161263492016001556001611c6a565b9190916126d7578051825560208101516001830180546001600160a01b039283166001600160a01b031991821617909155604083015160028501805491841691831691909117905560608301516003850155608083015160048501805491909316911617905560a0810151600583015560c0810151600891610100916126c6906126bd816114eb565b60068601611ef1565b60e081015160078501550151910155565b634e487b7160e01b5f525f60045260245ffd5b919060406127026001926060865260608601906120c3565b935f60208201520152565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161272f57565b61270d565b1561273b57565b60405162461bcd60e51b81526020600482015260116024820152707a65726f2073776170206164647265737360781b6044820152606490fd5b6001600160a01b031680156127d2575f5160206132d25f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b5f5160206132d25f395f51905f52546001600160a01b0316330361280557565b63118cdaa760e01b5f523360045260245ffd5b1561281f57565b60405162461bcd60e51b81526020600482015260126024820152711bdc99195c881a185cda081a5b9d985b1a5960721b6044820152606490fd5b60a001519060208101918251036128a5576102019151905160405161289c8161288e6020820194602086526020860190612003565b03601f1981018352826103d0565b51902014612818565b60405162461bcd60e51b81526020600482015260146024820152730dee4c8cae440d0c2e6d040dcdee840dac2e8c6d60631b6044820152606490fd5b908160011b918083046002149015171561272f57565b8181029291811591840414171561272f57565b8115612914570490565b634e487b7160e01b5f52601260045260245ffd5b91906129348351612e39565b905f5b84518110156129d9578061294d60019287612549565b5151602061295b8389612549565b5101516129b8604061296d858b612549565b510151612988606061297f878d612549565b51015160ff1690565b906080612995878d612549565b510151936129a16103f1565b9586526020860152604085015260ff166060840152565b60808201526129c78286612549565b526129d28185612549565b5001612937565b5092505f5b8151811015612a245780612a0f6305f5e100612a0a876080612a0260019789612549565b5101516128f7565b61290a565b6080612a1b8386612549565b510152016129de565b509150565b612a3281612f5c565b612a9d575f5b8151811015612a99576080612a4d8284612549565b51015115612a5d57600101612a38565b60405162461bcd60e51b8152602060048201526014602482015273746f6b656e20616d6f756e74206973207a65726f60601b6044820152606490fd5b5050565b60405162461bcd60e51b8152602060048201526014602482015273686173206475706c696174656420746f6b656e7360601b6044820152606490fd5b5f905b8251821015612b70578051925f5b8251811015612b6657612b12612b008584612549565b51612b0b8386612549565b5190613015565b612b1e57600101612aea565b9093506080612b2f82849594612549565b5101516080612b3e8487612549565b51015111612b5e575b825114612b575760010190612adc565b5050505f90565b505050505f90565b5092919091612b47565b505050600190565b15612b7f57565b60405162461bcd60e51b8152602060048201526016602482015275092dcecc2d8d2c840c2c8c8e4cae6e640d8cadccee8d60531b6044820152606490fd5b805115611c655760200190565b805160011015611c655760210190565b908151811015611c65570160200190565b15612bf257565b60405162461bcd60e51b8152602060048201526016602482015275092dcecc2d8d2c840c2c8c8e4cae6e640e0e4caccd2f60531b6044820152606490fd5b60408051909190612c4183826103d0565b6014815291601f1901366020840137565b600201908160021161272f57565b600301908160031161272f57565b906001820180921161272f57565b60041b90610ff060f083169216820361272f57565b60ff16600a019060ff821161272f57565b9060ff8091169116019060ff821161272f57565b9060208251920151916bffffffffffffffffffffffff1983169260148210612cdc575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b90612d0a602a835114612b78565b600360fc1b6001600160f81b0319612d32612d2485612bbd565b516001600160f81b03191690565b161480612de7575b612d4390612beb565b612d4b612c30565b5f5b60148110612d6e575061162b919250612d68610a7791612cb6565b60601c90565b80612dd4612dc4612da4612d9f612d9a612d24612d94612d8f6001996128e1565b612c52565b8b612bda565b613064565b612c7c565b612dbe612d9a612d24612d94612db9886128e1565b612c60565b90612ca2565b60f81b6001600160f81b03191690565b5f1a612de08285612bda565b5301612d4d565b50612d43600f60fb1b6001600160f81b0319612e05612d2486612bca565b16149050612d3a565b60ff5f5160206133325f395f51905f525460401c1615612e2a57565b631afcd79f60e31b5f5260045ffd5b90612e438261048f565b612e5060405191826103d0565b8281528092612e61601f199161048f565b015f5b818110612e7057505050565b6040519060a08201918083106001600160401b038411176103af5760209260405260608152606083820152606060408201525f60608201525f608082015282828601015201612e64565b90813b15612f3b575f5160206132f25f395f51905f5280546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115612f2357612f209161311f565b50565b505034612f2c57565b63b398979f60e01b5f5260045ffd5b50634c9c8ce360e01b5f9081526001600160a01b0391909116600452602490fd5b908151612f688161048f565b90612f7660405192836103d0565b808252612f85601f199161048f565b013660208301375f5b8351811015612fbe5780612fad612fa760019387612549565b51613175565b612fb78285612549565b5201612f8e565b50612fca9192506131d0565b5f5b612fd68251612721565b81101561300f57612fe78183612549565b51612ffa612ff483612c6e565b84612549565b511461300857600101612fcc565b5050600190565b50505f90565b61302161302791613175565b91613175565b1490565b60ff6040199116019060ff821161272f57565b60ff6060199116019060ff821161272f57565b60ff602f199116019060ff821161272f57565b60f81c603081101580613114575b156130805761162b90613051565b606181101580613109575b156130a15761309c61162b91612c91565b61303e565b6041811015806130fe575b6130ed5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103432bc1031b430b930b1ba32b960591b6044820152606490fd5b6130f961162b91612c91565b61302b565b5060468111156130ac565b50606681111561308b565b506039811115613072565b5f8061162b93602081519101845af43d1561315b573d9161313f83610430565b9261314d60405194856103d0565b83523d5f602085013e6131e8565b6060916131e8565b805191908290602001825e015f815290565b6131a86131ca60018351936020810151906131ae60606040830151920151916040519687946131a860208701809b613163565b90613163565b9060ff60f81b9060f81b16815203601e198101845201826103d0565b51902090565b61162b60016020835160051b84010160208401613246565b9061320c57508051156131fd57805190602001fd5b63d6bda27560e01b5f5260045ffd5b8151158061323d575b61321d575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b15613215565b91906040838203106132cc5782519282818095602084015b858110613284575050825181518452815261327892613246565b60206102019301613246565b915091508051856001146132a657634e487b7160e01b5f52605160045260245ffd5b82116132b9575b6020018491869161325e565b60209095018051865182528652946132ad565b50505056fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbccd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212208084b77d427126df9c5dd885e703010f968cd7a775b41e9d3a53f36547d2087664736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00