0 txs
0 calls
constructor
constructor(address erc20, uint256 _scale, address _mailbox)
functions
balanceOf
viewfunction balanceOf(address _account) view returns (uint256)
destinationGas
viewfunction destinationGas(uint32) view returns (uint256)
domains
viewfunction domains() view returns (uint32[])
hook
viewfunction hook() view returns (address)
interchainSecurityModule
viewfunction interchainSecurityModule() view returns (address)
localDomain
viewfunction localDomain() view returns (uint32)
mailbox
viewfunction mailbox() view returns (address)
owner
viewfunction owner() view returns (address)
PACKAGE_VERSION
viewfunction PACKAGE_VERSION() view returns (string)
quoteGasPayment
viewfunction quoteGasPayment(uint32 _destinationDomain) view returns (uint256)
routers
viewfunction routers(uint32 _domain) view returns (bytes32)
scale
viewfunction scale() view returns (uint256)
wrappedToken
viewfunction wrappedToken() view returns (address)
enrollRemoteRouter
nonpayablefunction enrollRemoteRouter(uint32 _domain, bytes32 _router)
enrollRemoteRouters
nonpayablefunction enrollRemoteRouters(uint32[] _domains, bytes32[] _addresses)
handle
payablefunction handle(uint32 _origin, bytes32 _sender, bytes _message) payable
initialize
nonpayablefunction initialize(address _hook, address _interchainSecurityModule, address _owner)
renounceOwnership
nonpayablefunction renounceOwnership()
setDestinationGas
nonpayablefunction setDestinationGas(tuple[] gasConfigs)
setDestinationGas
nonpayablefunction setDestinationGas(uint32 domain, uint256 gas)
setHook
nonpayablefunction setHook(address _hook)
setInterchainSecurityModule
nonpayablefunction setInterchainSecurityModule(address _module)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
transferRemote
payablefunction transferRemote(uint32 _destination, bytes32 _recipient, uint256 _amountOrId, bytes _hookMetadata, address _hook) payable returns (bytes32 messageId)
transferRemote
payablefunction transferRemote(uint32 _destination, bytes32 _recipient, uint256 _amountOrId) payable returns (bytes32 messageId)
unenrollRemoteRouter
nonpayablefunction unenrollRemoteRouter(uint32 _domain)
unenrollRemoteRouters
nonpayablefunction unenrollRemoteRouters(uint32[] _domains)
events
GasSet
event GasSet(uint32 domain, uint256 gas)
HookSet
event HookSet(address _hook)
Initialized
event Initialized(uint8 version)
IsmSet
event IsmSet(address _ism)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ReceivedTransferRemote
event ReceivedTransferRemote(uint32 indexed origin, bytes32 indexed recipient, uint256 amount)
SentTransferRemote
event SentTransferRemote(uint32 indexed destination, bytes32 indexed recipient, uint256 amount)
errors
No errors.
creation bytecode
0x6101006040523480156200001257600080fd5b5060405162002dda38038062002dda833981016040819052620000359162000210565b818180808080806001600160a01b0381163b620000995760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010a919062000251565b63ffffffff1660a0526200011e33620001a1565b50505060c0939093525050506001600160a01b0383163b6200018d5760405162461bcd60e51b815260206004820152602160248201527f4879704552433230436f6c6c61746572616c3a20696e76616c696420746f6b656044820152603760f91b606482015260840162000090565b50506001600160a01b031660e05262000280565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200020b57600080fd5b919050565b6000806000606084860312156200022657600080fd5b6200023184620001f3565b9250602084015191506200024860408501620001f3565b90509250925092565b6000602082840312156200026457600080fd5b815163ffffffff811681146200027957600080fd5b9392505050565b60805160a05160c05160e051612ae8620002f26000396000818161045101528181610acb015281816115fc015261187c0152600081816105c60152818161163f015261183d015260006103870152600081816104e5015281816109270152818161167401526119c70152612ae86000f3fe6080604052600436106101ac5760003560e01c80638d3638f4116100ec578063d5438eae1161008a578063efae508a11610064578063efae508a14610554578063f2ed8c5314610574578063f2fde38b14610594578063f51e181a146105b457600080fd5b8063d5438eae146104d3578063de523cf314610507578063e9198bf91461053457600080fd5b8063996c6cc3116100c6578063996c6cc31461043f578063b1bd643614610473578063b49c53a714610493578063c0c53b8b146104b357600080fd5b80638d3638f4146103755780638da5cb5b146103be57806393c44847146103e957600080fd5b806356d5d4751161015957806371a15b381161013357806371a15b38146102c3578063775313a1146102e35780637f5a7c7b1461031057806381b4e8b41461036257600080fd5b806356d5d4751461027b57806370a082311461028e578063715018a6146102ae57600080fd5b8063440df4f41161018a578063440df4f41461022657806349d462ef1461024857806351debffc1461026857600080fd5b80630e72cc06146101b15780632ead72f6146101d35780633dfd387314610206575b600080fd5b3480156101bd57600080fd5b506101d16101cc366004612346565b6105e8565b005b3480156101df57600080fd5b506101f36101ee366004612375565b610736565b6040519081526020015b60405180910390f35b34801561021257600080fd5b506101d1610221366004612346565b610755565b34801561023257600080fd5b5061023b610896565b6040516101fd9190612390565b34801561025457600080fd5b506101d16102633660046123da565b6108a7565b6101f3610276366004612446565b6108bd565b6101d16102893660046124bd565b61090f565b34801561029a57600080fd5b506101f36102a9366004612346565b610a83565b3480156102ba57600080fd5b506101d1610b3e565b3480156102cf57600080fd5b506101d16102de36600461255c565b610b52565b3480156102ef57600080fd5b506101f36102fe366004612375565b60ca6020526000908152604090205481565b34801561031c57600080fd5b5060655461033d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101fd565b6101f361037036600461259e565b610bad565b34801561038157600080fd5b506103a97f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101fd565b3480156103ca57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661033d565b3480156103f557600080fd5b506104326040518060400160405280600581526020017f372e312e3400000000000000000000000000000000000000000000000000000081525081565b6040516101fd919061263f565b34801561044b57600080fd5b5061033d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561047f57600080fd5b506101d161048e366004612652565b610bbb565b34801561049f57600080fd5b506101d16104ae3660046123da565b610c31565b3480156104bf57600080fd5b506101d16104ce3660046126c7565b610c43565b3480156104df57600080fd5b5061033d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561051357600080fd5b5060665461033d9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561054057600080fd5b506101d161054f36600461270a565b610dda565b34801561056057600080fd5b506101d161056f366004612375565b610eb9565b34801561058057600080fd5b506101f361058f366004612375565b610ecd565b3480156105a057600080fd5b506101d16105af366004612346565b610f2e565b3480156105c057600080fd5b506101f37f000000000000000000000000000000000000000000000000000000000000000081565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610622575073ffffffffffffffffffffffffffffffffffffffff8116155b6106b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6106bb610fe2565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527fc47cbcc588c67679e52261c45cc315e56562f8d0ccaba16facb9093ff9498799906020015b60405180910390a15050565b60008061074d609763ffffffff8086169061106316565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061078f575073ffffffffffffffffffffffffffffffffffffffff8116155b61081b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016106aa565b610823610fe2565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f4eab7b127c764308788622363ad3e9532de3dfba7845bd4f84c125a22544255a9060200161072a565b60606108a2609761107c565b905090565b6108af610fe2565b6108b9828261112d565b5050565b60006109048787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a925061117b915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146109d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f780000000000000000000000000000000000000000000000000000000000000060648201526084016106aa565b60006109df85611202565b9050838114610a70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e64657200000000000000000000000000000000000000000000000000000060648201526084016106aa565b610a7c85858585611267565b5050505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b38919061276a565b92915050565b610b46610fe2565b610b5060006112fb565b565b610b5a610fe2565b8060005b81811015610ba757610b95848483818110610b7b57610b7b612783565b9050602002016020810190610b909190612375565b611372565b610ba06001826127e1565b9050610b5e565b50505050565b600061074d848484346113c7565b610bc3610fe2565b60005b81811015610c2c57610c1a838383818110610be357610be3612783565b610bf99260206040909202019081019150612375565b848484818110610c0b57610c0b612783565b9050604002016020013561112d565b610c256001826127e1565b9050610bc6565b505050565b610c39610fe2565b6108b98282611400565b600054610100900460ff1615808015610c635750600054600160ff909116105b80610c7d5750303b158015610c7d575060005460ff166001145b610d09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106aa565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610d6757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d72848484611416565b8015610ba757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b610de2610fe2565b828114610e4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016106aa565b8260005b81811015610eb157610e9f868683818110610e6c57610e6c612783565b9050602002016020810190610e819190612375565b858584818110610e9357610e93612783565b90506020020135611400565b610eaa6001826127e1565b9050610e4f565b505050505050565b610ec1610fe2565b610eca81611372565b50565b6000610b3882610f106000801b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051806020016040528060008152506114d0565b60655473ffffffffffffffffffffffffffffffffffffffff166114ff565b610f36610fe2565b73ffffffffffffffffffffffffffffffffffffffff8116610fd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106aa565b610eca816112fb565b60335473ffffffffffffffffffffffffffffffffffffffff163314610b50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106aa565b6000806110708484611515565b915091505b9250929050565b606060006110898361154f565b9050805167ffffffffffffffff8111156110a5576110a56127f4565b6040519080825280602002602001820160405280156110ce578160200160208202803683370190505b50915060005b8151811015611126578181815181106110ef576110ef612783565b602002602001015183828151811061110957611109612783565b63ffffffff909216602092830291909101909101526001016110d4565b5050919050565b63ffffffff8216600081815260ca6020908152604091829020849055815192835282018390527fc3de732a98b24a2b5c6f67e8a7fb057ffc14046b83968a2c73e4148d2fba978b910161072a565b600080611187866115e0565b9050600061119487611638565b905060006111a38983856114d0565b90506111b28a88838989611664565b9350888a63ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec846040516111ed91815260200190565b60405180910390a35050509695505050505050565b6000808061121a609763ffffffff8087169061106316565b91509150811561122b579392505050565b61123484611717565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106aa919061263f565b6000611273838361174e565b90506000611281848461176d565b9050366000611290868661177d565b915091506112b06112a08561178d565b6112a985611836565b8484611862565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a6856040516112e991815260200190565b60405180910390a35050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611386609763ffffffff808416906118a316565b61138f82611717565b906108b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106aa919061263f565b60006113f7858585856113d98a6118af565b60655473ffffffffffffffffffffffffffffffffffffffff1661117b565b95945050505050565b6108b9609763ffffffff8085169084906118d116565b600054610100900460ff166114ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106aa565b6114b56118dc565b6114be83610755565b6114c7826105e8565b610c2c816112fb565b60608383836040516020016114e793929190612823565b60405160208183030381529060405290509392505050565b600061074d848461150f876118af565b8561197b565b6000818152600283016020526040812054819080611544576115378585611a4f565b9250600091506110759050565b600192509050611075565b6060600061155c83611a5b565b90508067ffffffffffffffff811115611577576115776127f4565b6040519080825280602002602001820160405280156115a0578160200160208202803683370190505b50915060005b81811015611126576115b88482611a66565b60001c8382815181106115cd576115cd612783565b60209081029190910101526001016115a6565b606061162473ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016333085611a72565b505060408051602081019091526000815290565b6000610b387f000000000000000000000000000000000000000000000000000000000000000083612850565b60008061167087611202565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016116d4959493929190612867565b60206040518083038185885af11580156116f2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610904919061276a565b60606117288263ffffffff16611b4e565b60405160200161173891906128c7565b6040516020818303038152906040529050919050565b600061175d602082848661290c565b61176691612936565b9392505050565b600061175d60406020848661290c565b366000611070836040818761290c565b600073ffffffffffffffffffffffffffffffffffffffff821115611832576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f770000000000000000000000000000000000000000000000000000000060648201526084016106aa565b5090565b6000610b387f000000000000000000000000000000000000000000000000000000000000000083612972565b610ba773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168585611c0c565b60006117668383611c62565b63ffffffff8116600090815260ca6020526040902054606090610b3890611c7f565b610ba7838383611c9d565b600054610100900460ff16611973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106aa565b610b50611cba565b60008061198786611202565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea9590611a0490899085908a908a908a90600401612867565b602060405180830381865afa158015611a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a45919061276a565b9695505050505050565b60006117668383611d5a565b6000610b3882611d72565b60006117668383611d7c565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052610ba79085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611da6565b60606000611b5b83611eb5565b600101905060008167ffffffffffffffff811115611b7b57611b7b6127f4565b6040519080825280601f01601f191660200182016040528015611ba5576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084611baf57509392505050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610c2c9084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611acc565b600081815260028301602052604081208190556117668383611f97565b6060610b386000833360405180602001604052806000815250611fa3565b6000828152600284016020526040812082905561074d8484611fd8565b600054610100900460ff16611d51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106aa565b610b50336112fb565b60008181526001830160205260408120541515611766565b6000610b38825490565b6000826000018281548110611d9357611d93612783565b9060005260206000200154905092915050565b6000611e08826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611fe49092919063ffffffff16565b9050805160001480611e29575080806020019051810190611e2991906129ad565b610c2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106aa565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611efe577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611f2a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611f4857662386f26fc10000830492506010015b6305f5e1008310611f60576305f5e100830492506008015b6127108310611f7457612710830492506004015b60648310611f86576064830492506002015b600a8310610b385760010192915050565b60006117668383611ff3565b6060600185858585604051602001611fbf9594939291906129cf565b6040516020818303038152906040529050949350505050565b600061176683836120e6565b606061074d8484600085612135565b600081815260018301602052604081205480156120dc576000612017600183612a54565b855490915060009061202b90600190612a54565b905081811461209057600086600001828154811061204b5761204b612783565b906000526020600020015490508087600001848154811061206e5761206e612783565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806120a1576120a1612a67565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b38565b6000915050610b38565b600081815260018301602052604081205461212d57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b38565b506000610b38565b6060824710156121c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106aa565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516121f09190612a96565b60006040518083038185875af1925050503d806000811461222d576040519150601f19603f3d011682016040523d82523d6000602084013e612232565b606091505b509150915061090487838387606083156122d45782516000036122cd5773ffffffffffffffffffffffffffffffffffffffff85163b6122cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106aa565b508161074d565b61074d83838151156122e95781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106aa919061263f565b803573ffffffffffffffffffffffffffffffffffffffff8116811461234157600080fd5b919050565b60006020828403121561235857600080fd5b6117668261231d565b803563ffffffff8116811461234157600080fd5b60006020828403121561238757600080fd5b61176682612361565b6020808252825182820181905260009190848201906040850190845b818110156123ce57835163ffffffff16835292840192918401916001016123ac565b50909695505050505050565b600080604083850312156123ed57600080fd5b6123f683612361565b946020939093013593505050565b60008083601f84011261241657600080fd5b50813567ffffffffffffffff81111561242e57600080fd5b60208301915083602082850101111561107557600080fd5b60008060008060008060a0878903121561245f57600080fd5b61246887612361565b95506020870135945060408701359350606087013567ffffffffffffffff81111561249257600080fd5b61249e89828a01612404565b90945092506124b190506080880161231d565b90509295509295509295565b600080600080606085870312156124d357600080fd5b6124dc85612361565b935060208501359250604085013567ffffffffffffffff8111156124ff57600080fd5b61250b87828801612404565b95989497509550505050565b60008083601f84011261252957600080fd5b50813567ffffffffffffffff81111561254157600080fd5b6020830191508360208260051b850101111561107557600080fd5b6000806020838503121561256f57600080fd5b823567ffffffffffffffff81111561258657600080fd5b61259285828601612517565b90969095509350505050565b6000806000606084860312156125b357600080fd5b6125bc84612361565b95602085013595506040909401359392505050565b60005b838110156125ec5781810151838201526020016125d4565b50506000910152565b6000815180845261260d8160208601602086016125d1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061176660208301846125f5565b6000806020838503121561266557600080fd5b823567ffffffffffffffff8082111561267d57600080fd5b818501915085601f83011261269157600080fd5b8135818111156126a057600080fd5b8660208260061b85010111156126b557600080fd5b60209290920196919550909350505050565b6000806000606084860312156126dc57600080fd5b6126e58461231d565b92506126f36020850161231d565b91506127016040850161231d565b90509250925092565b6000806000806040858703121561272057600080fd5b843567ffffffffffffffff8082111561273857600080fd5b61274488838901612517565b9096509450602087013591508082111561275d57600080fd5b5061250b87828801612517565b60006020828403121561277c57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610b3857610b386127b2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b838152826020820152600082516128418160408501602087016125d1565b91909101604001949350505050565b8082028115828204841417610b3857610b386127b2565b63ffffffff8616815284602082015260a06040820152600061288c60a08301866125f5565b828103606084015261289e81866125f5565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a20008152600082516128ff81601f8501602087016125d1565b91909101601f0192915050565b6000808585111561291c57600080fd5b8386111561292957600080fd5b5050820193919092039150565b80356020831015610b38577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b6000826129a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000602082840312156129bf57600080fd5b8151801515811461176657600080fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251612a438160568501602087016125d1565b919091016056019695505050505050565b81810381811115610b3857610b386127b2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008251612aa88184602087016125d1565b919091019291505056fea2646970667358221220be6fbf37447a821bc2529df80b6d8ea1b0b71df5db9677e43164ba11c7a9a14064736f6c63430008160033000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029130000000000000000000000000000000000000000000000000000000000000001000000000000000000000000ea87ae93fa0019a82a727bfd3ebd1cfca8f64f1d