19 txs
32 calls
constructor
No constructor.
functions
celerAddress
viewfunction celerAddress() view returns (address)
deposit
viewfunction deposit(bytes32, address) view returns (uint256)
internalCaller
viewfunction internalCaller(address) view returns (bool)
networkIdAndRouterAddress
viewfunction networkIdAndRouterAddress() view returns (bytes32)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingOwner
viewfunction pendingOwner() view returns (address)
refundAddresses
viewfunction refundAddresses(bytes32) view returns (address)
swapFeeAddress
viewfunction swapFeeAddress() view returns (address)
swapSequence
viewfunction swapSequence() view returns (uint64)
weth
viewfunction weth() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
executeMessageWithTransfer
payablefunction executeMessageWithTransfer(address, address assetAddress, uint256 amount, uint64, bytes payload, address) payable returns (uint8)
executeMessageWithTransferRefund
payablefunction executeMessageWithTransferRefund(address assetAddress, uint256 amount, bytes payload, address) payable returns (uint8)
multicall
nonpayablefunction multicall(bytes[] data) returns (bytes[] results)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
swapInWithMagpieSignature
payablefunction swapInWithMagpieSignature(bytes) payable returns (uint256 amountOut)
swapInWithUserSignature
payablefunction swapInWithUserSignature(bytes) payable returns (uint256 amountOut)
swapOut
nonpayablefunction swapOut(bytes) returns (uint256 amountOut)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
updateCelerAddress
nonpayablefunction updateCelerAddress(address value)
updateInternalCaller
nonpayablefunction updateInternalCaller(address caller, bool value)
updateNetworkIdAndRouterAddress
nonpayablefunction updateNetworkIdAndRouterAddress(bytes32 value)
updateSwapFeeAddress
nonpayablefunction updateSwapFeeAddress(address value)
updateWeth
nonpayablefunction updateWeth(address value)
events
Deposit
event Deposit(bytes32 depositDataHash, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Refund
event Refund(address indexed recipient, address indexed assetAddress, bytes32 depositDataHash, uint256 amount)
SwapIn
event SwapIn(address indexed fromAddress, address indexed toAddress, address fromAssetAddress, address toAssetAddress, uint256 amountIn, uint256 amountOut, bytes encodedDepositData)
SwapOut
event SwapOut(address indexed fromAddress, address indexed toAddress, address fromAssetAddress, address toAssetAddress, uint256 amountIn, uint256 amountOut, bytes32 depositDataHash)
Unpaused
event Unpaused(address account)
UpdateInternalCaller
event UpdateInternalCaller(address indexed sender, address caller, bool value)
errors
ApprovalFailed
error ApprovalFailed()
DepositIsNotFound
error DepositIsNotFound()
FailedUnwrap
error FailedUnwrap()
FailedWrap
error FailedWrap()
InvalidAddress
error InvalidAddress()
InvalidAmountIn
error InvalidAmountIn()
InvalidCaller
error InvalidCaller()
InvalidDepositAmount
error InvalidDepositAmount()
InvalidRefundAddress
error InvalidRefundAddress()
InvalidSignature
error InvalidSignature()
InvalidToAddress
error InvalidToAddress()
NotSupportedAsset
error NotSupportedAsset()
ReentrancyError
error ReentrancyError()
TransferFailed
error TransferFailed()
TransferFromFailed
error TransferFromFailed()
creation bytecode
0x60806040523480156200001157600080fd5b506200001d3362000030565b6001805460ff60a01b191690556200009e565b600180546001600160a01b03191690556200004b816200004e565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b612a9e80620000ae6000396000f3fe6080604052600436106101a05760003560e01c806379ba5097116100ec578063cec4c8551161008a578063e516008011610064578063e5160080146104c5578063f2fde38b146104d8578063f80d154b146104f8578063fd97f7391461051857600080fd5b8063cec4c8551461044f578063d4f0475d14610487578063e30c3978146104a757600080fd5b80638da5cb5b116100c65780638da5cb5b146103ce578063ac9650d8146103ec578063b8f38c7414610419578063ce4a46a41461043957600080fd5b806379ba5097146103915780637cd2bffc146103a65780638456cb59146103b957600080fd5b80633fc8cef3116101595780635c344ec9116101335780635c344ec91461031d5780635c975abb1461033d5780636a0c4ba61461035c578063715018a61461037c57600080fd5b80633fc8cef31461029d578063519a98e0146102bd57806357f46a1a146102dd57600080fd5b80630bcb4982146101ac5780631b5ad801146101d55780631ec4aec8146101f75780632fdf172b1461022f57806336876abb146102505780633f4ba83a1461028857600080fd5b366101a757005b600080fd5b6101bf6101ba366004612567565b61054e565b6040516101cc91906125da565b60405180910390f35b3480156101e157600080fd5b506101f56101f0366004612602565b610682565b005b34801561020357600080fd5b50600854610217906001600160a01b031681565b6040516001600160a01b0390911681526020016101cc565b61024261023d36600461261f565b6106ac565b6040519081526020016101cc565b34801561025c57600080fd5b50600554610270906001600160401b031681565b6040516001600160401b0390911681526020016101cc565b34801561029457600080fd5b506101f5610727565b3480156102a957600080fd5b50600354610217906001600160a01b031681565b3480156102c957600080fd5b506101f56102d8366004612660565b610741565b3480156102e957600080fd5b5061030d6102f8366004612602565b60026020526000908152604090205460ff1681565b60405190151581526020016101cc565b34801561032957600080fd5b506101f561033836600461269e565b6107ae565b34801561034957600080fd5b50600154600160a01b900460ff1661030d565b34801561036857600080fd5b5061024261037736600461261f565b6107bb565b34801561038857600080fd5b506101f5610951565b34801561039d57600080fd5b506101f5610963565b6101bf6103b43660046126b7565b6109e2565b3480156103c557600080fd5b506101f5610ae0565b3480156103da57600080fd5b506000546001600160a01b0316610217565b3480156103f857600080fd5b5061040c610407366004612758565b610af8565b6040516101cc919061281c565b34801561042557600080fd5b506101f5610434366004612602565b610bea565b34801561044557600080fd5b5061024260045481565b34801561045b57600080fd5b5061024261046a366004612880565b600660209081526000928352604080842090915290825290205481565b34801561049357600080fd5b50600954610217906001600160a01b031681565b3480156104b357600080fd5b506001546001600160a01b0316610217565b6102426104d336600461261f565b610c14565b3480156104e457600080fd5b506101f56104f3366004612602565b610c35565b34801561050457600080fd5b506101f5610513366004612602565b610ca6565b34801561052457600080fd5b5061021761053336600461269e565b6007602052600090815260409020546001600160a01b031681565b6009546000906001600160a01b0316331461056857600080fd5b60006105a985858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cd092505050565b6000818152600760205260409020549091506001600160a01b0316806105e25760405163717f139360e11b815260040160405180910390fd5b600082815260076020526040902080546001600160a01b031916905534871161060a57600097505b61061e6001600160a01b0389168289610cd7565b876001600160a01b0316816001600160a01b03167f48ea87ca36d6027274d0a268d5a9c72f0638f8e789fa16e6e80c3b2facbf5b33848a60405161066c929190918252602082015260400190565b60405180910390a3506001979650505050505050565b61068a610db6565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526002602052604081205460ff166106dc576040516348f5c3ed60e01b815260040160405180910390fd5b60006106e6610e10565b60208101519091506001600160a01b03166107145760405163e6c4247b60e01b815260040160405180910390fd5b61071f816000610f81565b949350505050565b61072f610db6565b61073761111c565b61073f61116c565b565b610749610db6565b6001600160a01b038216600081815260026020908152604091829020805460ff191685151590811790915582519384529083015233917fa71618a9ed4e81ce27edc2700d38db549c32abb5e4f32ec57f791151030fbc45910160405180910390a25050565b6107b6610db6565b600455565b3360009081526002602052604081205460ff166107eb576040516348f5c3ed60e01b815260040160405180910390fd5b6004546001600160f01b0381169060f01c6000610806610e10565b905060006108158284306111c1565b6000818152600660209081526040808320868301516001600160a01b03168452909152902054909150801561086f576000828152600660209081526040808320868301516001600160a01b03168452909152812055610921565b60208301516001600160a01b0316610908575060008181526006602090815260408083206003546001600160a01b03168452909152812054908190036108c857604051631196c86360e21b815260040160405180910390fd5b6003546108de906001600160a01b031682611225565b60008281526006602090815260408083206003546001600160a01b03168452909152812055610921565b604051631196c86360e21b815260040160405180910390fd5b600354600854610945918591849186918a916001600160a01b039081169116611271565b98975050505050505050565b610959610db6565b61073f6000611570565b60015433906001600160a01b031681146109d65760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084015b60405180910390fd5b6109df81611570565b50565b6009546000906001600160a01b031633146109fc57600080fd5b6000610a3d85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cd092505050565b60008181526006602090815260408083206001600160a01b038d168452909152812080549293508992909190610a749084906128bb565b909155505060008181526006602090815260408083206001600160a01b038c168452825291829020548251848152918201527f98e783c3864bbf744a057ef605a2a61701c3b62b5ed68b3745b99094497daf1f910160405180910390a150600198975050505050505050565b610ae8610db6565b610af0611589565b61073f6115d6565b6060610b02610db6565b816001600160401b03811115610b1a57610b1a6128ce565b604051908082528060200260200182016040528015610b4d57816020015b6060815260200190600190039081610b385790505b50905060005b82811015610be257610bbd30858584818110610b7157610b716128e4565b9050602002810190610b8391906128fa565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061161992505050565b828281518110610bcf57610bcf6128e4565b6020908102919091010152600101610b53565b505b92915050565b610bf2610db6565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6000610c1e611589565b6000610c28610e10565b905061071f816001610f81565b610c3d610db6565b600180546001600160a01b0383166001600160a01b03199091168117909155610c6e6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b610cae610db6565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6020015190565b6001600160a01b038316610d5f576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610d32576040519150601f19603f3d011682016040523d82523d6000602084013e610d37565b606091505b5050905080610d59576040516312171d8360e31b815260040160405180910390fd5b50505050565b600060405190506044810160405263a9059cbb60e01b8152826004820152816024820152610d94846000836044600080611645565b610d59576040516312171d8360e31b815260040160405180910390fd5b505050565b6000546001600160a01b0316331461073f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109cd565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081019190915260853560f01c3560843560f81c1c42811015610e905763931997cf60e01b60005260046000fd5b60483560601c8252605c3560601c602083015260703560601c60408301528060608301525060883560f01c3560873560f81c1c6080820152608b3560f01c35608a3560f81c1c60a0820152608e3560f01c35608d3560f81c1c60c0820152600060d13560f81c118060e08301528060018114610f425760d23560f81c8061010085015260018103610f3c5760d33560601c61012085015260e83560f01c3560e73560f81c1c6101408501525b50505090565b6101153560f81c8061010085015260018103610f3c576101163560601c61012085015261012b3560f01c3561012a3560f81c1c61014085015250505090565b60408201516000906001600160a01b0316610faf57604051633bade18360e11b815260040160405180910390fd5b600580546001600160401b0316906000610fc883612940565b82546101009290920a6001600160401b038181021990931691831602179091556005546004549116915060f081901c906001600160f01b0316600061100d87876116b2565b90508660e001511561102357611023878261180f565b61104c87828960a00151600014611045576008546001600160a01b0316611884565b6000611884565b6040805160ec808252610120820190925260009160208201818036833701905050905061107a81858761196a565b805160208083019190912060008181526007909252604090912080546001600160a01b0319166001600160a01b03858116919091179091556003546110c7918b9185918791899116611998565b96506110e26110d58a611c4f565b8a6040015189848a611c99565b6005546001600160401b03878116911614611110576040516329f745a760e01b815260040160405180910390fd5b50505050505092915050565b600154600160a01b900460ff1661073f5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016109cd565b61117461111c565b6001805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600060405160ec81016040528451815260208501516020820152604085015160408201526080850151606082015260a085015160808201528360f01b60a08201528260a2820152602a6024356042013560f01c60c283013760ec9020949350505050565b6000604051905060248101604052632e1a7d4d60e01b8152816004820152611254836000836024600080611645565b610db15760405163c617296b60e01b815260040160405180910390fd5b60008660a001518760c0015161128791906128bb565b86146112a65760405163fe9ba5cd60e01b815260040160405180910390fd5b60a0870151156112d6576112d6828860a0015189602001516001600160a01b0316610cd79092919063ffffffff16565b60c0870151156114d857826001600160a01b031687602001516001600160a01b0316148015611310575060408701516001600160a01b0316155b156113545760c087015161132e906001600160a01b03851690611225565b865160c0880151602089015161134f926001600160a01b0390911691610cd7565b6114d8565b60208701516001600160a01b03161580156113845750826001600160a01b031687604001516001600160a01b0316145b156113ce5760c08701516113a2906001600160a01b03851690611ecb565b865160c088015160208901516113c3926001600160a01b0390911691610cd7565b5060c08601516114d8565b86604001516001600160a01b031687602001516001600160a01b03160361141057865160c088015160208901516113c3926001600160a01b0390911691610cd7565b60208701516000906001600160a01b0316611430575060c0870151611456565b611456858960c001518a602001516001600160a01b0316611f109092919063ffffffff16565b60006114628683611fb2565b9093509050806114d55760208901516001600160a01b031615611499576020890151611499906001600160a01b0316876000611f10565b885160c08a015160208b01516114ba926001600160a01b0390911691610cd7565b60208901516001600160a01b031660408a015260c089015192505b50505b86600001516001600160a01b0316336001600160a01b03167f13d672f2c19bbdf5ce8c9c4894d9586248592fd27d555c2c03ac5e49d219f45d89602001518a604001518b60a001518c60c0015161152f91906128bb565b604080516001600160a01b03948516815293909216602084015290820152606081018590526080810189905260a00160405180910390a39695505050505050565b600180546001600160a01b03191690556109df81612017565b600154600160a01b900460ff161561073f5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016109cd565b6115de611589565b6001805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586111a43390565b606061163e8383604051806060016040528060278152602001612a4260279139612067565b9392505050565b6000611688565b60003d156001811461166357801561167457611682565b823b1561166f57600191505b611682565b60206000803e600080511191505b50919050565b81838587898b5af161169e573d6000803e3d6000fd5b6116a78761164c565b979650505050505050565b610100820151600090819081816116cb576101406116cf565b6101805b61ffff16905060006116e3826101206128bb565b905060405193508084016040528260018114611721577f3561ed9db327f5071ddfd91adcdffcd542e94248fbe7d8b901a0f7c72af6054f8552611745565b7ff460c1fcb477125b9e886fa605d6b560754b3f80a9479e5af7376cf97931c2e585525b506042602435013560f090811c80358685019081526020808301359082015260408083013590820152606080830135908201526080808301359082015260a08083013590931c9281019290925260a281013560c08084019190915260c2820135901c60e08084019190915260ca90910135901c610100909101526116a77f6ca9b0af27e81464d2ba2736dc23311469e9de96c72259b0fed3c28cca16f08c7fad7c5bef027816a800da1736444fb58a807ef4c9603b7848673f7e3a68eb14a58987858b60026120df565b60008060008060d13560f81c935060d235925060f23591506101133560f01c356101123560f81c1c905061187c85308861014001518960a001518a60c0015161185891906128bb565b61186291906128bb565b60208a01516001600160a01b031692919085898989612289565b505050505050565b60a0830151156118f35760208301516001600160a01b03166118cb576118c6818460a0015185602001516001600160a01b0316610cd79092919063ffffffff16565b6118f3565b6118f382828560a0015186602001516001600160a01b03166122de909392919063ffffffff16565b61014083015115610db15760208301516001600160a01b031661193c57610db183610120015184610140015185602001516001600160a01b0316610cd79092919063ffffffff16565b610db18284610120015185610140015186602001516001600160a01b03166122de909392919063ffffffff16565b60c26024356042013560f01c602085013760f09190911b60e28301523060e483015260c01b61010490910152565b84516000906001600160a01b031630146119c557604051638aa3a72f60e01b815260040160405180910390fd5b60208601516001600160a01b0316611a1b578561014001518660a001518760c001516119f191906128bb565b6119fb91906128bb565b341015611a1b576040516365719fe160e11b815260040160405180910390fd5b60208601516001600160a01b0316158015611a4b5750816001600160a01b031686604001516001600160a01b0316145b15611a745760c0860151611a69906001600160a01b03841690611ecb565b5060c0850151611bc4565b816001600160a01b031686602001516001600160a01b0316148015611aa4575060408601516001600160a01b0316155b15611aea57611ad184308860c0015189602001516001600160a01b03166122de909392919063ffffffff16565b60c0860151611a69906001600160a01b03841690611225565b85604001516001600160a01b031686602001516001600160a01b031603611b3357611a6984308860c0015189602001516001600160a01b03166122de909392919063ffffffff16565b60208601516000906001600160a01b0316611b53575060c0860151611ba1565b611b7b85308960c001518a602001516001600160a01b03166122de909392919063ffffffff16565b611ba1848860c0015189602001516001600160a01b0316611f109092919063ffffffff16565b6000611bad8583611fb2565b909350905080611bc1573d6000803e3d6000fd5b50505b85600001516001600160a01b0316846001600160a01b03167f37600fc06910ae05ad532c02a9de91251b21674999c33c6e6da90271029bfa23886020015189604001518a61014001518b60a001518c60c00151611c2191906128bb565b611c2b91906128bb565b868b604051611c3e959493929190612966565b60405180910390a395945050505050565b60208101516000906001600160a01b031615611c6b5734610be4565b8161014001518260a001518360c00151611c8591906128bb565b611c8f91906128bb565b610be490346129a0565b600954604080516320a6037160e21b815290516001600160a01b039092169160009183916382980dc4916004808201926020929091908290030181865afa158015611ce8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0c91906129b3565b9050611d226001600160a01b0387168287611f10565b60405163a5977fbb60e01b81526001600160a01b03602480356042013560f01c60a281013583811660048601528a8416928501929092526044840189905260c281013560c01c606485018190526001600160401b038816608486015260ca9091013560e01c60a485018190529193909285169063a5977fbb9060c401600060405180830381600087803b158015611db857600080fd5b505af1158015611dcc573d6000803e3d6000fd5b50506040516bffffffffffffffffffffffff1930606090811b8216602084015287811b821660348401528d901b166048820152605c81018b90526001600160c01b031960c086811b8216607c8401528a811b8216608484015246901b16608c820152600092506094019050604051602081830303815290604052805190602001209050856001600160a01b0316634289fbb38c86868986611e6c8f61233d565b6040518763ffffffff1660e01b8152600401611e8c9594939291906129d0565b6000604051808303818588803b158015611ea557600080fd5b505af1158015611eb9573d6000803e3d6000fd5b50505050505050505050505050505050565b6000604051905060048101604052630d0e30db60e41b8152611ef38383836004600080611645565b610db15760405163bdc844ed60e01b815260040160405180910390fd5b600060405190506044810160405263095ea7b360e01b8152826004820152816024820152611f45846000836044600080611645565b610d595760006024820152611f61846000836044600080611645565b611f7e576040516340b27c2160e11b815260040160405180910390fd5b816024820152611f95846000836044600080611645565b610d59576040516340b27c2160e11b815260040160405180910390fd5b6000806040516024356042013560f01c60448103818301604052630563da2560e21b835260206004840152806024840152604051602081016040528160448086013760208184868a8c5af194506001850361200c57805195505b505050509250929050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060600080856001600160a01b0316856040516120849190612a12565b600060405180830381855af49150503d80600081146120bf576040519150601f19603f3d011682016040523d82523d6000602084013e6120c4565b606091505b50915091506120d586838387612367565b9695505050505050565b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091528183018a9052606082018990524660808301523060a0808401919091528351808403909101815260c090920190925280519101206000906000806000803060208b01523360408b01528a5160608b015260208b015160808b015260408b015160a08b015260608b015160c08b015260808b015160e08b015260a08b01516101008b015260c08b01516101208b015260016101008c0151036121c1576101208b01516101408b01526101408b01516101608b01525b888a206040519a5060428b0160405261190160f01b8b528560028c01528060228c01525060428a209350609035925060b035915060d03560f81c90508715612242576000612211858585856123e0565b9050339650806000528760205260016040600020541461223c57638baa579f60e01b60005260046000fd5b50612279565b61224e848484846123e0565b9550306001600160a01b0387160361227957604051638baa579f60e01b815260040160405180910390fd5b5050505050979650505050505050565b60405160e4810160405263d505accf60e01b81528760048201528660248201528560448201528460648201528360848201528260a48201528160c482015260008060e48360008d5af150505050505050505050565b60006040519050606481016040526323b872dd60e01b8152836004820152826024820152816044820152612319856000836064600080611645565b61233657604051631e4e7d0960e21b815260040160405180910390fd5b5050505050565b60408051602080825281830190925260609160208201818036833750505060208101929092525090565b606083156123d65782516000036123cf576001600160a01b0385163b6123cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109cd565b508161071f565b61071f83836124e0565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561242357604051638baa579f60e01b815260040160405180910390fd5b8160ff16601b1415801561243b57508160ff16601c14155b1561245957604051638baa579f60e01b815260040160405180910390fd5b60408051600081526020810180835287905260ff841691810191909152606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156124ac573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661071f57604051638baa579f60e01b815260040160405180910390fd5b8151156124f05781518083602001fd5b8060405162461bcd60e51b81526004016109cd9190612a2e565b6001600160a01b03811681146109df57600080fd5b60008083601f84011261253157600080fd5b5081356001600160401b0381111561254857600080fd5b60208301915083602082850101111561256057600080fd5b9250929050565b60008060008060006080868803121561257f57600080fd5b853561258a8161250a565b94506020860135935060408601356001600160401b038111156125ac57600080fd5b6125b88882890161251f565b90945092505060608601356125cc8161250a565b809150509295509295909350565b60208101600583106125fc57634e487b7160e01b600052602160045260246000fd5b91905290565b60006020828403121561261457600080fd5b813561163e8161250a565b6000806020838503121561263257600080fd5b82356001600160401b0381111561264857600080fd5b6126548582860161251f565b90969095509350505050565b6000806040838503121561267357600080fd5b823561267e8161250a565b91506020830135801515811461269357600080fd5b809150509250929050565b6000602082840312156126b057600080fd5b5035919050565b600080600080600080600060c0888a0312156126d257600080fd5b87356126dd8161250a565b965060208801356126ed8161250a565b95506040880135945060608801356001600160401b03808216821461271157600080fd5b9094506080890135908082111561272757600080fd5b506127348a828b0161251f565b90945092505060a08801356127488161250a565b8091505092959891949750929550565b6000806020838503121561276b57600080fd5b82356001600160401b038082111561278257600080fd5b818501915085601f83011261279657600080fd5b8135818111156127a557600080fd5b8660208260051b85010111156127ba57600080fd5b60209290920196919550909350505050565b60005b838110156127e75781810151838201526020016127cf565b50506000910152565b600081518084526128088160208601602086016127cc565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561287357603f198886030184526128618583516127f0565b94509285019290850190600101612845565b5092979650505050505050565b6000806040838503121561289357600080fd5b8235915060208301356126938161250a565b634e487b7160e01b600052601160045260246000fd5b80820180821115610be457610be46128a5565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261291157600080fd5b8301803591506001600160401b0382111561292b57600080fd5b60200191503681900382131561256057600080fd5b60006001600160401b0380831681810361295c5761295c6128a5565b6001019392505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906116a7908301846127f0565b81810381811115610be457610be46128a5565b6000602082840312156129c557600080fd5b815161163e8161250a565b6001600160a01b0386811682526001600160401b0386166020830152841660408201526060810183905260a0608082018190526000906116a7908301846127f0565b60008251612a248184602087016127cc565b9190910192915050565b60208152600061163e60208301846127f056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b3531c0769308a1c0f8ee4874322b56b29aca88e60617f1d8e5035182fabfa4e64736f6c63430008180033