zerc20-client-sdk 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -9
- package/dist/assets/abi/Verifier.json +2093 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/operations/receive/__tests__/redeemTransaction.test.js +38 -0
- package/dist/operations/receive/__tests__/redeemTransaction.test.js.map +1 -1
- package/dist/operations/receive/index.d.ts +1 -1
- package/dist/operations/receive/index.d.ts.map +1 -1
- package/dist/operations/receive/index.js.map +1 -1
- package/dist/operations/receive/redeemTransaction.d.ts +2 -1
- package/dist/operations/receive/redeemTransaction.d.ts.map +1 -1
- package/dist/operations/receive/redeemTransaction.js +11 -5
- package/dist/operations/receive/redeemTransaction.js.map +1 -1
- package/dist/operations/receive/types.d.ts +25 -2
- package/dist/operations/receive/types.d.ts.map +1 -1
- package/dist/operations/relay/__tests__/relay.test.d.ts +2 -0
- package/dist/operations/relay/__tests__/relay.test.d.ts.map +1 -0
- package/dist/operations/relay/__tests__/relay.test.js +421 -0
- package/dist/operations/relay/__tests__/relay.test.js.map +1 -0
- package/dist/operations/relay/index.d.ts +3 -0
- package/dist/operations/relay/index.d.ts.map +1 -0
- package/dist/operations/relay/index.js +2 -0
- package/dist/operations/relay/index.js.map +1 -0
- package/dist/operations/relay/relay.d.ts +18 -0
- package/dist/operations/relay/relay.d.ts.map +1 -0
- package/dist/operations/relay/relay.js +162 -0
- package/dist/operations/relay/relay.js.map +1 -0
- package/dist/operations/relay/types.d.ts +70 -0
- package/dist/operations/relay/types.d.ts.map +1 -0
- package/dist/operations/relay/types.js +2 -0
- package/dist/operations/relay/types.js.map +1 -0
- package/package.json +16 -16
|
@@ -1 +1,2093 @@
|
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[{"name":"endpoint","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"activateEmergency","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowInitializePath","inputs":[{"name":"origin","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"deactivateEmergency","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"endpoint","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ILayerZeroEndpointV2"}],"stateMutability":"view"},{"type":"function","name":"globalTransferRoots","inputs":[{"name":"index","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"hubEid","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"token_","type":"address","internalType":"address"},{"name":"hubEid_","type":"uint32","internalType":"uint32"},{"name":"delegate","type":"address","internalType":"address"},{"name":"rootDecider_","type":"address","internalType":"address"},{"name":"withdrawGlobalDecider_","type":"address","internalType":"address"},{"name":"withdrawLocalDecider_","type":"address","internalType":"address"},{"name":"singleWithdrawGlobalVerifier_","type":"address","internalType":"address"},{"name":"singleWithdrawLocalVerifier_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isComposeMsgSender","inputs":[{"name":"","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]},{"name":"","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isUpToDate","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"latestAggSeq","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"latestProvedIndex","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"latestRelayedIndex","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"latestReservedIndex","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"lzReceive","inputs":[{"name":"_origin","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]},{"name":"_guid","type":"bytes32","internalType":"bytes32"},{"name":"_message","type":"bytes","internalType":"bytes"},{"name":"_executor","type":"address","internalType":"address"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"nextNonce","inputs":[{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"oAppVersion","inputs":[],"outputs":[{"name":"senderVersion","type":"uint64","internalType":"uint64"},{"name":"receiverVersion","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"paused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"peers","inputs":[{"name":"_eid","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proveTransferRoot","inputs":[{"name":"proof","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"provedTransferRoots","inputs":[{"name":"index","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"quoteRelay","inputs":[{"name":"options","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"fee","type":"tuple","internalType":"struct MessagingFee","components":[{"name":"nativeFee","type":"uint256","internalType":"uint256"},{"name":"lzTokenFee","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"relayTransferRoot","inputs":[{"name":"options","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"receipt","type":"tuple","internalType":"struct MessagingReceipt","components":[{"name":"guid","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"fee","type":"tuple","internalType":"struct MessagingFee","components":[{"name":"nativeFee","type":"uint256","internalType":"uint256"},{"name":"lzTokenFee","type":"uint256","internalType":"uint256"}]}]}],"stateMutability":"payable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"reserveHashChain","inputs":[],"outputs":[{"name":"index","type":"uint64","internalType":"uint64"},{"name":"hashChain","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"reservedHashChains","inputs":[{"name":"index","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"rootDecider","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setDelegate","inputs":[{"name":"_delegate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPeer","inputs":[{"name":"_eid","type":"uint32","internalType":"uint32"},{"name":"_peer","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setVerifiers","inputs":[{"name":"newRootDecider","type":"address","internalType":"address"},{"name":"newWithdrawGlobalDecider","type":"address","internalType":"address"},{"name":"newWithdrawLocalDecider","type":"address","internalType":"address"},{"name":"newSingleWithdrawGlobalVerifier","type":"address","internalType":"address"},{"name":"newSingleWithdrawLocalVerifier","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"singleTeleport","inputs":[{"name":"isGlobal","type":"bool","internalType":"bool"},{"name":"rootHint","type":"uint64","internalType":"uint64"},{"name":"gr","type":"tuple","internalType":"struct GeneralRecipientLib.GeneralRecipient","components":[{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"tweak","type":"bytes32","internalType":"bytes32"}]},{"name":"proof","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"singleWithdrawGlobalVerifier","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"singleWithdrawLocalVerifier","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"teleport","inputs":[{"name":"isGlobal","type":"bool","internalType":"bool"},{"name":"rootHint","type":"uint64","internalType":"uint64"},{"name":"gr","type":"tuple","internalType":"struct GeneralRecipientLib.GeneralRecipient","components":[{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"tweak","type":"bytes32","internalType":"bytes32"}]},{"name":"proof","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"totalTeleported","inputs":[{"name":"recipient","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"withdrawGlobalDecider","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"withdrawLocalDecider","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeactivateEmergency","inputs":[],"anonymous":false},{"type":"event","name":"EmergencyTriggered","inputs":[{"name":"index","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"root1","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"root2","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"GlobalRootSaved","inputs":[{"name":"aggSeq","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"root","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"HashChainReserved","inputs":[{"name":"index","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"hashChain","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PeerSet","inputs":[{"name":"eid","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"peer","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Teleport","inputs":[{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"isGlobal","type":"bool","indexed":false,"internalType":"bool"},{"name":"rootHint","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"transferRoot","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"gr","type":"tuple","indexed":false,"internalType":"struct GeneralRecipientLib.GeneralRecipient","components":[{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"recipient","type":"bytes32","internalType":"bytes32"},{"name":"tweak","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"TransferRootProved","inputs":[{"name":"index","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"root","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TransferRootRelayed","inputs":[{"name":"index","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"root","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"lzMsgId","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VerifiersSet","inputs":[{"name":"rootDecider","type":"address","indexed":false,"internalType":"address"},{"name":"withdrawGlobalDecider","type":"address","indexed":false,"internalType":"address"},{"name":"withdrawLocalDecider","type":"address","indexed":false,"internalType":"address"},{"name":"singleWithdrawGlobalVerifier","type":"address","indexed":false,"internalType":"address"},{"name":"singleWithdrawLocalVerifier","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ExpectedRootZero","inputs":[{"name":"rootHint","type":"uint64","internalType":"uint64"}]},{"type":"error","name":"FinalRecipientMismatch","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FinalTransferRootMismatch","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InsufficientMsgValue","inputs":[{"name":"required","type":"uint256","internalType":"uint256"},{"name":"provided","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidDelegate","inputs":[]},{"type":"error","name":"InvalidEndpointCall","inputs":[]},{"type":"error","name":"InvalidHubSource","inputs":[{"name":"srcEid","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"InvalidInitialLastLeafIndex","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidInitialTotalValue","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidProof","inputs":[]},{"type":"error","name":"InvalidRecipientChainId","inputs":[{"name":"provided","type":"uint64","internalType":"uint64"},{"name":"expected","type":"uint64","internalType":"uint64"}]},{"type":"error","name":"LzTokenUnavailable","inputs":[]},{"type":"error","name":"NewHashChainMismatch","inputs":[{"name":"index","type":"uint64","internalType":"uint64"},{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NoPeer","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"NoProvedRoot","inputs":[]},{"type":"error","name":"NotEnoughNative","inputs":[{"name":"msgValue","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NothingToWithdraw","inputs":[{"name":"currentTotal","type":"uint256","internalType":"uint256"},{"name":"totalValue","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OldRootMismatch","inputs":[{"name":"index","type":"uint64","internalType":"uint64"},{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OldRootZero","inputs":[{"name":"index","type":"uint64","internalType":"uint64"}]},{"type":"error","name":"OnlyEndpoint","inputs":[{"name":"addr","type":"address","internalType":"address"}]},{"type":"error","name":"OnlyPeer","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"RecipientMismatch","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ReserveHashChainNotFound","inputs":[{"name":"index","type":"uint64","internalType":"uint64"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"TransferRootMismatch","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ZeroAddress","inputs":[]},{"type":"error","name":"ZeroToken","inputs":[]}],"bytecode":{"object":"0x60c06040523060a052348015610013575f5ffd5b50604051613b1f380380613b1f83398101604081905261003291610128565b6001600160a01b038116608081905261005e576040516307def60560e11b815260040160405180910390fd5b61006661006c565b50610155565b5f54610100900460ff16156100d75760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614610126575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b5f60208284031215610138575f5ffd5b81516001600160a01b038116811461014e575f5ffd5b9392505050565b60805160a0516139636101bc5f395f8181610c6501528181610ca501528181610f7201528181610fb2015261102901525f818161043901528181610a580152818161186901528181611e1e0152818161234101528181612864015261291b01526139635ff3fe608060405260043610610249575f3560e01c806382413eac11610134578063ca466380116100b3578063e9debe0511610078578063e9debe05146106d8578063f2fde38b146106ec578063fa6869481461070b578063fc0c546a1461071f578063ff53cc0414610733578063ff7bd03d14610747575f5ffd5b8063ca46638014610653578063ca5eb5e114610667578063d22f96df14610686578063d4d122441461069a578063e2910dd3146106b9575f5ffd5b80639f487dbd116100f95780639f487dbd1461059d578063a97f176f146105b1578063bb0b6a53146105c5578063be6a2c1514610615578063c172e9e314610634575f5ffd5b806382413eac1461050e57806386106a291461052d5780638da5cb5b1461054d5780638fe64dd41461056a5780639854265f1461057e575f5ffd5b80634a80034f116101cb5780635e280f11116101905780635e280f111461042857806363373bdc1461045b57806369cc1d271461048e578063715018a6146104ad578063755d89f2146104c15780637d25a05e146104d5575f5ffd5b80634a80034f1461039f5780634edddf6b146103cb5780634f1ef286146103ea57806352d1902d146103fd5780635c975abb14610411575f5ffd5b80633400288b116102115780633400288b146103005780633659cfe61461031f578063442bde041461033e578063457e8b97146103625780634600f17c14610376575f5ffd5b806311d297231461024d57806313137d651461026e57806317442b70146102815780631bb29877146102a757806326efeb2b146102d4575b5f5ffd5b348015610258575f5ffd5b5061026c610267366004612d79565b610766565b005b61026c61027c366004612de1565b610a56565b34801561028c575f5ffd5b50604080516001815260026020820152015b60405180910390f35b3480156102b2575f5ffd5b506102c66102c1366004612e8f565b610b11565b60405190815260200161029e565b3480156102df575f5ffd5b506102f36102ee366004612d79565b610b3b565b60405161029e9190612eaa565b34801561030b575f5ffd5b5061026c61031a366004612ed9565b610bdd565b34801561032a575f5ffd5b5061026c610339366004612f01565b610c5b565b348015610349575f5ffd5b50610352610d22565b604051901515815260200161029e565b34801561036d575f5ffd5b5061026c610d4b565b348015610381575f5ffd5b5061038a610d5d565b60405163ffffffff909116815260200161029e565b3480156103aa575f5ffd5b506103b3610d79565b6040516001600160a01b03909116815260200161029e565b3480156103d6575f5ffd5b5061026c6103e5366004612f1c565b610d94565b61026c6103f836600461302a565b610f68565b348015610408575f5ffd5b506102c661101d565b34801561041c575f5ffd5b5060655460ff16610352565b348015610433575f5ffd5b506103b37f000000000000000000000000000000000000000000000000000000000000000081565b348015610466575f5ffd5b5061046f6110ce565b604080516001600160401b03909316835260208301919091520161029e565b348015610499575f5ffd5b506102c66104a83660046130cf565b61122c565b3480156104b8575f5ffd5b5061026c611248565b3480156104cc575f5ffd5b506103b3611259565b3480156104e0575f5ffd5b506104f66104ef366004612ed9565b5f92915050565b6040516001600160401b03909116815260200161029e565b348015610519575f5ffd5b506103526105283660046130e6565b611274565b61054061053b366004612d79565b611289565b60405161029e9190613148565b348015610558575f5ffd5b506033546001600160a01b03166103b3565b348015610575575f5ffd5b506103b36114a1565b348015610589575f5ffd5b5061026c610598366004613196565b6114bc565b3480156105a8575f5ffd5b506104f661167f565b3480156105bc575f5ffd5b506104f661169a565b3480156105d0575f5ffd5b506102c66105df36600461320b565b63ffffffff165f9081527f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f900602052604090205490565b348015610620575f5ffd5b5061026c61062f366004613224565b6116bc565b34801561063f575f5ffd5b506102c661064e366004612e8f565b6117fd565b34801561065e575f5ffd5b506103b3611827565b348015610672575f5ffd5b5061026c610681366004612f01565b611842565b348015610691575f5ffd5b506103b36118c3565b3480156106a5575f5ffd5b5061026c6106b4366004613196565b6118de565b3480156106c4575f5ffd5b506102c66106d3366004612e8f565b6119eb565b3480156106e3575f5ffd5b506104f6611a15565b3480156106f7575f5ffd5b5061026c610706366004612f01565b611a37565b348015610716575f5ffd5b5061026c611aad565b34801561072a575f5ffd5b506103b3611ae7565b34801561073e575f5ffd5b506104f6611aff565b348015610752575f5ffd5b50610352610761366004613291565b611b21565b61076e611b3e565b5f61077b828401846132ab565b60208101516060820151608083015160a084015160c08501519495509293919290915f6107a6611b84565b600181015460405163bd70b10d60e01b81529192506001600160a01b03169063bd70b10d906107d9908a90600401613312565b602060405180830381865afa1580156107f4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108189190613343565b610835576040516309bde33960e01b815260040160405180910390fd5b858561086557604051633e4231c560e21b81526001600160401b0390911660048201526024015b60405180910390fd5b506001600160401b0386165f9081526008820160205260409020548681878082146108bc5760405163330cc0b760e21b81526001600160401b0390931660048401526024830191909152604482015260640161085c565b5050506001600160401b0385165f90815260078301602052604090205485816109045760405163028fb25160e11b81526001600160401b03909116600482015260240161085c565b5085818681811461094157604051637588dabf60e11b81526001600160401b0390931660048401526024830191909152604482015260640161085c565b5050506001600160401b0386165f908152600884016020526040902054801580159061096d5750848114155b156109cd5761097a611c05565b60408051828152602081018790526001600160401b038916917f02c176cf3735d2128d6be5286548b0a34500e9c9826cac57be03a380cb3da3a091015b60405180910390a2505050505050505050505050565b6001600160401b038088165f818152600887016020526040902087905560068601549091161015610a175760068401805467ffffffffffffffff19166001600160401b0389161790555b866001600160401b03167fdea8bdf257f42e5441e81fcac8c8b04c3eb571a8896ea38adf6a8d9989594e13866040516109b791815260200190565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610aa1576040516391ac5e4f60e01b815233600482015260240161085c565b60208701803590610abb90610ab6908a61320b565b611c5f565b14610af957610acd602088018861320b565b60405163309afaf360e21b815263ffffffff90911660048201526020880135602482015260440161085c565b610b0887878787878787611cc2565b50505050505050565b5f610b1a611b84565b6001600160401b039092165f90815260089290920160205250604090205490565b604080518082019091525f8082526020820152604080515f6020820181905291810182905260600160405160208183030381529060405290505f610b7d611b84565b9050610bd2815f0160149054906101000a900463ffffffff168387878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250611e09915050565b925050505b92915050565b610be5611ee7565b63ffffffff82165f8181527f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f900602081815260409283902085905582519384528301849052815190927f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b92908290030190a1505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ca35760405162461bcd60e51b815260040161085c9061335e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610cd5611f41565b6001600160a01b031614610cfb5760405162461bcd60e51b815260040161085c906133aa565b610d0481611f55565b604080515f80825260208201909252610d1f91839190611f5d565b50565b5f5f610d2c611b84565b600601546001600160401b03808216600160801b909204161492915050565b610d53611ee7565b610d5b611c05565b565b5f610d66611b84565b54600160a01b900463ffffffff16919050565b5f610d82611b84565b600401546001600160a01b0316919050565b5f54610100900460ff1615808015610db257505f54600160ff909116105b80610dcb5750303b158015610dcb57505f5460ff166001145b610e2e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161085c565b5f805460ff191660011790558015610e4f575f805461ff0019166101001790555b6001600160a01b038916610e765760405163ad1991f560e01b815260040160405180910390fd5b6001600160a01b0386161580610e9357506001600160a01b038516155b80610ea557506001600160a01b038416155b80610eb757506001600160a01b038316155b80610ec957506001600160a01b038216155b15610ee75760405163d92e233d60e01b815260040160405180910390fd5b610eef6120cc565b610ef8876120fa565b610f00612135565b610f0f8989888888888861215b565b610f18876122bf565b8015610f5d575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610fb05760405162461bcd60e51b815260040161085c9061335e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fe2611f41565b6001600160a01b0316146110085760405162461bcd60e51b815260040161085c906133aa565b61101182611f55565b610a5282826001611f5d565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110bc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161085c565b505f5160206138e75f395f51905f5290565b5f5f5f6110d9611b84565b805460408051632986c0e560e01b815290519293506001600160a01b03909116915f918391632986c0e5916004808201926020929091908290030181865afa158015611127573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061114b91906133f6565b90505f826001600160a01b031663c841eccb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561118a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ae91906133f6565b6001600160401b0383165f81815260078701602090815260409182902084905560058801805467ffffffffffffffff60a01b1916600160a01b8502179055905183815292935090917f31003eef6c7b1b23395ce30d66bb400da7d389a879a5d1e174103a072a4da15f910160405180910390a2909590945092505050565b5f611235611b84565b5f928352600a0160205250604090205490565b611250611ee7565b610d5b5f6122bf565b5f611262611b84565b600501546001600160a01b0316919050565b6001600160a01b03811630145b949350505050565b611291612cf5565b611299611b3e565b5f6112a2611b84565b60068101546001600160401b03165f8181526008830160205260408120549293509091908190036112e6576040516342a5a05760e01b815260040160405180910390fd5b5f818360405160200161130c9291909182526001600160401b0316602082015260400190565b60408051808303601f1901815286546020601f8b018190048102850181019093528984529093505f9261136a92600160a01b90920463ffffffff16918591908c908c90819084018382808284375f9201829052509250611e09915050565b805190915034101561139b578051604051631f2dda7760e21b8152600481019190915234602482015260440161085c565b6040805180820182523481526020838101518183015287548351601f8c018390048302810183019094528a8452919261140292600160a01b900463ffffffff16918691908d908d90819084018382808284375f920191909152508792503391506123109050565b9650846001600160401b03167fbecd78746ad6fbb4486ef62d297810172e63cfafbd02a8306c4e639b8d2a99fd85895f015160405160200161144691815260200190565b60408051601f1981840301815290829052611461929161343b565b60405180910390a2505050600690920180546001600160401b03909216600160801b0267ffffffffffffffff60801b199092169190911790555092915050565b5f6114aa611b84565b600101546001600160a01b0316919050565b6114c4611b3e565b5f6114d182840184613453565b6020810151604082015160608301519293509091801561150757604051632e86b29d60e01b815260040161085c91815260200190565b506080830151801561152f57604051631dfca83b60e01b815260040161085c91815260200190565b5060a08301518281811461155f57604051635701303960e11b81526004810192909252602482015260440161085c565b505060c083015181818114611590576040516328cc402560e11b81526004810192909252602482015260440161085c565b50506101008301515f6115a1611b84565b90505f8a6115bc5760038201546001600160a01b03166115cb565b60028201546001600160a01b03165b604051633b7f43e160e11b81529091506001600160a01b038216906376fe87c2906115fa908990600401613482565b602060405180830381865afa158015611615573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116399190613343565b611656576040516309bde33960e01b815260040160405180910390fd5b6116728b8b878761166c368f90038f018f6134aa565b88612416565b5050505050505050505050565b5f611688611b84565b600601546001600160401b0316919050565b5f6116a3611b84565b60060154600160401b90046001600160401b0316919050565b6116c4611ee7565b6001600160a01b03851615806116e157506001600160a01b038416155b806116f357506001600160a01b038316155b8061170557506001600160a01b038216155b8061171757506001600160a01b038116155b156117355760405163d92e233d60e01b815260040160405180910390fd5b5f61173e611b84565b6001810180546001600160a01b038981166001600160a01b031992831681179093556002840180548a831690841681179091556003850180548a841690851681179091556004860180548a85169086168117909155600587018054948a1694909516841790945560408051958652602086019290925290840152606083019190915260808201529091507f86e921feae1a6de3eeb32b9dc98b020ef7315fcc4e001aa492a401a87f08c3329060a00160405180910390a1505050505050565b5f611806611b84565b6001600160401b039092165f90815260099290920160205250604090205490565b5f611830611b84565b600301546001600160a01b0316919050565b61184a611ee7565b60405163ca5eb5e160e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e1906024015f604051808303815f87803b1580156118aa575f5ffd5b505af11580156118bc573d5f5f3e3d5ffd5b5050505050565b5f6118cc611b84565b600201546001600160a01b0316919050565b6118e6611b3e565b5f8080806118f685870187613540565b93509350935093505f611907611b84565b90505f8a6119225760058201546001600160a01b0316611931565b60048201546001600160a01b03165b6040516308a3cff560e11b81529091506001600160a01b038216906311479fea90611966908990899089908990600401613645565b602060405180830381865afa158015611981573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119a59190613343565b6119c2576040516309bde33960e01b815260040160405180910390fd5b82516020840151611672918d918d91906119e1368f90038f018f6134aa565b6040890151612416565b5f6119f4611b84565b6001600160401b039092165f90815260079290920160205250604090205490565b5f611a1e611b84565b60050154600160a01b90046001600160401b0316919050565b611a3f611ee7565b6001600160a01b038116611aa45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161085c565b610d1f816122bf565b611ab5611ee7565b611abd6126b0565b6040517fdfa56b6600f240ff7756b305d2d62f4944b4ac961293b1dcc8bd8440da55131d905f90a1565b5f611af0611b84565b546001600160a01b0316919050565b5f611b08611b84565b60060154600160801b90046001600160401b0316919050565b5f60208201803590611b37906105df908561320b565b1492915050565b60655460ff1615610d5b5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161085c565b60408051808201909152601781527f7a65726332302e73746f726167652e76657269666965720000000000000000006020909101527f9185b5f3f898f91cdf6d1ed1d9474630ec25b82655201747372f331a8bbfccee5f908152807fdc881cb05e4e981d28f2c49ec9604b5a0676bcc75afb8e4a2cd07140c6b7ae00610bd7565b611c0d611b3e565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611c423390565b6040516001600160a01b03909116815260200160405180910390a1565b63ffffffff81165f9081527f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f9006020819052604082205480611cbb5760405163f6ff4fb760e01b815263ffffffff8516600482015260240161085c565b9392505050565b5f611ccb611b84565b8054909150600160a01b900463ffffffff16611cea60208a018a61320b565b63ffffffff1614611cfe60208a018a61320b565b90611d2557604051631a59c90d60e01b815263ffffffff909116600482015260240161085c565b505f80611d34878901896136c8565b6001600160401b0381165f90815260098601602052604081205492945090925003611db0576001600160401b0381165f81815260098501602052604090819020849055517fb063c3c8bed53deba8a716145e50ba4052865173924535149e9d4f706f0dcf0390611da79085815260200190565b60405180910390a25b60068301546001600160401b03600160401b90910481169082161115611dfd576006830180546fffffffffffffffff00000000000000001916600160401b6001600160401b038416021790555b50505050505050505050565b604080518082019091525f80825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff168152602001611e6b89611c5f565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611ea09291906136f6565b6040805180830381865afa158015611eba573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ede91906137ba565b95945050505050565b6033546001600160a01b03163314610d5b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161085c565b5f5f5160206138e75f395f51905f52611af0565b610d1f611ee7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f9557611f90836126e9565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611fef575060408051601f3d908101601f19168201909252611fec918101906133f6565b60015b6120525760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161085c565b5f5160206138e75f395f51905f5281146120c05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161085c565b50611f90838383612784565b5f54610100900460ff166120f25760405162461bcd60e51b815260040161085c906137d4565b610d5b6127ae565b5f54610100900460ff166121205760405162461bcd60e51b815260040161085c906137d4565b612129816127dd565b612131612135565b610d1f5b5f54610100900460ff16610d5b5760405162461bcd60e51b815260040161085c906137d4565b5f54610100900460ff166121815760405162461bcd60e51b815260040161085c906137d4565b61218961280c565b5f612192611b84565b80546001600160a01b038a81166001600160c01b031990921691909117600160a01b63ffffffff8b16021782556001820180546001600160a01b03199081168a841690811790925560028401805482168a851690811790915560038501805483168a861690811790915560048601805484168a871690811790915560058701805490941695891695861790935560408051948552602085019290925290830152606082015260808101919091529091507f86e921feae1a6de3eeb32b9dc98b020ef7315fcc4e001aa492a401a87f08c3329060a00160405180910390a15f80805260088201602052604090207f1334fa4b552f00ef403361c935c1abcf896851003c40daa93bb0fd0a0bb9a8819055600601805467ffffffffffffffff60801b1916905550505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b612318612cf5565b5f612325845f015161283a565b60208501519091501561233f5761233f8460200151612861565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff16815260200161238f8c611c5f565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b81526004016123ca9291906136f6565b60806040518083038185885af11580156123e6573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061240b919061381f565b979650505050505050565b5f61241f611b84565b90505f87612446576001600160401b0387165f908152600883016020526040902054612461565b6001600160401b0387165f9081526009830160205260409020545b9050868161248e5760405163098bd70560e01b81526001600160401b03909116600482015260240161085c565b5080868181146124ba57604051631d7b51f760e11b81526004810192909252602482015260440161085c565b50505f6124c685612940565b905080868082146124f35760405163971ca9a960e01b81526004810192909252602482015260440161085c565b505084514690816001600160401b03828116908216146125395760405163117fcbdd60e11b81526001600160401b0392831660048201529116602482015260440161085c565b50505f878152600a85016020526040902054808681811161257657604051630ba6546d60e11b81526004810192909252602482015260440161085c565b505f9050612584828861387d565b90508086600a015f8b81526020019081526020015f205f8282546125a89190613890565b9091555050602088015186546040516304ddf0a560e01b81526001600160a01b03808416600483015260248201859052909116906304ddf0a5906044015f604051808303815f87803b1580156125fc575f5ffd5b505af115801561260e573d5f5f3e3d5ffd5b50505050806001600160a01b03167f30ce5e5a039f8d58997d73d7977f2b4bee9bd3917a6232f95277cc1b5fc62621838f8f8f8e6040516126999594939291909485529215156020808601919091526001600160401b039283166040808701919091526060860192909252835190921660808501529082015160a0840152015160c082015260e00190565b60405180910390a250505050505050505050505050565b6126b86129f2565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611c42565b6001600160a01b0381163b6127565760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161085c565b5f5160206138e75f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b61278d83612a3b565b5f825111806127995750805b15611f90576127a88383612a7a565b50505050565b5f54610100900460ff166127d45760405162461bcd60e51b815260040161085c906137d4565b610d5b336122bf565b5f54610100900460ff166128035760405162461bcd60e51b815260040161085c906137d4565b610d1f81612a9f565b5f54610100900460ff166128325760405162461bcd60e51b815260040161085c906137d4565b610d5b612aec565b5f81341461285d576040516304fb820960e51b815234600482015260240161085c565b5090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128be573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128e291906138a3565b90506001600160a01b03811661290b576040516329b99a9560e11b815260040160405180910390fd5b610a526001600160a01b038216337f000000000000000000000000000000000000000000000000000000000000000085612b1e565b5f5f6002835f0151846020015185604001516040516020016129849392919060c09390931b6001600160c01b03191683526008830191909152602882015260480190565b60408051601f198184030181529082905261299e916138be565b602060405180830381855afa1580156129b9573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906129dc91906133f6565b6001600160f81b0316600160f81b179392505050565b60655460ff16610d5b5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161085c565b612a44816126e9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060611cbb838360405180606001604052806027815260200161390760279139612b78565b5f54610100900460ff16612ac55760405162461bcd60e51b815260040161085c906137d4565b6001600160a01b03811661184a57604051632d618d8160e21b815260040160405180910390fd5b5f54610100900460ff16612b125760405162461bcd60e51b815260040161085c906137d4565b6065805460ff19169055565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526127a8908590612bec565b60605f5f856001600160a01b031685604051612b9491906138be565b5f60405180830381855af49150503d805f8114612bcc576040519150601f19603f3d011682016040523d82523d5f602084013e612bd1565b606091505b5091509150612be286838387612c58565b9695505050505050565b5f5f60205f8451602086015f885af180612c0b576040513d5f823e3d81fd5b50505f513d91508115612c22578060011415612c2f565b6001600160a01b0384163b155b156127a857604051635274afe760e01b81526001600160a01b038516600482015260240161085c565b60608315612cc65782515f03612cbf576001600160a01b0385163b612cbf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161085c565b5081611281565b6112818383815115612cdb5781518083602001fd5b8060405162461bcd60e51b815260040161085c91906138d4565b60405180606001604052805f81526020015f6001600160401b03168152602001612d3060405180604001604052805f81526020015f81525090565b905290565b5f5f83601f840112612d45575f5ffd5b5081356001600160401b03811115612d5b575f5ffd5b602083019150836020828501011115612d72575f5ffd5b9250929050565b5f5f60208385031215612d8a575f5ffd5b82356001600160401b03811115612d9f575f5ffd5b612dab85828601612d35565b90969095509350505050565b5f60608284031215612dc7575f5ffd5b50919050565b6001600160a01b0381168114610d1f575f5ffd5b5f5f5f5f5f5f5f60e0888a031215612df7575f5ffd5b612e018989612db7565b96506060880135955060808801356001600160401b03811115612e22575f5ffd5b612e2e8a828b01612d35565b90965094505060a0880135612e4281612dcd565b925060c08801356001600160401b03811115612e5c575f5ffd5b612e688a828b01612d35565b989b979a50959850939692959293505050565b6001600160401b0381168114610d1f575f5ffd5b5f60208284031215612e9f575f5ffd5b8135611cbb81612e7b565b815181526020808301519082015260408101610bd7565b803563ffffffff81168114612ed4575f5ffd5b919050565b5f5f60408385031215612eea575f5ffd5b612ef383612ec1565b946020939093013593505050565b5f60208284031215612f11575f5ffd5b8135611cbb81612dcd565b5f5f5f5f5f5f5f5f610100898b031215612f34575f5ffd5b8835612f3f81612dcd565b9750612f4d60208a01612ec1565b96506040890135612f5d81612dcd565b95506060890135612f6d81612dcd565b94506080890135612f7d81612dcd565b935060a0890135612f8d81612dcd565b925060c0890135612f9d81612dcd565b915060e0890135612fad81612dcd565b809150509295985092959890939650565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b0381118282101715612ff457612ff4612fbe565b60405290565b604051601f8201601f191681016001600160401b038111828210171561302257613022612fbe565b604052919050565b5f5f6040838503121561303b575f5ffd5b823561304681612dcd565b915060208301356001600160401b03811115613060575f5ffd5b8301601f81018513613070575f5ffd5b80356001600160401b0381111561308957613089612fbe565b61309c601f8201601f1916602001612ffa565b8181528660208385010111156130b0575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f602082840312156130df575f5ffd5b5035919050565b5f5f5f5f60a085870312156130f9575f5ffd5b6131038686612db7565b935060608501356001600160401b0381111561311d575f5ffd5b61312987828801612d35565b909450925050608085013561313d81612dcd565b939692955090935050565b5f608082019050825182526001600160401b0360208401511660208301526040830151613182604084018280518252602090810151910152565b5092915050565b8015158114610d1f575f5ffd5b5f5f5f5f5f60c086880312156131aa575f5ffd5b85356131b581613189565b945060208601356131c581612e7b565b93506131d48760408801612db7565b925060a08601356001600160401b038111156131ee575f5ffd5b6131fa88828901612d35565b969995985093965092949392505050565b5f6020828403121561321b575f5ffd5b611cbb82612ec1565b5f5f5f5f5f60a08688031215613238575f5ffd5b853561324381612dcd565b9450602086013561325381612dcd565b9350604086013561326381612dcd565b9250606086013561327381612dcd565b9150608086013561328381612dcd565b809150509295509295909350565b5f606082840312156132a1575f5ffd5b611cbb8383612db7565b5f61040082840312156132bc575f5ffd5b5f83601f8401126132cb575f5ffd5b505f806104006132da81612ffa565b92508291508401858111156132ed575f5ffd5b845b818110156133075780358452602093840193016132ef565b509095945050505050565b610400810181835f5b602081101561333a57815183526020928301929091019060010161331b565b50505092915050565b5f60208284031215613353575f5ffd5b8151611cbb81613189565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f60208284031215613406575f5ffd5b5051919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b828152604060208201525f611281604083018461340d565b5f6104408284031215613464575f5ffd5b5f83601f840112613473575f5ffd5b505f806104406132da81612ffa565b610440810181835f5b602281101561333a57815183526020928301929091019060010161348b565b5f60608284031280156134bb575f5ffd5b506134c4612fd2565b82356134cf81612e7b565b8152602083810135908201526040928301359281019290925250919050565b5f82601f8301126134fd575f5ffd5b5f6135086040612ffa565b905080604084018581111561351b575f5ffd5b845b8181101561353557803583526020928301920161351d565b509195945050505050565b5f5f5f5f6101608587031215613554575f5ffd5b61355e86866134ee565b935085605f86011261356e575f5ffd5b604061357981612ffa565b8060c088018981111561358a575f5ffd5b604089015b818110156135b0576135a18b826134ee565b8452602090930192840161358f565b508196506135be8a826134ee565b95505050505061010085015f87601f8301126135d8575f5ffd5b5f6135e36060612ffa565b905080606084018a8111156135f6575f5ffd5b5b808510156136125784358252602094850194909101906135f7565b509699959850939650929450505050565b805f5b60028110156127a8578151845260209384019390910190600101613626565b61016081016136548287613623565b60408201855f5b60028110156136855761366f838351613623565b604092909201916020919091019060010161365b565b50505061369560c0830185613623565b6101008201835f5b60038110156136bc57815183526020928301929091019060010161369d565b50505095945050505050565b5f5f604083850312156136d9575f5ffd5b8235915060208301356136eb81612e7b565b809150509250929050565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a0608084015261372b60e084018261340d565b90506060850151603f198483030160a0850152613748828261340d565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f6040828403121561377e575f5ffd5b604080519081016001600160401b03811182821017156137a0576137a0612fbe565b604052825181526020928301519281019290925250919050565b5f604082840312156137ca575f5ffd5b611cbb838361376e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f6080828403128015613830575f5ffd5b50613839612fd2565b82518152602083015161384b81612e7b565b602082015261385d846040850161376e565b60408201529392505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610bd757610bd7613869565b80820180821115610bd757610bd7613869565b5f602082840312156138b3575f5ffd5b8151611cbb81612dcd565b5f82518060208501845e5f920191825250919050565b602081525f611cbb602083018461340d56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d32b578e40a972d6f3aca838b2c04d9a67bee70da651d9f64f0a1875106552f464736f6c634300081e0033","sourceMap":"1295:21758:157:-:0;;;1198:4:112;1155:48;;6470:161:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1307:42:49;;;;;;6536:56:157::1;;6571:21;;-1:-1:-1::0;;;6571:21:157::1;;;;;;;;;;;6536:56;6602:22;:20;:22::i;:::-;6470:161:::0;1295:21758;;5939:280:111;6007:13;;;;;;;6006:14;5998:66;;;;-1:-1:-1;;;5998:66:111;;511:2:175;5998:66:111;;;493:21:175;550:2;530:18;;;523:30;589:34;569:18;;;562:62;-1:-1:-1;;;640:18:175;;;633:37;687:19;;5998:66:111;;;;;;;;6078:12;;6094:15;6078:12;;;:31;6074:139;;6125:12;:30;;-1:-1:-1;;6125:30:111;6140:15;6125:30;;;;;;6174:28;;859:36:175;;;6174:28:111;;847:2:175;832:18;6174:28:111;;;;;;;6074:139;5939:280::o;14:290:175:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:175;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:175:o;717:184::-;1295:21758:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610610249575f3560e01c806382413eac11610134578063ca466380116100b3578063e9debe0511610078578063e9debe05146106d8578063f2fde38b146106ec578063fa6869481461070b578063fc0c546a1461071f578063ff53cc0414610733578063ff7bd03d14610747575f5ffd5b8063ca46638014610653578063ca5eb5e114610667578063d22f96df14610686578063d4d122441461069a578063e2910dd3146106b9575f5ffd5b80639f487dbd116100f95780639f487dbd1461059d578063a97f176f146105b1578063bb0b6a53146105c5578063be6a2c1514610615578063c172e9e314610634575f5ffd5b806382413eac1461050e57806386106a291461052d5780638da5cb5b1461054d5780638fe64dd41461056a5780639854265f1461057e575f5ffd5b80634a80034f116101cb5780635e280f11116101905780635e280f111461042857806363373bdc1461045b57806369cc1d271461048e578063715018a6146104ad578063755d89f2146104c15780637d25a05e146104d5575f5ffd5b80634a80034f1461039f5780634edddf6b146103cb5780634f1ef286146103ea57806352d1902d146103fd5780635c975abb14610411575f5ffd5b80633400288b116102115780633400288b146103005780633659cfe61461031f578063442bde041461033e578063457e8b97146103625780634600f17c14610376575f5ffd5b806311d297231461024d57806313137d651461026e57806317442b70146102815780631bb29877146102a757806326efeb2b146102d4575b5f5ffd5b348015610258575f5ffd5b5061026c610267366004612d79565b610766565b005b61026c61027c366004612de1565b610a56565b34801561028c575f5ffd5b50604080516001815260026020820152015b60405180910390f35b3480156102b2575f5ffd5b506102c66102c1366004612e8f565b610b11565b60405190815260200161029e565b3480156102df575f5ffd5b506102f36102ee366004612d79565b610b3b565b60405161029e9190612eaa565b34801561030b575f5ffd5b5061026c61031a366004612ed9565b610bdd565b34801561032a575f5ffd5b5061026c610339366004612f01565b610c5b565b348015610349575f5ffd5b50610352610d22565b604051901515815260200161029e565b34801561036d575f5ffd5b5061026c610d4b565b348015610381575f5ffd5b5061038a610d5d565b60405163ffffffff909116815260200161029e565b3480156103aa575f5ffd5b506103b3610d79565b6040516001600160a01b03909116815260200161029e565b3480156103d6575f5ffd5b5061026c6103e5366004612f1c565b610d94565b61026c6103f836600461302a565b610f68565b348015610408575f5ffd5b506102c661101d565b34801561041c575f5ffd5b5060655460ff16610352565b348015610433575f5ffd5b506103b37f000000000000000000000000000000000000000000000000000000000000000081565b348015610466575f5ffd5b5061046f6110ce565b604080516001600160401b03909316835260208301919091520161029e565b348015610499575f5ffd5b506102c66104a83660046130cf565b61122c565b3480156104b8575f5ffd5b5061026c611248565b3480156104cc575f5ffd5b506103b3611259565b3480156104e0575f5ffd5b506104f66104ef366004612ed9565b5f92915050565b6040516001600160401b03909116815260200161029e565b348015610519575f5ffd5b506103526105283660046130e6565b611274565b61054061053b366004612d79565b611289565b60405161029e9190613148565b348015610558575f5ffd5b506033546001600160a01b03166103b3565b348015610575575f5ffd5b506103b36114a1565b348015610589575f5ffd5b5061026c610598366004613196565b6114bc565b3480156105a8575f5ffd5b506104f661167f565b3480156105bc575f5ffd5b506104f661169a565b3480156105d0575f5ffd5b506102c66105df36600461320b565b63ffffffff165f9081527f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f900602052604090205490565b348015610620575f5ffd5b5061026c61062f366004613224565b6116bc565b34801561063f575f5ffd5b506102c661064e366004612e8f565b6117fd565b34801561065e575f5ffd5b506103b3611827565b348015610672575f5ffd5b5061026c610681366004612f01565b611842565b348015610691575f5ffd5b506103b36118c3565b3480156106a5575f5ffd5b5061026c6106b4366004613196565b6118de565b3480156106c4575f5ffd5b506102c66106d3366004612e8f565b6119eb565b3480156106e3575f5ffd5b506104f6611a15565b3480156106f7575f5ffd5b5061026c610706366004612f01565b611a37565b348015610716575f5ffd5b5061026c611aad565b34801561072a575f5ffd5b506103b3611ae7565b34801561073e575f5ffd5b506104f6611aff565b348015610752575f5ffd5b50610352610761366004613291565b611b21565b61076e611b3e565b5f61077b828401846132ab565b60208101516060820151608083015160a084015160c08501519495509293919290915f6107a6611b84565b600181015460405163bd70b10d60e01b81529192506001600160a01b03169063bd70b10d906107d9908a90600401613312565b602060405180830381865afa1580156107f4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108189190613343565b610835576040516309bde33960e01b815260040160405180910390fd5b858561086557604051633e4231c560e21b81526001600160401b0390911660048201526024015b60405180910390fd5b506001600160401b0386165f9081526008820160205260409020548681878082146108bc5760405163330cc0b760e21b81526001600160401b0390931660048401526024830191909152604482015260640161085c565b5050506001600160401b0385165f90815260078301602052604090205485816109045760405163028fb25160e11b81526001600160401b03909116600482015260240161085c565b5085818681811461094157604051637588dabf60e11b81526001600160401b0390931660048401526024830191909152604482015260640161085c565b5050506001600160401b0386165f908152600884016020526040902054801580159061096d5750848114155b156109cd5761097a611c05565b60408051828152602081018790526001600160401b038916917f02c176cf3735d2128d6be5286548b0a34500e9c9826cac57be03a380cb3da3a091015b60405180910390a2505050505050505050505050565b6001600160401b038088165f818152600887016020526040902087905560068601549091161015610a175760068401805467ffffffffffffffff19166001600160401b0389161790555b866001600160401b03167fdea8bdf257f42e5441e81fcac8c8b04c3eb571a8896ea38adf6a8d9989594e13866040516109b791815260200190565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610aa1576040516391ac5e4f60e01b815233600482015260240161085c565b60208701803590610abb90610ab6908a61320b565b611c5f565b14610af957610acd602088018861320b565b60405163309afaf360e21b815263ffffffff90911660048201526020880135602482015260440161085c565b610b0887878787878787611cc2565b50505050505050565b5f610b1a611b84565b6001600160401b039092165f90815260089290920160205250604090205490565b604080518082019091525f8082526020820152604080515f6020820181905291810182905260600160405160208183030381529060405290505f610b7d611b84565b9050610bd2815f0160149054906101000a900463ffffffff168387878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250611e09915050565b925050505b92915050565b610be5611ee7565b63ffffffff82165f8181527f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f900602081815260409283902085905582519384528301849052815190927f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b92908290030190a1505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ca35760405162461bcd60e51b815260040161085c9061335e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610cd5611f41565b6001600160a01b031614610cfb5760405162461bcd60e51b815260040161085c906133aa565b610d0481611f55565b604080515f80825260208201909252610d1f91839190611f5d565b50565b5f5f610d2c611b84565b600601546001600160401b03808216600160801b909204161492915050565b610d53611ee7565b610d5b611c05565b565b5f610d66611b84565b54600160a01b900463ffffffff16919050565b5f610d82611b84565b600401546001600160a01b0316919050565b5f54610100900460ff1615808015610db257505f54600160ff909116105b80610dcb5750303b158015610dcb57505f5460ff166001145b610e2e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161085c565b5f805460ff191660011790558015610e4f575f805461ff0019166101001790555b6001600160a01b038916610e765760405163ad1991f560e01b815260040160405180910390fd5b6001600160a01b0386161580610e9357506001600160a01b038516155b80610ea557506001600160a01b038416155b80610eb757506001600160a01b038316155b80610ec957506001600160a01b038216155b15610ee75760405163d92e233d60e01b815260040160405180910390fd5b610eef6120cc565b610ef8876120fa565b610f00612135565b610f0f8989888888888861215b565b610f18876122bf565b8015610f5d575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610fb05760405162461bcd60e51b815260040161085c9061335e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fe2611f41565b6001600160a01b0316146110085760405162461bcd60e51b815260040161085c906133aa565b61101182611f55565b610a5282826001611f5d565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110bc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161085c565b505f5160206138e75f395f51905f5290565b5f5f5f6110d9611b84565b805460408051632986c0e560e01b815290519293506001600160a01b03909116915f918391632986c0e5916004808201926020929091908290030181865afa158015611127573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061114b91906133f6565b90505f826001600160a01b031663c841eccb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561118a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ae91906133f6565b6001600160401b0383165f81815260078701602090815260409182902084905560058801805467ffffffffffffffff60a01b1916600160a01b8502179055905183815292935090917f31003eef6c7b1b23395ce30d66bb400da7d389a879a5d1e174103a072a4da15f910160405180910390a2909590945092505050565b5f611235611b84565b5f928352600a0160205250604090205490565b611250611ee7565b610d5b5f6122bf565b5f611262611b84565b600501546001600160a01b0316919050565b6001600160a01b03811630145b949350505050565b611291612cf5565b611299611b3e565b5f6112a2611b84565b60068101546001600160401b03165f8181526008830160205260408120549293509091908190036112e6576040516342a5a05760e01b815260040160405180910390fd5b5f818360405160200161130c9291909182526001600160401b0316602082015260400190565b60408051808303601f1901815286546020601f8b018190048102850181019093528984529093505f9261136a92600160a01b90920463ffffffff16918591908c908c90819084018382808284375f9201829052509250611e09915050565b805190915034101561139b578051604051631f2dda7760e21b8152600481019190915234602482015260440161085c565b6040805180820182523481526020838101518183015287548351601f8c018390048302810183019094528a8452919261140292600160a01b900463ffffffff16918691908d908d90819084018382808284375f920191909152508792503391506123109050565b9650846001600160401b03167fbecd78746ad6fbb4486ef62d297810172e63cfafbd02a8306c4e639b8d2a99fd85895f015160405160200161144691815260200190565b60408051601f1981840301815290829052611461929161343b565b60405180910390a2505050600690920180546001600160401b03909216600160801b0267ffffffffffffffff60801b199092169190911790555092915050565b5f6114aa611b84565b600101546001600160a01b0316919050565b6114c4611b3e565b5f6114d182840184613453565b6020810151604082015160608301519293509091801561150757604051632e86b29d60e01b815260040161085c91815260200190565b506080830151801561152f57604051631dfca83b60e01b815260040161085c91815260200190565b5060a08301518281811461155f57604051635701303960e11b81526004810192909252602482015260440161085c565b505060c083015181818114611590576040516328cc402560e11b81526004810192909252602482015260440161085c565b50506101008301515f6115a1611b84565b90505f8a6115bc5760038201546001600160a01b03166115cb565b60028201546001600160a01b03165b604051633b7f43e160e11b81529091506001600160a01b038216906376fe87c2906115fa908990600401613482565b602060405180830381865afa158015611615573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116399190613343565b611656576040516309bde33960e01b815260040160405180910390fd5b6116728b8b878761166c368f90038f018f6134aa565b88612416565b5050505050505050505050565b5f611688611b84565b600601546001600160401b0316919050565b5f6116a3611b84565b60060154600160401b90046001600160401b0316919050565b6116c4611ee7565b6001600160a01b03851615806116e157506001600160a01b038416155b806116f357506001600160a01b038316155b8061170557506001600160a01b038216155b8061171757506001600160a01b038116155b156117355760405163d92e233d60e01b815260040160405180910390fd5b5f61173e611b84565b6001810180546001600160a01b038981166001600160a01b031992831681179093556002840180548a831690841681179091556003850180548a841690851681179091556004860180548a85169086168117909155600587018054948a1694909516841790945560408051958652602086019290925290840152606083019190915260808201529091507f86e921feae1a6de3eeb32b9dc98b020ef7315fcc4e001aa492a401a87f08c3329060a00160405180910390a1505050505050565b5f611806611b84565b6001600160401b039092165f90815260099290920160205250604090205490565b5f611830611b84565b600301546001600160a01b0316919050565b61184a611ee7565b60405163ca5eb5e160e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e1906024015f604051808303815f87803b1580156118aa575f5ffd5b505af11580156118bc573d5f5f3e3d5ffd5b5050505050565b5f6118cc611b84565b600201546001600160a01b0316919050565b6118e6611b3e565b5f8080806118f685870187613540565b93509350935093505f611907611b84565b90505f8a6119225760058201546001600160a01b0316611931565b60048201546001600160a01b03165b6040516308a3cff560e11b81529091506001600160a01b038216906311479fea90611966908990899089908990600401613645565b602060405180830381865afa158015611981573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119a59190613343565b6119c2576040516309bde33960e01b815260040160405180910390fd5b82516020840151611672918d918d91906119e1368f90038f018f6134aa565b6040890151612416565b5f6119f4611b84565b6001600160401b039092165f90815260079290920160205250604090205490565b5f611a1e611b84565b60050154600160a01b90046001600160401b0316919050565b611a3f611ee7565b6001600160a01b038116611aa45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161085c565b610d1f816122bf565b611ab5611ee7565b611abd6126b0565b6040517fdfa56b6600f240ff7756b305d2d62f4944b4ac961293b1dcc8bd8440da55131d905f90a1565b5f611af0611b84565b546001600160a01b0316919050565b5f611b08611b84565b60060154600160801b90046001600160401b0316919050565b5f60208201803590611b37906105df908561320b565b1492915050565b60655460ff1615610d5b5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161085c565b60408051808201909152601781527f7a65726332302e73746f726167652e76657269666965720000000000000000006020909101527f9185b5f3f898f91cdf6d1ed1d9474630ec25b82655201747372f331a8bbfccee5f908152807fdc881cb05e4e981d28f2c49ec9604b5a0676bcc75afb8e4a2cd07140c6b7ae00610bd7565b611c0d611b3e565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611c423390565b6040516001600160a01b03909116815260200160405180910390a1565b63ffffffff81165f9081527f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f9006020819052604082205480611cbb5760405163f6ff4fb760e01b815263ffffffff8516600482015260240161085c565b9392505050565b5f611ccb611b84565b8054909150600160a01b900463ffffffff16611cea60208a018a61320b565b63ffffffff1614611cfe60208a018a61320b565b90611d2557604051631a59c90d60e01b815263ffffffff909116600482015260240161085c565b505f80611d34878901896136c8565b6001600160401b0381165f90815260098601602052604081205492945090925003611db0576001600160401b0381165f81815260098501602052604090819020849055517fb063c3c8bed53deba8a716145e50ba4052865173924535149e9d4f706f0dcf0390611da79085815260200190565b60405180910390a25b60068301546001600160401b03600160401b90910481169082161115611dfd576006830180546fffffffffffffffff00000000000000001916600160401b6001600160401b038416021790555b50505050505050505050565b604080518082019091525f80825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff168152602001611e6b89611c5f565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611ea09291906136f6565b6040805180830381865afa158015611eba573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ede91906137ba565b95945050505050565b6033546001600160a01b03163314610d5b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161085c565b5f5f5160206138e75f395f51905f52611af0565b610d1f611ee7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f9557611f90836126e9565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611fef575060408051601f3d908101601f19168201909252611fec918101906133f6565b60015b6120525760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161085c565b5f5160206138e75f395f51905f5281146120c05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161085c565b50611f90838383612784565b5f54610100900460ff166120f25760405162461bcd60e51b815260040161085c906137d4565b610d5b6127ae565b5f54610100900460ff166121205760405162461bcd60e51b815260040161085c906137d4565b612129816127dd565b612131612135565b610d1f5b5f54610100900460ff16610d5b5760405162461bcd60e51b815260040161085c906137d4565b5f54610100900460ff166121815760405162461bcd60e51b815260040161085c906137d4565b61218961280c565b5f612192611b84565b80546001600160a01b038a81166001600160c01b031990921691909117600160a01b63ffffffff8b16021782556001820180546001600160a01b03199081168a841690811790925560028401805482168a851690811790915560038501805483168a861690811790915560048601805484168a871690811790915560058701805490941695891695861790935560408051948552602085019290925290830152606082015260808101919091529091507f86e921feae1a6de3eeb32b9dc98b020ef7315fcc4e001aa492a401a87f08c3329060a00160405180910390a15f80805260088201602052604090207f1334fa4b552f00ef403361c935c1abcf896851003c40daa93bb0fd0a0bb9a8819055600601805467ffffffffffffffff60801b1916905550505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b612318612cf5565b5f612325845f015161283a565b60208501519091501561233f5761233f8460200151612861565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff16815260200161238f8c611c5f565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b81526004016123ca9291906136f6565b60806040518083038185885af11580156123e6573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061240b919061381f565b979650505050505050565b5f61241f611b84565b90505f87612446576001600160401b0387165f908152600883016020526040902054612461565b6001600160401b0387165f9081526009830160205260409020545b9050868161248e5760405163098bd70560e01b81526001600160401b03909116600482015260240161085c565b5080868181146124ba57604051631d7b51f760e11b81526004810192909252602482015260440161085c565b50505f6124c685612940565b905080868082146124f35760405163971ca9a960e01b81526004810192909252602482015260440161085c565b505084514690816001600160401b03828116908216146125395760405163117fcbdd60e11b81526001600160401b0392831660048201529116602482015260440161085c565b50505f878152600a85016020526040902054808681811161257657604051630ba6546d60e11b81526004810192909252602482015260440161085c565b505f9050612584828861387d565b90508086600a015f8b81526020019081526020015f205f8282546125a89190613890565b9091555050602088015186546040516304ddf0a560e01b81526001600160a01b03808416600483015260248201859052909116906304ddf0a5906044015f604051808303815f87803b1580156125fc575f5ffd5b505af115801561260e573d5f5f3e3d5ffd5b50505050806001600160a01b03167f30ce5e5a039f8d58997d73d7977f2b4bee9bd3917a6232f95277cc1b5fc62621838f8f8f8e6040516126999594939291909485529215156020808601919091526001600160401b039283166040808701919091526060860192909252835190921660808501529082015160a0840152015160c082015260e00190565b60405180910390a250505050505050505050505050565b6126b86129f2565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611c42565b6001600160a01b0381163b6127565760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161085c565b5f5160206138e75f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b61278d83612a3b565b5f825111806127995750805b15611f90576127a88383612a7a565b50505050565b5f54610100900460ff166127d45760405162461bcd60e51b815260040161085c906137d4565b610d5b336122bf565b5f54610100900460ff166128035760405162461bcd60e51b815260040161085c906137d4565b610d1f81612a9f565b5f54610100900460ff166128325760405162461bcd60e51b815260040161085c906137d4565b610d5b612aec565b5f81341461285d576040516304fb820960e51b815234600482015260240161085c565b5090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128be573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128e291906138a3565b90506001600160a01b03811661290b576040516329b99a9560e11b815260040160405180910390fd5b610a526001600160a01b038216337f000000000000000000000000000000000000000000000000000000000000000085612b1e565b5f5f6002835f0151846020015185604001516040516020016129849392919060c09390931b6001600160c01b03191683526008830191909152602882015260480190565b60408051601f198184030181529082905261299e916138be565b602060405180830381855afa1580156129b9573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906129dc91906133f6565b6001600160f81b0316600160f81b179392505050565b60655460ff16610d5b5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161085c565b612a44816126e9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060611cbb838360405180606001604052806027815260200161390760279139612b78565b5f54610100900460ff16612ac55760405162461bcd60e51b815260040161085c906137d4565b6001600160a01b03811661184a57604051632d618d8160e21b815260040160405180910390fd5b5f54610100900460ff16612b125760405162461bcd60e51b815260040161085c906137d4565b6065805460ff19169055565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526127a8908590612bec565b60605f5f856001600160a01b031685604051612b9491906138be565b5f60405180830381855af49150503d805f8114612bcc576040519150601f19603f3d011682016040523d82523d5f602084013e612bd1565b606091505b5091509150612be286838387612c58565b9695505050505050565b5f5f60205f8451602086015f885af180612c0b576040513d5f823e3d81fd5b50505f513d91508115612c22578060011415612c2f565b6001600160a01b0384163b155b156127a857604051635274afe760e01b81526001600160a01b038516600482015260240161085c565b60608315612cc65782515f03612cbf576001600160a01b0385163b612cbf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161085c565b5081611281565b6112818383815115612cdb5781518083602001fd5b8060405162461bcd60e51b815260040161085c91906138d4565b60405180606001604052805f81526020015f6001600160401b03168152602001612d3060405180604001604052805f81526020015f81525090565b905290565b5f5f83601f840112612d45575f5ffd5b5081356001600160401b03811115612d5b575f5ffd5b602083019150836020828501011115612d72575f5ffd5b9250929050565b5f5f60208385031215612d8a575f5ffd5b82356001600160401b03811115612d9f575f5ffd5b612dab85828601612d35565b90969095509350505050565b5f60608284031215612dc7575f5ffd5b50919050565b6001600160a01b0381168114610d1f575f5ffd5b5f5f5f5f5f5f5f60e0888a031215612df7575f5ffd5b612e018989612db7565b96506060880135955060808801356001600160401b03811115612e22575f5ffd5b612e2e8a828b01612d35565b90965094505060a0880135612e4281612dcd565b925060c08801356001600160401b03811115612e5c575f5ffd5b612e688a828b01612d35565b989b979a50959850939692959293505050565b6001600160401b0381168114610d1f575f5ffd5b5f60208284031215612e9f575f5ffd5b8135611cbb81612e7b565b815181526020808301519082015260408101610bd7565b803563ffffffff81168114612ed4575f5ffd5b919050565b5f5f60408385031215612eea575f5ffd5b612ef383612ec1565b946020939093013593505050565b5f60208284031215612f11575f5ffd5b8135611cbb81612dcd565b5f5f5f5f5f5f5f5f610100898b031215612f34575f5ffd5b8835612f3f81612dcd565b9750612f4d60208a01612ec1565b96506040890135612f5d81612dcd565b95506060890135612f6d81612dcd565b94506080890135612f7d81612dcd565b935060a0890135612f8d81612dcd565b925060c0890135612f9d81612dcd565b915060e0890135612fad81612dcd565b809150509295985092959890939650565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b0381118282101715612ff457612ff4612fbe565b60405290565b604051601f8201601f191681016001600160401b038111828210171561302257613022612fbe565b604052919050565b5f5f6040838503121561303b575f5ffd5b823561304681612dcd565b915060208301356001600160401b03811115613060575f5ffd5b8301601f81018513613070575f5ffd5b80356001600160401b0381111561308957613089612fbe565b61309c601f8201601f1916602001612ffa565b8181528660208385010111156130b0575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f602082840312156130df575f5ffd5b5035919050565b5f5f5f5f60a085870312156130f9575f5ffd5b6131038686612db7565b935060608501356001600160401b0381111561311d575f5ffd5b61312987828801612d35565b909450925050608085013561313d81612dcd565b939692955090935050565b5f608082019050825182526001600160401b0360208401511660208301526040830151613182604084018280518252602090810151910152565b5092915050565b8015158114610d1f575f5ffd5b5f5f5f5f5f60c086880312156131aa575f5ffd5b85356131b581613189565b945060208601356131c581612e7b565b93506131d48760408801612db7565b925060a08601356001600160401b038111156131ee575f5ffd5b6131fa88828901612d35565b969995985093965092949392505050565b5f6020828403121561321b575f5ffd5b611cbb82612ec1565b5f5f5f5f5f60a08688031215613238575f5ffd5b853561324381612dcd565b9450602086013561325381612dcd565b9350604086013561326381612dcd565b9250606086013561327381612dcd565b9150608086013561328381612dcd565b809150509295509295909350565b5f606082840312156132a1575f5ffd5b611cbb8383612db7565b5f61040082840312156132bc575f5ffd5b5f83601f8401126132cb575f5ffd5b505f806104006132da81612ffa565b92508291508401858111156132ed575f5ffd5b845b818110156133075780358452602093840193016132ef565b509095945050505050565b610400810181835f5b602081101561333a57815183526020928301929091019060010161331b565b50505092915050565b5f60208284031215613353575f5ffd5b8151611cbb81613189565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f60208284031215613406575f5ffd5b5051919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b828152604060208201525f611281604083018461340d565b5f6104408284031215613464575f5ffd5b5f83601f840112613473575f5ffd5b505f806104406132da81612ffa565b610440810181835f5b602281101561333a57815183526020928301929091019060010161348b565b5f60608284031280156134bb575f5ffd5b506134c4612fd2565b82356134cf81612e7b565b8152602083810135908201526040928301359281019290925250919050565b5f82601f8301126134fd575f5ffd5b5f6135086040612ffa565b905080604084018581111561351b575f5ffd5b845b8181101561353557803583526020928301920161351d565b509195945050505050565b5f5f5f5f6101608587031215613554575f5ffd5b61355e86866134ee565b935085605f86011261356e575f5ffd5b604061357981612ffa565b8060c088018981111561358a575f5ffd5b604089015b818110156135b0576135a18b826134ee565b8452602090930192840161358f565b508196506135be8a826134ee565b95505050505061010085015f87601f8301126135d8575f5ffd5b5f6135e36060612ffa565b905080606084018a8111156135f6575f5ffd5b5b808510156136125784358252602094850194909101906135f7565b509699959850939650929450505050565b805f5b60028110156127a8578151845260209384019390910190600101613626565b61016081016136548287613623565b60408201855f5b60028110156136855761366f838351613623565b604092909201916020919091019060010161365b565b50505061369560c0830185613623565b6101008201835f5b60038110156136bc57815183526020928301929091019060010161369d565b50505095945050505050565b5f5f604083850312156136d9575f5ffd5b8235915060208301356136eb81612e7b565b809150509250929050565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a0608084015261372b60e084018261340d565b90506060850151603f198483030160a0850152613748828261340d565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f6040828403121561377e575f5ffd5b604080519081016001600160401b03811182821017156137a0576137a0612fbe565b604052825181526020928301519281019290925250919050565b5f604082840312156137ca575f5ffd5b611cbb838361376e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f6080828403128015613830575f5ffd5b50613839612fd2565b82518152602083015161384b81612e7b565b602082015261385d846040850161376e565b60408201529392505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610bd757610bd7613869565b80820180821115610bd757610bd7613869565b5f602082840312156138b3575f5ffd5b8151611cbb81612dcd565b5f82518060208501845e5f920191825250919050565b602081525f611cbb602083018461340d56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d32b578e40a972d6f3aca838b2c04d9a67bee70da651d9f64f0a1875106552f464736f6c634300081e0033","sourceMap":"1295:21758:157:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11186:1555;;;;;;;;;;-1:-1:-1;11186:1555:157;;;;;:::i;:::-;;:::i;:::-;;4921:708:50;;;;;;:::i;:::-;;:::i;1951:257:52:-;;;;;;;;;;-1:-1:-1;1951:257:52;;;887:1:51;2345:50:175;;759:1:50;2426:2:175;2411:18;;2404:59;2318:18;1951:257:52;;;;;;;;6016:145:157;;;;;;;;;;-1:-1:-1;6016:145:157;;;;;:::i;:::-;;:::i;:::-;;;3004:25:175;;;2992:2;2977:18;6016:145:157;2858:177:175;19234:282:157;;;;;;;;;;-1:-1:-1;19234:282:157;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3028:202:49:-;;;;;;;;;;-1:-1:-1;3028:202:49;;;;;:::i;:::-;;:::i;3408:195:112:-;;;;;;;;;;-1:-1:-1;3408:195:112;;;;;:::i;:::-;;:::i;19649:175:157:-;;;;;;;;;;;;;:::i;:::-;;;4352:14:175;;4345:22;4327:41;;4315:2;4300:18;19649:175:157;4187:187:175;21055:73:157;;;;;;;;;;;;;:::i;4574:99::-;;;;;;;;;;;;;:::i;:::-;;;4553:10:175;4541:23;;;4523:42;;4511:2;4496:18;4574:99:157;4379:192:175;5065:144:157;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;4740:32:175;;;4722:51;;4710:2;4695:18;5065:144:157;4576:203:175;7435:1068:157;;;;;;;;;;-1:-1:-1;7435:1068:157;;;;;:::i;:::-;;:::i;3922:220:112:-;;;;;;:::i;:::-;;:::i;3027:131::-;;;;;;;;;;;;;:::i;1879:84:113:-;;;;;;;;;;-1:-1:-1;1949:7:113;;;;1879:84;;1035:46:49;;;;;;;;;;;;;;;10367:486:157;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;8141:31:175;;;8123:50;;8204:2;8189:18;;8182:34;;;;8096:18;10367:486:157;7951:271:175;6318:146:157;;;;;;;;;;-1:-1:-1;6318:146:157;;;;;:::i;:::-;;:::i;2085:101:105:-;;;;;;;;;;;;;:::i;5215:142:157:-;;;;;;;;;;;;;:::i;4060:128:50:-;;;;;;;;;;-1:-1:-1;4060:128:50;;;;;:::i;:::-;4149:12;4060:128;;;;;;;;-1:-1:-1;;;;;8620:31:175;;;8602:50;;8590:2;8575:18;4060:128:50;8458:200:175;2566:216:50;;;;;;;;;;-1:-1:-1;2566:216:50;;;;;:::i;:::-;;:::i;18112:936:157:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1462:85:105:-;;;;;;;;;;-1:-1:-1;1534:6:105;;-1:-1:-1;;;;;1534:6:105;1462:85;;4679:110:157;;;;;;;;;;;;;:::i;13501:1121::-;;;;;;;;;;-1:-1:-1;13501:1121:157;;;;;:::i;:::-;;:::i;5494:121::-;;;;;;;;;;;;;:::i;5621:111::-;;;;;;;;;;;;;:::i;2342:163:49:-;;;;;;;;;;-1:-1:-1;2342:163:49;;;;;:::i;:::-;2485:13;;2400:7;2485:13;;;926:26;2485:13;;;;;;;2342:163;21876:1175:157;;;;;;;;;;-1:-1:-1;21876:1175:157;;;;;:::i;:::-;;:::i;6167:145::-;;;;;;;;;;-1:-1:-1;6167:145:157;;;;;:::i;:::-;;:::i;4931:128::-;;;;;;;;;;;;;:::i;4123:105:49:-;;;;;;;;;;-1:-1:-1;4123:105:49;;;;;:::i;:::-;;:::i;4795:130:157:-;;;;;;;;;;;;;:::i;15176:801::-;;;;;;;;;;-1:-1:-1;15176:801:157;;;;;:::i;:::-;;:::i;5867:143::-;;;;;;;;;;-1:-1:-1;5867:143:157;;;;;:::i;:::-;;:::i;5363:125::-;;;;;;;;;;;;;:::i;2335:198:105:-;;;;;;;;;;-1:-1:-1;2335:198:105;;;;;:::i;:::-;;:::i;21241:113:157:-;;;;;;;;;;;;;:::i;4470:98::-;;;;;;;;;;;;;:::i;5738:123::-;;;;;;;;;;;;;:::i;3324:149:50:-;;;;;;;;;;-1:-1:-1;3324:149:50;;;;;:::i;:::-;;:::i;11186:1555:157:-;1503:19:113;:17;:19::i;:::-;11268:25:157::1;11296:32;::::0;;::::1;11307:5:::0;11296:32:::1;:::i;:::-;11363:9;::::0;::::1;::::0;11446;;::::1;::::0;11490;;::::1;::::0;11533;;::::1;::::0;11570;;::::1;::::0;11268:60;;-1:-1:-1;11363:9:157;;11446;;11490;;11338:15:::1;11617:21;:19;:21::i;:::-;11669:13;::::0;::::1;::::0;11656:57:::1;::::0;-1:-1:-1;;;11656:57:157;;11589:49;;-1:-1:-1;;;;;;11669:13:157::1;::::0;11656:49:::1;::::0;:57:::1;::::0;11706:6;;11656:57:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11648:82;;;;-1:-1:-1::0;;;11648:82:157::1;;;;;;;;;;;;11774:8:::0;11748:12;11740:44:::1;;;::::0;-1:-1:-1;;;11740:44:157;;-1:-1:-1;;;;;8620:31:175;;;11740:44:157::1;::::0;::::1;8602:50:175::0;8575:18;;11740:44:157::1;;;;;;;;;-1:-1:-1::0;;;;;;11820:39:157;::::1;11794:23;11820:39:::0;;;:21:::1;::::0;::::1;:39;::::0;;;;;11849:8;11820:39;11896:7;11877:26;;::::1;11869:88;;;::::0;-1:-1:-1;;;11869:88:157;;-1:-1:-1;;;;;13855:31:175;;;11869:88:157::1;::::0;::::1;13837:50:175::0;13903:18;;;13896:34;;;;13946:18;;;13939:34;13810:18;;11869:88:157::1;13637:342:175::0;11869:88:157::1;-1:-1:-1::0;;;;;;;;11996:30:157;::::1;11968:25;11996:30:::0;;;:20:::1;::::0;::::1;:30;::::0;;;;;12017:8;12044:22;12036:67:::1;;;::::0;-1:-1:-1;;;12036:67:157;;-1:-1:-1;;;;;8620:31:175;;;12036:67:157::1;::::0;::::1;8602:50:175::0;8575:18;;12036:67:157::1;8458:200:175::0;12036:67:157::1;-1:-1:-1::0;12177:8:157;12121:17;12142:12;12121:33;;::::1;12113:107;;;::::0;-1:-1:-1;;;12113:107:157;;-1:-1:-1;;;;;13855:31:175;;;12113:107:157::1;::::0;::::1;13837:50:175::0;13903:18;;;13896:34;;;;13946:18;;;13939:34;13810:18;;12113:107:157::1;13637:342:175::0;12113:107:157::1;-1:-1:-1::0;;;;;;;;12253:31:157;::::1;12230:20;12253:31:::0;;;:21:::1;::::0;::::1;:31;::::0;;;;;12298:17;;;::::1;::::0;:44:::1;;;12335:7;12319:12;:23;;12298:44;12294:238;;;12423:8;:6;:8::i;:::-;12450:51;::::0;;14158:25:175;;;14214:2;14199:18;;14192:34;;;-1:-1:-1;;;;;12450:51:157;::::1;::::0;::::1;::::0;14131:18:175;12450:51:157::1;;;;;;;;12515:7;;;;;;;;;;11186:1555:::0;;:::o;12294:238::-:1;-1:-1:-1::0;;;;;12541:31:157;;::::1;;::::0;;;:21:::1;::::0;::::1;:31;::::0;;;;:41;;;12607:19:::1;::::0;::::1;::::0;;;::::1;-1:-1:-1::0;12592:91:157::1;;;12642:19;::::0;::::1;:30:::0;;-1:-1:-1;;12642:30:157::1;-1:-1:-1::0;;;;;12642:30:157;::::1;;::::0;;12592:91:::1;12716:8;-1:-1:-1::0;;;;;12697:37:157::1;;12726:7;12697:37;;;;3004:25:175::0;;2992:2;2977:18;;2858:177;1532:1:113::1;11186:1555:157::0;;:::o;4921:708:50:-;5234:8;-1:-1:-1;;;;;5226:31:50;5247:10;5226:31;5222:68;;5266:24;;-1:-1:-1;;;5266:24:50;;5279:10;5266:24;;;4722:51:175;4695:18;;5266:24:50;4576:203:175;5222:68:50;5426:14;;;;;;5390:32;;5407:14;;5426:7;5407:14;:::i;:::-;5390:16;:32::i;:::-;:50;5386:103;;5458:14;;;;:7;:14;:::i;:::-;5449:40;;-1:-1:-1;;;5449:40:50;;14439:10:175;14427:23;;;5449:40:50;;;14409:42:175;5474:14:50;;;;14467:18:175;;;14460:34;14382:18;;5449:40:50;14237:263:175;5386:103:50;5563:59;5574:7;5583:5;5590:8;;5600:9;5611:10;;5563;:59::i;:::-;4921:708;;;;;;;:::o;6016:145:157:-;6080:7;6106:21;:19;:21::i;:::-;-1:-1:-1;;;;;6106:48:157;;;;;;;:41;;;;;:48;;-1:-1:-1;6106:48:157;;;;;6016:145::o;19234:282::-;-1:-1:-1;;;;;;;;;;;;;;;;;19359:33:157;;;19336:20;19359:33;;;14677:25:175;;;14718:18;;;14711:59;;;14650:18;;19359:33:157;;;;;;;;;;;;19336:56;;19402:25;19430:21;:19;:21::i;:::-;19402:49;;19468:41;19475:1;:8;;;;;;;;;;;;19485:7;19494;;19468:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19468:41:157;-1:-1:-1;19468:6:157;;-1:-1:-1;;19468:41:157:i;:::-;19461:48;;;;19234:282;;;;;:::o;3028:202:49:-;1355:13:105;:11;:13::i;:::-;3167::49::1;::::0;::::1;3108:25;3167:13:::0;;;926:26;3167:13:::1;::::0;;;;;;;;:21;;;3203:20;;14409:42:175;;;14467:18;;14460:34;;;3203:20:49;;926:26;;3203:20:::1;::::0;;;;;;;::::1;3098:132;3028:202:::0;;:::o;3408:195:112:-;-1:-1:-1;;;;;1764:6:112;1747:23;1755:4;1747:23;1739:80;;;;-1:-1:-1;;;1739:80:112;;;;;;;:::i;:::-;1861:6;-1:-1:-1;;;;;1837:30:112;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1837:30:112;;1829:87;;;;-1:-1:-1;;;1829:87:112;;;;;;;:::i;:::-;3489:36:::1;3507:17;3489;:36::i;:::-;3576:12;::::0;;3586:1:::1;3576:12:::0;;;::::1;::::0;::::1;::::0;;;3535:61:::1;::::0;3557:17;;3576:12;3535:21:::1;:61::i;:::-;3408:195:::0;:::o;19649:175:157:-;19692:4;19708:25;19736:21;:19;:21::i;:::-;19797:20;;;-1:-1:-1;;;;;19774:19:157;;;-1:-1:-1;;;19797:20:157;;;;19774:43;;19649:175;-1:-1:-1;;19649:175:157:o;21055:73::-;1355:13:105;:11;:13::i;:::-;21113:8:157::1;:6;:8::i;:::-;21055:73::o:0;4574:99::-;4613:6;4638:21;:19;:21::i;:::-;:28;-1:-1:-1;;;4638:28:157;;;;;;-1:-1:-1;4574:99:157:o;5065:144::-;5126:7;5152:21;:19;:21::i;:::-;:50;;;-1:-1:-1;;;;;5152:50:157;;5065:144;-1:-1:-1;5065:144:157:o;7435:1068::-;3279:19:111;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:111;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:111;1713:19:119;:23;;;3387:66:111;;-1:-1:-1;3436:12:111;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:111;;15809:2:175;3325:201:111;;;15791:21:175;15848:2;15828:18;;;15821:30;15887:34;15867:18;;;15860:62;-1:-1:-1;;;15938:18:175;;;15931:44;15992:19;;3325:201:111;15607:410:175;3325:201:111;3536:12;:16;;-1:-1:-1;;3536:16:111;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:111;;;;;3562:65;-1:-1:-1;;;;;7772:20:157;::::1;7768:44;;7801:11;;-1:-1:-1::0;;;7801:11:157::1;;;;;;;;;;;7768:44;-1:-1:-1::0;;;;;7839:26:157;::::1;::::0;;:66:::1;;-1:-1:-1::0;;;;;;7869:36:157;::::1;::::0;7839:66:::1;:105;;;-1:-1:-1::0;;;;;;7909:35:157;::::1;::::0;7839:105:::1;:168;;;-1:-1:-1::0;;;;;;7964:43:157;::::1;::::0;7839:168:::1;:214;;;-1:-1:-1::0;;;;;;8011:42:157;::::1;::::0;7839:214:::1;7822:287;;;8085:13;;-1:-1:-1::0;;;8085:13:157::1;;;;;;;;;;;7822:287;8119:16;:14;:16::i;:::-;8145:21;8157:8;8145:11;:21::i;:::-;8176:24;:22;:24::i;:::-;8210:248;8239:6;8259:7;8280:12;8306:22;8342:21;8377:29;8420:28;8210:15;:248::i;:::-;8468:28;8487:8;8468:18;:28::i;:::-;3651:14:111::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:111;;;3721:14;;-1:-1:-1;16174:36:175;;3721:14:111;;16162:2:175;16147:18;3721:14:111;;;;;;;3647:99;3269:483;7435:1068:157;;;;;;;;:::o;3922:220:112:-;-1:-1:-1;;;;;1764:6:112;1747:23;1755:4;1747:23;1739:80;;;;-1:-1:-1;;;1739:80:112;;;;;;;:::i;:::-;1861:6;-1:-1:-1;;;;;1837:30:112;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1837:30:112;;1829:87;;;;-1:-1:-1;;;1829:87:112;;;;;;;:::i;:::-;4037:36:::1;4055:17;4037;:36::i;:::-;4083:52;4105:17;4124:4;4130;4083:21;:52::i;3027:131::-:0;3105:7;2190:4;-1:-1:-1;;;;;2199:6:112;2182:23;;2174:92;;;;-1:-1:-1;;;2174:92:112;;16423:2:175;2174:92:112;;;16405:21:175;16462:2;16442:18;;;16435:30;16501:34;16481:18;;;16474:62;16572:26;16552:18;;;16545:54;16616:19;;2174:92:112;16221:420:175;2174:92:112;-1:-1:-1;;;;;;;;;;;;3027:131:112;:::o;10367:486:157:-;10413:12;10427:17;10456:25;10484:21;:19;:21::i;:::-;10547:7;;10588:21;;;-1:-1:-1;;;10588:21:157;;;;10456:49;;-1:-1:-1;;;;;;10547:7:157;;;;10515:21;;10547:7;;10588:19;;:21;;;;;;;;;;;;;;;10547:7;10588:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10565:45;;10620:18;10641:13;-1:-1:-1;;;;;10641:23:157;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10676:28:157;;;;;;:20;;;:28;;;;;;;;;:41;;;10727:21;;;:30;;-1:-1:-1;;;;10727:30:157;-1:-1:-1;;;10727:30:157;;;;;10772:37;;3004:25:175;;;10676:41:157;;-1:-1:-1;10676:28:157;;10772:37;;2977:18:175;10772:37:157;;;;;;;10827:6;;10835:10;;-1:-1:-1;10367:486:157;-1:-1:-1;;;10367:486:157:o;6318:146::-;6383:7;6409:21;:19;:21::i;:::-;:48;;;;:37;;:48;;-1:-1:-1;6409:48:157;;;;;6318:146::o;2085:101:105:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;5215:142:157:-:0;5275:7;5301:21;:19;:21::i;:::-;:49;;;-1:-1:-1;;;;;5301:49:157;;5215:142;-1:-1:-1;5215:142:157:o;2566:216:50:-;-1:-1:-1;;;;;2751:24:50;;2770:4;2751:24;2566:216;;;;;;;:::o;18112:936:157:-;18235:31;;:::i;:::-;1503:19:113;:17;:19::i;:::-;18282:25:157::1;18310:21;:19;:21::i;:::-;18356:19;::::0;::::1;::::0;-1:-1:-1;;;;;18356:19:157::1;18341:12;18400:28:::0;;;:21:::1;::::0;::::1;:28;::::0;;;;;18282:49;;-1:-1:-1;18356:19:157;;18400:28;18442:9;;;18438:36:::1;;18460:14;;-1:-1:-1::0;;;18460:14:157::1;;;;;;;;;;;18438:36;18485:20;18519:4;18525:5;18508:23;;;;;;;;14677:25:175::0;;;-1:-1:-1;;;;;14738:31:175;14733:2;14718:18;;14711:59;14665:2;14650:18;;14505:271;18508:23:157::1;;::::0;;;;::::1;-1:-1:-1::0;;18508:23:157;;;18580:8;;18508:23:::1;18573:41;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;18508:23;;-1:-1:-1;18541:29:157::1;::::0;18573:41:::1;::::0;-1:-1:-1;;;18580:8:157;;::::1;;;::::0;18508:23;;;18599:7;;18573:41;;;;;::::1;18599:7:::0;18573:41;;18599:7;18573:41;::::1;;::::0;::::1;::::0;;;-1:-1:-1;18573:41:157;-1:-1:-1;18573:6:157::1;::::0;-1:-1:-1;;18573:41:157:i:1;:::-;18640:19:::0;;18541:73;;-1:-1:-1;18628:9:157::1;:31;18624:121;;;18703:19:::0;;18682:52:::1;::::0;-1:-1:-1;;;18682:52:157;;::::1;::::0;::::1;14158:25:175::0;;;;18724:9:157::1;14199:18:175::0;;;14192:34;14131:18;;18682:52:157::1;13984:248:175::0;18624:121:157::1;18781:70;::::0;;;;::::1;::::0;;18806:9:::1;18781:70:::0;;::::1;18829:20:::0;;::::1;::::0;18781:70;;::::1;::::0;18879:8;;18871:52;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;18781:70;;18871:52:::1;::::0;-1:-1:-1;;;18879:8:157;::::1;;;::::0;18889:7;;18871:52;18898:7;;18871:52;;;;;::::1;18898:7:::0;18871:52;;18898:7;18871:52;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;18907:3:157;;-1:-1:-1;18912:10:157::1;::::0;-1:-1:-1;18871:7:157::1;::::0;-1:-1:-1;18871:52:157:i:1;:::-;18861:62;;18958:5;-1:-1:-1::0;;;;;18938:64:157::1;;18965:4;18988:7;:12;;;18971:30;;;;;;17010:19:175::0;;17054:2;17045:12;;16881:182;18971:30:157::1;;::::0;;-1:-1:-1;;18971:30:157;;::::1;::::0;;;;;;;18938:64:::1;::::0;;::::1;:::i;:::-;;;;;;;;-1:-1:-1::0;;;19013:20:157::1;::::0;;::::1;:28:::0;;-1:-1:-1;;;;;19013:28:157;;::::1;-1:-1:-1::0;;;19013:28:157::1;-1:-1:-1::0;;;;19013:28:157;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;18112:936:157;;-1:-1:-1;;18112:936:157:o;4679:110::-;4723:7;4749:21;:19;:21::i;:::-;:33;;;-1:-1:-1;;;;;4749:33:157;;4679:110;-1:-1:-1;4679:110:157:o;13501:1121::-;1503:19:113;:17;:19::i;:::-;13729:25:157::1;13757:32;::::0;;::::1;13768:5:::0;13757:32:::1;:::i;:::-;13822:9;::::0;::::1;::::0;13861;;::::1;::::0;13888;;::::1;::::0;13729:60;;-1:-1:-1;13822:9:157;;13888:14;;13880:63:::1;;;;-1:-1:-1::0;;;13880:63:157::1;;;;;;3004:25:175::0;;2992:2;2977:18;;2858:177;13880:63:157::1;-1:-1:-1::0;13961:9:157;;::::1;::::0;:14;;13953:60:::1;;;;-1:-1:-1::0;;;13953:60:157::1;;;;;;3004:25:175::0;;2992:2;2977:18;;2858:177;13953:60:157::1;-1:-1:-1::0;14031:9:157;;::::1;::::0;14044:12;14031:25;;::::1;14023:86;;;::::0;-1:-1:-1;;;14023:86:157;;::::1;::::0;::::1;14158:25:175::0;;;;14199:18;;;14192:34;14131:18;;14023:86:157::1;13984:248:175::0;14023:86:157::1;-1:-1:-1::0;;14127:9:157;;::::1;::::0;14140;14127:22;;::::1;14119:77;;;::::0;-1:-1:-1;;;14119:77:157;;::::1;::::0;::::1;14158:25:175::0;;;;14199:18;;;14192:34;14131:18;;14119:77:157::1;13984:248:175::0;14119:77:157::1;-1:-1:-1::0;;14273:9:157;;::::1;::::0;14252:18:::1;14320:21;:19;:21::i;:::-;14292:49;;14351:23;14377:8;:59;;14414:22;::::0;::::1;::::0;-1:-1:-1;;;;;14414:22:157::1;14377:59;;;14388:23;::::0;::::1;::::0;-1:-1:-1;;;;;14388:23:157::1;14377:59;14454:63;::::0;-1:-1:-1;;;14454:63:157;;14351:85;;-1:-1:-1;;;;;;14454:55:157;::::1;::::0;::::1;::::0;:63:::1;::::0;14510:6;;14454:63:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14446:88;;;;-1:-1:-1::0;;;14446:88:157::1;;;;;;;;;;;;14545:70;14555:8:::0;14565;14575:12;14589:9;14545:70:::1;;::::0;;::::1;::::0;::::1;14600:2:::0;14545:70:::1;:::i;:::-;14604:10;14545:9;:70::i;:::-;13684:938;;;;;;13501:1121:::0;;;;;:::o;5494:121::-;5544:6;5569:21;:19;:21::i;:::-;:39;;;-1:-1:-1;;;;;5569:39:157;;5494:121;-1:-1:-1;5494:121:157:o;5621:111::-;5666:6;5691:21;:19;:21::i;:::-;:34;;;-1:-1:-1;;;5691:34:157;;-1:-1:-1;;;;;5691:34:157;;;-1:-1:-1;5621:111:157:o;21876:1175::-;1355:13:105;:11;:13::i;:::-;-1:-1:-1;;;;;22162:28:157;::::1;::::0;;:70:::1;;-1:-1:-1::0;;;;;;22194:38:157;::::1;::::0;22162:70:::1;:127;;;-1:-1:-1::0;;;;;;22252:37:157;::::1;::::0;22162:127:::1;:176;;;-1:-1:-1::0;;;;;;22293:45:157;::::1;::::0;22162:176:::1;:240;;;-1:-1:-1::0;;;;;;22358:44:157;::::1;::::0;22162:240:::1;22145:313;;;22434:13;;-1:-1:-1::0;;;22434:13:157::1;;;;;;;;;;;22145:313;22467:25;22495:21;:19;:21::i;:::-;22526:13;::::0;::::1;:30:::0;;-1:-1:-1;;;;;22526:30:157;;::::1;-1:-1:-1::0;;;;;;22526:30:157;;::::1;::::0;::::1;::::0;;;22566:23:::1;::::0;::::1;:50:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;22626:22:::1;::::0;::::1;:48:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;22684:30:::1;::::0;::::1;:64:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;22758:29:::1;::::0;::::1;:62:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;22835:209:::1;::::0;;19802:51:175;;;19884:2;19869:18;;19862:60;;;;19938:18;;;19931:60;20022:2;20007:18;;20000:60;;;;20091:3;20076:19;;20069:61;22526:13:157;;-1:-1:-1;22835:209:157::1;::::0;19789:3:175;19774:19;22835:209:157::1;;;;;;;22135:916;21876:1175:::0;;;;;:::o;6167:145::-;6231:7;6257:21;:19;:21::i;:::-;-1:-1:-1;;;;;6257:48:157;;;;;;;:41;;;;;:48;;-1:-1:-1;6257:48:157;;;;;6167:145::o;4931:128::-;4984:7;5010:21;:19;:21::i;:::-;:42;;;-1:-1:-1;;;;;5010:42:157;;4931:128;-1:-1:-1;4931:128:157:o;4123:105:49:-;1355:13:105;:11;:13::i;:::-;4190:31:49::1;::::0;-1:-1:-1;;;4190:31:49;;-1:-1:-1;;;;;4740:32:175;;;4190:31:49::1;::::0;::::1;4722:51:175::0;4190:8:49::1;:20;::::0;::::1;::::0;4695:18:175;;4190:31:49::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4123:105:::0;:::o;4795:130:157:-;4849:7;4875:21;:19;:21::i;:::-;:43;;;-1:-1:-1;;;;;4875:43:157;;4795:130;-1:-1:-1;4795:130:157:o;15176:801::-;1503:19:113;:17;:19::i;:::-;15411:20:157::1;::::0;;;15524:70:::1;::::0;;::::1;15535:5:::0;15524:70:::1;:::i;:::-;15410:184;;;;;;;;15604:25;15632:21;:19;:21::i;:::-;15604:49;;15663:30;15696:8;:73;;15740:29;::::0;::::1;::::0;-1:-1:-1;;;;;15740:29:157::1;15696:73;;;15707:30;::::0;::::1;::::0;-1:-1:-1;;;;;15707:30:157::1;15696:73;15787:77;::::0;-1:-1:-1;;;15787:77:157;;15663:106;;-1:-1:-1;;;;;;15787:53:157;::::1;::::0;::::1;::::0;:77:::1;::::0;15841:2;;15845;;15849;;15853:10;;15787:77:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15779:102;;;;-1:-1:-1::0;;;15779:102:157::1;;;;;;;;;;;;15922:13:::0;;::::1;15937::::0;::::1;::::0;15892:78:::1;::::0;15902:8;;15912;;15922:13;15892:78:::1;;::::0;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;15956:13:::0;;::::1;::::0;15892:9:::1;:78::i;5867:143::-:0;5930:7;5956:21;:19;:21::i;:::-;-1:-1:-1;;;;;5956:47:157;;;;;;;:40;;;;;:47;;-1:-1:-1;5956:47:157;;;;;5867:143::o;5363:125::-;5415:6;5440:21;:19;:21::i;:::-;:41;;;-1:-1:-1;;;5440:41:157;;-1:-1:-1;;;;;5440:41:157;;;-1:-1:-1;5363:125:157:o;2335:198:105:-;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:105;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:105;;24135:2:175;2415:73:105::1;::::0;::::1;24117:21:175::0;24174:2;24154:18;;;24147:30;24213:34;24193:18;;;24186:62;-1:-1:-1;;;24264:18:175;;;24257:36;24310:19;;2415:73:105::1;23933:402:175::0;2415:73:105::1;2498:28;2517:8;2498:18;:28::i;21241:113:157:-:0;1355:13:105;:11;:13::i;:::-;21301:10:157::1;:8;:10::i;:::-;21326:21;::::0;::::1;::::0;;;::::1;21241:113::o:0;4470:98::-;4508:7;4534:21;:19;:21::i;:::-;:27;-1:-1:-1;;;;;4534:27:157;;4470:98;-1:-1:-1;4470:98:157:o;5738:123::-;5789:6;5814:21;:19;:21::i;:::-;:40;;;-1:-1:-1;;;5814:40:157;;-1:-1:-1;;;;;5814:40:157;;;-1:-1:-1;5738:123:157:o;3324:149:50:-;3406:4;3453:13;;;;;;3429:20;;3435:13;;3453:6;3435:13;:::i;3429:20::-;:37;;3324:149;-1:-1:-1;;3324:149:50:o;2031:106:113:-;1949:7;;;;2100:9;2092:38;;;;-1:-1:-1;;;2092:38:113;;24542:2:175;2092:38:113;;;24524:21:175;24581:2;24561:18;;;24554:30;-1:-1:-1;;;24600:18:175;;;24593:46;24656:18;;2092:38:113;24340:340:175;4243:221:157;4348:53;;;;;;;;;;;;;;;;;;1852:57:149;4296:25:157;1839:71:149;;;4296:25:157;1931:37:149;4348:53:157;1707:277:149;2450:115:113;1503:19;:17;:19::i;:::-;2509:7:::1;:14:::0;;-1:-1:-1;;2509:14:113::1;2519:4;2509:14;::::0;;2538:20:::1;2545:12;965:10:120::0;;886:96;2545:12:113::1;2538:20;::::0;-1:-1:-1;;;;;4740:32:175;;;4722:51;;4710:2;4695:18;2538:20:113::1;;;;;;;2450:115::o:0;3528:257:49:-;3691:13;;;3598:7;3691:13;;;926:26;3691:13;;;;;;;;;3714:43;;3745:12;;-1:-1:-1;;;3745:12:49;;4553:10:175;4541:23;;3745:12:49;;;4523:42:175;4496:18;;3745:12:49;4379:192:175;3714:43:49;3774:4;3528:257;-1:-1:-1;;;3528:257:49:o;20136:633:157:-;20286:25;20314:21;:19;:21::i;:::-;20370:8;;;;-1:-1:-1;;;;20370:8:157;;;;20353:13;;;;;;:::i;:::-;:25;;;20397:13;;;;:6;:13;:::i;:::-;20345:67;;;;;-1:-1:-1;;;20345:67:157;;4553:10:175;4541:23;;;20345:67:157;;;4523:42:175;4496:18;;20345:67:157;4379:192:175;20345:67:157;-1:-1:-1;20424:18:157;;20462:38;;;;20473:7;20462:38;:::i;:::-;-1:-1:-1;;;;;20514:30:157;;;;;;:21;;;:30;;;;;;20423:77;;-1:-1:-1;20423:77:157;;-1:-1:-1;20514:35:157;20510:164;;-1:-1:-1;;;;;20565:30:157;;;;;;:21;;;:30;;;;;;;:43;;;20627:36;;;;;20598:10;3004:25:175;;2992:2;2977:18;;2858:177;20627:36:157;;;;;;;;20510:164;20698:14;;;;-1:-1:-1;;;;;;;;20698:14:157;;;;;20688:24;;;;20684:79;;;20728:14;;;:24;;-1:-1:-1;;20728:24:157;-1:-1:-1;;;;;;;;20728:24:157;;;;;;20684:79;20276:493;;;20136:633;;;;;;;:::o;2550:391:51:-;-1:-1:-1;;;;;;;;;;;;;;;;;2771:8:51;-1:-1:-1;;;;;2771:14:51;;2803:86;;;;;;;;2819:7;2803:86;;;;;;2828:25;2845:7;2828:16;:25::i;:::-;2803:86;;;;2855:8;2803:86;;;;2865:8;2803:86;;;;2875:13;2803:86;;;;;2915:4;2771:163;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2752:182;2550:391;-1:-1:-1;;;;;2550:391:51:o;1620:130:105:-;1534:6;;-1:-1:-1;;;;;1534:6:105;965:10:120;1683:23:105;1675:68;;;;-1:-1:-1;;;1675:68:105;;27022:2:175;1675:68:105;;;27004:21:175;;;27041:18;;;27034:30;27100:34;27080:18;;;27073:62;27152:18;;1675:68:105;26820:356:175;1478:151:109;1531:7;-1:-1:-1;;;;;;;;;;;1557:59:109;1870:190:122;9766:66:157;1355:13:105;:11;:13::i;2841:944:109:-;839:66;3257:59;;;3253:526;;;3332:37;3351:17;3332:18;:37::i;:::-;2841:944;;;:::o;3253:526::-;3433:17;-1:-1:-1;;;;;3404:61:109;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3404:63:109;;;;;;;;-1:-1:-1;;3404:63:109;;;;;;;;;;;;:::i;:::-;;;3400:302;;3631:56;;-1:-1:-1;;;3631:56:109;;27618:2:175;3631:56:109;;;27600:21:175;27657:2;27637:18;;;27630:30;27696:34;27676:18;;;27669:62;-1:-1:-1;;;27747:18:175;;;27740:44;27801:19;;3631:56:109;27416:410:175;3400:302:109;-1:-1:-1;;;;;;;;;;;3517:28:109;;3509:82;;;;-1:-1:-1;;;3509:82:109;;28033:2:175;3509:82:109;;;28015:21:175;28072:2;28052:18;;;28045:30;28111:34;28091:18;;;28084:62;-1:-1:-1;;;28162:18:175;;;28155:39;28211:19;;3509:82:109;27831:405:175;3509:82:109;3468:138;3715:53;3733:17;3752:4;3758:9;3715:17;:53::i;1024:95:105:-;5374:13:111;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:111;;;;;;;:::i;:::-;1086:26:105::1;:24;:26::i;1456:189:52:-:0;5374:13:111;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:111;;;;;;;:::i;:::-;1532:26:52::1;1548:9;1532:15;:26::i;:::-;1568:31;:29;:31::i;:::-;1609:29;2290:67:112::0;5374:13:111;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:111;;;;;;;:::i;8699:1061:157:-;5374:13:111;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:111;;;;;;;:::i;:::-;9016:17:157::1;:15;:17::i;:::-;9043:25;9071:21;:19;:21::i;:::-;9102:16:::0;;-1:-1:-1;;;;;9102:16:157;;::::1;-1:-1:-1::0;;;;;;9128:18:157;;;;;;;-1:-1:-1;;;9128:18:157::1;::::0;::::1;;;::::0;;-1:-1:-1;9156:13:157;::::1;:28:::0;;-1:-1:-1;;;;;;9156:28:157;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;9194:23:::1;::::0;::::1;:48:::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;9252:22:::1;::::0;::::1;:46:::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;9308:30:::1;::::0;::::1;:62:::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;9380:29:::1;::::0;::::1;:60:::0;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;9456:204:::1;::::0;;19802:51:175;;;19884:2;19869:18;;19862:60;;;;19938:18;;;19931:60;20022:2;20007:18;;20000:60;20091:3;20076:19;;20069:61;;;;9102:16:157;;-1:-1:-1;9456:204:157::1;::::0;19789:3:175;19774:19;9456:204:157::1;;;;;;;9671:24;::::0;;;:21:::1;::::0;::::1;:24;::::0;;;;3462:76:::1;9671:48:::0;;9729:20:::1;;:24:::0;;-1:-1:-1;;;;9729:24:157::1;::::0;;-1:-1:-1;;;;;;;8699:1061:157:o;2687:187:105:-;2779:6;;;-1:-1:-1;;;;;2795:17:105;;;-1:-1:-1;;;;;;2795:17:105;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;3700:766:51:-;3901:31;;:::i;:::-;4066:20;4089:26;4100:4;:14;;;4089:10;:26::i;:::-;4129:15;;;;4066:49;;-1:-1:-1;4129:19:51;4125:53;;4150:28;4162:4;:15;;;4150:11;:28::i;:::-;4267:8;-1:-1:-1;;;;;4267:13:51;;4289:12;4321:92;;;;;;;;4337:7;4321:92;;;;;;4346:25;4363:7;4346:16;:25::i;:::-;4321:92;;;;4373:8;4321:92;;;;4383:8;4321:92;;;;4411:1;4393:4;:15;;;:19;4321:92;;;;;4431:14;4267:192;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4189:270;3700:766;-1:-1:-1;;;;;;;3700:766:51:o;16262:1343:157:-;16490:25;16518:21;:19;:21::i;:::-;16490:49;;16572:20;16595:8;:76;;-1:-1:-1;;;;;16640:31:157;;;;;;:21;;;:31;;;;;;16595:76;;;-1:-1:-1;;;;;16606:31:157;;;;;;:21;;;:31;;;;;;16595:76;16572:99;-1:-1:-1;16725:8:157;16689:17;16681:54;;;;-1:-1:-1;;;16681:54:157;;-1:-1:-1;;;;;8620:31:175;;;16681:54:157;;;8602:50:175;8575:18;;16681:54:157;8458:200:175;16681:54:157;-1:-1:-1;16753:12:157;16769;16753:28;;;16745:87;;;;-1:-1:-1;;;16745:87:157;;;;;14158:25:175;;;;14199:18;;;14192:34;14131:18;;16745:87:157;13984:248:175;16745:87:157;;;16871:25;16899:9;:2;:7;:9::i;:::-;16871:37;-1:-1:-1;16871:37:157;16926:9;:30;;;16918:88;;;;-1:-1:-1;;;16918:88:157;;;;;14158:25:175;;;;14199:18;;;14192:34;14131:18;;16918:88:157;13984:248:175;16918:88:157;-1:-1:-1;;17077:10:157;;17045:13;;;-1:-1:-1;;;;;17077:26:157;;;;;;;17069:86;;;;-1:-1:-1;;;17069:86:157;;-1:-1:-1;;;;;2363:31:175;;;17069:86:157;;;2345:50:175;2431:31;;2411:18;;;2404:59;2318:18;;17069:86:157;2175:294:175;17069:86:157;-1:-1:-1;;17166:20:157;17189:28;;;:17;;;:28;;;;;;;17235:5;:20;;;17227:69;;;;-1:-1:-1;;;17227:69:157;;;;;14158:25:175;;;;14199:18;;;14192:34;14131:18;;17227:69:157;13984:248:175;17227:69:157;-1:-1:-1;17306:12:157;;-1:-1:-1;17321:20:157;17329:12;17321:5;:20;:::i;:::-;17306:35;;17383:4;17351:1;:17;;:28;17369:9;17351:28;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;-1:-1:-1;;17445:12:157;;;;17478:7;;17470:46;;-1:-1:-1;;;17470:46:157;;-1:-1:-1;;;;;29859:32:175;;;17470:46:157;;;29841:51:175;29908:18;;;29901:34;;;17478:7:157;;;;17470:25;;29814:18:175;;17470:46:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17540:13;-1:-1:-1;;;;;17531:67:157;;17555:4;17561:8;17571;17581:12;17595:2;17531:67;;;;;;;;;30267:25:175;;;30335:14;;30328:22;30323:2;30308:18;;;30301:50;;;;-1:-1:-1;;;;;30387:31:175;;;30382:2;30367:18;;;30360:59;;;;30450:2;30435:18;;30428:34;;;;30503:13;;30499:38;;;30493:3;30478:19;;30471:67;30581:15;;;30575:22;30569:3;30554:19;;30547:51;30641:15;30635:22;30629:3;30614:19;;30607:51;30254:3;30239:19;;29946:718;17531:67:157;;;;;;;;16480:1125;;;;;;;16262:1343;;;;;;:::o;2697:117:113:-;1750:16;:14;:16::i;:::-;2755:7:::1;:15:::0;;-1:-1:-1;;2755:15:113::1;::::0;;2785:22:::1;965:10:120::0;2794:12:113::1;886:96:120::0;1720:281:109;-1:-1:-1;;;;;1713:19:119;;;1793:106:109;;;;-1:-1:-1;;;1793:106:109;;30871:2:175;1793:106:109;;;30853:21:175;30910:2;30890:18;;;30883:30;30949:34;30929:18;;;30922:62;-1:-1:-1;;;31000:18:175;;;30993:43;31053:19;;1793:106:109;30669:409:175;1793:106:109;-1:-1:-1;;;;;;;;;;;1909:85:109;;-1:-1:-1;;;;;;1909:85:109;-1:-1:-1;;;;;1909:85:109;;;;;;;;;;1720:281::o;2393:276::-;2501:29;2512:17;2501:10;:29::i;:::-;2558:1;2544:4;:11;:15;:28;;;;2563:9;2544:28;2540:123;;;2588:64;2628:17;2647:4;2588:39;:64::i;:::-;;2393:276;;;:::o;1125:111:105:-;5374:13:111;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:111;;;;;;;:::i;:::-;1197:32:105::1;965:10:120::0;1197:18:105::1;:32::i;1787:123:49:-:0;5374:13:111;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:111;;;;;;;:::i;:::-;1867:36:49::1;1893:9;1867:25;:36::i;1084:97:113:-:0;5374:13:111;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:111;;;;;;;:::i;:::-;1147:27:113::1;:25;:27::i;5162:191:51:-:0;5228:17;5274:10;5261:9;:23;5257:62;;5293:26;;-1:-1:-1;;;5293:26:51;;5309:9;5293:26;;;3004:25:175;2977:18;;5293:26:51;2858:177:175;5257:62:51;-1:-1:-1;5336:10:51;5162:191::o;5730:410::-;5883:15;5901:8;-1:-1:-1;;;;;5901:16:51;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5883:36;-1:-1:-1;;;;;;5933:21:51;;5929:54;;5963:20;;-1:-1:-1;;;5963:20:51;;;;;;;;;;;5929:54;6057:76;-1:-1:-1;;;;;6057:32:51;;6090:10;6110:8;6121:11;6057:32;:76::i;251:330:166:-;316:7;335:14;352:60;376:2;:10;;;388:2;:12;;;402:2;:8;;;359:52;;;;;;;;;31560:3:175;31538:16;;;;-1:-1:-1;;;;;;31534:51:175;31522:64;;31611:1;31602:11;;31595:27;;;;31647:2;31638:12;;31631:28;31684:2;31675:12;;31339:354;359:52:166;;;;-1:-1:-1;;359:52:166;;;;;;;;;;352:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;439:84:166;-1:-1:-1;;;540:34:166;;;-1:-1:-1;;;251:330:166:o;2209:106:113:-;1949:7;;;;2267:41;;;;-1:-1:-1;;;2267:41:113;;32206:2:175;2267:41:113;;;32188:21:175;32245:2;32225:18;;;32218:30;-1:-1:-1;;;32264:18:175;;;32257:50;32324:18;;2267:41:113;32004:344:175;2107:152:109;2173:37;2192:17;2173:18;:37::i;:::-;2225:27;;-1:-1:-1;;;;;2225:27:109;;;;;;;;2107:152;:::o;6685:198:119:-;6768:12;6799:77;6820:6;6828:4;6799:77;;;;;;;;;;;;;;;;;:20;:77::i;1916:191:49:-;5374:13:111;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:111;;;;;;;:::i;:::-;-1:-1:-1;;;;;2010:23:49;::::1;2006:53;;2042:17;;-1:-1:-1::0;;;2042:17:49::1;;;;;;;;;;;1187:95:113::0;5374:13:111;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:111;;;;;;;:::i;:::-;1260:7:113::1;:15:::0;;-1:-1:-1;;1260:15:113::1;::::0;;1187:95::o;1618:188:142:-;1745:53;;;-1:-1:-1;;;;;32573:32:175;;;1745:53:142;;;32555:51:175;32642:32;;32622:18;;;32615:60;32691:18;;;;32684:34;;;1745:53:142;;;;;;;;;;32528:18:175;;;;1745:53:142;;;;;;;;-1:-1:-1;;;;;1745:53:142;-1:-1:-1;;;1745:53:142;;;1718:81;;1738:5;;1718:19;:81::i;7069:325:119:-;7210:12;7235;7249:23;7276:6;-1:-1:-1;;;;;7276:19:119;7296:4;7276:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7234:67;;;;7318:69;7345:6;7353:7;7362:10;7374:12;7318:26;:69::i;:::-;7311:76;7069:325;-1:-1:-1;;;;;;7069:325:119:o;8370:720:142:-;8450:18;8478:19;8616:4;8613:1;8606:4;8600:11;8593:4;8587;8583:15;8580:1;8573:5;8566;8561:60;8673:7;8663:176;;8717:4;8711:11;8762:16;8759:1;8754:3;8739:40;8808:16;8803:3;8796:29;8663:176;-1:-1:-1;;8916:1:142;8910:8;8866:16;;-1:-1:-1;8942:15:142;;:68;;8994:11;9009:1;8994:16;;8942:68;;;-1:-1:-1;;;;;8960:26:142;;;:31;8942:68;8938:146;;;9033:40;;-1:-1:-1;;;9033:40:142;;-1:-1:-1;;;;;4740:32:175;;9033:40:142;;;4722:51:175;4695:18;;9033:40:142;4576:203:175;7682:628:119;7862:12;7890:7;7886:418;;;7917:10;:17;7938:1;7917:22;7913:286;;-1:-1:-1;;;;;1713:19:119;;;8124:60;;;;-1:-1:-1;;;8124:60:119;;32931:2:175;8124:60:119;;;32913:21:175;32970:2;32950:18;;;32943:30;33009:31;32989:18;;;32982:59;33058:18;;8124:60:119;32729:353:175;8124:60:119;-1:-1:-1;8219:10:119;8212:17;;7886:418;8260:33;8268:10;8280:12;8991:17;;:21;8987:379;;9219:10;9213:17;9275:15;9262:10;9258:2;9254:19;9247:44;8987:379;9342:12;9335:20;;-1:-1:-1;;;9335:20:119;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:347:175:-;65:8;75:6;129:3;122:4;114:6;110:17;106:27;96:55;;147:1;144;137:12;96:55;-1:-1:-1;170:20:175;;-1:-1:-1;;;;;202:30:175;;199:50;;;245:1;242;235:12;199:50;282:4;274:6;270:17;258:29;;334:3;327:4;318:6;310;306:19;302:30;299:39;296:59;;;351:1;348;341:12;296:59;14:347;;;;;:::o;366:409::-;436:6;444;497:2;485:9;476:7;472:23;468:32;465:52;;;513:1;510;503:12;465:52;553:9;540:23;-1:-1:-1;;;;;578:6:175;575:30;572:50;;;618:1;615;608:12;572:50;657:58;707:7;698:6;687:9;683:22;657:58;:::i;:::-;734:8;;631:84;;-1:-1:-1;366:409:175;-1:-1:-1;;;;366:409:175:o;780:154::-;839:5;884:2;875:6;870:3;866:16;862:25;859:45;;;900:1;897;890:12;859:45;-1:-1:-1;922:6:175;780:154;-1:-1:-1;780:154:175:o;939:131::-;-1:-1:-1;;;;;1014:31:175;;1004:42;;994:70;;1060:1;1057;1050:12;1075:1095;1218:6;1226;1234;1242;1250;1258;1266;1319:3;1307:9;1298:7;1294:23;1290:33;1287:53;;;1336:1;1333;1326:12;1287:53;1359;1404:7;1393:9;1359:53;:::i;:::-;1349:63;-1:-1:-1;1481:2:175;1466:18;;1453:32;;-1:-1:-1;1560:3:175;1545:19;;1532:33;-1:-1:-1;;;;;1577:30:175;;1574:50;;;1620:1;1617;1610:12;1574:50;1659:58;1709:7;1700:6;1689:9;1685:22;1659:58;:::i;:::-;1736:8;;-1:-1:-1;1633:84:175;-1:-1:-1;;1823:3:175;1808:19;;1795:33;1837;1795;1837;:::i;:::-;1889:7;-1:-1:-1;1949:3:175;1934:19;;1921:33;-1:-1:-1;;;;;1966:32:175;;1963:52;;;2011:1;2008;2001:12;1963:52;2050:60;2102:7;2091:8;2080:9;2076:24;2050:60;:::i;:::-;1075:1095;;;;-1:-1:-1;1075:1095:175;;-1:-1:-1;1075:1095:175;;;;2024:86;;-1:-1:-1;;;1075:1095:175:o;2474:129::-;-1:-1:-1;;;;;2552:5:175;2548:30;2541:5;2538:41;2528:69;;2593:1;2590;2583:12;2608:245;2666:6;2719:2;2707:9;2698:7;2694:23;2690:32;2687:52;;;2735:1;2732;2725:12;2687:52;2774:9;2761:23;2793:30;2817:5;2793:30;:::i;3198:261::-;3118:12;;3106:25;;3180:4;3169:16;;;3163:23;3147:14;;;3140:47;3392:2;3377:18;;3404:49;3040:153;3464:163;3531:20;;3591:10;3580:22;;3570:33;;3560:61;;3617:1;3614;3607:12;3560:61;3464:163;;;:::o;3632:298::-;3699:6;3707;3760:2;3748:9;3739:7;3735:23;3731:32;3728:52;;;3776:1;3773;3766:12;3728:52;3799:28;3817:9;3799:28;:::i;:::-;3789:38;3896:2;3881:18;;;;3868:32;;-1:-1:-1;;;3632:298:175:o;3935:247::-;3994:6;4047:2;4035:9;4026:7;4022:23;4018:32;4015:52;;;4063:1;4060;4053:12;4015:52;4102:9;4089:23;4121:31;4146:5;4121:31;:::i;4784:1170::-;4905:6;4913;4921;4929;4937;4945;4953;4961;5014:3;5002:9;4993:7;4989:23;4985:33;4982:53;;;5031:1;5028;5021:12;4982:53;5070:9;5057:23;5089:31;5114:5;5089:31;:::i;:::-;5139:5;-1:-1:-1;5163:37:175;5196:2;5181:18;;5163:37;:::i;:::-;5153:47;;5252:2;5241:9;5237:18;5224:32;5265:33;5290:7;5265:33;:::i;:::-;5317:7;-1:-1:-1;5376:2:175;5361:18;;5348:32;5389:33;5348:32;5389:33;:::i;:::-;5441:7;-1:-1:-1;5500:3:175;5485:19;;5472:33;5514;5472;5514;:::i;:::-;5566:7;-1:-1:-1;5625:3:175;5610:19;;5597:33;5639;5597;5639;:::i;:::-;5691:7;-1:-1:-1;5750:3:175;5735:19;;5722:33;5764;5722;5764;:::i;:::-;5816:7;-1:-1:-1;5875:3:175;5860:19;;5847:33;5889;5847;5889;:::i;:::-;5941:7;5931:17;;;4784:1170;;;;;;;;;;;:::o;5959:127::-;6020:10;6015:3;6011:20;6008:1;6001:31;6051:4;6048:1;6041:15;6075:4;6072:1;6065:15;6091:251;6163:2;6157:9;6205:2;6193:15;;-1:-1:-1;;;;;6223:34:175;;6259:22;;;6220:62;6217:88;;;6285:18;;:::i;:::-;6321:2;6314:22;6091:251;:::o;6347:275::-;6418:2;6412:9;6483:2;6464:13;;-1:-1:-1;;6460:27:175;6448:40;;-1:-1:-1;;;;;6503:34:175;;6539:22;;;6500:62;6497:88;;;6565:18;;:::i;:::-;6601:2;6594:22;6347:275;;-1:-1:-1;6347:275:175:o;6627:900::-;6704:6;6712;6765:2;6753:9;6744:7;6740:23;6736:32;6733:52;;;6781:1;6778;6771:12;6733:52;6820:9;6807:23;6839:31;6864:5;6839:31;:::i;:::-;6889:5;-1:-1:-1;6945:2:175;6930:18;;6917:32;-1:-1:-1;;;;;6961:30:175;;6958:50;;;7004:1;7001;6994:12;6958:50;7027:22;;7080:4;7072:13;;7068:27;-1:-1:-1;7058:55:175;;7109:1;7106;7099:12;7058:55;7149:2;7136:16;-1:-1:-1;;;;;7167:6:175;7164:30;7161:56;;;7197:18;;:::i;:::-;7239:57;7286:2;7263:17;;-1:-1:-1;;7259:31:175;7292:2;7255:40;7239:57;:::i;:::-;7319:6;7312:5;7305:21;7367:7;7362:2;7353:6;7349:2;7345:15;7341:24;7338:37;7335:57;;;7388:1;7385;7378:12;7335:57;7443:6;7438:2;7434;7430:11;7425:2;7418:5;7414:14;7401:49;7495:1;7490:2;7481:6;7474:5;7470:18;7466:27;7459:38;7516:5;7506:15;;;;;6627:900;;;;;:::o;8227:226::-;8286:6;8339:2;8327:9;8318:7;8314:23;8310:32;8307:52;;;8355:1;8352;8345:12;8307:52;-1:-1:-1;8400:23:175;;8227:226;-1:-1:-1;8227:226:175:o;8663:670::-;8777:6;8785;8793;8801;8854:3;8842:9;8833:7;8829:23;8825:33;8822:53;;;8871:1;8868;8861:12;8822:53;8894;8939:7;8928:9;8894:53;:::i;:::-;8884:63;;8998:2;8987:9;8983:18;8970:32;-1:-1:-1;;;;;9017:6:175;9014:30;9011:50;;;9057:1;9054;9047:12;9011:50;9096:58;9146:7;9137:6;9126:9;9122:22;9096:58;:::i;:::-;9173:8;;-1:-1:-1;9070:84:175;-1:-1:-1;;9258:3:175;9243:19;;9230:33;9272:31;9230:33;9272:31;:::i;:::-;8663:670;;;;-1:-1:-1;8663:670:175;;-1:-1:-1;;8663:670:175:o;9338:469::-;9498:4;9540:3;9529:9;9525:19;9517:27;;9577:6;9571:13;9560:9;9553:32;-1:-1:-1;;;;;9645:4:175;9637:6;9633:17;9627:24;9623:49;9616:4;9605:9;9601:20;9594:79;9720:4;9712:6;9708:17;9702:24;9735:66;9795:4;9784:9;9780:20;9766:12;3118;;3106:25;;3180:4;3169:16;;;3163:23;3147:14;;3140:47;3040:153;9735:66;;9338:469;;;;:::o;9812:118::-;9898:5;9891:13;9884:21;9877:5;9874:32;9864:60;;9920:1;9917;9910:12;9935:814;10065:6;10073;10081;10089;10097;10150:3;10138:9;10129:7;10125:23;10121:33;10118:53;;;10167:1;10164;10157:12;10118:53;10206:9;10193:23;10225:28;10247:5;10225:28;:::i;:::-;10272:5;-1:-1:-1;10329:2:175;10314:18;;10301:32;10342;10301;10342;:::i;:::-;10393:7;-1:-1:-1;10419:62:175;10473:7;10468:2;10453:18;;10419:62;:::i;:::-;10409:72;;10532:3;10521:9;10517:19;10504:33;-1:-1:-1;;;;;10552:6:175;10549:30;10546:50;;;10592:1;10589;10582:12;10546:50;10631:58;10681:7;10672:6;10661:9;10657:22;10631:58;:::i;:::-;9935:814;;;;-1:-1:-1;9935:814:175;;-1:-1:-1;10708:8:175;;10605:84;9935:814;-1:-1:-1;;;9935:814:175:o;10754:184::-;10812:6;10865:2;10853:9;10844:7;10840:23;10836:32;10833:52;;;10881:1;10878;10871:12;10833:52;10904:28;10922:9;10904:28;:::i;10943:813::-;11038:6;11046;11054;11062;11070;11123:3;11111:9;11102:7;11098:23;11094:33;11091:53;;;11140:1;11137;11130:12;11091:53;11179:9;11166:23;11198:31;11223:5;11198:31;:::i;:::-;11248:5;-1:-1:-1;11305:2:175;11290:18;;11277:32;11318:33;11277:32;11318:33;:::i;:::-;11370:7;-1:-1:-1;11429:2:175;11414:18;;11401:32;11442:33;11401:32;11442:33;:::i;:::-;11494:7;-1:-1:-1;11553:2:175;11538:18;;11525:32;11566:33;11525:32;11566:33;:::i;:::-;11618:7;-1:-1:-1;11677:3:175;11662:19;;11649:33;11691;11649;11691;:::i;:::-;11743:7;11733:17;;;10943:813;;;;;;;;:::o;11761:236::-;11846:6;11899:2;11887:9;11878:7;11874:23;11870:32;11867:52;;;11915:1;11912;11905:12;11867:52;11938:53;11983:7;11972:9;11938:53;:::i;12002:768::-;12085:6;12138:4;12126:9;12117:7;12113:23;12109:34;12106:54;;;12156:1;12153;12146:12;12106:54;12182:1;12228:7;12221:4;12210:9;12206:20;12202:34;12192:62;;12250:1;12247;12240:12;12192:62;-1:-1:-1;12278:1:175;;12337:4;12361:21;12337:4;12361:21;:::i;:::-;12350:32;-1:-1:-1;12350:32:175;;-1:-1:-1;12432:20:175;;12464:19;;;12461:39;;;12496:1;12493;12486:12;12461:39;12520:9;12538:200;12554:6;12549:3;12546:15;12538:200;;;12646:17;;12676:18;;12723:4;12714:14;;;;12571;12538:200;;;-1:-1:-1;12757:7:175;;12002:768;-1:-1:-1;;;;;12002:768:175:o;12907:475::-;13089:4;13074:20;;13078:9;13171:6;13047:4;13205:171;13219:4;13216:1;13213:11;13205:171;;;13278:13;;13266:26;;13321:4;13312:14;;;;13349:17;;;;13239:1;13232:9;13205:171;;;13209:3;;;12907:475;;;;:::o;13387:245::-;13454:6;13507:2;13495:9;13486:7;13482:23;13478:32;13475:52;;;13523:1;13520;13513:12;13475:52;13555:9;13549:16;13574:28;13596:5;13574:28;:::i;14781:408::-;14983:2;14965:21;;;15022:2;15002:18;;;14995:30;15061:34;15056:2;15041:18;;15034:62;-1:-1:-1;;;15127:2:175;15112:18;;15105:42;15179:3;15164:19;;14781:408::o;15194:::-;15396:2;15378:21;;;15435:2;15415:18;;;15408:30;15474:34;15469:2;15454:18;;15447:62;-1:-1:-1;;;15540:2:175;15525:18;;15518:42;15592:3;15577:19;;15194:408::o;16646:230::-;16716:6;16769:2;16757:9;16748:7;16744:23;16740:32;16737:52;;;16785:1;16782;16775:12;16737:52;-1:-1:-1;16830:16:175;;16646:230;-1:-1:-1;16646:230:175:o;17068:288::-;17109:3;17147:5;17141:12;17174:6;17169:3;17162:19;17230:6;17223:4;17216:5;17212:16;17205:4;17200:3;17196:14;17190:47;17282:1;17275:4;17266:6;17261:3;17257:16;17253:27;17246:38;17345:4;17338:2;17334:7;17329:2;17321:6;17317:15;17313:29;17308:3;17304:39;17300:50;17293:57;;;17068:288;;;;:::o;17361:::-;17536:6;17525:9;17518:25;17579:2;17574;17563:9;17559:18;17552:30;17499:4;17599:44;17639:2;17628:9;17624:18;17616:6;17599:44;:::i;17654:768::-;17737:6;17790:4;17778:9;17769:7;17765:23;17761:34;17758:54;;;17808:1;17805;17798:12;17758:54;17834:1;17880:7;17873:4;17862:9;17858:20;17854:34;17844:62;;17902:1;17899;17892:12;17844:62;-1:-1:-1;17930:1:175;;17989:4;18013:21;17989:4;18013:21;:::i;18427:475::-;18609:4;18594:20;;18598:9;18691:6;18567:4;18725:171;18739:4;18736:1;18733:11;18725:171;;;18798:13;;18786:26;;18841:4;18832:14;;;;18869:17;;;;18759:1;18752:9;18725:171;;18907:631;19001:6;19061:2;19049:9;19040:7;19036:23;19032:32;19076:2;19073:22;;;19091:1;19088;19081:12;19073:22;-1:-1:-1;19133:22:175;;:::i;:::-;19192:9;19179:23;19211:32;19235:7;19211:32;:::i;:::-;19252:22;;19347:2;19332:18;;;19319:32;19367:14;;;19360:31;19464:2;19449:18;;;19436:32;19484:14;;;19477:31;;;;-1:-1:-1;19259:5:175;18907:631;-1:-1:-1;18907:631:175:o;20141:626::-;20191:5;20244:3;20237:4;20229:6;20225:17;20221:27;20211:55;;20262:1;20259;20252:12;20211:55;20290:1;20373:19;20351:2;20373:19;:::i;:::-;20362:30;;20412:7;20454:2;20446:6;20442:15;20480:3;20472:6;20469:15;20466:35;;;20497:1;20494;20487:12;20466:35;20521:6;20536:200;20552:6;20547:3;20544:15;20536:200;;;20644:17;;20674:18;;20721:4;20712:14;;;;20569;20536:200;;;-1:-1:-1;20754:7:175;;20141:626;-1:-1:-1;;;;;20141:626:175:o;20772:1656::-;20973:6;20981;20989;20997;21050:3;21038:9;21029:7;21025:23;21021:33;21018:53;;;21067:1;21064;21057:12;21018:53;21090:44;21126:7;21115:9;21090:44;:::i;:::-;21080:54;;21177:7;21172:2;21161:9;21157:18;21153:32;21143:60;;21199:1;21196;21189:12;21143:60;21278:2;21300:19;21278:2;21300:19;:::i;:::-;21341:3;21382;21371:9;21367:19;21409:7;21401:6;21398:19;21395:39;;;21430:1;21427;21420:12;21395:39;21469:2;21458:9;21454:18;21481:167;21497:6;21492:3;21489:15;21481:167;;;21565:38;21595:7;21590:3;21565:38;:::i;:::-;21553:51;;21633:4;21624:14;;;;21514;;21481:167;;;21485:3;21667:5;21657:15;;21691:41;21724:7;21716:6;21691:41;:::i;:::-;21681:51;;;;;;21770:3;21759:9;21755:19;21798:1;21841:7;21834:4;21826:6;21822:17;21818:31;21808:59;;21863:1;21860;21853:12;21808:59;21891:1;21978:19;21956:2;21978:19;:::i;:::-;21967:30;;22019:7;22063:2;22055:6;22051:15;22091:7;22081:8;22078:21;22075:41;;;22112:1;22109;22102:12;22075:41;22153:216;22171:8;22164:5;22161:19;22153:216;;;22269:19;;22301:20;;22354:4;22192:16;;;;22343;;;;22153:216;;;-1:-1:-1;20772:1656:175;;;;-1:-1:-1;20772:1656:175;;-1:-1:-1;22389:7:175;;-1:-1:-1;;;;20772:1656:175:o;22433:303::-;22526:5;22549:1;22559:171;22573:4;22570:1;22567:11;22559:171;;;22632:13;;22620:26;;22675:4;22666:14;;;;22703:17;;;;22593:1;22586:9;22559:171;;22741:1187;23189:3;23174:19;;23202:43;23178:9;23227:6;23202:43;:::i;:::-;23280:2;23269:9;23265:18;23325:6;23349:1;23359:187;23373:4;23370:1;23367:11;23359:187;;;23420:44;23460:3;23451:6;23445:13;23420:44;:::i;:::-;23493:2;23484:12;;;;;23531:4;23519:17;;;;;23393:1;23386:9;23359:187;;;23363:3;;;23555:53;23603:3;23592:9;23588:19;23580:6;23555:53;:::i;:::-;23645:3;23634:9;23630:19;23697:6;23723:1;23733:189;23749:4;23744:3;23741:13;23733:189;;;23814:15;;23800:30;;23863:4;23852:16;;;;23893:19;;;;23773:1;23764:11;23733:189;;;23737:3;;;22741:1187;;;;;;;:::o;24685:365::-;24752:6;24760;24813:2;24801:9;24792:7;24788:23;24784:32;24781:52;;;24829:1;24826;24819:12;24781:52;24874:23;;;-1:-1:-1;24973:2:175;24958:18;;24945:32;24986;24945;24986;:::i;:::-;25037:7;25027:17;;;24685:365;;;;;:::o;25055:889::-;25278:2;25267:9;25260:21;25336:10;25327:6;25321:13;25317:30;25312:2;25301:9;25297:18;25290:58;25402:4;25394:6;25390:17;25384:24;25379:2;25368:9;25364:18;25357:52;25241:4;25456:2;25448:6;25444:15;25438:22;25497:4;25491:3;25480:9;25476:19;25469:33;25525:51;25571:3;25560:9;25556:19;25542:12;25525:51;:::i;:::-;25511:65;;25625:2;25617:6;25613:15;25607:22;25699:2;25695:7;25683:9;25675:6;25671:22;25667:36;25660:4;25649:9;25645:20;25638:66;25727:40;25760:6;25744:14;25727:40;:::i;:::-;25836:3;25824:16;;;;25818:23;25811:31;25804:39;25798:3;25783:19;;25776:68;-1:-1:-1;;;;;;;;25905:32:175;;;;25898:4;25883:20;;;25876:62;25713:54;25055:889::o;25949:602::-;26019:5;26067:4;26055:9;26050:3;26046:19;26042:30;26039:50;;;26085:1;26082;26075:12;26039:50;26138:4;26132:11;;;26170:17;;-1:-1:-1;;;;;26202:34:175;;26238:22;;;26199:62;26196:88;;;26264:18;;:::i;:::-;26300:4;26293:24;26386:16;;26411:23;;26500:2;26485:18;;;26479:25;26520:15;;;26513:32;;;;-1:-1:-1;26335:6:175;25949:602;-1:-1:-1;25949:602:175:o;26556:259::-;26656:6;26709:2;26697:9;26688:7;26684:23;26680:32;26677:52;;;26725:1;26722;26715:12;26677:52;26748:61;26801:7;26790:9;26748:61;:::i;28241:407::-;28443:2;28425:21;;;28482:2;28462:18;;;28455:30;28521:34;28516:2;28501:18;;28494:62;-1:-1:-1;;;28587:2:175;28572:18;;28565:41;28638:3;28623:19;;28241:407::o;28653:614::-;28757:6;28817:3;28805:9;28796:7;28792:23;28788:33;28833:2;28830:22;;;28848:1;28845;28838:12;28830:22;-1:-1:-1;28890:22:175;;:::i;:::-;28957:16;;28982:22;;29049:2;29034:18;;29028:25;29062:32;29028:25;29062:32;:::i;:::-;29121:2;29110:14;;29103:31;29166:70;29228:7;29223:2;29208:18;;29166:70;:::i;:::-;29161:2;29150:14;;29143:94;29154:5;28653:614;-1:-1:-1;;;28653:614:175:o;29272:127::-;29333:10;29328:3;29324:20;29321:1;29314:31;29364:4;29361:1;29354:15;29388:4;29385:1;29378:15;29404:128;29471:9;;;29492:11;;;29489:37;;;29506:18;;:::i;29537:125::-;29602:9;;;29623:10;;;29620:36;;;29636:18;;:::i;31083:251::-;31153:6;31206:2;31194:9;31185:7;31181:23;31177:32;31174:52;;;31222:1;31219;31212:12;31174:52;31254:9;31248:16;31273:31;31298:5;31273:31;:::i;31698:301::-;31827:3;31865:6;31859:13;31911:6;31904:4;31896:6;31892:17;31887:3;31881:37;31973:1;31937:16;;31962:13;;;-1:-1:-1;31937:16:175;31698:301;-1:-1:-1;31698:301:175:o;33087:219::-;33236:2;33225:9;33218:21;33199:4;33256:44;33296:2;33285:9;33281:18;33273:6;33256:44;:::i","linkReferences":{},"immutableReferences":{"10127":[{"start":1081,"length":32},{"start":2648,"length":32},{"start":6249,"length":32},{"start":7710,"length":32},{"start":9025,"length":32},{"start":10340,"length":32},{"start":10523,"length":32}],"65793":[{"start":3173,"length":32},{"start":3237,"length":32},{"start":3954,"length":32},{"start":4018,"length":32},{"start":4137,"length":32}]}},"methodIdentifiers":{"activateEmergency()":"457e8b97","allowInitializePath((uint32,bytes32,uint64))":"ff7bd03d","deactivateEmergency()":"fa686948","endpoint()":"5e280f11","globalTransferRoots(uint64)":"c172e9e3","hubEid()":"4600f17c","initialize(address,uint32,address,address,address,address,address,address)":"4edddf6b","isComposeMsgSender((uint32,bytes32,uint64),bytes,address)":"82413eac","isUpToDate()":"442bde04","latestAggSeq()":"a97f176f","latestProvedIndex()":"9f487dbd","latestRelayedIndex()":"ff53cc04","latestReservedIndex()":"e9debe05","lzReceive((uint32,bytes32,uint64),bytes32,bytes,address,bytes)":"13137d65","nextNonce(uint32,bytes32)":"7d25a05e","oAppVersion()":"17442b70","owner()":"8da5cb5b","paused()":"5c975abb","peers(uint32)":"bb0b6a53","proveTransferRoot(bytes)":"11d29723","provedTransferRoots(uint64)":"1bb29877","proxiableUUID()":"52d1902d","quoteRelay(bytes)":"26efeb2b","relayTransferRoot(bytes)":"86106a29","renounceOwnership()":"715018a6","reserveHashChain()":"63373bdc","reservedHashChains(uint64)":"e2910dd3","rootDecider()":"8fe64dd4","setDelegate(address)":"ca5eb5e1","setPeer(uint32,bytes32)":"3400288b","setVerifiers(address,address,address,address,address)":"be6a2c15","singleTeleport(bool,uint64,(uint64,bytes32,bytes32),bytes)":"d4d12244","singleWithdrawGlobalVerifier()":"4a80034f","singleWithdrawLocalVerifier()":"755d89f2","teleport(bool,uint64,(uint64,bytes32,bytes32),bytes)":"9854265f","token()":"fc0c546a","totalTeleported(uint256)":"69cc1d27","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","withdrawGlobalDecider()":"d22f96df","withdrawLocalDecider()":"ca466380"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"endpoint\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"rootHint\",\"type\":\"uint64\"}],\"name\":\"ExpectedRootZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"FinalRecipientMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"FinalTransferRootMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"}],\"name\":\"InsufficientMsgValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDelegate\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEndpointCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"}],\"name\":\"InvalidHubSource\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"InvalidInitialLastLeafIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"InvalidInitialTotalValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"provided\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expected\",\"type\":\"uint64\"}],\"name\":\"InvalidRecipientChainId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LzTokenUnavailable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"NewHashChainMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"}],\"name\":\"NoPeer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoProvedRoot\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"}],\"name\":\"NotEnoughNative\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"currentTotal\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"}],\"name\":\"NothingToWithdraw\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"OldRootMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"}],\"name\":\"OldRootZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"OnlyEndpoint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"}],\"name\":\"OnlyPeer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"RecipientMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"}],\"name\":\"ReserveHashChainNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"TransferRootMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DeactivateEmergency\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"root1\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"root2\",\"type\":\"uint256\"}],\"name\":\"EmergencyTriggered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"aggSeq\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"}],\"name\":\"GlobalRootSaved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"hashChain\",\"type\":\"uint256\"}],\"name\":\"HashChainReserved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"peer\",\"type\":\"bytes32\"}],\"name\":\"PeerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isGlobal\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"rootHint\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"transferRoot\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"recipient\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"tweak\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct GeneralRecipientLib.GeneralRecipient\",\"name\":\"gr\",\"type\":\"tuple\"}],\"name\":\"Teleport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"}],\"name\":\"TransferRootProved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"lzMsgId\",\"type\":\"bytes\"}],\"name\":\"TransferRootRelayed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"rootDecider\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawGlobalDecider\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawLocalDecider\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"singleWithdrawGlobalVerifier\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"singleWithdrawLocalVerifier\",\"type\":\"address\"}],\"name\":\"VerifiersSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"activateEmergency\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"origin\",\"type\":\"tuple\"}],\"name\":\"allowInitializePath\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateEmergency\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"endpoint\",\"outputs\":[{\"internalType\":\"contract ILayerZeroEndpointV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"}],\"name\":\"globalTransferRoots\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hubEid\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"hubEid_\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rootDecider_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"withdrawGlobalDecider_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"withdrawLocalDecider_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"singleWithdrawGlobalVerifier_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"singleWithdrawLocalVerifier_\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"isComposeMsgSender\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUpToDate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestAggSeq\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestProvedIndex\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRelayedIndex\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestReservedIndex\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"_origin\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"_guid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_message\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_executor\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"lzReceive\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nextNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oAppVersion\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"senderVersion\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"receiverVersion\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_eid\",\"type\":\"uint32\"}],\"name\":\"peers\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"proveTransferRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"}],\"name\":\"provedTransferRoots\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"options\",\"type\":\"bytes\"}],\"name\":\"quoteRelay\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"nativeFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lzTokenFee\",\"type\":\"uint256\"}],\"internalType\":\"struct MessagingFee\",\"name\":\"fee\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"options\",\"type\":\"bytes\"}],\"name\":\"relayTransferRoot\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"guid\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"nativeFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lzTokenFee\",\"type\":\"uint256\"}],\"internalType\":\"struct MessagingFee\",\"name\":\"fee\",\"type\":\"tuple\"}],\"internalType\":\"struct MessagingReceipt\",\"name\":\"receipt\",\"type\":\"tuple\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reserveHashChain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"hashChain\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"}],\"name\":\"reservedHashChains\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rootDecider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_delegate\",\"type\":\"address\"}],\"name\":\"setDelegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_eid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_peer\",\"type\":\"bytes32\"}],\"name\":\"setPeer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newRootDecider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newWithdrawGlobalDecider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newWithdrawLocalDecider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newSingleWithdrawGlobalVerifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newSingleWithdrawLocalVerifier\",\"type\":\"address\"}],\"name\":\"setVerifiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isGlobal\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"rootHint\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"recipient\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"tweak\",\"type\":\"bytes32\"}],\"internalType\":\"struct GeneralRecipientLib.GeneralRecipient\",\"name\":\"gr\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"singleTeleport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"singleWithdrawGlobalVerifier\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"singleWithdrawLocalVerifier\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isGlobal\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"rootHint\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"recipient\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"tweak\",\"type\":\"bytes32\"}],\"internalType\":\"struct GeneralRecipientLib.GeneralRecipient\",\"name\":\"gr\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"teleport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"recipient\",\"type\":\"uint256\"}],\"name\":\"totalTeleported\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawGlobalDecider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawLocalDecider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Tracks reserved hash chains, proved transfer roots, global aggregation roots, and cumulative teleported totals.\",\"errors\":{\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allowInitializePath((uint32,bytes32,uint64))\":{\"details\":\"This indicates to the endpoint that the OApp has enabled msgs for this particular path to be received.This defaults to assuming if a peer has been set, its initialized. Can be overridden by the OApp if there is other logic to determine this.\",\"params\":{\"origin\":\"The origin information containing the source endpoint and sender address.\"},\"returns\":{\"_0\":\"Whether the path has been initialized.\"}},\"initialize(address,uint32,address,address,address,address,address,address)\":{\"params\":{\"delegate\":\"Address that MUST be the contract owner; it is set as both Ownable owner and LayerZero delegate.\",\"hubEid_\":\"LayerZero endpoint ID of the Hub contract.\",\"rootDecider_\":\"Nova verifier for transfer-root transitions.\",\"singleWithdrawGlobalVerifier_\":\"Groth16 verifier for global single teleports.\",\"singleWithdrawLocalVerifier_\":\"Groth16 verifier for local single teleports.\",\"token_\":\"zERC20 token whose hash chain is reserved/minted against.\",\"withdrawGlobalDecider_\":\"Nova verifier for global teleport proofs.\",\"withdrawLocalDecider_\":\"Nova verifier for local teleport proofs.\"}},\"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)\":{\"details\":\"_origin The origin information containing the source endpoint and sender address. - srcEid: The source chain endpoint ID. - sender: The sender address on the src chain. - nonce: The nonce of the message._message The lzReceive payload.Applications can optionally choose to implement separate composeMsg senders that are NOT the bridging layer.The default sender IS the OAppReceiver implementer.\",\"params\":{\"_sender\":\"The sender address.\"},\"returns\":{\"_0\":\"isSender Is a valid sender.\"}},\"lzReceive((uint32,bytes32,uint64),bytes32,bytes,address,bytes)\":{\"details\":\"Entry point for receiving messages or packets from the endpoint.Entry point for receiving msg/packet from the LayerZero endpoint.\",\"params\":{\"_executor\":\"The address of the executor for the received message.\",\"_extraData\":\"Additional arbitrary data provided by the corresponding executor.\",\"_guid\":\"The unique identifier for the received LayerZero message.\",\"_message\":\"The payload of the received message.\",\"_origin\":\"The origin information containing the source endpoint and sender address. - srcEid: The source chain endpoint ID. - sender: The sender address on the src chain. - nonce: The nonce of the message.\"}},\"nextNonce(uint32,bytes32)\":{\"details\":\"_srcEid The source endpoint ID._sender The sender address.The path nonce starts from 1. If 0 is returned it means that there is NO nonce ordered enforcement.Is required by the off-chain executor to determine the OApp expects msg execution is ordered.This is also enforced by the OApp.By default this is NOT enabled. ie. nextNonce is hardcoded to return 0.\",\"returns\":{\"nonce\":\"The next nonce.\"}},\"oAppVersion()\":{\"returns\":{\"receiverVersion\":\"The version of the OAppReceiver.sol implementation.\",\"senderVersion\":\"The version of the OAppSender.sol implementation.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"peers(uint32)\":{\"params\":{\"_eid\":\"The endpoint ID.\"},\"returns\":{\"_0\":\"peer The address of the peer associated with the specified endpoint.\"}},\"proveTransferRoot(bytes)\":{\"details\":\"Enforces consistency between (a) previously proved roots and (b) reserved hash chains, pausing on conflicts.\",\"params\":{\"proof\":\"Opaque calldata expected by `IRootDecider`, ABI-encoded as `uint256[32]`.\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"quoteRelay(bytes)\":{\"params\":{\"options\":\"LayerZero execution parameters mirrored from `relayTransferRoot`.\"}},\"relayTransferRoot(bytes)\":{\"details\":\"Requires `latestProvedIndex` to have a non-zero root; excess msg.value is kept as the LZ native fee.\",\"params\":{\"options\":\"LayerZero execution parameters forwarded to `_lzSend`.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"reserveHashChain()\":{\"details\":\"Mirrors the first step of the private proof-of-burn lifecycle.\",\"returns\":{\"hashChain\":\"SHA-256 hash chain committed up to `index - 1`.\",\"index\":\"Reserved transfer index copied from zERC20.\"}},\"setDelegate(address)\":{\"details\":\"Only the owner/admin of the OApp can call this function.Provides the ability for a delegate to set configs, on behalf of the OApp, directly on the Endpoint contract.\",\"params\":{\"_delegate\":\"The address of the delegate to be set.\"}},\"setPeer(uint32,bytes32)\":{\"details\":\"Only the owner/admin of the OApp can call this function.Indicates that the peer is trusted to send LayerZero messages to this OApp.Set this to bytes32(0) to remove the peer address.Peer is a bytes32 to accommodate non-evm chains.\",\"params\":{\"_eid\":\"The endpoint ID.\",\"_peer\":\"The address of the peer to be associated with the corresponding endpoint.\"}},\"setVerifiers(address,address,address,address,address)\":{\"params\":{\"newRootDecider\":\"Nova verifier for transfer roots.\",\"newSingleWithdrawGlobalVerifier\":\"Groth16 verifier for global single teleports.\",\"newSingleWithdrawLocalVerifier\":\"Groth16 verifier for local single teleports.\",\"newWithdrawGlobalDecider\":\"Nova verifier for global teleports.\",\"newWithdrawLocalDecider\":\"Nova verifier for local teleports.\"}},\"singleTeleport(bool,uint64,(uint64,bytes32,bytes32),bytes)\":{\"details\":\"Shares the same recipient/root validation pipeline as `teleport` but operates on Groth16 proofs.\",\"params\":{\"gr\":\"GeneralRecipient struct encoding chain id, recipient, tweak, and version byte.\",\"isGlobal\":\"Whether the proof references Hub-derived global roots.\",\"proof\":\"ABI-encoded Groth16 proof blob consumed by `IWithdrawVerifier`.\",\"rootHint\":\"Index into either `provedTransferRoots` or `globalTransferRoots`.\"}},\"teleport(bool,uint64,(uint64,bytes32,bytes32),bytes)\":{\"details\":\"Proof enforces that `totalValue` strictly increases per recipient hash; `isGlobal` selects local/global root arrays.\",\"params\":{\"gr\":\"GeneralRecipient struct encoding chain id, recipient, tweak, and version byte.\",\"isGlobal\":\"Whether the proof references Hub-derived global roots.\",\"proof\":\"ABI-encoded Nova proof blob consumed by `IWithdrawDecider`.\",\"rootHint\":\"Index into either `provedTransferRoots` or `globalTransferRoots`.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"Verifier\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateEmergency()\":{\"notice\":\"Allows the owner to proactively pause the contract outside of proof conflicts.\"},\"allowInitializePath((uint32,bytes32,uint64))\":{\"notice\":\"Checks if the path initialization is allowed based on the provided origin.\"},\"deactivateEmergency()\":{\"notice\":\"Clears the emergency pause that is triggered when conflicting transfer roots are observed.\"},\"endpoint()\":{\"notice\":\"Retrieves the LayerZero endpoint associated with the OApp.\"},\"initialize(address,uint32,address,address,address,address,address,address)\":{\"notice\":\"Initializes the verifier with the zERC20 token, Hub endpoint, LayerZero delegate, and initial deciders.\"},\"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)\":{\"notice\":\"Indicates whether an address is an approved composeMsg sender to the Endpoint.\"},\"isUpToDate()\":{\"notice\":\"Returns `true` when every proved root has been relayed to the Hub (`latestProvedIndex == latestRelayedIndex`).\"},\"nextNonce(uint32,bytes32)\":{\"notice\":\"Retrieves the next nonce for a given source endpoint and sender address.\"},\"oAppVersion()\":{\"notice\":\"Retrieves the OApp version information.\"},\"peers(uint32)\":{\"notice\":\"Returns the peer address (OApp instance) associated with a specific endpoint.\"},\"proveTransferRoot(bytes)\":{\"notice\":\"Verifies a Nova proof for a transfer-root transition and records the resulting root by index.\"},\"quoteRelay(bytes)\":{\"notice\":\"Quotes the native fee required to relay a TransferRoot payload to the Hub.\"},\"relayTransferRoot(bytes)\":{\"notice\":\"Sends the latest proved transfer root to the Hub over LayerZero so it can join the global aggregation tree.\"},\"reserveHashChain()\":{\"notice\":\"Snapshots the latest `(index, hashChain)` tuple from zERC20 so Nova proofs can reference stable inputs.\"},\"setDelegate(address)\":{\"notice\":\"Sets the delegate address for the OApp.\"},\"setPeer(uint32,bytes32)\":{\"notice\":\"Sets the peer address (OApp instance) for a corresponding endpoint.\"},\"setVerifiers(address,address,address,address,address)\":{\"notice\":\"Atomically rotates all decider/verifier addresses to keep proofs aligned with the latest deployments.\"},\"singleTeleport(bool,uint64,(uint64,bytes32,bytes32),bytes)\":{\"notice\":\"Executes the Groth16 teleport flow for lightweight single withdrawals.\"},\"teleport(bool,uint64,(uint64,bytes32,bytes32),bytes)\":{\"notice\":\"Executes the multi-note Nova teleport flow, minting the delta on zERC20.\"}},\"notice\":\"LayerZero OApp that enforces the Nova / Groth16 teleport flows, acting as the bridge between on-chain hash-chain checkpoints, cross-chain aggregation roots, and zERC20 mints.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Verifier.sol\":\"Verifier\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@layerzerolabs/lz-evm-messagelib-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/messagelib/\",\":@layerzerolabs/lz-evm-protocol-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/\",\":@layerzerolabs/lz-evm-v1-0.7/=lib/lz-evm-v1-0.7/\",\":@layerzerolabs/oapp-evm-upgradeable/=lib/devtools/packages/oapp-evm-upgradeable/\",\":@layerzerolabs/oapp-evm/=lib/devtools/packages/oapp-evm/\",\":@layerzerolabs/oft-evm-upgradeable/=lib/devtools/packages/oft-evm-upgradeable/\",\":@layerzerolabs/oft-evm/=lib/devtools/packages/oft-evm/\",\":@layerzerolabs/test-devtools-evm-foundry/=lib/devtools/packages/test-devtools-evm-foundry/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":LayerZero-v2/=lib/LayerZero-v2/\",\":devtools/=lib/devtools/packages/toolbox-foundry/src/\",\":forge-std/=lib/forge-std/src/\",\":lz-evm-v1-0.7/=lib/lz-evm-v1-0.7/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":poseidon-solidity/=lib/poseidon-solidity/\",\":solidity-bytes-utils/=lib/solidity-bytes-utils/\"]},\"sources\":{\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/ILayerZeroEndpointV2.sol\":{\"keccak256\":\"0xf7f941bee89ea6369950fe54e8ac476ae6478b958b20fc0e8a83e8ff1364eac3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bacc29fd3866af71e59cb0bdc1cf82c882a4a7f4e2652fd413c9f12649762083\",\"dweb:/ipfs/QmZh2toLnrQDWaNYhS5K4NoW7Vxd2GdZx9KA77vKEDLAqs\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/ILayerZeroReceiver.sol\":{\"keccak256\":\"0x9641abba8d53b08bb517d1b74801dd15ea7b84d77a6719085bd96c8ea94e3ca0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77415ae0820859e0faf3fabdce683cce9fa03ea026ae0f6fe081ef1c9205f933\",\"dweb:/ipfs/QmXd7APqoCunQ2jYy73AHvi5gsZofLpm3SzM6FPo7zRPfL\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessageLibManager.sol\":{\"keccak256\":\"0xd710f9efe703982e8eabe15d19d6114af753ef42f2796551da782a0fb6633e4b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5c9c874871469c871004d49a1cb5304e63ea3faaf366bfed9d718abbb9cc20a\",\"dweb:/ipfs/QmarXxE4dezAa5gBe82KCrcvWcMwa3BYqkfXbDQ3rRjfEB\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingChannel.sol\":{\"keccak256\":\"0x0878f64dffebf58c4165569416372f40860fab546b88cd926eba0d5cb6d8d972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e1b245d58221d16d8b5e0f01ef3e289a24a7df1ace3b94239e4d5b954ad5927\",\"dweb:/ipfs/Qmappsgp7PCY9rSSNE9Cdn4BTRX591WfCSEgq2HxhA3z6S\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingComposer.sol\":{\"keccak256\":\"0x85bc7090134529ec474866dc4bb1c48692d518c756eb0a961c82574829c51901\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b18b23a1643fc6636c4ad9d9023e2e6ca2d3c2a4a046482d4655bff09950598d\",\"dweb:/ipfs/Qma6G5SqiovwrMPfgqTrRngK1HWW373Wkf9c6YP2NhXpPk\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingContext.sol\":{\"keccak256\":\"0xff0c546c2813dae3e440882f46b377375f7461b0714efd80bd3f0c6e5cb8da4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5173fc9143bea314b159ca5a9adb5626659ef763bc598e27de5fa46efe3291a6\",\"dweb:/ipfs/QmSLFeMFPmVeGxT4sxRPW28ictjAS22M8rLeYRu9TXkA6D\"]},\"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppCoreUpgradeable.sol\":{\"keccak256\":\"0xbe135fd35bf12c97aeb701caeb6c5d0c1c28c1ac2ab1d4219d15f8384951c140\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5cec12ab6677830bf2daefa94c402d848c223a2a081e4892985c1f4b06d30e4\",\"dweb:/ipfs/QmSV6NwuXCfWMZVFDRmeBgeWGBApwxqQxRbForCC2NTtgd\"]},\"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppReceiverUpgradeable.sol\":{\"keccak256\":\"0xa38e5d26d044331212af7fc69dbbdebf25f527811bbd0492a4cee9ecdd3bd671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://13a70adbbf5e9299a71811663b98bf62cce797ba9029d0572fa2fa7aa8c5e85d\",\"dweb:/ipfs/QmaTx7dN5XAKXy6bY7r4QCLWRuoP3kcWfLd7VnHf38ysgH\"]},\"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppSenderUpgradeable.sol\":{\"keccak256\":\"0x4e13557c5dc7c983f69d32911572efdbddea071a03bf2fc50e1cad92ddf0ef49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c455f606d0d1e3390a8d2189c50110ac4b5a85ce1be47b4a2e36de92122728a\",\"dweb:/ipfs/QmfH7dQKjCZ4THCRZaPEzaTtv5r69k5F1LbmWQGrYHV76y\"]},\"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppUpgradeable.sol\":{\"keccak256\":\"0xc298cebb8133eed14fcc29865cb8bc5dbeba7b49a3127eea05653b738ceeb71c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9287b693b56b09524bc35411da88b32cf3b7cad7dabebe7d5208bc124550ad35\",\"dweb:/ipfs/QmadrXttz2wimqVYkRNvoMRAm6XBtSbU9sVjULHswgEURu\"]},\"lib/devtools/packages/oapp-evm/contracts/oapp/OAppCore.sol\":{\"keccak256\":\"0x13a9c2d1d2c1f086b8624f2e84c4a4702212daae36f701d92bb915b535cbe4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://606515dd9193551bd2c94ac8c304f3776fafcc70e544ebf441f334658b2fd5f0\",\"dweb:/ipfs/QmZ88ey7DdZqV5taAoebabvszX5kdPMSrQCAmTteVdDtcH\"]},\"lib/devtools/packages/oapp-evm/contracts/oapp/OAppSender.sol\":{\"keccak256\":\"0x518cf4adca601923ed4baa6619846a253ea32b8d8775f8bc1faa3dfac7f67c20\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d42b471418efadcc3577ef3fa9f8f504e8bed7db90c3b0c862038d8b29529eb2\",\"dweb:/ipfs/QmZETDQiJN4U92fmLKo8T9ZbdDf7BNBUUvo9H7M7GqAyFU\"]},\"lib/devtools/packages/oapp-evm/contracts/oapp/interfaces/IOAppCore.sol\":{\"keccak256\":\"0x40e49f2de74506e1da5dcaed53a39853f691647f4ceb0fccc8f49a68d3f47c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a1deb2a6a3eb1fb83936c9578469142bff470295f403d7d07d955a76be3adbd\",\"dweb:/ipfs/QmS9bjSfBaE4YhQ1PCQ1TknbEPbNfRXzBK9E7SaPGyiZEv\"]},\"lib/devtools/packages/oapp-evm/contracts/oapp/interfaces/IOAppReceiver.sol\":{\"keccak256\":\"0xd26135185e19b3732746d4a9e2923e896f28dec8664bab161faea2ee26fcdc3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c236dfe386b508be33c3a1a74ae1d4fd64b8c77ae207767e9dbed0f2429518a2\",\"dweb:/ipfs/QmXVbZJjfryTRti98uN3BMh5qh4K7NuEs1RSCoBjRoYd4q\"]},\"lib/devtools/packages/oft-evm/contracts/interfaces/IOFT.sol\":{\"keccak256\":\"0xc60c7b4374b3d89f33b8de982f463c92374a8548800c816fe776f0ec76351fb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e2ae9efc2a93373e822b148b3a3b50e3562c8c317f2e71d73cf4a11dede9d15\",\"dweb:/ipfs/QmahCbqvqEcWLJpqE6EbHHTuSbnGWyo35ZBVqoyKv18BSF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x7795808e3899c805254e3ae58074b20f799b466e3f43e057e47bedee5fb771f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://319853a2a682f3f72411507242669ef5e76e0ad3457be53102439709ee8948f0\",\"dweb:/ipfs/QmRtm4Ese9u4jfxXyuWPXLwzenwFotuQjAWV7rXtZTB1E9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xefb41f5c1a00249b7a99f0782f8c557865605426a3fb6e5fe9ae334293ae4f33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90def55e5782595aabc13f57780c02d3613e5226f20ce6c1709503a63fdeb58f\",\"dweb:/ipfs/Qmb5vcymmNEZUJMaHmYxnhvGJDEsGMae4YjcHwkA74jy99\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol\":{\"keccak256\":\"0xad32f6821f860555f9530902a65b54203a4f5db2117f4384ae47a124958078db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d362da7417bc7d7cc8623f3d3f8f04c3808d043ee6379568c63a63ec14a124e\",\"dweb:/ipfs/QmYm3wDHUcfGh3MNiRqpWEBbSSYnDSyUsppDATy5DVsfui\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol\":{\"keccak256\":\"0x07e881de3b9f6d2c07909f193f24b96c7fe4ea60013260f3f25aecd8bab3c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fed09b97ccb0ff9ba9b6a94224f1d489026bf6b4b7279bfe64fb6e8749dee4d\",\"dweb:/ipfs/QmcRAzaSP1UnGr4vrGkfJmB2L9aiTYoXfV1Lg9gqrVRWn8\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"src/Verifier.sol\":{\"keccak256\":\"0x3c4b1b65808297bc5c20811c2725b5a1384946040f5c96ebcd7069091264a2da\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://8c6e1a587348ea47a1cdf8a6fce41f4a698c7d71d9d733f6baf4ed8d457f851d\",\"dweb:/ipfs/QmZoMJWroEfFhKMF4DCMYxykdDLnb6C7PuyadRAMPRZfEm\"]},\"src/interfaces/IDecider.sol\":{\"keccak256\":\"0xa39bdbdf85588bb0bbceaaa2a8acde119a6fb2f326c71ed0309d0ba17ccde542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c9c16ba87942aa28d7475f76fa1ccdb4d0c969fc0de2e340e9eb72e9fb52805\",\"dweb:/ipfs/QmQSf1jHDBjgZ1Bg7CvjYX3JY2ST6osHzKaiQ3U1inReu5\"]},\"src/interfaces/IVerifier.sol\":{\"keccak256\":\"0x3d10957d3ea942edace754a73879c4c7bf8e1dbec9760fc25b4bb3cfe7a65e4b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55b6e63734ad63a1e1055e6bfba052d2c48fee8efaf835bd78bcfdeb64810d8\",\"dweb:/ipfs/QmWvaTZTJsZceB6zrZneBys25KdUM3Kqi5XWQjam9wXPMV\"]},\"src/interfaces/IzERC20.sol\":{\"keccak256\":\"0x6c7ee27de91c844f721a3b2784641edbda479f257c61e487b7f6e990e5f010cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe5a68078453c19d13d1e28333f408126b0896cdbf1d2230271e96f87814e3c8\",\"dweb:/ipfs/QmP1q9pF7zAQzMDSJaYsEeDBU45xPns5s9nLuDeTEJxDPn\"]},\"src/utils/GeneralRecipientLib.sol\":{\"keccak256\":\"0xbab182783a8b7b84b5b2d22be9b43f61c12c1258ec73d596807616dc6d64a65d\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://185fc80874cb6fae9450839bb169d60fb2e756ac37c8c16639473de34d3eab13\",\"dweb:/ipfs/QmYDyaqn1UzUCRMvNfMZZvW9DR7nxzGnYgsLuWrDZCmbYF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"endpoint","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint64","name":"rootHint","type":"uint64"}],"type":"error","name":"ExpectedRootZero"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"actual","type":"uint256"}],"type":"error","name":"FinalRecipientMismatch"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"actual","type":"uint256"}],"type":"error","name":"FinalTransferRootMismatch"},{"inputs":[{"internalType":"uint256","name":"required","type":"uint256"},{"internalType":"uint256","name":"provided","type":"uint256"}],"type":"error","name":"InsufficientMsgValue"},{"inputs":[],"type":"error","name":"InvalidDelegate"},{"inputs":[],"type":"error","name":"InvalidEndpointCall"},{"inputs":[{"internalType":"uint32","name":"srcEid","type":"uint32"}],"type":"error","name":"InvalidHubSource"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"InvalidInitialLastLeafIndex"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"InvalidInitialTotalValue"},{"inputs":[],"type":"error","name":"InvalidProof"},{"inputs":[{"internalType":"uint64","name":"provided","type":"uint64"},{"internalType":"uint64","name":"expected","type":"uint64"}],"type":"error","name":"InvalidRecipientChainId"},{"inputs":[],"type":"error","name":"LzTokenUnavailable"},{"inputs":[{"internalType":"uint64","name":"index","type":"uint64"},{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"actual","type":"uint256"}],"type":"error","name":"NewHashChainMismatch"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"type":"error","name":"NoPeer"},{"inputs":[],"type":"error","name":"NoProvedRoot"},{"inputs":[{"internalType":"uint256","name":"msgValue","type":"uint256"}],"type":"error","name":"NotEnoughNative"},{"inputs":[{"internalType":"uint256","name":"currentTotal","type":"uint256"},{"internalType":"uint256","name":"totalValue","type":"uint256"}],"type":"error","name":"NothingToWithdraw"},{"inputs":[{"internalType":"uint64","name":"index","type":"uint64"},{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"actual","type":"uint256"}],"type":"error","name":"OldRootMismatch"},{"inputs":[{"internalType":"uint64","name":"index","type":"uint64"}],"type":"error","name":"OldRootZero"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"type":"error","name":"OnlyEndpoint"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"}],"type":"error","name":"OnlyPeer"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"actual","type":"uint256"}],"type":"error","name":"RecipientMismatch"},{"inputs":[{"internalType":"uint64","name":"index","type":"uint64"}],"type":"error","name":"ReserveHashChainNotFound"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"actual","type":"uint256"}],"type":"error","name":"TransferRootMismatch"},{"inputs":[],"type":"error","name":"ZeroAddress"},{"inputs":[],"type":"error","name":"ZeroToken"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[],"type":"event","name":"DeactivateEmergency","anonymous":false},{"inputs":[{"internalType":"uint64","name":"index","type":"uint64","indexed":true},{"internalType":"uint256","name":"root1","type":"uint256","indexed":false},{"internalType":"uint256","name":"root2","type":"uint256","indexed":false}],"type":"event","name":"EmergencyTriggered","anonymous":false},{"inputs":[{"internalType":"uint64","name":"aggSeq","type":"uint64","indexed":true},{"internalType":"uint256","name":"root","type":"uint256","indexed":false}],"type":"event","name":"GlobalRootSaved","anonymous":false},{"inputs":[{"internalType":"uint64","name":"index","type":"uint64","indexed":true},{"internalType":"uint256","name":"hashChain","type":"uint256","indexed":false}],"type":"event","name":"HashChainReserved","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Paused","anonymous":false},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32","indexed":false},{"internalType":"bytes32","name":"peer","type":"bytes32","indexed":false}],"type":"event","name":"PeerSet","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false},{"internalType":"bool","name":"isGlobal","type":"bool","indexed":false},{"internalType":"uint64","name":"rootHint","type":"uint64","indexed":false},{"internalType":"uint256","name":"transferRoot","type":"uint256","indexed":false},{"internalType":"struct GeneralRecipientLib.GeneralRecipient","name":"gr","type":"tuple","components":[{"internalType":"uint64","name":"chainId","type":"uint64"},{"internalType":"bytes32","name":"recipient","type":"bytes32"},{"internalType":"bytes32","name":"tweak","type":"bytes32"}],"indexed":false}],"type":"event","name":"Teleport","anonymous":false},{"inputs":[{"internalType":"uint64","name":"index","type":"uint64","indexed":true},{"internalType":"uint256","name":"root","type":"uint256","indexed":false}],"type":"event","name":"TransferRootProved","anonymous":false},{"inputs":[{"internalType":"uint64","name":"index","type":"uint64","indexed":true},{"internalType":"uint256","name":"root","type":"uint256","indexed":false},{"internalType":"bytes","name":"lzMsgId","type":"bytes","indexed":false}],"type":"event","name":"TransferRootRelayed","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":false}],"type":"event","name":"Unpaused","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"rootDecider","type":"address","indexed":false},{"internalType":"address","name":"withdrawGlobalDecider","type":"address","indexed":false},{"internalType":"address","name":"withdrawLocalDecider","type":"address","indexed":false},{"internalType":"address","name":"singleWithdrawGlobalVerifier","type":"address","indexed":false},{"internalType":"address","name":"singleWithdrawLocalVerifier","type":"address","indexed":false}],"type":"event","name":"VerifiersSet","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activateEmergency"},{"inputs":[{"internalType":"struct Origin","name":"origin","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]}],"stateMutability":"view","type":"function","name":"allowInitializePath","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deactivateEmergency"},{"inputs":[],"stateMutability":"view","type":"function","name":"endpoint","outputs":[{"internalType":"contract ILayerZeroEndpointV2","name":"","type":"address"}]},{"inputs":[{"internalType":"uint64","name":"index","type":"uint64"}],"stateMutability":"view","type":"function","name":"globalTransferRoots","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"hubEid","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint32","name":"hubEid_","type":"uint32"},{"internalType":"address","name":"delegate","type":"address"},{"internalType":"address","name":"rootDecider_","type":"address"},{"internalType":"address","name":"withdrawGlobalDecider_","type":"address"},{"internalType":"address","name":"withdrawLocalDecider_","type":"address"},{"internalType":"address","name":"singleWithdrawGlobalVerifier_","type":"address"},{"internalType":"address","name":"singleWithdrawLocalVerifier_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"struct Origin","name":"","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"view","type":"function","name":"isComposeMsgSender","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isUpToDate","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"latestAggSeq","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"latestProvedIndex","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"latestRelayedIndex","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"latestReservedIndex","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"struct Origin","name":"_origin","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"lzReceive"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"nextNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"oAppVersion","outputs":[{"internalType":"uint64","name":"senderVersion","type":"uint64"},{"internalType":"uint64","name":"receiverVersion","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"}],"stateMutability":"view","type":"function","name":"peers","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"proof","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"proveTransferRoot"},{"inputs":[{"internalType":"uint64","name":"index","type":"uint64"}],"stateMutability":"view","type":"function","name":"provedTransferRoots","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"options","type":"bytes"}],"stateMutability":"view","type":"function","name":"quoteRelay","outputs":[{"internalType":"struct MessagingFee","name":"fee","type":"tuple","components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes","name":"options","type":"bytes"}],"stateMutability":"payable","type":"function","name":"relayTransferRoot","outputs":[{"internalType":"struct MessagingReceipt","name":"receipt","type":"tuple","components":[{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"internalType":"struct MessagingFee","name":"fee","type":"tuple","components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}]}]}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"reserveHashChain","outputs":[{"internalType":"uint64","name":"index","type":"uint64"},{"internalType":"uint256","name":"hashChain","type":"uint256"}]},{"inputs":[{"internalType":"uint64","name":"index","type":"uint64"}],"stateMutability":"view","type":"function","name":"reservedHashChains","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rootDecider","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_delegate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDelegate"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setPeer"},{"inputs":[{"internalType":"address","name":"newRootDecider","type":"address"},{"internalType":"address","name":"newWithdrawGlobalDecider","type":"address"},{"internalType":"address","name":"newWithdrawLocalDecider","type":"address"},{"internalType":"address","name":"newSingleWithdrawGlobalVerifier","type":"address"},{"internalType":"address","name":"newSingleWithdrawLocalVerifier","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setVerifiers"},{"inputs":[{"internalType":"bool","name":"isGlobal","type":"bool"},{"internalType":"uint64","name":"rootHint","type":"uint64"},{"internalType":"struct GeneralRecipientLib.GeneralRecipient","name":"gr","type":"tuple","components":[{"internalType":"uint64","name":"chainId","type":"uint64"},{"internalType":"bytes32","name":"recipient","type":"bytes32"},{"internalType":"bytes32","name":"tweak","type":"bytes32"}]},{"internalType":"bytes","name":"proof","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"singleTeleport"},{"inputs":[],"stateMutability":"view","type":"function","name":"singleWithdrawGlobalVerifier","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"singleWithdrawLocalVerifier","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bool","name":"isGlobal","type":"bool"},{"internalType":"uint64","name":"rootHint","type":"uint64"},{"internalType":"struct GeneralRecipientLib.GeneralRecipient","name":"gr","type":"tuple","components":[{"internalType":"uint64","name":"chainId","type":"uint64"},{"internalType":"bytes32","name":"recipient","type":"bytes32"},{"internalType":"bytes32","name":"tweak","type":"bytes32"}]},{"internalType":"bytes","name":"proof","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"teleport"},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"recipient","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalTeleported","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[],"stateMutability":"view","type":"function","name":"withdrawGlobalDecider","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"withdrawLocalDecider","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"allowInitializePath((uint32,bytes32,uint64))":{"details":"This indicates to the endpoint that the OApp has enabled msgs for this particular path to be received.This defaults to assuming if a peer has been set, its initialized. Can be overridden by the OApp if there is other logic to determine this.","params":{"origin":"The origin information containing the source endpoint and sender address."},"returns":{"_0":"Whether the path has been initialized."}},"initialize(address,uint32,address,address,address,address,address,address)":{"params":{"delegate":"Address that MUST be the contract owner; it is set as both Ownable owner and LayerZero delegate.","hubEid_":"LayerZero endpoint ID of the Hub contract.","rootDecider_":"Nova verifier for transfer-root transitions.","singleWithdrawGlobalVerifier_":"Groth16 verifier for global single teleports.","singleWithdrawLocalVerifier_":"Groth16 verifier for local single teleports.","token_":"zERC20 token whose hash chain is reserved/minted against.","withdrawGlobalDecider_":"Nova verifier for global teleport proofs.","withdrawLocalDecider_":"Nova verifier for local teleport proofs."}},"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)":{"details":"_origin The origin information containing the source endpoint and sender address. - srcEid: The source chain endpoint ID. - sender: The sender address on the src chain. - nonce: The nonce of the message._message The lzReceive payload.Applications can optionally choose to implement separate composeMsg senders that are NOT the bridging layer.The default sender IS the OAppReceiver implementer.","params":{"_sender":"The sender address."},"returns":{"_0":"isSender Is a valid sender."}},"lzReceive((uint32,bytes32,uint64),bytes32,bytes,address,bytes)":{"details":"Entry point for receiving messages or packets from the endpoint.Entry point for receiving msg/packet from the LayerZero endpoint.","params":{"_executor":"The address of the executor for the received message.","_extraData":"Additional arbitrary data provided by the corresponding executor.","_guid":"The unique identifier for the received LayerZero message.","_message":"The payload of the received message.","_origin":"The origin information containing the source endpoint and sender address. - srcEid: The source chain endpoint ID. - sender: The sender address on the src chain. - nonce: The nonce of the message."}},"nextNonce(uint32,bytes32)":{"details":"_srcEid The source endpoint ID._sender The sender address.The path nonce starts from 1. If 0 is returned it means that there is NO nonce ordered enforcement.Is required by the off-chain executor to determine the OApp expects msg execution is ordered.This is also enforced by the OApp.By default this is NOT enabled. ie. nextNonce is hardcoded to return 0.","returns":{"nonce":"The next nonce."}},"oAppVersion()":{"returns":{"receiverVersion":"The version of the OAppReceiver.sol implementation.","senderVersion":"The version of the OAppSender.sol implementation."}},"owner()":{"details":"Returns the address of the current owner."},"paused()":{"details":"Returns true if the contract is paused, and false otherwise."},"peers(uint32)":{"params":{"_eid":"The endpoint ID."},"returns":{"_0":"peer The address of the peer associated with the specified endpoint."}},"proveTransferRoot(bytes)":{"details":"Enforces consistency between (a) previously proved roots and (b) reserved hash chains, pausing on conflicts.","params":{"proof":"Opaque calldata expected by `IRootDecider`, ABI-encoded as `uint256[32]`."}},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"quoteRelay(bytes)":{"params":{"options":"LayerZero execution parameters mirrored from `relayTransferRoot`."}},"relayTransferRoot(bytes)":{"details":"Requires `latestProvedIndex` to have a non-zero root; excess msg.value is kept as the LZ native fee.","params":{"options":"LayerZero execution parameters forwarded to `_lzSend`."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"reserveHashChain()":{"details":"Mirrors the first step of the private proof-of-burn lifecycle.","returns":{"hashChain":"SHA-256 hash chain committed up to `index - 1`.","index":"Reserved transfer index copied from zERC20."}},"setDelegate(address)":{"details":"Only the owner/admin of the OApp can call this function.Provides the ability for a delegate to set configs, on behalf of the OApp, directly on the Endpoint contract.","params":{"_delegate":"The address of the delegate to be set."}},"setPeer(uint32,bytes32)":{"details":"Only the owner/admin of the OApp can call this function.Indicates that the peer is trusted to send LayerZero messages to this OApp.Set this to bytes32(0) to remove the peer address.Peer is a bytes32 to accommodate non-evm chains.","params":{"_eid":"The endpoint ID.","_peer":"The address of the peer to be associated with the corresponding endpoint."}},"setVerifiers(address,address,address,address,address)":{"params":{"newRootDecider":"Nova verifier for transfer roots.","newSingleWithdrawGlobalVerifier":"Groth16 verifier for global single teleports.","newSingleWithdrawLocalVerifier":"Groth16 verifier for local single teleports.","newWithdrawGlobalDecider":"Nova verifier for global teleports.","newWithdrawLocalDecider":"Nova verifier for local teleports."}},"singleTeleport(bool,uint64,(uint64,bytes32,bytes32),bytes)":{"details":"Shares the same recipient/root validation pipeline as `teleport` but operates on Groth16 proofs.","params":{"gr":"GeneralRecipient struct encoding chain id, recipient, tweak, and version byte.","isGlobal":"Whether the proof references Hub-derived global roots.","proof":"ABI-encoded Groth16 proof blob consumed by `IWithdrawVerifier`.","rootHint":"Index into either `provedTransferRoots` or `globalTransferRoots`."}},"teleport(bool,uint64,(uint64,bytes32,bytes32),bytes)":{"details":"Proof enforces that `totalValue` strictly increases per recipient hash; `isGlobal` selects local/global root arrays.","params":{"gr":"GeneralRecipient struct encoding chain id, recipient, tweak, and version byte.","isGlobal":"Whether the proof references Hub-derived global roots.","proof":"ABI-encoded Nova proof blob consumed by `IWithdrawDecider`.","rootHint":"Index into either `provedTransferRoots` or `globalTransferRoots`."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"activateEmergency()":{"notice":"Allows the owner to proactively pause the contract outside of proof conflicts."},"allowInitializePath((uint32,bytes32,uint64))":{"notice":"Checks if the path initialization is allowed based on the provided origin."},"deactivateEmergency()":{"notice":"Clears the emergency pause that is triggered when conflicting transfer roots are observed."},"endpoint()":{"notice":"Retrieves the LayerZero endpoint associated with the OApp."},"initialize(address,uint32,address,address,address,address,address,address)":{"notice":"Initializes the verifier with the zERC20 token, Hub endpoint, LayerZero delegate, and initial deciders."},"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)":{"notice":"Indicates whether an address is an approved composeMsg sender to the Endpoint."},"isUpToDate()":{"notice":"Returns `true` when every proved root has been relayed to the Hub (`latestProvedIndex == latestRelayedIndex`)."},"nextNonce(uint32,bytes32)":{"notice":"Retrieves the next nonce for a given source endpoint and sender address."},"oAppVersion()":{"notice":"Retrieves the OApp version information."},"peers(uint32)":{"notice":"Returns the peer address (OApp instance) associated with a specific endpoint."},"proveTransferRoot(bytes)":{"notice":"Verifies a Nova proof for a transfer-root transition and records the resulting root by index."},"quoteRelay(bytes)":{"notice":"Quotes the native fee required to relay a TransferRoot payload to the Hub."},"relayTransferRoot(bytes)":{"notice":"Sends the latest proved transfer root to the Hub over LayerZero so it can join the global aggregation tree."},"reserveHashChain()":{"notice":"Snapshots the latest `(index, hashChain)` tuple from zERC20 so Nova proofs can reference stable inputs."},"setDelegate(address)":{"notice":"Sets the delegate address for the OApp."},"setPeer(uint32,bytes32)":{"notice":"Sets the peer address (OApp instance) for a corresponding endpoint."},"setVerifiers(address,address,address,address,address)":{"notice":"Atomically rotates all decider/verifier addresses to keep proofs aligned with the latest deployments."},"singleTeleport(bool,uint64,(uint64,bytes32,bytes32),bytes)":{"notice":"Executes the Groth16 teleport flow for lightweight single withdrawals."},"teleport(bool,uint64,(uint64,bytes32,bytes32),bytes)":{"notice":"Executes the multi-note Nova teleport flow, minting the delta on zERC20."}},"version":1}},"settings":{"remappings":["@layerzerolabs/lz-evm-messagelib-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/messagelib/","@layerzerolabs/lz-evm-protocol-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/","@layerzerolabs/lz-evm-v1-0.7/=lib/lz-evm-v1-0.7/","@layerzerolabs/oapp-evm-upgradeable/=lib/devtools/packages/oapp-evm-upgradeable/","@layerzerolabs/oapp-evm/=lib/devtools/packages/oapp-evm/","@layerzerolabs/oft-evm-upgradeable/=lib/devtools/packages/oft-evm-upgradeable/","@layerzerolabs/oft-evm/=lib/devtools/packages/oft-evm/","@layerzerolabs/test-devtools-evm-foundry/=lib/devtools/packages/test-devtools-evm-foundry/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","LayerZero-v2/=lib/LayerZero-v2/","devtools/=lib/devtools/packages/toolbox-foundry/src/","forge-std/=lib/forge-std/src/","lz-evm-v1-0.7/=lib/lz-evm-v1-0.7/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","poseidon-solidity/=lib/poseidon-solidity/","solidity-bytes-utils/=lib/solidity-bytes-utils/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/Verifier.sol":"Verifier"},"evmVersion":"prague","libraries":{}},"sources":{"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/ILayerZeroEndpointV2.sol":{"keccak256":"0xf7f941bee89ea6369950fe54e8ac476ae6478b958b20fc0e8a83e8ff1364eac3","urls":["bzz-raw://bacc29fd3866af71e59cb0bdc1cf82c882a4a7f4e2652fd413c9f12649762083","dweb:/ipfs/QmZh2toLnrQDWaNYhS5K4NoW7Vxd2GdZx9KA77vKEDLAqs"],"license":"MIT"},"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/ILayerZeroReceiver.sol":{"keccak256":"0x9641abba8d53b08bb517d1b74801dd15ea7b84d77a6719085bd96c8ea94e3ca0","urls":["bzz-raw://77415ae0820859e0faf3fabdce683cce9fa03ea026ae0f6fe081ef1c9205f933","dweb:/ipfs/QmXd7APqoCunQ2jYy73AHvi5gsZofLpm3SzM6FPo7zRPfL"],"license":"MIT"},"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessageLibManager.sol":{"keccak256":"0xd710f9efe703982e8eabe15d19d6114af753ef42f2796551da782a0fb6633e4b","urls":["bzz-raw://b5c9c874871469c871004d49a1cb5304e63ea3faaf366bfed9d718abbb9cc20a","dweb:/ipfs/QmarXxE4dezAa5gBe82KCrcvWcMwa3BYqkfXbDQ3rRjfEB"],"license":"MIT"},"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingChannel.sol":{"keccak256":"0x0878f64dffebf58c4165569416372f40860fab546b88cd926eba0d5cb6d8d972","urls":["bzz-raw://7e1b245d58221d16d8b5e0f01ef3e289a24a7df1ace3b94239e4d5b954ad5927","dweb:/ipfs/Qmappsgp7PCY9rSSNE9Cdn4BTRX591WfCSEgq2HxhA3z6S"],"license":"MIT"},"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingComposer.sol":{"keccak256":"0x85bc7090134529ec474866dc4bb1c48692d518c756eb0a961c82574829c51901","urls":["bzz-raw://b18b23a1643fc6636c4ad9d9023e2e6ca2d3c2a4a046482d4655bff09950598d","dweb:/ipfs/Qma6G5SqiovwrMPfgqTrRngK1HWW373Wkf9c6YP2NhXpPk"],"license":"MIT"},"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingContext.sol":{"keccak256":"0xff0c546c2813dae3e440882f46b377375f7461b0714efd80bd3f0c6e5cb8da4e","urls":["bzz-raw://5173fc9143bea314b159ca5a9adb5626659ef763bc598e27de5fa46efe3291a6","dweb:/ipfs/QmSLFeMFPmVeGxT4sxRPW28ictjAS22M8rLeYRu9TXkA6D"],"license":"MIT"},"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppCoreUpgradeable.sol":{"keccak256":"0xbe135fd35bf12c97aeb701caeb6c5d0c1c28c1ac2ab1d4219d15f8384951c140","urls":["bzz-raw://a5cec12ab6677830bf2daefa94c402d848c223a2a081e4892985c1f4b06d30e4","dweb:/ipfs/QmSV6NwuXCfWMZVFDRmeBgeWGBApwxqQxRbForCC2NTtgd"],"license":"MIT"},"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppReceiverUpgradeable.sol":{"keccak256":"0xa38e5d26d044331212af7fc69dbbdebf25f527811bbd0492a4cee9ecdd3bd671","urls":["bzz-raw://13a70adbbf5e9299a71811663b98bf62cce797ba9029d0572fa2fa7aa8c5e85d","dweb:/ipfs/QmaTx7dN5XAKXy6bY7r4QCLWRuoP3kcWfLd7VnHf38ysgH"],"license":"MIT"},"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppSenderUpgradeable.sol":{"keccak256":"0x4e13557c5dc7c983f69d32911572efdbddea071a03bf2fc50e1cad92ddf0ef49","urls":["bzz-raw://0c455f606d0d1e3390a8d2189c50110ac4b5a85ce1be47b4a2e36de92122728a","dweb:/ipfs/QmfH7dQKjCZ4THCRZaPEzaTtv5r69k5F1LbmWQGrYHV76y"],"license":"MIT"},"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppUpgradeable.sol":{"keccak256":"0xc298cebb8133eed14fcc29865cb8bc5dbeba7b49a3127eea05653b738ceeb71c","urls":["bzz-raw://9287b693b56b09524bc35411da88b32cf3b7cad7dabebe7d5208bc124550ad35","dweb:/ipfs/QmadrXttz2wimqVYkRNvoMRAm6XBtSbU9sVjULHswgEURu"],"license":"MIT"},"lib/devtools/packages/oapp-evm/contracts/oapp/OAppCore.sol":{"keccak256":"0x13a9c2d1d2c1f086b8624f2e84c4a4702212daae36f701d92bb915b535cbe4cc","urls":["bzz-raw://606515dd9193551bd2c94ac8c304f3776fafcc70e544ebf441f334658b2fd5f0","dweb:/ipfs/QmZ88ey7DdZqV5taAoebabvszX5kdPMSrQCAmTteVdDtcH"],"license":"MIT"},"lib/devtools/packages/oapp-evm/contracts/oapp/OAppSender.sol":{"keccak256":"0x518cf4adca601923ed4baa6619846a253ea32b8d8775f8bc1faa3dfac7f67c20","urls":["bzz-raw://d42b471418efadcc3577ef3fa9f8f504e8bed7db90c3b0c862038d8b29529eb2","dweb:/ipfs/QmZETDQiJN4U92fmLKo8T9ZbdDf7BNBUUvo9H7M7GqAyFU"],"license":"MIT"},"lib/devtools/packages/oapp-evm/contracts/oapp/interfaces/IOAppCore.sol":{"keccak256":"0x40e49f2de74506e1da5dcaed53a39853f691647f4ceb0fccc8f49a68d3f47c58","urls":["bzz-raw://4a1deb2a6a3eb1fb83936c9578469142bff470295f403d7d07d955a76be3adbd","dweb:/ipfs/QmS9bjSfBaE4YhQ1PCQ1TknbEPbNfRXzBK9E7SaPGyiZEv"],"license":"MIT"},"lib/devtools/packages/oapp-evm/contracts/oapp/interfaces/IOAppReceiver.sol":{"keccak256":"0xd26135185e19b3732746d4a9e2923e896f28dec8664bab161faea2ee26fcdc3d","urls":["bzz-raw://c236dfe386b508be33c3a1a74ae1d4fd64b8c77ae207767e9dbed0f2429518a2","dweb:/ipfs/QmXVbZJjfryTRti98uN3BMh5qh4K7NuEs1RSCoBjRoYd4q"],"license":"MIT"},"lib/devtools/packages/oft-evm/contracts/interfaces/IOFT.sol":{"keccak256":"0xc60c7b4374b3d89f33b8de982f463c92374a8548800c816fe776f0ec76351fb0","urls":["bzz-raw://9e2ae9efc2a93373e822b148b3a3b50e3562c8c317f2e71d73cf4a11dede9d15","dweb:/ipfs/QmahCbqvqEcWLJpqE6EbHHTuSbnGWyo35ZBVqoyKv18BSF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x7795808e3899c805254e3ae58074b20f799b466e3f43e057e47bedee5fb771f8","urls":["bzz-raw://319853a2a682f3f72411507242669ef5e76e0ad3457be53102439709ee8948f0","dweb:/ipfs/QmRtm4Ese9u4jfxXyuWPXLwzenwFotuQjAWV7rXtZTB1E9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xefb41f5c1a00249b7a99f0782f8c557865605426a3fb6e5fe9ae334293ae4f33","urls":["bzz-raw://90def55e5782595aabc13f57780c02d3613e5226f20ce6c1709503a63fdeb58f","dweb:/ipfs/Qmb5vcymmNEZUJMaHmYxnhvGJDEsGMae4YjcHwkA74jy99"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol":{"keccak256":"0xad32f6821f860555f9530902a65b54203a4f5db2117f4384ae47a124958078db","urls":["bzz-raw://6d362da7417bc7d7cc8623f3d3f8f04c3808d043ee6379568c63a63ec14a124e","dweb:/ipfs/QmYm3wDHUcfGh3MNiRqpWEBbSSYnDSyUsppDATy5DVsfui"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol":{"keccak256":"0x07e881de3b9f6d2c07909f193f24b96c7fe4ea60013260f3f25aecd8bab3c2f8","urls":["bzz-raw://1fed09b97ccb0ff9ba9b6a94224f1d489026bf6b4b7279bfe64fb6e8749dee4d","dweb:/ipfs/QmcRAzaSP1UnGr4vrGkfJmB2L9aiTYoXfV1Lg9gqrVRWn8"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d","urls":["bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100","dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc","urls":["bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037","dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44","urls":["bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d","dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2","urls":["bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303","dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5","urls":["bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508","dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"keccak256":"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26","urls":["bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2","dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c","urls":["bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617","dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"],"license":"MIT"},"src/Verifier.sol":{"keccak256":"0x3c4b1b65808297bc5c20811c2725b5a1384946040f5c96ebcd7069091264a2da","urls":["bzz-raw://8c6e1a587348ea47a1cdf8a6fce41f4a698c7d71d9d733f6baf4ed8d457f851d","dweb:/ipfs/QmZoMJWroEfFhKMF4DCMYxykdDLnb6C7PuyadRAMPRZfEm"],"license":"Unlicense"},"src/interfaces/IDecider.sol":{"keccak256":"0xa39bdbdf85588bb0bbceaaa2a8acde119a6fb2f326c71ed0309d0ba17ccde542","urls":["bzz-raw://1c9c16ba87942aa28d7475f76fa1ccdb4d0c969fc0de2e340e9eb72e9fb52805","dweb:/ipfs/QmQSf1jHDBjgZ1Bg7CvjYX3JY2ST6osHzKaiQ3U1inReu5"],"license":"MIT"},"src/interfaces/IVerifier.sol":{"keccak256":"0x3d10957d3ea942edace754a73879c4c7bf8e1dbec9760fc25b4bb3cfe7a65e4b","urls":["bzz-raw://e55b6e63734ad63a1e1055e6bfba052d2c48fee8efaf835bd78bcfdeb64810d8","dweb:/ipfs/QmWvaTZTJsZceB6zrZneBys25KdUM3Kqi5XWQjam9wXPMV"],"license":"MIT"},"src/interfaces/IzERC20.sol":{"keccak256":"0x6c7ee27de91c844f721a3b2784641edbda479f257c61e487b7f6e990e5f010cd","urls":["bzz-raw://fe5a68078453c19d13d1e28333f408126b0896cdbf1d2230271e96f87814e3c8","dweb:/ipfs/QmP1q9pF7zAQzMDSJaYsEeDBU45xPns5s9nLuDeTEJxDPn"],"license":"MIT"},"src/utils/GeneralRecipientLib.sol":{"keccak256":"0xbab182783a8b7b84b5b2d22be9b43f61c12c1258ec73d596807616dc6d64a65d","urls":["bzz-raw://185fc80874cb6fae9450839bb169d60fb2e756ac37c8c16639473de34d3eab13","dweb:/ipfs/QmYDyaqn1UzUCRMvNfMZZvW9DR7nxzGnYgsLuWrDZCmbYF"],"license":"Unlicense"}},"version":1},"id":157}
|
|
1
|
+
{
|
|
2
|
+
"abi": [
|
|
3
|
+
{
|
|
4
|
+
"type": "constructor",
|
|
5
|
+
"inputs": [
|
|
6
|
+
{
|
|
7
|
+
"name": "endpoint",
|
|
8
|
+
"type": "address",
|
|
9
|
+
"internalType": "address"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"stateMutability": "nonpayable"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "function",
|
|
16
|
+
"name": "UPGRADE_INTERFACE_VERSION",
|
|
17
|
+
"inputs": [],
|
|
18
|
+
"outputs": [
|
|
19
|
+
{
|
|
20
|
+
"name": "",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"internalType": "string"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"stateMutability": "view"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"type": "function",
|
|
29
|
+
"name": "activateEmergency",
|
|
30
|
+
"inputs": [],
|
|
31
|
+
"outputs": [],
|
|
32
|
+
"stateMutability": "nonpayable"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "function",
|
|
36
|
+
"name": "allowInitializePath",
|
|
37
|
+
"inputs": [
|
|
38
|
+
{
|
|
39
|
+
"name": "origin",
|
|
40
|
+
"type": "tuple",
|
|
41
|
+
"internalType": "struct Origin",
|
|
42
|
+
"components": [
|
|
43
|
+
{
|
|
44
|
+
"name": "srcEid",
|
|
45
|
+
"type": "uint32",
|
|
46
|
+
"internalType": "uint32"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "sender",
|
|
50
|
+
"type": "bytes32",
|
|
51
|
+
"internalType": "bytes32"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "nonce",
|
|
55
|
+
"type": "uint64",
|
|
56
|
+
"internalType": "uint64"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"outputs": [
|
|
62
|
+
{
|
|
63
|
+
"name": "",
|
|
64
|
+
"type": "bool",
|
|
65
|
+
"internalType": "bool"
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"stateMutability": "view"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "function",
|
|
72
|
+
"name": "deactivateEmergency",
|
|
73
|
+
"inputs": [],
|
|
74
|
+
"outputs": [],
|
|
75
|
+
"stateMutability": "nonpayable"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"type": "function",
|
|
79
|
+
"name": "eip712Domain",
|
|
80
|
+
"inputs": [],
|
|
81
|
+
"outputs": [
|
|
82
|
+
{
|
|
83
|
+
"name": "fields",
|
|
84
|
+
"type": "bytes1",
|
|
85
|
+
"internalType": "bytes1"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "name",
|
|
89
|
+
"type": "string",
|
|
90
|
+
"internalType": "string"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "version",
|
|
94
|
+
"type": "string",
|
|
95
|
+
"internalType": "string"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "chainId",
|
|
99
|
+
"type": "uint256",
|
|
100
|
+
"internalType": "uint256"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "verifyingContract",
|
|
104
|
+
"type": "address",
|
|
105
|
+
"internalType": "address"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"name": "salt",
|
|
109
|
+
"type": "bytes32",
|
|
110
|
+
"internalType": "bytes32"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "extensions",
|
|
114
|
+
"type": "uint256[]",
|
|
115
|
+
"internalType": "uint256[]"
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
"stateMutability": "view"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"type": "function",
|
|
122
|
+
"name": "endpoint",
|
|
123
|
+
"inputs": [],
|
|
124
|
+
"outputs": [
|
|
125
|
+
{
|
|
126
|
+
"name": "",
|
|
127
|
+
"type": "address",
|
|
128
|
+
"internalType": "contract ILayerZeroEndpointV2"
|
|
129
|
+
}
|
|
130
|
+
],
|
|
131
|
+
"stateMutability": "view"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"type": "function",
|
|
135
|
+
"name": "globalTransferRoots",
|
|
136
|
+
"inputs": [
|
|
137
|
+
{
|
|
138
|
+
"name": "index",
|
|
139
|
+
"type": "uint64",
|
|
140
|
+
"internalType": "uint64"
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"outputs": [
|
|
144
|
+
{
|
|
145
|
+
"name": "",
|
|
146
|
+
"type": "uint256",
|
|
147
|
+
"internalType": "uint256"
|
|
148
|
+
}
|
|
149
|
+
],
|
|
150
|
+
"stateMutability": "view"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"type": "function",
|
|
154
|
+
"name": "hubEid",
|
|
155
|
+
"inputs": [],
|
|
156
|
+
"outputs": [
|
|
157
|
+
{
|
|
158
|
+
"name": "",
|
|
159
|
+
"type": "uint32",
|
|
160
|
+
"internalType": "uint32"
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
"stateMutability": "view"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"type": "function",
|
|
167
|
+
"name": "initialize",
|
|
168
|
+
"inputs": [
|
|
169
|
+
{
|
|
170
|
+
"name": "token_",
|
|
171
|
+
"type": "address",
|
|
172
|
+
"internalType": "address"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"name": "hubEid_",
|
|
176
|
+
"type": "uint32",
|
|
177
|
+
"internalType": "uint32"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"name": "delegate",
|
|
181
|
+
"type": "address",
|
|
182
|
+
"internalType": "address"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "rootDecider_",
|
|
186
|
+
"type": "address",
|
|
187
|
+
"internalType": "address"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "withdrawGlobalDecider_",
|
|
191
|
+
"type": "address",
|
|
192
|
+
"internalType": "address"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"name": "withdrawLocalDecider_",
|
|
196
|
+
"type": "address",
|
|
197
|
+
"internalType": "address"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"name": "singleWithdrawGlobalVerifier_",
|
|
201
|
+
"type": "address",
|
|
202
|
+
"internalType": "address"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"name": "singleWithdrawLocalVerifier_",
|
|
206
|
+
"type": "address",
|
|
207
|
+
"internalType": "address"
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"name": "eip712Init",
|
|
211
|
+
"type": "bytes",
|
|
212
|
+
"internalType": "bytes"
|
|
213
|
+
}
|
|
214
|
+
],
|
|
215
|
+
"outputs": [],
|
|
216
|
+
"stateMutability": "nonpayable"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"type": "function",
|
|
220
|
+
"name": "initializeV2",
|
|
221
|
+
"inputs": [
|
|
222
|
+
{
|
|
223
|
+
"name": "name_",
|
|
224
|
+
"type": "string",
|
|
225
|
+
"internalType": "string"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"name": "version_",
|
|
229
|
+
"type": "string",
|
|
230
|
+
"internalType": "string"
|
|
231
|
+
}
|
|
232
|
+
],
|
|
233
|
+
"outputs": [],
|
|
234
|
+
"stateMutability": "nonpayable"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"type": "function",
|
|
238
|
+
"name": "isAllowedProver",
|
|
239
|
+
"inputs": [
|
|
240
|
+
{
|
|
241
|
+
"name": "prover",
|
|
242
|
+
"type": "address",
|
|
243
|
+
"internalType": "address"
|
|
244
|
+
}
|
|
245
|
+
],
|
|
246
|
+
"outputs": [
|
|
247
|
+
{
|
|
248
|
+
"name": "",
|
|
249
|
+
"type": "bool",
|
|
250
|
+
"internalType": "bool"
|
|
251
|
+
}
|
|
252
|
+
],
|
|
253
|
+
"stateMutability": "view"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"type": "function",
|
|
257
|
+
"name": "isComposeMsgSender",
|
|
258
|
+
"inputs": [
|
|
259
|
+
{
|
|
260
|
+
"name": "",
|
|
261
|
+
"type": "tuple",
|
|
262
|
+
"internalType": "struct Origin",
|
|
263
|
+
"components": [
|
|
264
|
+
{
|
|
265
|
+
"name": "srcEid",
|
|
266
|
+
"type": "uint32",
|
|
267
|
+
"internalType": "uint32"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"name": "sender",
|
|
271
|
+
"type": "bytes32",
|
|
272
|
+
"internalType": "bytes32"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"name": "nonce",
|
|
276
|
+
"type": "uint64",
|
|
277
|
+
"internalType": "uint64"
|
|
278
|
+
}
|
|
279
|
+
]
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"name": "",
|
|
283
|
+
"type": "bytes",
|
|
284
|
+
"internalType": "bytes"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"name": "_sender",
|
|
288
|
+
"type": "address",
|
|
289
|
+
"internalType": "address"
|
|
290
|
+
}
|
|
291
|
+
],
|
|
292
|
+
"outputs": [
|
|
293
|
+
{
|
|
294
|
+
"name": "",
|
|
295
|
+
"type": "bool",
|
|
296
|
+
"internalType": "bool"
|
|
297
|
+
}
|
|
298
|
+
],
|
|
299
|
+
"stateMutability": "view"
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"type": "function",
|
|
303
|
+
"name": "isUpToDate",
|
|
304
|
+
"inputs": [],
|
|
305
|
+
"outputs": [
|
|
306
|
+
{
|
|
307
|
+
"name": "",
|
|
308
|
+
"type": "bool",
|
|
309
|
+
"internalType": "bool"
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
"stateMutability": "view"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"type": "function",
|
|
316
|
+
"name": "latestAggSeq",
|
|
317
|
+
"inputs": [],
|
|
318
|
+
"outputs": [
|
|
319
|
+
{
|
|
320
|
+
"name": "",
|
|
321
|
+
"type": "uint64",
|
|
322
|
+
"internalType": "uint64"
|
|
323
|
+
}
|
|
324
|
+
],
|
|
325
|
+
"stateMutability": "view"
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"type": "function",
|
|
329
|
+
"name": "latestProvedIndex",
|
|
330
|
+
"inputs": [],
|
|
331
|
+
"outputs": [
|
|
332
|
+
{
|
|
333
|
+
"name": "",
|
|
334
|
+
"type": "uint64",
|
|
335
|
+
"internalType": "uint64"
|
|
336
|
+
}
|
|
337
|
+
],
|
|
338
|
+
"stateMutability": "view"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"type": "function",
|
|
342
|
+
"name": "latestRelayedIndex",
|
|
343
|
+
"inputs": [],
|
|
344
|
+
"outputs": [
|
|
345
|
+
{
|
|
346
|
+
"name": "",
|
|
347
|
+
"type": "uint64",
|
|
348
|
+
"internalType": "uint64"
|
|
349
|
+
}
|
|
350
|
+
],
|
|
351
|
+
"stateMutability": "view"
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"type": "function",
|
|
355
|
+
"name": "latestReservedIndex",
|
|
356
|
+
"inputs": [],
|
|
357
|
+
"outputs": [
|
|
358
|
+
{
|
|
359
|
+
"name": "",
|
|
360
|
+
"type": "uint64",
|
|
361
|
+
"internalType": "uint64"
|
|
362
|
+
}
|
|
363
|
+
],
|
|
364
|
+
"stateMutability": "view"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"type": "function",
|
|
368
|
+
"name": "lzReceive",
|
|
369
|
+
"inputs": [
|
|
370
|
+
{
|
|
371
|
+
"name": "_origin",
|
|
372
|
+
"type": "tuple",
|
|
373
|
+
"internalType": "struct Origin",
|
|
374
|
+
"components": [
|
|
375
|
+
{
|
|
376
|
+
"name": "srcEid",
|
|
377
|
+
"type": "uint32",
|
|
378
|
+
"internalType": "uint32"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"name": "sender",
|
|
382
|
+
"type": "bytes32",
|
|
383
|
+
"internalType": "bytes32"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"name": "nonce",
|
|
387
|
+
"type": "uint64",
|
|
388
|
+
"internalType": "uint64"
|
|
389
|
+
}
|
|
390
|
+
]
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"name": "_guid",
|
|
394
|
+
"type": "bytes32",
|
|
395
|
+
"internalType": "bytes32"
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"name": "_message",
|
|
399
|
+
"type": "bytes",
|
|
400
|
+
"internalType": "bytes"
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"name": "_executor",
|
|
404
|
+
"type": "address",
|
|
405
|
+
"internalType": "address"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"name": "_extraData",
|
|
409
|
+
"type": "bytes",
|
|
410
|
+
"internalType": "bytes"
|
|
411
|
+
}
|
|
412
|
+
],
|
|
413
|
+
"outputs": [],
|
|
414
|
+
"stateMutability": "payable"
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"type": "function",
|
|
418
|
+
"name": "nextNonce",
|
|
419
|
+
"inputs": [
|
|
420
|
+
{
|
|
421
|
+
"name": "",
|
|
422
|
+
"type": "uint32",
|
|
423
|
+
"internalType": "uint32"
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"name": "",
|
|
427
|
+
"type": "bytes32",
|
|
428
|
+
"internalType": "bytes32"
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
"outputs": [
|
|
432
|
+
{
|
|
433
|
+
"name": "nonce",
|
|
434
|
+
"type": "uint64",
|
|
435
|
+
"internalType": "uint64"
|
|
436
|
+
}
|
|
437
|
+
],
|
|
438
|
+
"stateMutability": "view"
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"type": "function",
|
|
442
|
+
"name": "oAppVersion",
|
|
443
|
+
"inputs": [],
|
|
444
|
+
"outputs": [
|
|
445
|
+
{
|
|
446
|
+
"name": "senderVersion",
|
|
447
|
+
"type": "uint64",
|
|
448
|
+
"internalType": "uint64"
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"name": "receiverVersion",
|
|
452
|
+
"type": "uint64",
|
|
453
|
+
"internalType": "uint64"
|
|
454
|
+
}
|
|
455
|
+
],
|
|
456
|
+
"stateMutability": "pure"
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
"type": "function",
|
|
460
|
+
"name": "owner",
|
|
461
|
+
"inputs": [],
|
|
462
|
+
"outputs": [
|
|
463
|
+
{
|
|
464
|
+
"name": "",
|
|
465
|
+
"type": "address",
|
|
466
|
+
"internalType": "address"
|
|
467
|
+
}
|
|
468
|
+
],
|
|
469
|
+
"stateMutability": "view"
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"type": "function",
|
|
473
|
+
"name": "paused",
|
|
474
|
+
"inputs": [],
|
|
475
|
+
"outputs": [
|
|
476
|
+
{
|
|
477
|
+
"name": "",
|
|
478
|
+
"type": "bool",
|
|
479
|
+
"internalType": "bool"
|
|
480
|
+
}
|
|
481
|
+
],
|
|
482
|
+
"stateMutability": "view"
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"type": "function",
|
|
486
|
+
"name": "peers",
|
|
487
|
+
"inputs": [
|
|
488
|
+
{
|
|
489
|
+
"name": "_eid",
|
|
490
|
+
"type": "uint32",
|
|
491
|
+
"internalType": "uint32"
|
|
492
|
+
}
|
|
493
|
+
],
|
|
494
|
+
"outputs": [
|
|
495
|
+
{
|
|
496
|
+
"name": "",
|
|
497
|
+
"type": "bytes32",
|
|
498
|
+
"internalType": "bytes32"
|
|
499
|
+
}
|
|
500
|
+
],
|
|
501
|
+
"stateMutability": "view"
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"type": "function",
|
|
505
|
+
"name": "proveTransferRoot",
|
|
506
|
+
"inputs": [
|
|
507
|
+
{
|
|
508
|
+
"name": "proof",
|
|
509
|
+
"type": "bytes",
|
|
510
|
+
"internalType": "bytes"
|
|
511
|
+
}
|
|
512
|
+
],
|
|
513
|
+
"outputs": [],
|
|
514
|
+
"stateMutability": "nonpayable"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"type": "function",
|
|
518
|
+
"name": "provedTransferRoots",
|
|
519
|
+
"inputs": [
|
|
520
|
+
{
|
|
521
|
+
"name": "index",
|
|
522
|
+
"type": "uint64",
|
|
523
|
+
"internalType": "uint64"
|
|
524
|
+
}
|
|
525
|
+
],
|
|
526
|
+
"outputs": [
|
|
527
|
+
{
|
|
528
|
+
"name": "",
|
|
529
|
+
"type": "uint256",
|
|
530
|
+
"internalType": "uint256"
|
|
531
|
+
}
|
|
532
|
+
],
|
|
533
|
+
"stateMutability": "view"
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"type": "function",
|
|
537
|
+
"name": "proxiableUUID",
|
|
538
|
+
"inputs": [],
|
|
539
|
+
"outputs": [
|
|
540
|
+
{
|
|
541
|
+
"name": "",
|
|
542
|
+
"type": "bytes32",
|
|
543
|
+
"internalType": "bytes32"
|
|
544
|
+
}
|
|
545
|
+
],
|
|
546
|
+
"stateMutability": "view"
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"type": "function",
|
|
550
|
+
"name": "quoteRelay",
|
|
551
|
+
"inputs": [
|
|
552
|
+
{
|
|
553
|
+
"name": "options",
|
|
554
|
+
"type": "bytes",
|
|
555
|
+
"internalType": "bytes"
|
|
556
|
+
}
|
|
557
|
+
],
|
|
558
|
+
"outputs": [
|
|
559
|
+
{
|
|
560
|
+
"name": "fee",
|
|
561
|
+
"type": "tuple",
|
|
562
|
+
"internalType": "struct MessagingFee",
|
|
563
|
+
"components": [
|
|
564
|
+
{
|
|
565
|
+
"name": "nativeFee",
|
|
566
|
+
"type": "uint256",
|
|
567
|
+
"internalType": "uint256"
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
"name": "lzTokenFee",
|
|
571
|
+
"type": "uint256",
|
|
572
|
+
"internalType": "uint256"
|
|
573
|
+
}
|
|
574
|
+
]
|
|
575
|
+
}
|
|
576
|
+
],
|
|
577
|
+
"stateMutability": "view"
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"type": "function",
|
|
581
|
+
"name": "relayTransferRoot",
|
|
582
|
+
"inputs": [
|
|
583
|
+
{
|
|
584
|
+
"name": "options",
|
|
585
|
+
"type": "bytes",
|
|
586
|
+
"internalType": "bytes"
|
|
587
|
+
}
|
|
588
|
+
],
|
|
589
|
+
"outputs": [
|
|
590
|
+
{
|
|
591
|
+
"name": "receipt",
|
|
592
|
+
"type": "tuple",
|
|
593
|
+
"internalType": "struct MessagingReceipt",
|
|
594
|
+
"components": [
|
|
595
|
+
{
|
|
596
|
+
"name": "guid",
|
|
597
|
+
"type": "bytes32",
|
|
598
|
+
"internalType": "bytes32"
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"name": "nonce",
|
|
602
|
+
"type": "uint64",
|
|
603
|
+
"internalType": "uint64"
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
"name": "fee",
|
|
607
|
+
"type": "tuple",
|
|
608
|
+
"internalType": "struct MessagingFee",
|
|
609
|
+
"components": [
|
|
610
|
+
{
|
|
611
|
+
"name": "nativeFee",
|
|
612
|
+
"type": "uint256",
|
|
613
|
+
"internalType": "uint256"
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
"name": "lzTokenFee",
|
|
617
|
+
"type": "uint256",
|
|
618
|
+
"internalType": "uint256"
|
|
619
|
+
}
|
|
620
|
+
]
|
|
621
|
+
}
|
|
622
|
+
]
|
|
623
|
+
}
|
|
624
|
+
],
|
|
625
|
+
"stateMutability": "payable"
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
"type": "function",
|
|
629
|
+
"name": "relayTransferRoot",
|
|
630
|
+
"inputs": [
|
|
631
|
+
{
|
|
632
|
+
"name": "options",
|
|
633
|
+
"type": "bytes",
|
|
634
|
+
"internalType": "bytes"
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"name": "refundAddress",
|
|
638
|
+
"type": "address",
|
|
639
|
+
"internalType": "address"
|
|
640
|
+
}
|
|
641
|
+
],
|
|
642
|
+
"outputs": [
|
|
643
|
+
{
|
|
644
|
+
"name": "receipt",
|
|
645
|
+
"type": "tuple",
|
|
646
|
+
"internalType": "struct MessagingReceipt",
|
|
647
|
+
"components": [
|
|
648
|
+
{
|
|
649
|
+
"name": "guid",
|
|
650
|
+
"type": "bytes32",
|
|
651
|
+
"internalType": "bytes32"
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
"name": "nonce",
|
|
655
|
+
"type": "uint64",
|
|
656
|
+
"internalType": "uint64"
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"name": "fee",
|
|
660
|
+
"type": "tuple",
|
|
661
|
+
"internalType": "struct MessagingFee",
|
|
662
|
+
"components": [
|
|
663
|
+
{
|
|
664
|
+
"name": "nativeFee",
|
|
665
|
+
"type": "uint256",
|
|
666
|
+
"internalType": "uint256"
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
"name": "lzTokenFee",
|
|
670
|
+
"type": "uint256",
|
|
671
|
+
"internalType": "uint256"
|
|
672
|
+
}
|
|
673
|
+
]
|
|
674
|
+
}
|
|
675
|
+
]
|
|
676
|
+
}
|
|
677
|
+
],
|
|
678
|
+
"stateMutability": "payable"
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
"type": "function",
|
|
682
|
+
"name": "removeAllowedProver",
|
|
683
|
+
"inputs": [
|
|
684
|
+
{
|
|
685
|
+
"name": "prover",
|
|
686
|
+
"type": "address",
|
|
687
|
+
"internalType": "address"
|
|
688
|
+
}
|
|
689
|
+
],
|
|
690
|
+
"outputs": [],
|
|
691
|
+
"stateMutability": "nonpayable"
|
|
692
|
+
},
|
|
693
|
+
{
|
|
694
|
+
"type": "function",
|
|
695
|
+
"name": "renounceOwnership",
|
|
696
|
+
"inputs": [],
|
|
697
|
+
"outputs": [],
|
|
698
|
+
"stateMutability": "nonpayable"
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
"type": "function",
|
|
702
|
+
"name": "reserveHashChain",
|
|
703
|
+
"inputs": [],
|
|
704
|
+
"outputs": [
|
|
705
|
+
{
|
|
706
|
+
"name": "index",
|
|
707
|
+
"type": "uint64",
|
|
708
|
+
"internalType": "uint64"
|
|
709
|
+
},
|
|
710
|
+
{
|
|
711
|
+
"name": "hashChain",
|
|
712
|
+
"type": "uint256",
|
|
713
|
+
"internalType": "uint256"
|
|
714
|
+
}
|
|
715
|
+
],
|
|
716
|
+
"stateMutability": "nonpayable"
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
"type": "function",
|
|
720
|
+
"name": "reservedHashChains",
|
|
721
|
+
"inputs": [
|
|
722
|
+
{
|
|
723
|
+
"name": "index",
|
|
724
|
+
"type": "uint64",
|
|
725
|
+
"internalType": "uint64"
|
|
726
|
+
}
|
|
727
|
+
],
|
|
728
|
+
"outputs": [
|
|
729
|
+
{
|
|
730
|
+
"name": "",
|
|
731
|
+
"type": "uint256",
|
|
732
|
+
"internalType": "uint256"
|
|
733
|
+
}
|
|
734
|
+
],
|
|
735
|
+
"stateMutability": "view"
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
"type": "function",
|
|
739
|
+
"name": "rootDecider",
|
|
740
|
+
"inputs": [],
|
|
741
|
+
"outputs": [
|
|
742
|
+
{
|
|
743
|
+
"name": "",
|
|
744
|
+
"type": "address",
|
|
745
|
+
"internalType": "address"
|
|
746
|
+
}
|
|
747
|
+
],
|
|
748
|
+
"stateMutability": "view"
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"type": "function",
|
|
752
|
+
"name": "setAllowedProver",
|
|
753
|
+
"inputs": [
|
|
754
|
+
{
|
|
755
|
+
"name": "prover",
|
|
756
|
+
"type": "address",
|
|
757
|
+
"internalType": "address"
|
|
758
|
+
}
|
|
759
|
+
],
|
|
760
|
+
"outputs": [],
|
|
761
|
+
"stateMutability": "nonpayable"
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
"type": "function",
|
|
765
|
+
"name": "setDelegate",
|
|
766
|
+
"inputs": [
|
|
767
|
+
{
|
|
768
|
+
"name": "_delegate",
|
|
769
|
+
"type": "address",
|
|
770
|
+
"internalType": "address"
|
|
771
|
+
}
|
|
772
|
+
],
|
|
773
|
+
"outputs": [],
|
|
774
|
+
"stateMutability": "nonpayable"
|
|
775
|
+
},
|
|
776
|
+
{
|
|
777
|
+
"type": "function",
|
|
778
|
+
"name": "setPeer",
|
|
779
|
+
"inputs": [
|
|
780
|
+
{
|
|
781
|
+
"name": "_eid",
|
|
782
|
+
"type": "uint32",
|
|
783
|
+
"internalType": "uint32"
|
|
784
|
+
},
|
|
785
|
+
{
|
|
786
|
+
"name": "_peer",
|
|
787
|
+
"type": "bytes32",
|
|
788
|
+
"internalType": "bytes32"
|
|
789
|
+
}
|
|
790
|
+
],
|
|
791
|
+
"outputs": [],
|
|
792
|
+
"stateMutability": "nonpayable"
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"type": "function",
|
|
796
|
+
"name": "setVerifiers",
|
|
797
|
+
"inputs": [
|
|
798
|
+
{
|
|
799
|
+
"name": "newRootDecider",
|
|
800
|
+
"type": "address",
|
|
801
|
+
"internalType": "address"
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"name": "newWithdrawGlobalDecider",
|
|
805
|
+
"type": "address",
|
|
806
|
+
"internalType": "address"
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
"name": "newWithdrawLocalDecider",
|
|
810
|
+
"type": "address",
|
|
811
|
+
"internalType": "address"
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"name": "newSingleWithdrawGlobalVerifier",
|
|
815
|
+
"type": "address",
|
|
816
|
+
"internalType": "address"
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
"name": "newSingleWithdrawLocalVerifier",
|
|
820
|
+
"type": "address",
|
|
821
|
+
"internalType": "address"
|
|
822
|
+
}
|
|
823
|
+
],
|
|
824
|
+
"outputs": [],
|
|
825
|
+
"stateMutability": "nonpayable"
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
"type": "function",
|
|
829
|
+
"name": "singleTeleport",
|
|
830
|
+
"inputs": [
|
|
831
|
+
{
|
|
832
|
+
"name": "isGlobal",
|
|
833
|
+
"type": "bool",
|
|
834
|
+
"internalType": "bool"
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"name": "rootHint",
|
|
838
|
+
"type": "uint64",
|
|
839
|
+
"internalType": "uint64"
|
|
840
|
+
},
|
|
841
|
+
{
|
|
842
|
+
"name": "gr",
|
|
843
|
+
"type": "tuple",
|
|
844
|
+
"internalType": "struct GeneralRecipientLib.GeneralRecipient",
|
|
845
|
+
"components": [
|
|
846
|
+
{
|
|
847
|
+
"name": "chainId",
|
|
848
|
+
"type": "uint64",
|
|
849
|
+
"internalType": "uint64"
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"name": "recipient",
|
|
853
|
+
"type": "bytes32",
|
|
854
|
+
"internalType": "bytes32"
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
"name": "tweak",
|
|
858
|
+
"type": "bytes32",
|
|
859
|
+
"internalType": "bytes32"
|
|
860
|
+
}
|
|
861
|
+
]
|
|
862
|
+
},
|
|
863
|
+
{
|
|
864
|
+
"name": "proof",
|
|
865
|
+
"type": "bytes",
|
|
866
|
+
"internalType": "bytes"
|
|
867
|
+
},
|
|
868
|
+
{
|
|
869
|
+
"name": "feeAuth",
|
|
870
|
+
"type": "tuple",
|
|
871
|
+
"internalType": "struct Verifier.RelayerFeeAuthorization",
|
|
872
|
+
"components": [
|
|
873
|
+
{
|
|
874
|
+
"name": "relayerFee",
|
|
875
|
+
"type": "uint256",
|
|
876
|
+
"internalType": "uint256"
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
"name": "maxFee",
|
|
880
|
+
"type": "uint256",
|
|
881
|
+
"internalType": "uint256"
|
|
882
|
+
},
|
|
883
|
+
{
|
|
884
|
+
"name": "deadline",
|
|
885
|
+
"type": "uint64",
|
|
886
|
+
"internalType": "uint64"
|
|
887
|
+
},
|
|
888
|
+
{
|
|
889
|
+
"name": "signature",
|
|
890
|
+
"type": "bytes",
|
|
891
|
+
"internalType": "bytes"
|
|
892
|
+
}
|
|
893
|
+
]
|
|
894
|
+
}
|
|
895
|
+
],
|
|
896
|
+
"outputs": [],
|
|
897
|
+
"stateMutability": "nonpayable"
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"type": "function",
|
|
901
|
+
"name": "singleTeleport",
|
|
902
|
+
"inputs": [
|
|
903
|
+
{
|
|
904
|
+
"name": "isGlobal",
|
|
905
|
+
"type": "bool",
|
|
906
|
+
"internalType": "bool"
|
|
907
|
+
},
|
|
908
|
+
{
|
|
909
|
+
"name": "rootHint",
|
|
910
|
+
"type": "uint64",
|
|
911
|
+
"internalType": "uint64"
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
"name": "gr",
|
|
915
|
+
"type": "tuple",
|
|
916
|
+
"internalType": "struct GeneralRecipientLib.GeneralRecipient",
|
|
917
|
+
"components": [
|
|
918
|
+
{
|
|
919
|
+
"name": "chainId",
|
|
920
|
+
"type": "uint64",
|
|
921
|
+
"internalType": "uint64"
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
"name": "recipient",
|
|
925
|
+
"type": "bytes32",
|
|
926
|
+
"internalType": "bytes32"
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
"name": "tweak",
|
|
930
|
+
"type": "bytes32",
|
|
931
|
+
"internalType": "bytes32"
|
|
932
|
+
}
|
|
933
|
+
]
|
|
934
|
+
},
|
|
935
|
+
{
|
|
936
|
+
"name": "proof",
|
|
937
|
+
"type": "bytes",
|
|
938
|
+
"internalType": "bytes"
|
|
939
|
+
}
|
|
940
|
+
],
|
|
941
|
+
"outputs": [],
|
|
942
|
+
"stateMutability": "nonpayable"
|
|
943
|
+
},
|
|
944
|
+
{
|
|
945
|
+
"type": "function",
|
|
946
|
+
"name": "singleWithdrawGlobalVerifier",
|
|
947
|
+
"inputs": [],
|
|
948
|
+
"outputs": [
|
|
949
|
+
{
|
|
950
|
+
"name": "",
|
|
951
|
+
"type": "address",
|
|
952
|
+
"internalType": "address"
|
|
953
|
+
}
|
|
954
|
+
],
|
|
955
|
+
"stateMutability": "view"
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"type": "function",
|
|
959
|
+
"name": "singleWithdrawLocalVerifier",
|
|
960
|
+
"inputs": [],
|
|
961
|
+
"outputs": [
|
|
962
|
+
{
|
|
963
|
+
"name": "",
|
|
964
|
+
"type": "address",
|
|
965
|
+
"internalType": "address"
|
|
966
|
+
}
|
|
967
|
+
],
|
|
968
|
+
"stateMutability": "view"
|
|
969
|
+
},
|
|
970
|
+
{
|
|
971
|
+
"type": "function",
|
|
972
|
+
"name": "teleport",
|
|
973
|
+
"inputs": [
|
|
974
|
+
{
|
|
975
|
+
"name": "isGlobal",
|
|
976
|
+
"type": "bool",
|
|
977
|
+
"internalType": "bool"
|
|
978
|
+
},
|
|
979
|
+
{
|
|
980
|
+
"name": "rootHint",
|
|
981
|
+
"type": "uint64",
|
|
982
|
+
"internalType": "uint64"
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
"name": "gr",
|
|
986
|
+
"type": "tuple",
|
|
987
|
+
"internalType": "struct GeneralRecipientLib.GeneralRecipient",
|
|
988
|
+
"components": [
|
|
989
|
+
{
|
|
990
|
+
"name": "chainId",
|
|
991
|
+
"type": "uint64",
|
|
992
|
+
"internalType": "uint64"
|
|
993
|
+
},
|
|
994
|
+
{
|
|
995
|
+
"name": "recipient",
|
|
996
|
+
"type": "bytes32",
|
|
997
|
+
"internalType": "bytes32"
|
|
998
|
+
},
|
|
999
|
+
{
|
|
1000
|
+
"name": "tweak",
|
|
1001
|
+
"type": "bytes32",
|
|
1002
|
+
"internalType": "bytes32"
|
|
1003
|
+
}
|
|
1004
|
+
]
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
"name": "proof",
|
|
1008
|
+
"type": "bytes",
|
|
1009
|
+
"internalType": "bytes"
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"name": "feeAuth",
|
|
1013
|
+
"type": "tuple",
|
|
1014
|
+
"internalType": "struct Verifier.RelayerFeeAuthorization",
|
|
1015
|
+
"components": [
|
|
1016
|
+
{
|
|
1017
|
+
"name": "relayerFee",
|
|
1018
|
+
"type": "uint256",
|
|
1019
|
+
"internalType": "uint256"
|
|
1020
|
+
},
|
|
1021
|
+
{
|
|
1022
|
+
"name": "maxFee",
|
|
1023
|
+
"type": "uint256",
|
|
1024
|
+
"internalType": "uint256"
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
"name": "deadline",
|
|
1028
|
+
"type": "uint64",
|
|
1029
|
+
"internalType": "uint64"
|
|
1030
|
+
},
|
|
1031
|
+
{
|
|
1032
|
+
"name": "signature",
|
|
1033
|
+
"type": "bytes",
|
|
1034
|
+
"internalType": "bytes"
|
|
1035
|
+
}
|
|
1036
|
+
]
|
|
1037
|
+
}
|
|
1038
|
+
],
|
|
1039
|
+
"outputs": [],
|
|
1040
|
+
"stateMutability": "nonpayable"
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
"type": "function",
|
|
1044
|
+
"name": "teleport",
|
|
1045
|
+
"inputs": [
|
|
1046
|
+
{
|
|
1047
|
+
"name": "isGlobal",
|
|
1048
|
+
"type": "bool",
|
|
1049
|
+
"internalType": "bool"
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
"name": "rootHint",
|
|
1053
|
+
"type": "uint64",
|
|
1054
|
+
"internalType": "uint64"
|
|
1055
|
+
},
|
|
1056
|
+
{
|
|
1057
|
+
"name": "gr",
|
|
1058
|
+
"type": "tuple",
|
|
1059
|
+
"internalType": "struct GeneralRecipientLib.GeneralRecipient",
|
|
1060
|
+
"components": [
|
|
1061
|
+
{
|
|
1062
|
+
"name": "chainId",
|
|
1063
|
+
"type": "uint64",
|
|
1064
|
+
"internalType": "uint64"
|
|
1065
|
+
},
|
|
1066
|
+
{
|
|
1067
|
+
"name": "recipient",
|
|
1068
|
+
"type": "bytes32",
|
|
1069
|
+
"internalType": "bytes32"
|
|
1070
|
+
},
|
|
1071
|
+
{
|
|
1072
|
+
"name": "tweak",
|
|
1073
|
+
"type": "bytes32",
|
|
1074
|
+
"internalType": "bytes32"
|
|
1075
|
+
}
|
|
1076
|
+
]
|
|
1077
|
+
},
|
|
1078
|
+
{
|
|
1079
|
+
"name": "proof",
|
|
1080
|
+
"type": "bytes",
|
|
1081
|
+
"internalType": "bytes"
|
|
1082
|
+
}
|
|
1083
|
+
],
|
|
1084
|
+
"outputs": [],
|
|
1085
|
+
"stateMutability": "nonpayable"
|
|
1086
|
+
},
|
|
1087
|
+
{
|
|
1088
|
+
"type": "function",
|
|
1089
|
+
"name": "token",
|
|
1090
|
+
"inputs": [],
|
|
1091
|
+
"outputs": [
|
|
1092
|
+
{
|
|
1093
|
+
"name": "",
|
|
1094
|
+
"type": "address",
|
|
1095
|
+
"internalType": "address"
|
|
1096
|
+
}
|
|
1097
|
+
],
|
|
1098
|
+
"stateMutability": "view"
|
|
1099
|
+
},
|
|
1100
|
+
{
|
|
1101
|
+
"type": "function",
|
|
1102
|
+
"name": "totalTeleported",
|
|
1103
|
+
"inputs": [
|
|
1104
|
+
{
|
|
1105
|
+
"name": "recipient",
|
|
1106
|
+
"type": "uint256",
|
|
1107
|
+
"internalType": "uint256"
|
|
1108
|
+
}
|
|
1109
|
+
],
|
|
1110
|
+
"outputs": [
|
|
1111
|
+
{
|
|
1112
|
+
"name": "",
|
|
1113
|
+
"type": "uint256",
|
|
1114
|
+
"internalType": "uint256"
|
|
1115
|
+
}
|
|
1116
|
+
],
|
|
1117
|
+
"stateMutability": "view"
|
|
1118
|
+
},
|
|
1119
|
+
{
|
|
1120
|
+
"type": "function",
|
|
1121
|
+
"name": "transferOwnership",
|
|
1122
|
+
"inputs": [
|
|
1123
|
+
{
|
|
1124
|
+
"name": "newOwner",
|
|
1125
|
+
"type": "address",
|
|
1126
|
+
"internalType": "address"
|
|
1127
|
+
}
|
|
1128
|
+
],
|
|
1129
|
+
"outputs": [],
|
|
1130
|
+
"stateMutability": "nonpayable"
|
|
1131
|
+
},
|
|
1132
|
+
{
|
|
1133
|
+
"type": "function",
|
|
1134
|
+
"name": "upgradeToAndCall",
|
|
1135
|
+
"inputs": [
|
|
1136
|
+
{
|
|
1137
|
+
"name": "newImplementation",
|
|
1138
|
+
"type": "address",
|
|
1139
|
+
"internalType": "address"
|
|
1140
|
+
},
|
|
1141
|
+
{
|
|
1142
|
+
"name": "data",
|
|
1143
|
+
"type": "bytes",
|
|
1144
|
+
"internalType": "bytes"
|
|
1145
|
+
}
|
|
1146
|
+
],
|
|
1147
|
+
"outputs": [],
|
|
1148
|
+
"stateMutability": "payable"
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
"type": "function",
|
|
1152
|
+
"name": "withdrawGlobalDecider",
|
|
1153
|
+
"inputs": [],
|
|
1154
|
+
"outputs": [
|
|
1155
|
+
{
|
|
1156
|
+
"name": "",
|
|
1157
|
+
"type": "address",
|
|
1158
|
+
"internalType": "address"
|
|
1159
|
+
}
|
|
1160
|
+
],
|
|
1161
|
+
"stateMutability": "view"
|
|
1162
|
+
},
|
|
1163
|
+
{
|
|
1164
|
+
"type": "function",
|
|
1165
|
+
"name": "withdrawLocalDecider",
|
|
1166
|
+
"inputs": [],
|
|
1167
|
+
"outputs": [
|
|
1168
|
+
{
|
|
1169
|
+
"name": "",
|
|
1170
|
+
"type": "address",
|
|
1171
|
+
"internalType": "address"
|
|
1172
|
+
}
|
|
1173
|
+
],
|
|
1174
|
+
"stateMutability": "view"
|
|
1175
|
+
},
|
|
1176
|
+
{
|
|
1177
|
+
"type": "event",
|
|
1178
|
+
"name": "ActivateEmergency",
|
|
1179
|
+
"inputs": [],
|
|
1180
|
+
"anonymous": false
|
|
1181
|
+
},
|
|
1182
|
+
{
|
|
1183
|
+
"type": "event",
|
|
1184
|
+
"name": "DeactivateEmergency",
|
|
1185
|
+
"inputs": [],
|
|
1186
|
+
"anonymous": false
|
|
1187
|
+
},
|
|
1188
|
+
{
|
|
1189
|
+
"type": "event",
|
|
1190
|
+
"name": "EIP712DomainChanged",
|
|
1191
|
+
"inputs": [],
|
|
1192
|
+
"anonymous": false
|
|
1193
|
+
},
|
|
1194
|
+
{
|
|
1195
|
+
"type": "event",
|
|
1196
|
+
"name": "EmergencyTriggered",
|
|
1197
|
+
"inputs": [
|
|
1198
|
+
{
|
|
1199
|
+
"name": "index",
|
|
1200
|
+
"type": "uint64",
|
|
1201
|
+
"indexed": true,
|
|
1202
|
+
"internalType": "uint64"
|
|
1203
|
+
},
|
|
1204
|
+
{
|
|
1205
|
+
"name": "root1",
|
|
1206
|
+
"type": "uint256",
|
|
1207
|
+
"indexed": false,
|
|
1208
|
+
"internalType": "uint256"
|
|
1209
|
+
},
|
|
1210
|
+
{
|
|
1211
|
+
"name": "root2",
|
|
1212
|
+
"type": "uint256",
|
|
1213
|
+
"indexed": false,
|
|
1214
|
+
"internalType": "uint256"
|
|
1215
|
+
}
|
|
1216
|
+
],
|
|
1217
|
+
"anonymous": false
|
|
1218
|
+
},
|
|
1219
|
+
{
|
|
1220
|
+
"type": "event",
|
|
1221
|
+
"name": "GlobalRootSaved",
|
|
1222
|
+
"inputs": [
|
|
1223
|
+
{
|
|
1224
|
+
"name": "aggSeq",
|
|
1225
|
+
"type": "uint64",
|
|
1226
|
+
"indexed": true,
|
|
1227
|
+
"internalType": "uint64"
|
|
1228
|
+
},
|
|
1229
|
+
{
|
|
1230
|
+
"name": "root",
|
|
1231
|
+
"type": "uint256",
|
|
1232
|
+
"indexed": false,
|
|
1233
|
+
"internalType": "uint256"
|
|
1234
|
+
}
|
|
1235
|
+
],
|
|
1236
|
+
"anonymous": false
|
|
1237
|
+
},
|
|
1238
|
+
{
|
|
1239
|
+
"type": "event",
|
|
1240
|
+
"name": "HashChainReserved",
|
|
1241
|
+
"inputs": [
|
|
1242
|
+
{
|
|
1243
|
+
"name": "index",
|
|
1244
|
+
"type": "uint64",
|
|
1245
|
+
"indexed": true,
|
|
1246
|
+
"internalType": "uint64"
|
|
1247
|
+
},
|
|
1248
|
+
{
|
|
1249
|
+
"name": "hashChain",
|
|
1250
|
+
"type": "uint256",
|
|
1251
|
+
"indexed": false,
|
|
1252
|
+
"internalType": "uint256"
|
|
1253
|
+
}
|
|
1254
|
+
],
|
|
1255
|
+
"anonymous": false
|
|
1256
|
+
},
|
|
1257
|
+
{
|
|
1258
|
+
"type": "event",
|
|
1259
|
+
"name": "Initialized",
|
|
1260
|
+
"inputs": [
|
|
1261
|
+
{
|
|
1262
|
+
"name": "version",
|
|
1263
|
+
"type": "uint64",
|
|
1264
|
+
"indexed": false,
|
|
1265
|
+
"internalType": "uint64"
|
|
1266
|
+
}
|
|
1267
|
+
],
|
|
1268
|
+
"anonymous": false
|
|
1269
|
+
},
|
|
1270
|
+
{
|
|
1271
|
+
"type": "event",
|
|
1272
|
+
"name": "OwnershipTransferred",
|
|
1273
|
+
"inputs": [
|
|
1274
|
+
{
|
|
1275
|
+
"name": "previousOwner",
|
|
1276
|
+
"type": "address",
|
|
1277
|
+
"indexed": true,
|
|
1278
|
+
"internalType": "address"
|
|
1279
|
+
},
|
|
1280
|
+
{
|
|
1281
|
+
"name": "newOwner",
|
|
1282
|
+
"type": "address",
|
|
1283
|
+
"indexed": true,
|
|
1284
|
+
"internalType": "address"
|
|
1285
|
+
}
|
|
1286
|
+
],
|
|
1287
|
+
"anonymous": false
|
|
1288
|
+
},
|
|
1289
|
+
{
|
|
1290
|
+
"type": "event",
|
|
1291
|
+
"name": "Paused",
|
|
1292
|
+
"inputs": [
|
|
1293
|
+
{
|
|
1294
|
+
"name": "account",
|
|
1295
|
+
"type": "address",
|
|
1296
|
+
"indexed": false,
|
|
1297
|
+
"internalType": "address"
|
|
1298
|
+
}
|
|
1299
|
+
],
|
|
1300
|
+
"anonymous": false
|
|
1301
|
+
},
|
|
1302
|
+
{
|
|
1303
|
+
"type": "event",
|
|
1304
|
+
"name": "PeerSet",
|
|
1305
|
+
"inputs": [
|
|
1306
|
+
{
|
|
1307
|
+
"name": "eid",
|
|
1308
|
+
"type": "uint32",
|
|
1309
|
+
"indexed": false,
|
|
1310
|
+
"internalType": "uint32"
|
|
1311
|
+
},
|
|
1312
|
+
{
|
|
1313
|
+
"name": "peer",
|
|
1314
|
+
"type": "bytes32",
|
|
1315
|
+
"indexed": false,
|
|
1316
|
+
"internalType": "bytes32"
|
|
1317
|
+
}
|
|
1318
|
+
],
|
|
1319
|
+
"anonymous": false
|
|
1320
|
+
},
|
|
1321
|
+
{
|
|
1322
|
+
"type": "event",
|
|
1323
|
+
"name": "ProverAllowed",
|
|
1324
|
+
"inputs": [
|
|
1325
|
+
{
|
|
1326
|
+
"name": "prover",
|
|
1327
|
+
"type": "address",
|
|
1328
|
+
"indexed": true,
|
|
1329
|
+
"internalType": "address"
|
|
1330
|
+
}
|
|
1331
|
+
],
|
|
1332
|
+
"anonymous": false
|
|
1333
|
+
},
|
|
1334
|
+
{
|
|
1335
|
+
"type": "event",
|
|
1336
|
+
"name": "ProverRemoved",
|
|
1337
|
+
"inputs": [
|
|
1338
|
+
{
|
|
1339
|
+
"name": "prover",
|
|
1340
|
+
"type": "address",
|
|
1341
|
+
"indexed": true,
|
|
1342
|
+
"internalType": "address"
|
|
1343
|
+
}
|
|
1344
|
+
],
|
|
1345
|
+
"anonymous": false
|
|
1346
|
+
},
|
|
1347
|
+
{
|
|
1348
|
+
"type": "event",
|
|
1349
|
+
"name": "Teleport",
|
|
1350
|
+
"inputs": [
|
|
1351
|
+
{
|
|
1352
|
+
"name": "to",
|
|
1353
|
+
"type": "address",
|
|
1354
|
+
"indexed": true,
|
|
1355
|
+
"internalType": "address"
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
"name": "value",
|
|
1359
|
+
"type": "uint256",
|
|
1360
|
+
"indexed": false,
|
|
1361
|
+
"internalType": "uint256"
|
|
1362
|
+
},
|
|
1363
|
+
{
|
|
1364
|
+
"name": "isGlobal",
|
|
1365
|
+
"type": "bool",
|
|
1366
|
+
"indexed": false,
|
|
1367
|
+
"internalType": "bool"
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
"name": "rootHint",
|
|
1371
|
+
"type": "uint64",
|
|
1372
|
+
"indexed": false,
|
|
1373
|
+
"internalType": "uint64"
|
|
1374
|
+
},
|
|
1375
|
+
{
|
|
1376
|
+
"name": "transferRoot",
|
|
1377
|
+
"type": "uint256",
|
|
1378
|
+
"indexed": false,
|
|
1379
|
+
"internalType": "uint256"
|
|
1380
|
+
},
|
|
1381
|
+
{
|
|
1382
|
+
"name": "gr",
|
|
1383
|
+
"type": "tuple",
|
|
1384
|
+
"indexed": false,
|
|
1385
|
+
"internalType": "struct GeneralRecipientLib.GeneralRecipient",
|
|
1386
|
+
"components": [
|
|
1387
|
+
{
|
|
1388
|
+
"name": "chainId",
|
|
1389
|
+
"type": "uint64",
|
|
1390
|
+
"internalType": "uint64"
|
|
1391
|
+
},
|
|
1392
|
+
{
|
|
1393
|
+
"name": "recipient",
|
|
1394
|
+
"type": "bytes32",
|
|
1395
|
+
"internalType": "bytes32"
|
|
1396
|
+
},
|
|
1397
|
+
{
|
|
1398
|
+
"name": "tweak",
|
|
1399
|
+
"type": "bytes32",
|
|
1400
|
+
"internalType": "bytes32"
|
|
1401
|
+
}
|
|
1402
|
+
]
|
|
1403
|
+
}
|
|
1404
|
+
],
|
|
1405
|
+
"anonymous": false
|
|
1406
|
+
},
|
|
1407
|
+
{
|
|
1408
|
+
"type": "event",
|
|
1409
|
+
"name": "TeleportWithRelayerFee",
|
|
1410
|
+
"inputs": [
|
|
1411
|
+
{
|
|
1412
|
+
"name": "to",
|
|
1413
|
+
"type": "address",
|
|
1414
|
+
"indexed": true,
|
|
1415
|
+
"internalType": "address"
|
|
1416
|
+
},
|
|
1417
|
+
{
|
|
1418
|
+
"name": "relayer",
|
|
1419
|
+
"type": "address",
|
|
1420
|
+
"indexed": true,
|
|
1421
|
+
"internalType": "address"
|
|
1422
|
+
},
|
|
1423
|
+
{
|
|
1424
|
+
"name": "recipientValue",
|
|
1425
|
+
"type": "uint256",
|
|
1426
|
+
"indexed": false,
|
|
1427
|
+
"internalType": "uint256"
|
|
1428
|
+
},
|
|
1429
|
+
{
|
|
1430
|
+
"name": "relayerFee",
|
|
1431
|
+
"type": "uint256",
|
|
1432
|
+
"indexed": false,
|
|
1433
|
+
"internalType": "uint256"
|
|
1434
|
+
},
|
|
1435
|
+
{
|
|
1436
|
+
"name": "isGlobal",
|
|
1437
|
+
"type": "bool",
|
|
1438
|
+
"indexed": false,
|
|
1439
|
+
"internalType": "bool"
|
|
1440
|
+
},
|
|
1441
|
+
{
|
|
1442
|
+
"name": "rootHint",
|
|
1443
|
+
"type": "uint64",
|
|
1444
|
+
"indexed": false,
|
|
1445
|
+
"internalType": "uint64"
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
"name": "transferRoot",
|
|
1449
|
+
"type": "uint256",
|
|
1450
|
+
"indexed": false,
|
|
1451
|
+
"internalType": "uint256"
|
|
1452
|
+
},
|
|
1453
|
+
{
|
|
1454
|
+
"name": "gr",
|
|
1455
|
+
"type": "tuple",
|
|
1456
|
+
"indexed": false,
|
|
1457
|
+
"internalType": "struct GeneralRecipientLib.GeneralRecipient",
|
|
1458
|
+
"components": [
|
|
1459
|
+
{
|
|
1460
|
+
"name": "chainId",
|
|
1461
|
+
"type": "uint64",
|
|
1462
|
+
"internalType": "uint64"
|
|
1463
|
+
},
|
|
1464
|
+
{
|
|
1465
|
+
"name": "recipient",
|
|
1466
|
+
"type": "bytes32",
|
|
1467
|
+
"internalType": "bytes32"
|
|
1468
|
+
},
|
|
1469
|
+
{
|
|
1470
|
+
"name": "tweak",
|
|
1471
|
+
"type": "bytes32",
|
|
1472
|
+
"internalType": "bytes32"
|
|
1473
|
+
}
|
|
1474
|
+
]
|
|
1475
|
+
}
|
|
1476
|
+
],
|
|
1477
|
+
"anonymous": false
|
|
1478
|
+
},
|
|
1479
|
+
{
|
|
1480
|
+
"type": "event",
|
|
1481
|
+
"name": "TransferRootProved",
|
|
1482
|
+
"inputs": [
|
|
1483
|
+
{
|
|
1484
|
+
"name": "index",
|
|
1485
|
+
"type": "uint64",
|
|
1486
|
+
"indexed": true,
|
|
1487
|
+
"internalType": "uint64"
|
|
1488
|
+
},
|
|
1489
|
+
{
|
|
1490
|
+
"name": "root",
|
|
1491
|
+
"type": "uint256",
|
|
1492
|
+
"indexed": false,
|
|
1493
|
+
"internalType": "uint256"
|
|
1494
|
+
}
|
|
1495
|
+
],
|
|
1496
|
+
"anonymous": false
|
|
1497
|
+
},
|
|
1498
|
+
{
|
|
1499
|
+
"type": "event",
|
|
1500
|
+
"name": "TransferRootRelayed",
|
|
1501
|
+
"inputs": [
|
|
1502
|
+
{
|
|
1503
|
+
"name": "index",
|
|
1504
|
+
"type": "uint64",
|
|
1505
|
+
"indexed": true,
|
|
1506
|
+
"internalType": "uint64"
|
|
1507
|
+
},
|
|
1508
|
+
{
|
|
1509
|
+
"name": "root",
|
|
1510
|
+
"type": "uint256",
|
|
1511
|
+
"indexed": false,
|
|
1512
|
+
"internalType": "uint256"
|
|
1513
|
+
},
|
|
1514
|
+
{
|
|
1515
|
+
"name": "lzMsgId",
|
|
1516
|
+
"type": "bytes",
|
|
1517
|
+
"indexed": false,
|
|
1518
|
+
"internalType": "bytes"
|
|
1519
|
+
}
|
|
1520
|
+
],
|
|
1521
|
+
"anonymous": false
|
|
1522
|
+
},
|
|
1523
|
+
{
|
|
1524
|
+
"type": "event",
|
|
1525
|
+
"name": "Unpaused",
|
|
1526
|
+
"inputs": [
|
|
1527
|
+
{
|
|
1528
|
+
"name": "account",
|
|
1529
|
+
"type": "address",
|
|
1530
|
+
"indexed": false,
|
|
1531
|
+
"internalType": "address"
|
|
1532
|
+
}
|
|
1533
|
+
],
|
|
1534
|
+
"anonymous": false
|
|
1535
|
+
},
|
|
1536
|
+
{
|
|
1537
|
+
"type": "event",
|
|
1538
|
+
"name": "Upgraded",
|
|
1539
|
+
"inputs": [
|
|
1540
|
+
{
|
|
1541
|
+
"name": "implementation",
|
|
1542
|
+
"type": "address",
|
|
1543
|
+
"indexed": true,
|
|
1544
|
+
"internalType": "address"
|
|
1545
|
+
}
|
|
1546
|
+
],
|
|
1547
|
+
"anonymous": false
|
|
1548
|
+
},
|
|
1549
|
+
{
|
|
1550
|
+
"type": "event",
|
|
1551
|
+
"name": "VerifiersSet",
|
|
1552
|
+
"inputs": [
|
|
1553
|
+
{
|
|
1554
|
+
"name": "rootDecider",
|
|
1555
|
+
"type": "address",
|
|
1556
|
+
"indexed": false,
|
|
1557
|
+
"internalType": "address"
|
|
1558
|
+
},
|
|
1559
|
+
{
|
|
1560
|
+
"name": "withdrawGlobalDecider",
|
|
1561
|
+
"type": "address",
|
|
1562
|
+
"indexed": false,
|
|
1563
|
+
"internalType": "address"
|
|
1564
|
+
},
|
|
1565
|
+
{
|
|
1566
|
+
"name": "withdrawLocalDecider",
|
|
1567
|
+
"type": "address",
|
|
1568
|
+
"indexed": false,
|
|
1569
|
+
"internalType": "address"
|
|
1570
|
+
},
|
|
1571
|
+
{
|
|
1572
|
+
"name": "singleWithdrawGlobalVerifier",
|
|
1573
|
+
"type": "address",
|
|
1574
|
+
"indexed": false,
|
|
1575
|
+
"internalType": "address"
|
|
1576
|
+
},
|
|
1577
|
+
{
|
|
1578
|
+
"name": "singleWithdrawLocalVerifier",
|
|
1579
|
+
"type": "address",
|
|
1580
|
+
"indexed": false,
|
|
1581
|
+
"internalType": "address"
|
|
1582
|
+
}
|
|
1583
|
+
],
|
|
1584
|
+
"anonymous": false
|
|
1585
|
+
},
|
|
1586
|
+
{
|
|
1587
|
+
"type": "error",
|
|
1588
|
+
"name": "AddressEmptyCode",
|
|
1589
|
+
"inputs": [
|
|
1590
|
+
{
|
|
1591
|
+
"name": "target",
|
|
1592
|
+
"type": "address",
|
|
1593
|
+
"internalType": "address"
|
|
1594
|
+
}
|
|
1595
|
+
]
|
|
1596
|
+
},
|
|
1597
|
+
{
|
|
1598
|
+
"type": "error",
|
|
1599
|
+
"name": "ERC1967InvalidImplementation",
|
|
1600
|
+
"inputs": [
|
|
1601
|
+
{
|
|
1602
|
+
"name": "implementation",
|
|
1603
|
+
"type": "address",
|
|
1604
|
+
"internalType": "address"
|
|
1605
|
+
}
|
|
1606
|
+
]
|
|
1607
|
+
},
|
|
1608
|
+
{
|
|
1609
|
+
"type": "error",
|
|
1610
|
+
"name": "ERC1967NonPayable",
|
|
1611
|
+
"inputs": []
|
|
1612
|
+
},
|
|
1613
|
+
{
|
|
1614
|
+
"type": "error",
|
|
1615
|
+
"name": "EndpointMismatch",
|
|
1616
|
+
"inputs": [
|
|
1617
|
+
{
|
|
1618
|
+
"name": "expected",
|
|
1619
|
+
"type": "address",
|
|
1620
|
+
"internalType": "address"
|
|
1621
|
+
},
|
|
1622
|
+
{
|
|
1623
|
+
"name": "actual",
|
|
1624
|
+
"type": "address",
|
|
1625
|
+
"internalType": "address"
|
|
1626
|
+
}
|
|
1627
|
+
]
|
|
1628
|
+
},
|
|
1629
|
+
{
|
|
1630
|
+
"type": "error",
|
|
1631
|
+
"name": "EnforcedPause",
|
|
1632
|
+
"inputs": []
|
|
1633
|
+
},
|
|
1634
|
+
{
|
|
1635
|
+
"type": "error",
|
|
1636
|
+
"name": "ExpectedPause",
|
|
1637
|
+
"inputs": []
|
|
1638
|
+
},
|
|
1639
|
+
{
|
|
1640
|
+
"type": "error",
|
|
1641
|
+
"name": "ExpectedRootZero",
|
|
1642
|
+
"inputs": [
|
|
1643
|
+
{
|
|
1644
|
+
"name": "rootHint",
|
|
1645
|
+
"type": "uint64",
|
|
1646
|
+
"internalType": "uint64"
|
|
1647
|
+
}
|
|
1648
|
+
]
|
|
1649
|
+
},
|
|
1650
|
+
{
|
|
1651
|
+
"type": "error",
|
|
1652
|
+
"name": "FailedCall",
|
|
1653
|
+
"inputs": []
|
|
1654
|
+
},
|
|
1655
|
+
{
|
|
1656
|
+
"type": "error",
|
|
1657
|
+
"name": "FinalRecipientMismatch",
|
|
1658
|
+
"inputs": [
|
|
1659
|
+
{
|
|
1660
|
+
"name": "expected",
|
|
1661
|
+
"type": "uint256",
|
|
1662
|
+
"internalType": "uint256"
|
|
1663
|
+
},
|
|
1664
|
+
{
|
|
1665
|
+
"name": "actual",
|
|
1666
|
+
"type": "uint256",
|
|
1667
|
+
"internalType": "uint256"
|
|
1668
|
+
}
|
|
1669
|
+
]
|
|
1670
|
+
},
|
|
1671
|
+
{
|
|
1672
|
+
"type": "error",
|
|
1673
|
+
"name": "FinalTransferRootMismatch",
|
|
1674
|
+
"inputs": [
|
|
1675
|
+
{
|
|
1676
|
+
"name": "expected",
|
|
1677
|
+
"type": "uint256",
|
|
1678
|
+
"internalType": "uint256"
|
|
1679
|
+
},
|
|
1680
|
+
{
|
|
1681
|
+
"name": "actual",
|
|
1682
|
+
"type": "uint256",
|
|
1683
|
+
"internalType": "uint256"
|
|
1684
|
+
}
|
|
1685
|
+
]
|
|
1686
|
+
},
|
|
1687
|
+
{
|
|
1688
|
+
"type": "error",
|
|
1689
|
+
"name": "InsufficientMsgValue",
|
|
1690
|
+
"inputs": [
|
|
1691
|
+
{
|
|
1692
|
+
"name": "required",
|
|
1693
|
+
"type": "uint256",
|
|
1694
|
+
"internalType": "uint256"
|
|
1695
|
+
},
|
|
1696
|
+
{
|
|
1697
|
+
"name": "provided",
|
|
1698
|
+
"type": "uint256",
|
|
1699
|
+
"internalType": "uint256"
|
|
1700
|
+
}
|
|
1701
|
+
]
|
|
1702
|
+
},
|
|
1703
|
+
{
|
|
1704
|
+
"type": "error",
|
|
1705
|
+
"name": "InvalidDelegate",
|
|
1706
|
+
"inputs": []
|
|
1707
|
+
},
|
|
1708
|
+
{
|
|
1709
|
+
"type": "error",
|
|
1710
|
+
"name": "InvalidEndpointCall",
|
|
1711
|
+
"inputs": []
|
|
1712
|
+
},
|
|
1713
|
+
{
|
|
1714
|
+
"type": "error",
|
|
1715
|
+
"name": "InvalidHubSource",
|
|
1716
|
+
"inputs": [
|
|
1717
|
+
{
|
|
1718
|
+
"name": "srcEid",
|
|
1719
|
+
"type": "uint32",
|
|
1720
|
+
"internalType": "uint32"
|
|
1721
|
+
}
|
|
1722
|
+
]
|
|
1723
|
+
},
|
|
1724
|
+
{
|
|
1725
|
+
"type": "error",
|
|
1726
|
+
"name": "InvalidInitialLastLeafIndex",
|
|
1727
|
+
"inputs": [
|
|
1728
|
+
{
|
|
1729
|
+
"name": "value",
|
|
1730
|
+
"type": "uint256",
|
|
1731
|
+
"internalType": "uint256"
|
|
1732
|
+
}
|
|
1733
|
+
]
|
|
1734
|
+
},
|
|
1735
|
+
{
|
|
1736
|
+
"type": "error",
|
|
1737
|
+
"name": "InvalidInitialTotalValue",
|
|
1738
|
+
"inputs": [
|
|
1739
|
+
{
|
|
1740
|
+
"name": "value",
|
|
1741
|
+
"type": "uint256",
|
|
1742
|
+
"internalType": "uint256"
|
|
1743
|
+
}
|
|
1744
|
+
]
|
|
1745
|
+
},
|
|
1746
|
+
{
|
|
1747
|
+
"type": "error",
|
|
1748
|
+
"name": "InvalidInitialization",
|
|
1749
|
+
"inputs": []
|
|
1750
|
+
},
|
|
1751
|
+
{
|
|
1752
|
+
"type": "error",
|
|
1753
|
+
"name": "InvalidProof",
|
|
1754
|
+
"inputs": []
|
|
1755
|
+
},
|
|
1756
|
+
{
|
|
1757
|
+
"type": "error",
|
|
1758
|
+
"name": "InvalidRecipientChainId",
|
|
1759
|
+
"inputs": [
|
|
1760
|
+
{
|
|
1761
|
+
"name": "provided",
|
|
1762
|
+
"type": "uint64",
|
|
1763
|
+
"internalType": "uint64"
|
|
1764
|
+
},
|
|
1765
|
+
{
|
|
1766
|
+
"name": "expected",
|
|
1767
|
+
"type": "uint64",
|
|
1768
|
+
"internalType": "uint64"
|
|
1769
|
+
}
|
|
1770
|
+
]
|
|
1771
|
+
},
|
|
1772
|
+
{
|
|
1773
|
+
"type": "error",
|
|
1774
|
+
"name": "InvalidRelayerFeeSignature",
|
|
1775
|
+
"inputs": []
|
|
1776
|
+
},
|
|
1777
|
+
{
|
|
1778
|
+
"type": "error",
|
|
1779
|
+
"name": "LzTokenUnavailable",
|
|
1780
|
+
"inputs": []
|
|
1781
|
+
},
|
|
1782
|
+
{
|
|
1783
|
+
"type": "error",
|
|
1784
|
+
"name": "NewHashChainMismatch",
|
|
1785
|
+
"inputs": [
|
|
1786
|
+
{
|
|
1787
|
+
"name": "index",
|
|
1788
|
+
"type": "uint64",
|
|
1789
|
+
"internalType": "uint64"
|
|
1790
|
+
},
|
|
1791
|
+
{
|
|
1792
|
+
"name": "expected",
|
|
1793
|
+
"type": "uint256",
|
|
1794
|
+
"internalType": "uint256"
|
|
1795
|
+
},
|
|
1796
|
+
{
|
|
1797
|
+
"name": "actual",
|
|
1798
|
+
"type": "uint256",
|
|
1799
|
+
"internalType": "uint256"
|
|
1800
|
+
}
|
|
1801
|
+
]
|
|
1802
|
+
},
|
|
1803
|
+
{
|
|
1804
|
+
"type": "error",
|
|
1805
|
+
"name": "NoPeer",
|
|
1806
|
+
"inputs": [
|
|
1807
|
+
{
|
|
1808
|
+
"name": "eid",
|
|
1809
|
+
"type": "uint32",
|
|
1810
|
+
"internalType": "uint32"
|
|
1811
|
+
}
|
|
1812
|
+
]
|
|
1813
|
+
},
|
|
1814
|
+
{
|
|
1815
|
+
"type": "error",
|
|
1816
|
+
"name": "NoProvedRoot",
|
|
1817
|
+
"inputs": []
|
|
1818
|
+
},
|
|
1819
|
+
{
|
|
1820
|
+
"type": "error",
|
|
1821
|
+
"name": "NotEnoughNative",
|
|
1822
|
+
"inputs": [
|
|
1823
|
+
{
|
|
1824
|
+
"name": "msgValue",
|
|
1825
|
+
"type": "uint256",
|
|
1826
|
+
"internalType": "uint256"
|
|
1827
|
+
}
|
|
1828
|
+
]
|
|
1829
|
+
},
|
|
1830
|
+
{
|
|
1831
|
+
"type": "error",
|
|
1832
|
+
"name": "NotInitializing",
|
|
1833
|
+
"inputs": []
|
|
1834
|
+
},
|
|
1835
|
+
{
|
|
1836
|
+
"type": "error",
|
|
1837
|
+
"name": "NothingToWithdraw",
|
|
1838
|
+
"inputs": [
|
|
1839
|
+
{
|
|
1840
|
+
"name": "currentTotal",
|
|
1841
|
+
"type": "uint256",
|
|
1842
|
+
"internalType": "uint256"
|
|
1843
|
+
},
|
|
1844
|
+
{
|
|
1845
|
+
"name": "totalValue",
|
|
1846
|
+
"type": "uint256",
|
|
1847
|
+
"internalType": "uint256"
|
|
1848
|
+
}
|
|
1849
|
+
]
|
|
1850
|
+
},
|
|
1851
|
+
{
|
|
1852
|
+
"type": "error",
|
|
1853
|
+
"name": "OldRootMismatch",
|
|
1854
|
+
"inputs": [
|
|
1855
|
+
{
|
|
1856
|
+
"name": "index",
|
|
1857
|
+
"type": "uint64",
|
|
1858
|
+
"internalType": "uint64"
|
|
1859
|
+
},
|
|
1860
|
+
{
|
|
1861
|
+
"name": "expected",
|
|
1862
|
+
"type": "uint256",
|
|
1863
|
+
"internalType": "uint256"
|
|
1864
|
+
},
|
|
1865
|
+
{
|
|
1866
|
+
"name": "actual",
|
|
1867
|
+
"type": "uint256",
|
|
1868
|
+
"internalType": "uint256"
|
|
1869
|
+
}
|
|
1870
|
+
]
|
|
1871
|
+
},
|
|
1872
|
+
{
|
|
1873
|
+
"type": "error",
|
|
1874
|
+
"name": "OldRootZero",
|
|
1875
|
+
"inputs": [
|
|
1876
|
+
{
|
|
1877
|
+
"name": "index",
|
|
1878
|
+
"type": "uint64",
|
|
1879
|
+
"internalType": "uint64"
|
|
1880
|
+
}
|
|
1881
|
+
]
|
|
1882
|
+
},
|
|
1883
|
+
{
|
|
1884
|
+
"type": "error",
|
|
1885
|
+
"name": "OnlyEndpoint",
|
|
1886
|
+
"inputs": [
|
|
1887
|
+
{
|
|
1888
|
+
"name": "addr",
|
|
1889
|
+
"type": "address",
|
|
1890
|
+
"internalType": "address"
|
|
1891
|
+
}
|
|
1892
|
+
]
|
|
1893
|
+
},
|
|
1894
|
+
{
|
|
1895
|
+
"type": "error",
|
|
1896
|
+
"name": "OnlyPeer",
|
|
1897
|
+
"inputs": [
|
|
1898
|
+
{
|
|
1899
|
+
"name": "eid",
|
|
1900
|
+
"type": "uint32",
|
|
1901
|
+
"internalType": "uint32"
|
|
1902
|
+
},
|
|
1903
|
+
{
|
|
1904
|
+
"name": "sender",
|
|
1905
|
+
"type": "bytes32",
|
|
1906
|
+
"internalType": "bytes32"
|
|
1907
|
+
}
|
|
1908
|
+
]
|
|
1909
|
+
},
|
|
1910
|
+
{
|
|
1911
|
+
"type": "error",
|
|
1912
|
+
"name": "OwnableInvalidOwner",
|
|
1913
|
+
"inputs": [
|
|
1914
|
+
{
|
|
1915
|
+
"name": "owner",
|
|
1916
|
+
"type": "address",
|
|
1917
|
+
"internalType": "address"
|
|
1918
|
+
}
|
|
1919
|
+
]
|
|
1920
|
+
},
|
|
1921
|
+
{
|
|
1922
|
+
"type": "error",
|
|
1923
|
+
"name": "OwnableUnauthorizedAccount",
|
|
1924
|
+
"inputs": [
|
|
1925
|
+
{
|
|
1926
|
+
"name": "account",
|
|
1927
|
+
"type": "address",
|
|
1928
|
+
"internalType": "address"
|
|
1929
|
+
}
|
|
1930
|
+
]
|
|
1931
|
+
},
|
|
1932
|
+
{
|
|
1933
|
+
"type": "error",
|
|
1934
|
+
"name": "RecipientMismatch",
|
|
1935
|
+
"inputs": [
|
|
1936
|
+
{
|
|
1937
|
+
"name": "expected",
|
|
1938
|
+
"type": "uint256",
|
|
1939
|
+
"internalType": "uint256"
|
|
1940
|
+
},
|
|
1941
|
+
{
|
|
1942
|
+
"name": "actual",
|
|
1943
|
+
"type": "uint256",
|
|
1944
|
+
"internalType": "uint256"
|
|
1945
|
+
}
|
|
1946
|
+
]
|
|
1947
|
+
},
|
|
1948
|
+
{
|
|
1949
|
+
"type": "error",
|
|
1950
|
+
"name": "ReentrancyGuardReentrantCall",
|
|
1951
|
+
"inputs": []
|
|
1952
|
+
},
|
|
1953
|
+
{
|
|
1954
|
+
"type": "error",
|
|
1955
|
+
"name": "RelayerFeeAuthorizationExpired",
|
|
1956
|
+
"inputs": [
|
|
1957
|
+
{
|
|
1958
|
+
"name": "deadline",
|
|
1959
|
+
"type": "uint64",
|
|
1960
|
+
"internalType": "uint64"
|
|
1961
|
+
},
|
|
1962
|
+
{
|
|
1963
|
+
"name": "currentTimestamp",
|
|
1964
|
+
"type": "uint256",
|
|
1965
|
+
"internalType": "uint256"
|
|
1966
|
+
}
|
|
1967
|
+
]
|
|
1968
|
+
},
|
|
1969
|
+
{
|
|
1970
|
+
"type": "error",
|
|
1971
|
+
"name": "RelayerFeeExceedsDiff",
|
|
1972
|
+
"inputs": [
|
|
1973
|
+
{
|
|
1974
|
+
"name": "relayerFee",
|
|
1975
|
+
"type": "uint256",
|
|
1976
|
+
"internalType": "uint256"
|
|
1977
|
+
},
|
|
1978
|
+
{
|
|
1979
|
+
"name": "diff",
|
|
1980
|
+
"type": "uint256",
|
|
1981
|
+
"internalType": "uint256"
|
|
1982
|
+
}
|
|
1983
|
+
]
|
|
1984
|
+
},
|
|
1985
|
+
{
|
|
1986
|
+
"type": "error",
|
|
1987
|
+
"name": "RelayerFeeExceedsMax",
|
|
1988
|
+
"inputs": [
|
|
1989
|
+
{
|
|
1990
|
+
"name": "relayerFee",
|
|
1991
|
+
"type": "uint256",
|
|
1992
|
+
"internalType": "uint256"
|
|
1993
|
+
},
|
|
1994
|
+
{
|
|
1995
|
+
"name": "maxFee",
|
|
1996
|
+
"type": "uint256",
|
|
1997
|
+
"internalType": "uint256"
|
|
1998
|
+
}
|
|
1999
|
+
]
|
|
2000
|
+
},
|
|
2001
|
+
{
|
|
2002
|
+
"type": "error",
|
|
2003
|
+
"name": "ReserveHashChainNotFound",
|
|
2004
|
+
"inputs": [
|
|
2005
|
+
{
|
|
2006
|
+
"name": "index",
|
|
2007
|
+
"type": "uint64",
|
|
2008
|
+
"internalType": "uint64"
|
|
2009
|
+
}
|
|
2010
|
+
]
|
|
2011
|
+
},
|
|
2012
|
+
{
|
|
2013
|
+
"type": "error",
|
|
2014
|
+
"name": "SafeERC20FailedOperation",
|
|
2015
|
+
"inputs": [
|
|
2016
|
+
{
|
|
2017
|
+
"name": "token",
|
|
2018
|
+
"type": "address",
|
|
2019
|
+
"internalType": "address"
|
|
2020
|
+
}
|
|
2021
|
+
]
|
|
2022
|
+
},
|
|
2023
|
+
{
|
|
2024
|
+
"type": "error",
|
|
2025
|
+
"name": "TransferRootMismatch",
|
|
2026
|
+
"inputs": [
|
|
2027
|
+
{
|
|
2028
|
+
"name": "expected",
|
|
2029
|
+
"type": "uint256",
|
|
2030
|
+
"internalType": "uint256"
|
|
2031
|
+
},
|
|
2032
|
+
{
|
|
2033
|
+
"name": "actual",
|
|
2034
|
+
"type": "uint256",
|
|
2035
|
+
"internalType": "uint256"
|
|
2036
|
+
}
|
|
2037
|
+
]
|
|
2038
|
+
},
|
|
2039
|
+
{
|
|
2040
|
+
"type": "error",
|
|
2041
|
+
"name": "UUPSUnauthorizedCallContext",
|
|
2042
|
+
"inputs": []
|
|
2043
|
+
},
|
|
2044
|
+
{
|
|
2045
|
+
"type": "error",
|
|
2046
|
+
"name": "UUPSUnsupportedProxiableUUID",
|
|
2047
|
+
"inputs": [
|
|
2048
|
+
{
|
|
2049
|
+
"name": "slot",
|
|
2050
|
+
"type": "bytes32",
|
|
2051
|
+
"internalType": "bytes32"
|
|
2052
|
+
}
|
|
2053
|
+
]
|
|
2054
|
+
},
|
|
2055
|
+
{
|
|
2056
|
+
"type": "error",
|
|
2057
|
+
"name": "UnauthorizedProver",
|
|
2058
|
+
"inputs": [
|
|
2059
|
+
{
|
|
2060
|
+
"name": "caller",
|
|
2061
|
+
"type": "address",
|
|
2062
|
+
"internalType": "address"
|
|
2063
|
+
}
|
|
2064
|
+
]
|
|
2065
|
+
},
|
|
2066
|
+
{
|
|
2067
|
+
"type": "error",
|
|
2068
|
+
"name": "ZeroAddress",
|
|
2069
|
+
"inputs": []
|
|
2070
|
+
},
|
|
2071
|
+
{
|
|
2072
|
+
"type": "error",
|
|
2073
|
+
"name": "ZeroHashChain",
|
|
2074
|
+
"inputs": [
|
|
2075
|
+
{
|
|
2076
|
+
"name": "index",
|
|
2077
|
+
"type": "uint64",
|
|
2078
|
+
"internalType": "uint64"
|
|
2079
|
+
}
|
|
2080
|
+
]
|
|
2081
|
+
},
|
|
2082
|
+
{
|
|
2083
|
+
"type": "error",
|
|
2084
|
+
"name": "ZeroRefundAddress",
|
|
2085
|
+
"inputs": []
|
|
2086
|
+
},
|
|
2087
|
+
{
|
|
2088
|
+
"type": "error",
|
|
2089
|
+
"name": "ZeroToken",
|
|
2090
|
+
"inputs": []
|
|
2091
|
+
}
|
|
2092
|
+
]
|
|
2093
|
+
}
|