From ff9f6322f306b5242ecc4d514541ee29ebac0026 Mon Sep 17 00:00:00 2001 From: Anna Carroll Date: Wed, 30 Jun 2021 19:12:33 +0200 Subject: [PATCH] New generated typescript (#430) * New generated typescript * Add partials --- .../1625070416983/alfajores_config.json | 39 ++++++++++++++++ .../1625070416983/alfajores_contracts.json | 22 ++++++++++ rust/config/1625070416983/kathy-partial.json | 9 ++++ rust/config/1625070416983/kovan_config.json | 39 ++++++++++++++++ .../config/1625070416983/kovan_contracts.json | 22 ++++++++++ .../1625070416983/processor-partial.json | 3 ++ .../config/1625070416983/relayer-partial.json | 3 ++ .../config/1625070416983/updater-partial.json | 8 ++++ .../config/1625070416983/watcher-partial.json | 33 ++++++++++++++ .../factories/GovernanceRouter__factory.ts | 2 +- .../optics-core/factories/Home__factory.ts | 2 +- .../optics-core/factories/Replica__factory.ts | 2 +- .../factories/TestCommon__factory.ts | 2 +- .../TestGovernanceRouter__factory.ts | 2 +- .../factories/TestHome__factory.ts | 2 +- .../factories/TestMessage__factory.ts | 2 +- .../factories/TestReplica__factory.ts | 2 +- .../TestXAppConnectionManager__factory.ts | 2 +- .../factories/TypedMemView__factory.ts | 2 +- .../factories/UpdaterManager__factory.ts | 2 +- .../XAppConnectionManager__factory.ts | 2 +- .../src/typechain/optics-xapps/Replica.d.ts | 44 +++++++++++++------ .../factories/BridgeRouter__factory.ts | 2 +- .../factories/BridgeToken__factory.ts | 2 +- .../optics-xapps/factories/Home__factory.ts | 2 +- .../factories/PingPongRouter__factory.ts | 2 +- .../factories/Replica__factory.ts | 34 ++++++++------ .../factories/RouterTemplate__factory.ts | 2 +- .../XAppConnectionManager__factory.ts | 2 +- 29 files changed, 247 insertions(+), 45 deletions(-) create mode 100644 rust/config/1625070416983/alfajores_config.json create mode 100644 rust/config/1625070416983/alfajores_contracts.json create mode 100644 rust/config/1625070416983/kathy-partial.json create mode 100644 rust/config/1625070416983/kovan_config.json create mode 100644 rust/config/1625070416983/kovan_contracts.json create mode 100644 rust/config/1625070416983/processor-partial.json create mode 100644 rust/config/1625070416983/relayer-partial.json create mode 100644 rust/config/1625070416983/updater-partial.json create mode 100644 rust/config/1625070416983/watcher-partial.json diff --git a/rust/config/1625070416983/alfajores_config.json b/rust/config/1625070416983/alfajores_config.json new file mode 100644 index 000000000..01f79c9e9 --- /dev/null +++ b/rust/config/1625070416983/alfajores_config.json @@ -0,0 +1,39 @@ +{ + "signers": { + "alfajores": { + "key": "", + "type": "hexKey" + }, + "kovan": { + "key": "", + "type": "hexKey" + } + }, + "replicas": { + "kovan": { + "address": "0x2504511B3607DCe7a3c11EA93d80bdEEd9b5c717", + "domain": 3000, + "name": "kovan", + "rpcStyle": "ethereum", + "connection": { + "type": "http", + "url": "https://kovan.infura.io/v3/5c456d7844fa40a683e934df60534c60" + } + } + }, + "home": { + "address": "0x864f62A45954fBE451218E0f84B013E2E1EDc3b1", + "domain": 1000, + "name": "alfajores", + "rpcStyle": "ethereum", + "connection": { + "type": "http", + "url": "https://alfajores-forno.celo-testnet.org" + } + }, + "tracing": { + "level": "debug", + "style": "pretty" + }, + "db": "db_path" +} \ No newline at end of file diff --git a/rust/config/1625070416983/alfajores_contracts.json b/rust/config/1625070416983/alfajores_contracts.json new file mode 100644 index 000000000..2193e64ad --- /dev/null +++ b/rust/config/1625070416983/alfajores_contracts.json @@ -0,0 +1,22 @@ +{ + "upgradeBeaconController": "0x0b1d23e4D3c8991396b13F47264000ED89A77Bf3", + "xappConnectionManager": "0xd8ee8F0E99b882Acf0901B672D238219F5D65fA1", + "updaterManager": "0x285033FDF2E5eF224D4396AE185Adf469664CE81", + "governance": { + "implementation": "0xe9c062412669198649358dbFBe2699ebe19ce8f8", + "proxy": "0xF65F84aef9193B33EF2366Fc822c5Cbf72895Ed3", + "beacon": "0x84a056a1f4c23E9c9eDBb77f02e6Bf138C222050" + }, + "home": { + "implementation": "0xE63E73339501EE3A8d2928d6C88cf30aC8556Ee0", + "proxy": "0x864f62A45954fBE451218E0f84B013E2E1EDc3b1", + "beacon": "0x3E377ac2636928fD172168b8BE496AfE0cFAB013" + }, + "replicas": { + "3000": { + "implementation": "0x5731BBEaCD0bC5B97Ec58b7Ef8cD9AcF189237F3", + "proxy": "0xd9A9b1ad582106B19ca080b032A019FFb66F2a16", + "beacon": "0x7141835AFDBD2021F3B99891eF0c6628d5a9f766" + } + } +} \ No newline at end of file diff --git a/rust/config/1625070416983/kathy-partial.json b/rust/config/1625070416983/kathy-partial.json new file mode 100644 index 000000000..3f3b58ed9 --- /dev/null +++ b/rust/config/1625070416983/kathy-partial.json @@ -0,0 +1,9 @@ +{ + "messageInterval": 100, + "chatGenConfig": { + "destination": 2000, + "message": "static message", + "recipient": "recipient", + "type": "static" + } +} diff --git a/rust/config/1625070416983/kovan_config.json b/rust/config/1625070416983/kovan_config.json new file mode 100644 index 000000000..d584873ee --- /dev/null +++ b/rust/config/1625070416983/kovan_config.json @@ -0,0 +1,39 @@ +{ + "signers": { + "kovan": { + "key": "", + "type": "hexKey" + }, + "alfajores": { + "key": "", + "type": "hexKey" + } + }, + "replicas": { + "alfajores": { + "address": "0xd9A9b1ad582106B19ca080b032A019FFb66F2a16", + "domain": 1000, + "name": "alfajores", + "rpcStyle": "ethereum", + "connection": { + "type": "http", + "url": "https://alfajores-forno.celo-testnet.org" + } + } + }, + "home": { + "address": "0x73509B64B9A83F9e220d300cfA964e6bbE718B85", + "domain": 3000, + "name": "kovan", + "rpcStyle": "ethereum", + "connection": { + "type": "http", + "url": "https://kovan.infura.io/v3/5c456d7844fa40a683e934df60534c60" + } + }, + "tracing": { + "level": "debug", + "style": "pretty" + }, + "db": "db_path" +} \ No newline at end of file diff --git a/rust/config/1625070416983/kovan_contracts.json b/rust/config/1625070416983/kovan_contracts.json new file mode 100644 index 000000000..feccb2883 --- /dev/null +++ b/rust/config/1625070416983/kovan_contracts.json @@ -0,0 +1,22 @@ +{ + "upgradeBeaconController": "0x7C80bd16deb375D833E992Ad3c2DE9E956a11071", + "xappConnectionManager": "0xbdf5227e9D80C400cFB294864b7d068BdeE4e4ed", + "updaterManager": "0x89a4cccC3d6708F16f40c873812091765B3f2884", + "governance": { + "implementation": "0x2e5C23D579a08Ce5D40E4Fd4c82dD3B0DD3AE7df", + "proxy": "0xb473F5e0AAf47Ba54dac048633e7b578c1eBde01", + "beacon": "0x18906b57e144aA9CAC88462fBDC6bfa3f588a2A4" + }, + "home": { + "implementation": "0x8f8424DC94b4c302984Ab5a03fc4c2d1Ec95DC92", + "proxy": "0x73509B64B9A83F9e220d300cfA964e6bbE718B85", + "beacon": "0x42f046Ca3967f80F0F3178Ca73F8701b36957445" + }, + "replicas": { + "1000": { + "implementation": "0x0C473afC0cabd469751CBE3Ac08aBac3e40bF586", + "proxy": "0x2504511B3607DCe7a3c11EA93d80bdEEd9b5c717", + "beacon": "0x7a523A88f3f4683C81bd49c5c51777BEC10d71c1" + } + } +} \ No newline at end of file diff --git a/rust/config/1625070416983/processor-partial.json b/rust/config/1625070416983/processor-partial.json new file mode 100644 index 000000000..769246848 --- /dev/null +++ b/rust/config/1625070416983/processor-partial.json @@ -0,0 +1,3 @@ +{ + "pollingInterval": 10 +} diff --git a/rust/config/1625070416983/relayer-partial.json b/rust/config/1625070416983/relayer-partial.json new file mode 100644 index 000000000..769246848 --- /dev/null +++ b/rust/config/1625070416983/relayer-partial.json @@ -0,0 +1,3 @@ +{ + "pollingInterval": 10 +} diff --git a/rust/config/1625070416983/updater-partial.json b/rust/config/1625070416983/updater-partial.json new file mode 100644 index 000000000..ee022eb24 --- /dev/null +++ b/rust/config/1625070416983/updater-partial.json @@ -0,0 +1,8 @@ +{ + "pollingInterval": 5, + "updatePause": 15, + "updater": { + "key": "", + "type": "hexKey" + } +} diff --git a/rust/config/1625070416983/watcher-partial.json b/rust/config/1625070416983/watcher-partial.json new file mode 100644 index 000000000..c9a3db14e --- /dev/null +++ b/rust/config/1625070416983/watcher-partial.json @@ -0,0 +1,33 @@ +{ + "pollingInterval": 100, + "watcher": { + "key": "380eb0f3d505f087e438eca80bc4df9a7faa24f868e69fc0440261a0fc0567dc", + "type": "hexKey" + }, + "connectionManagers": [ + { + "address": "0x0000000000000000000000000000000000000000", + "domain": 60, + "name": "ethereum", + "rpcStyle": "ethereum", + "config": { + "connection": { + "type": "ws", + "url": "ws://localhost:8545" + } + } + }, + { + "address": "0x0000000000000000000000000000000000000000", + "domain": 61, + "name": "eth-classic", + "rpcStyle": "ethereum", + "config": { + "connection": { + "type": "ws", + "url": "ws://localhost:8545" + } + } + } + ] +} diff --git a/typescript/src/typechain/optics-core/factories/GovernanceRouter__factory.ts b/typescript/src/typechain/optics-core/factories/GovernanceRouter__factory.ts index d4fce05e5..9f6afabbc 100644 --- a/typescript/src/typechain/optics-core/factories/GovernanceRouter__factory.ts +++ b/typescript/src/typechain/optics-core/factories/GovernanceRouter__factory.ts @@ -475,7 +475,7 @@ const _abi = [ ]; const _bytecode = - "0x60c06040523480156200001157600080fd5b506040516200395338038062003953833981016040819052620000349162000050565b60e09190911b6001600160e01b03191660805260a05262000087565b6000806040838503121562000063578182fd5b825163ffffffff8116811462000077578283fd5b6020939093015192949293505050565b60805160e01c60a051613891620000c2600039806104a45280610f6352508061081d528061088e5280610f875280611aa552506138916000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806356d5d475116100d8578063db2021ae1161008c578063e6b3d94911610066578063e6b3d949146102a1578063e8c6f83a146102b4578063f05151df146102c757610177565b8063db2021ae1461027e578063de314b1914610291578063e54292981461029957610177565b806366cf8fab116100bd57806366cf8fab1461025b578063670a43c41461026e5780638d3638f41461027657610177565b806356d5d4751461024057806363706be31461025357610177565b806341bdc8b51161012f578063485cc95511610114578063485cc955146102055780634fedbbb5146102185780635585416c1461022b57610177565b806341bdc8b5146101df5780634626abee146101f257610177565b80632ead72f6116101605780632ead72f6146101af578063316c92b6146101cf5780633339df96146101d757610177565b80630c340a241461017c5780630ce219951461019a575b600080fd5b6101846102dc565b60405161019191906132fc565b60405180910390f35b6101ad6101a8366004613194565b6102f8565b005b6101c26101bd3660046130ec565b6103c2565b6040516101919190613328565b6101ad6103d4565b610184610522565b6101ad6101ed366004613004565b61053e565b6101ad610200366004613058565b610638565b6101ad610213366004613020565b610733565b6101ad610226366004613141565b6109c5565b610233610b8d565b604051610191919061359a565b6101ad61024e3660046131bf565b610bb1565b6101ad610e44565b6102336102693660046130d4565b610f27565b6101c2610f61565b610233610f85565b6101ad61028c366004613124565b610fa9565b610184611082565b6101c261109e565b6101ad6102af366004613004565b6110a4565b6101ad6102c2366004613194565b611183565b6102cf611234565b604051610191919061331d565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b610300611234565b6103635760035473ffffffffffffffffffffffffffffffffffffffff16331461035e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613376565b60405180910390fd5b6103b4565b60025473ffffffffffffffffffffffffffffffffffffffff1633146103b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134f5565b6103be8282611255565b5050565b60056020526000908152604090205481565b6103dc611234565b15610413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613450565b60025473ffffffffffffffffffffffffffffffffffffffff163314610464576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134f5565b6001541561049e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613487565b6104c8427f00000000000000000000000000000000000000000000000000000000000000006112e6565b600181905560025460405173ffffffffffffffffffffffffffffffffffffffff909116917f4c75781638d2c3a22c08e1295107f831b97683d017a1145733b743479a2ae225916105189190613328565b60405180910390a2565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b610546611234565b6105a05760035473ffffffffffffffffffffffffffffffffffffffff16331461059b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613376565b6105f1565b60025473ffffffffffffffffffffffffffffffffffffffff1633146105f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134f5565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610640611234565b61069a5760035473ffffffffffffffffffffffffffffffffffffffff163314610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613376565b6106eb565b60025473ffffffffffffffffffffffffffffffffffffffff1633146106eb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134f5565b60005b8181101561072e5761072583838381811061070557fe5b90506020028101906107179190613627565b610720906136de565b611363565b506001016106ee565b505050565b600054610100900460ff168061074c575061074c611426565b8061075a575060005460ff16155b6107af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061376c602e913960400191505060405180910390fd5b600054610100900460ff1615801561081557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b3360016108437f00000000000000000000000000000000000000000000000000000000000000008383611437565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861617905561088c8561053e565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638d3638f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561091b57600080fd5b505afa15801561092f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109539190613108565b63ffffffff1614610990576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906133e4565b5050801561072e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050565b60035473ffffffffffffffffffffffffffffffffffffffff163314610a16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613376565b610a1e611234565b15610a55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613450565b6000610a608461152e565b90506000610a76610a71848661367e565b611580565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fa92f9d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae057600080fd5b505afa158015610af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1891906130b8565b73ffffffffffffffffffffffffffffffffffffffff1663d34686398684846040518463ffffffff1660e01b8152600401610b54939291906135ab565b600060405180830381600087803b158015610b6e57600080fd5b505af1158015610b82573d6000803e3d6000fd5b505050505050505050565b60035474010000000000000000000000000000000000000000900463ffffffff1681565b600480546040517f5190bc5300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691635190bc5391610c06913391016132fc565b60206040518083038186803b158015610c1e57600080fd5b505afa158015610c32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c569190613098565b610c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613419565b8282610c988282611755565b610cce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906133ad565b6000610cda84826117a2565b9050610d077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000082166117c6565b15610d4457610d3f610d3a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611821565b61186f565b610e3c565b610d6f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216611908565b15610da757610d3f610da27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611966565b611980565b610dd27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216611a0b565b15610e0a57610d3f610e057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611a14565b611a2e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613563565b505050505050565b60025473ffffffffffffffffffffffffffffffffffffffff163314610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134f5565b600154610ece576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103559061333f565b60006001556002546040517f5397c02652a688dd1cac8544f233b3daaf96d7a9f974af80b70ab1538359e26191610f1d9173ffffffffffffffffffffffffffffffffffffffff909116906132fc565b60405180910390a1565b60068181548110610f3757600080fd5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035473ffffffffffffffffffffffffffffffffffffffff163314610ffa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613376565b611002611234565b15611039576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613450565b600061104483611aa3565b9050611051838383611437565b801561105d57506103be565b60006110718461106c85611ad2565b611aeb565b905061107c81611b18565b50505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60025473ffffffffffffffffffffffffffffffffffffffff1633146110f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134f5565b60025460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3b3f758030fa296b85e15008f79cd22af8ffd2a7dd360d8963dcaf8e9fa2b5ff90600090a3600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60035473ffffffffffffffffffffffffffffffffffffffff1633146111d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613376565b6111dc611234565b15611213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613450565b61121d8282611255565b60006112298383611d10565b905061072e81611b18565b60015460009080158015904283111590829061124d5750805b935050505090565b63ffffffff8216600081815260056020526040908190205490519091907fe1cc453e5e6d48a5e3dd7dc6c72117211d2bea20fbb91fd980ebc3e7f73fe546906112a19084908690613331565b60405180910390a2816112bd576112b783611d38565b506103be565b806112cb576112cb83611ddf565b5063ffffffff91909116600090815260056020526040902055565b60008282018381101561135a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b606060006113748360000151611e3f565b905060008173ffffffffffffffffffffffffffffffffffffffff1684602001516040516113a19190613254565b6000604051808303816000865af19150503d80600081146113de576040519150601f19603f3d011682016040523d82523d6000602084013e6113e3565b606091505b50935090508061141f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134be565b5050919050565b600061143130611e42565b15905090565b80611447576114458361152e565b505b600081611455576000611457565b825b600380547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff8881168202929092177fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff858116918217948590556040519596509094908416937f4daaa39e87dee84708195369c30e97baa0665dc8562ac10535a0f3a9329943aa936115209390910416908990613610565b60405180910390a350505050565b63ffffffff81166000908152600560205260409020548061157b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103559061352c565b919050565b805160609060006002820167ffffffffffffffff811180156115a157600080fd5b506040519080825280602002602001820160405280156115cb578160200160208202803683370190505b509050611619600060016040516020016115e59190613270565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052906117a2565b8160008151811061162657fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090921660209283029190910182015260405161166c916000916115e5918691016132cc565b8160018151811061167957fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009092166020928302919091019091015260005b828110156117435760008582815181106116c357fe5b6020026020010151905060006116f66000836000015184602001515185602001516040516020016115e593929190613227565b90508084600285018151811061170857fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009092166020928302919091019091015250506001016116ad565b5061174d81611e48565b949350505050565b60035460009063ffffffff848116740100000000000000000000000000000000000000009092041614801561135a57505063ffffffff919091166000908152600560205260409020541490565b8151600090602084016117bd64ffffffffff85168284611e98565b95945050505050565b600060016117d383611ef9565b60ff1614801561135d5750604061180b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611f29565b6bffffffffffffffffffffffff16101592915050565b600061182c826117c6565b156118675761186060015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000841690611f3d565b905061157b565b61135d611f63565b8060016118a0815b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000841690611f87565b5060006118ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516612107565b905060005b8151811015611901576118f88282815181106118eb57fe5b6020026020010151611363565b506001016118d3565b5050505050565b600060025b60ff1661191983611ef9565b60ff1614801561135d575060256119517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611f29565b6bffffffffffffffffffffffff161492915050565b600061197182611908565b15611867576118606002611837565b80600261198c81611877565b5060006119ba7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000085166122aa565b905060006119f16119ec7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000087166122db565b611e3f565b905060006119fe83611aa3565b9050610e3c838383611437565b6000600361190d565b6000611a1f82611a0b565b15611867576118606003611837565b806003611a3a81611877565b506000611a687fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000085166122aa565b90506000611a977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000086166122db565b90506119018282611255565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff90811691161490565b73ffffffffffffffffffffffffffffffffffffffff1690565b606061135a611b13611b0e6000600287876040516020016115e593929190613285565b61230c565b612341565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fa92f9d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611b8257600080fd5b505afa158015611b96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bba91906130b8565b905060005b60065481101561072e57600063ffffffff1660068281548110611bde57fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff1614611d08578173ffffffffffffffffffffffffffffffffffffffff1663d346863960068381548110611c3057fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff166005600060068681548110611c6757fe5b6000918252602080832060088304015463ffffffff6004600790941684026101000a909104168452830193909352604091820190205490517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152611cd593928991016135ab565b600060405180830381600087803b158015611cef57600080fd5b505af1158015611d03573d6000803e3d6000fd5b505050505b600101611bbf565b606061135a611b13611d336000600387876040516020016115e593929190613285565b612385565b63ffffffff811660009081526005602052604081208190555b6006548110156103be578163ffffffff1660068281548110611d6f57fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff161415611dd45760068181548110611da657fe5b90600052602060002090600891828204019190066004026101000a81549063ffffffff021916905550611ddc565b600101611d51565b50565b600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f6008820401805460079092166004026101000a63ffffffff818102199093169390921691909102919091179055565b90565b3b151590565b6040516060906000611e5d8460208401612393565b90506000611e6a82611f29565b6bffffffffffffffffffffffff1690506000611e858361240b565b9184525082016020016040525092915050565b600080611ea5848461241f565b9050604051811115611eb5575060005b80611ee3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050611ef2565b611eee858585612491565b9150505b9392505050565b600061135d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083168260016124a4565b60181c6bffffffffffffffffffffffff1690565b60d81b7affffffffffffffffffffffffffffffffffffffffffffffffffffff9091161790565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090565b6000611f9383836124c5565b612100576000611fb1611fa5856124e7565b64ffffffffff166124ed565b9150506000611fc68464ffffffffff166124ed565b604080517f5479706520617373657274696f6e206661696c65642e20476f742030780000006020808301919091527fffffffffffffffffffff0000000000000000000000000000000000000000000060b088811b8216603d8501527f2e20457870656374656420307800000000000000000000000000000000000000604785015285901b1660548301528251603e818403018152605e8301938490527f08c379a000000000000000000000000000000000000000000000000000000000909352606282018181528351608284015283519496509294508493839260a2019185019080838360005b838110156120c55781810151838201526020016120ad565b50505050905090810190601f1680156120f25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5090919050565b606060006121397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000084166001806124a4565b905060006121aa60028061216e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816611f29565b6bffffffffffffffffffffffff160360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000088169291906125c1565b905060008260ff1667ffffffffffffffff811180156121c857600080fd5b5060405190808252806020026020018201604052801561220257816020015b6121ef612eb8565b8152602001906001900390816121e75790505b50905060005b60006122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516611f29565b6bffffffffffffffffffffffff1611156122a15761225283612651565b82828151811061225e57fe5b60209081029190910101515261227383612681565b82828151811061227f57fe5b602002602001015160200181905250612297836126c0565b9250600101612208565b50949350505050565b600061135d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316600160046124a4565b600061135d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166005602061274b565b600061135d61231a83611966565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166128b9565b606060008061234f84611f29565b6bffffffffffffffffffffffff16905060405191508192506123748483602001612933565b508181016020016040529052919050565b600061135d61231a83611a14565b6000604051828111156123a65760206060fd5b506000805b84518110156123fe5760008582815181106123c257fe5b602002602001015190506123d881848701612933565b506123e281611f29565b6bffffffffffffffffffffffff169290920191506001016123ab565b5061174d60008483612491565b600061241682612a5f565b60200292915050565b8181018281101561135d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60008160200360080260ff166124bb85858561274b565b901c949350505050565b60008164ffffffffff166124d8846124e7565b64ffffffffff16149392505050565b60d81c90565b600080601f5b600f8160ff1611156125555760ff600882021684901c61251281612a93565b61ffff16841793508160ff1660101461252d57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016124f3565b50600f5b60ff8160ff1610156125bb5760ff600882021684901c61257881612a93565b61ffff16831792508160ff1660001461259357601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612559565b50915091565b6000806125cd86612ac3565b6bffffffffffffffffffffffff1690506125e686612ad7565b6125fa856125f4848961241f565b9061241f565b1115612629577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000091505061174d565b612633818661241f565b90506126478364ffffffffff168286611e98565b9695505050505050565b600061135d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831682602061274b565b606061135d611b13604061269485612b01565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616919060046125c1565b60008160016126ce81611877565b5060006126da85612b01565b60400190506117bd818061270f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008916611f29565b6bffffffffffffffffffffffff160360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000089169291906125c1565b600060ff821661275d57506000611ef2565b61276684611f29565b6bffffffffffffffffffffffff166127818460ff851661241f565b1115612823576127c261279385612ac3565b6bffffffffffffffffffffffff166127aa86611f29565b6bffffffffffffffffffffffff16858560ff16612b31565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156120c55781810151838201526020016120ad565b60208260ff161115612880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a81526020018061379a603a913960400191505060405180910390fd5b60088202600061288f86612ac3565b6bffffffffffffffffffffffff16905060006128aa83612c8c565b91909501511695945050505050565b60006128c482612cd5565b61292f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f56616c696469747920617373657274696f6e206661696c656400000000000000604482015290519081900360640190fd5b5090565b600061293e83612d12565b612993576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806137d46028913960400191505060405180910390fd5b61299c83612cd5565b6129f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806137fc602b913960400191505060405180910390fd5b60006129fc84611f29565b6bffffffffffffffffffffffff1690506000612a1785612ac3565b6bffffffffffffffffffffffff1690506000604051905084811115612a3c5760206060fd5b8285848460045afa50612647612a51876124e7565b64ffffffffff168685612491565b60006020612a856020612a7185611f29565b6bffffffffffffffffffffffff169061241f565b81612a8c57fe5b0492915050565b6000612aa560048360ff16901c612d24565b60ff161760081b62ffff0016612aba82612d24565b60ff1617919050565b60781c6bffffffffffffffffffffffff1690565b6000612ae282611f29565b612aeb83612ac3565b016bffffffffffffffffffffffff169050919050565b600061135d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660208061274b565b60606000612b3e866124ed565b9150506000612b4c866124ed565b9150506000612b5a866124ed565b9150506000612b68866124ed565b915050838383836040516020018080613827603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a820152605001602161374b82397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b6000612ce0826124e7565b64ffffffffff1664ffffffffff1415612cfb5750600061157b565b6000612d0683612ad7565b60405110199392505050565b6000612d1d82612e90565b1592915050565b600060f08083179060ff82161415612d4057603091505061157b565b8060ff1660f11415612d5657603191505061157b565b8060ff1660f21415612d6c57603291505061157b565b8060ff1660f31415612d8257603391505061157b565b8060ff1660f41415612d9857603491505061157b565b8060ff1660f51415612dae57603591505061157b565b8060ff1660f61415612dc457603691505061157b565b8060ff1660f71415612dda57603791505061157b565b8060ff1660f81415612df057603891505061157b565b8060ff1660f91415612e0657603991505061157b565b8060ff1660fa1415612e1c57606191505061157b565b8060ff1660fb1415612e3257606291505061157b565b8060ff1660fc1415612e4857606391505061157b565b8060ff1660fd1415612e5e57606491505061157b565b8060ff1660fe1415612e7457606591505061157b565b8060ff1660ff1415612e8a57606691505061157b565b50919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b60408051808201909152600081526060602082015290565b60008083601f840112612ee1578182fd5b50813567ffffffffffffffff811115612ef8578182fd5b6020830191508360208083028501011115612f1257600080fd5b9250929050565b600082601f830112612f29578081fd5b813567ffffffffffffffff811115612f3d57fe5b612f6e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161365a565b818152846020838601011115612f82578283fd5b816020850160208301379081016020019190915292915050565b600060408284031215612fad578081fd5b6040516040810167ffffffffffffffff8282108183111715612fcb57fe5b81604052829350843583526020850135915080821115612fea57600080fd5b50612ff785828601612f19565b6020830152505092915050565b600060208284031215613015578081fd5b813561135a81613716565b60008060408385031215613032578081fd5b823561303d81613716565b9150602083013561304d81613716565b809150509250929050565b6000806020838503121561306a578182fd5b823567ffffffffffffffff811115613080578283fd5b61308c85828601612ed0565b90969095509350505050565b6000602082840312156130a9578081fd5b8151801515811461135a578182fd5b6000602082840312156130c9578081fd5b815161135a81613716565b6000602082840312156130e5578081fd5b5035919050565b6000602082840312156130fd578081fd5b813561135a81613738565b600060208284031215613119578081fd5b815161135a81613738565b60008060408385031215613136578182fd5b823561303d81613738565b600080600060408486031215613155578081fd5b833561316081613738565b9250602084013567ffffffffffffffff81111561317b578182fd5b61318786828701612ed0565b9497909650939450505050565b600080604083850312156131a6578182fd5b82356131b181613738565b946020939093013593505050565b6000806000606084860312156131d3578283fd5b83356131de81613738565b925060208401359150604084013567ffffffffffffffff811115613200578182fd5b61320c86828701612f19565b9150509250925092565b6005811061322057fe5b60f81b9052565b600084825283602083015282516132458160408501602087016136ea565b91909101604001949350505050565b600082516132668184602087016136ea565b9190910192915050565b600061327c8284613216565b50600101919050565b60006132918286613216565b5060e09290921b7fffffffff000000000000000000000000000000000000000000000000000000001660018301526005820152602501919050565b60f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b60208082526016908201527f7265636f76657279206e6f7420696e6974696174656400000000000000000000604082015260600190565b60208082526014908201527f212063616c6c656420627920676f7665726e6f72000000000000000000000000604082015260600190565b6020808252600f908201527f21676f7665726e6f72526f757465720000000000000000000000000000000000604082015260600190565b6020808252818101527f58417070436f6e6e656374696f6e4d616e616765722062616420646f6d61696e604082015260600190565b60208082526008908201527f217265706c696361000000000000000000000000000000000000000000000000604082015260600190565b6020808252600b908201527f696e207265636f76657279000000000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f7265636f7665727920616c726561647920696e69746961746564000000000000604082015260600190565b6020808252600b908201527f63616c6c206661696c6564000000000000000000000000000000000000000000604082015260600190565b6020808252601c908201527f212063616c6c6564206279207265636f76657279206d616e6167657200000000604082015260600190565b60208082526007908201527f21726f7574657200000000000000000000000000000000000000000000000000604082015260600190565b60208082526013908201527f2176616c6964206d657373616765207479706500000000000000000000000000604082015260600190565b63ffffffff91909116815260200190565b600063ffffffff851682528360208301526060604083015282518060608401526135dc8160808501602087016136ea565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01691909101608001949350505050565b63ffffffff92831681529116602082015260400190565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112613266578182fd5b60405181810167ffffffffffffffff8111828210171561367657fe5b604052919050565b600067ffffffffffffffff83111561369257fe5b60206136a1818286020161365a565b8481528181019084845b878110156136d2576136c03683358901612f9c565b845292840192908401906001016136ab565b50909695505050505050565b600061135d3683612f9c565b60005b838110156137055781810151838201526020016136ed565b8381111561107c5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114611ddc57600080fd5b63ffffffff81168114611ddc57600080fdfe2e20417474656d7074656420746f20696e646578206174206f6666736574203078496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656454797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a26469706673582212205a898fd07c61de814fefab3674d1860a26dbe849cdb6184fe69ac7fda889a43564736f6c63430007060033"; + "0x60c06040523480156200001157600080fd5b506040516200395338038062003953833981016040819052620000349162000050565b60e09190911b6001600160e01b03191660805260a05262000087565b6000806040838503121562000063578182fd5b825163ffffffff8116811462000077578283fd5b6020939093015192949293505050565b60805160e01c60a051613891620000c2600039806104a45280610f6352508061081d528061088e5280610f875280611aa552506138916000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806356d5d475116100d8578063db2021ae1161008c578063e6b3d94911610066578063e6b3d949146102a1578063e8c6f83a146102b4578063f05151df146102c757610177565b8063db2021ae1461027e578063de314b1914610291578063e54292981461029957610177565b806366cf8fab116100bd57806366cf8fab1461025b578063670a43c41461026e5780638d3638f41461027657610177565b806356d5d4751461024057806363706be31461025357610177565b806341bdc8b51161012f578063485cc95511610114578063485cc955146102055780634fedbbb5146102185780635585416c1461022b57610177565b806341bdc8b5146101df5780634626abee146101f257610177565b80632ead72f6116101605780632ead72f6146101af578063316c92b6146101cf5780633339df96146101d757610177565b80630c340a241461017c5780630ce219951461019a575b600080fd5b6101846102dc565b60405161019191906132fc565b60405180910390f35b6101ad6101a8366004613194565b6102f8565b005b6101c26101bd3660046130ec565b6103c2565b6040516101919190613328565b6101ad6103d4565b610184610522565b6101ad6101ed366004613004565b61053e565b6101ad610200366004613058565b610638565b6101ad610213366004613020565b610733565b6101ad610226366004613141565b6109c5565b610233610b8d565b604051610191919061359a565b6101ad61024e3660046131bf565b610bb1565b6101ad610e44565b6102336102693660046130d4565b610f27565b6101c2610f61565b610233610f85565b6101ad61028c366004613124565b610fa9565b610184611082565b6101c261109e565b6101ad6102af366004613004565b6110a4565b6101ad6102c2366004613194565b611183565b6102cf611234565b604051610191919061331d565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b610300611234565b6103635760035473ffffffffffffffffffffffffffffffffffffffff16331461035e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613376565b60405180910390fd5b6103b4565b60025473ffffffffffffffffffffffffffffffffffffffff1633146103b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134f5565b6103be8282611255565b5050565b60056020526000908152604090205481565b6103dc611234565b15610413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613450565b60025473ffffffffffffffffffffffffffffffffffffffff163314610464576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134f5565b6001541561049e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613487565b6104c8427f00000000000000000000000000000000000000000000000000000000000000006112e6565b600181905560025460405173ffffffffffffffffffffffffffffffffffffffff909116917f4c75781638d2c3a22c08e1295107f831b97683d017a1145733b743479a2ae225916105189190613328565b60405180910390a2565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b610546611234565b6105a05760035473ffffffffffffffffffffffffffffffffffffffff16331461059b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613376565b6105f1565b60025473ffffffffffffffffffffffffffffffffffffffff1633146105f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134f5565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610640611234565b61069a5760035473ffffffffffffffffffffffffffffffffffffffff163314610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613376565b6106eb565b60025473ffffffffffffffffffffffffffffffffffffffff1633146106eb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134f5565b60005b8181101561072e5761072583838381811061070557fe5b90506020028101906107179190613627565b610720906136de565b611363565b506001016106ee565b505050565b600054610100900460ff168061074c575061074c611426565b8061075a575060005460ff16155b6107af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061376c602e913960400191505060405180910390fd5b600054610100900460ff1615801561081557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b3360016108437f00000000000000000000000000000000000000000000000000000000000000008383611437565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861617905561088c8561053e565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638d3638f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561091b57600080fd5b505afa15801561092f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109539190613108565b63ffffffff1614610990576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906133e4565b5050801561072e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050565b60035473ffffffffffffffffffffffffffffffffffffffff163314610a16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613376565b610a1e611234565b15610a55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613450565b6000610a608461152e565b90506000610a76610a71848661367e565b611580565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fa92f9d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae057600080fd5b505afa158015610af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1891906130b8565b73ffffffffffffffffffffffffffffffffffffffff1663d34686398684846040518463ffffffff1660e01b8152600401610b54939291906135ab565b600060405180830381600087803b158015610b6e57600080fd5b505af1158015610b82573d6000803e3d6000fd5b505050505050505050565b60035474010000000000000000000000000000000000000000900463ffffffff1681565b600480546040517f5190bc5300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691635190bc5391610c06913391016132fc565b60206040518083038186803b158015610c1e57600080fd5b505afa158015610c32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c569190613098565b610c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613419565b8282610c988282611755565b610cce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906133ad565b6000610cda84826117a2565b9050610d077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000082166117c6565b15610d4457610d3f610d3a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611821565b61186f565b610e3c565b610d6f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216611908565b15610da757610d3f610da27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611966565b611980565b610dd27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216611a0b565b15610e0a57610d3f610e057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611a14565b611a2e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613563565b505050505050565b60025473ffffffffffffffffffffffffffffffffffffffff163314610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134f5565b600154610ece576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103559061333f565b60006001556002546040517f5397c02652a688dd1cac8544f233b3daaf96d7a9f974af80b70ab1538359e26191610f1d9173ffffffffffffffffffffffffffffffffffffffff909116906132fc565b60405180910390a1565b60068181548110610f3757600080fd5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035473ffffffffffffffffffffffffffffffffffffffff163314610ffa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613376565b611002611234565b15611039576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613450565b600061104483611aa3565b9050611051838383611437565b801561105d57506103be565b60006110718461106c85611ad2565b611aeb565b905061107c81611b18565b50505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60025473ffffffffffffffffffffffffffffffffffffffff1633146110f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134f5565b60025460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3b3f758030fa296b85e15008f79cd22af8ffd2a7dd360d8963dcaf8e9fa2b5ff90600090a3600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60035473ffffffffffffffffffffffffffffffffffffffff1633146111d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613376565b6111dc611234565b15611213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590613450565b61121d8282611255565b60006112298383611d10565b905061072e81611b18565b60015460009080158015904283111590829061124d5750805b935050505090565b63ffffffff8216600081815260056020526040908190205490519091907fe1cc453e5e6d48a5e3dd7dc6c72117211d2bea20fbb91fd980ebc3e7f73fe546906112a19084908690613331565b60405180910390a2816112bd576112b783611d38565b506103be565b806112cb576112cb83611ddf565b5063ffffffff91909116600090815260056020526040902055565b60008282018381101561135a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b606060006113748360000151611e3f565b905060008173ffffffffffffffffffffffffffffffffffffffff1684602001516040516113a19190613254565b6000604051808303816000865af19150503d80600081146113de576040519150601f19603f3d011682016040523d82523d6000602084013e6113e3565b606091505b50935090508061141f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610355906134be565b5050919050565b600061143130611e42565b15905090565b80611447576114458361152e565b505b600081611455576000611457565b825b600380547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff8881168202929092177fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff858116918217948590556040519596509094908416937f4daaa39e87dee84708195369c30e97baa0665dc8562ac10535a0f3a9329943aa936115209390910416908990613610565b60405180910390a350505050565b63ffffffff81166000908152600560205260409020548061157b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103559061352c565b919050565b805160609060006002820167ffffffffffffffff811180156115a157600080fd5b506040519080825280602002602001820160405280156115cb578160200160208202803683370190505b509050611619600060016040516020016115e59190613270565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052906117a2565b8160008151811061162657fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090921660209283029190910182015260405161166c916000916115e5918691016132cc565b8160018151811061167957fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009092166020928302919091019091015260005b828110156117435760008582815181106116c357fe5b6020026020010151905060006116f66000836000015184602001515185602001516040516020016115e593929190613227565b90508084600285018151811061170857fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009092166020928302919091019091015250506001016116ad565b5061174d81611e48565b949350505050565b60035460009063ffffffff848116740100000000000000000000000000000000000000009092041614801561135a57505063ffffffff919091166000908152600560205260409020541490565b8151600090602084016117bd64ffffffffff85168284611e98565b95945050505050565b600060016117d383611ef9565b60ff1614801561135d5750604061180b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611f29565b6bffffffffffffffffffffffff16101592915050565b600061182c826117c6565b156118675761186060015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000841690611f3d565b905061157b565b61135d611f63565b8060016118a0815b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000841690611f87565b5060006118ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516612107565b905060005b8151811015611901576118f88282815181106118eb57fe5b6020026020010151611363565b506001016118d3565b5050505050565b600060025b60ff1661191983611ef9565b60ff1614801561135d575060256119517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611f29565b6bffffffffffffffffffffffff161492915050565b600061197182611908565b15611867576118606002611837565b80600261198c81611877565b5060006119ba7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000085166122aa565b905060006119f16119ec7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000087166122db565b611e3f565b905060006119fe83611aa3565b9050610e3c838383611437565b6000600361190d565b6000611a1f82611a0b565b15611867576118606003611837565b806003611a3a81611877565b506000611a687fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000085166122aa565b90506000611a977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000086166122db565b90506119018282611255565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff90811691161490565b73ffffffffffffffffffffffffffffffffffffffff1690565b606061135a611b13611b0e6000600287876040516020016115e593929190613285565b61230c565b612341565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fa92f9d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611b8257600080fd5b505afa158015611b96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bba91906130b8565b905060005b60065481101561072e57600063ffffffff1660068281548110611bde57fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff1614611d08578173ffffffffffffffffffffffffffffffffffffffff1663d346863960068381548110611c3057fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff166005600060068681548110611c6757fe5b6000918252602080832060088304015463ffffffff6004600790941684026101000a909104168452830193909352604091820190205490517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152611cd593928991016135ab565b600060405180830381600087803b158015611cef57600080fd5b505af1158015611d03573d6000803e3d6000fd5b505050505b600101611bbf565b606061135a611b13611d336000600387876040516020016115e593929190613285565b612385565b63ffffffff811660009081526005602052604081208190555b6006548110156103be578163ffffffff1660068281548110611d6f57fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff161415611dd45760068181548110611da657fe5b90600052602060002090600891828204019190066004026101000a81549063ffffffff021916905550611ddc565b600101611d51565b50565b600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f6008820401805460079092166004026101000a63ffffffff818102199093169390921691909102919091179055565b90565b3b151590565b6040516060906000611e5d8460208401612393565b90506000611e6a82611f29565b6bffffffffffffffffffffffff1690506000611e858361240b565b9184525082016020016040525092915050565b600080611ea5848461241f565b9050604051811115611eb5575060005b80611ee3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050611ef2565b611eee858585612491565b9150505b9392505050565b600061135d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083168260016124a4565b60181c6bffffffffffffffffffffffff1690565b60d81b7affffffffffffffffffffffffffffffffffffffffffffffffffffff9091161790565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090565b6000611f9383836124c5565b612100576000611fb1611fa5856124e7565b64ffffffffff166124ed565b9150506000611fc68464ffffffffff166124ed565b604080517f5479706520617373657274696f6e206661696c65642e20476f742030780000006020808301919091527fffffffffffffffffffff0000000000000000000000000000000000000000000060b088811b8216603d8501527f2e20457870656374656420307800000000000000000000000000000000000000604785015285901b1660548301528251603e818403018152605e8301938490527f08c379a000000000000000000000000000000000000000000000000000000000909352606282018181528351608284015283519496509294508493839260a2019185019080838360005b838110156120c55781810151838201526020016120ad565b50505050905090810190601f1680156120f25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5090919050565b606060006121397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000084166001806124a4565b905060006121aa60028061216e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816611f29565b6bffffffffffffffffffffffff160360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000088169291906125c1565b905060008260ff1667ffffffffffffffff811180156121c857600080fd5b5060405190808252806020026020018201604052801561220257816020015b6121ef612eb8565b8152602001906001900390816121e75790505b50905060005b60006122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516611f29565b6bffffffffffffffffffffffff1611156122a15761225283612651565b82828151811061225e57fe5b60209081029190910101515261227383612681565b82828151811061227f57fe5b602002602001015160200181905250612297836126c0565b9250600101612208565b50949350505050565b600061135d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316600160046124a4565b600061135d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166005602061274b565b600061135d61231a83611966565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166128b9565b606060008061234f84611f29565b6bffffffffffffffffffffffff16905060405191508192506123748483602001612933565b508181016020016040529052919050565b600061135d61231a83611a14565b6000604051828111156123a65760206060fd5b506000805b84518110156123fe5760008582815181106123c257fe5b602002602001015190506123d881848701612933565b506123e281611f29565b6bffffffffffffffffffffffff169290920191506001016123ab565b5061174d60008483612491565b600061241682612a5f565b60200292915050565b8181018281101561135d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60008160200360080260ff166124bb85858561274b565b901c949350505050565b60008164ffffffffff166124d8846124e7565b64ffffffffff16149392505050565b60d81c90565b600080601f5b600f8160ff1611156125555760ff600882021684901c61251281612a93565b61ffff16841793508160ff1660101461252d57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016124f3565b50600f5b60ff8160ff1610156125bb5760ff600882021684901c61257881612a93565b61ffff16831792508160ff1660001461259357601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612559565b50915091565b6000806125cd86612ac3565b6bffffffffffffffffffffffff1690506125e686612ad7565b6125fa856125f4848961241f565b9061241f565b1115612629577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000091505061174d565b612633818661241f565b90506126478364ffffffffff168286611e98565b9695505050505050565b600061135d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831682602061274b565b606061135d611b13604061269485612b01565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616919060046125c1565b60008160016126ce81611877565b5060006126da85612b01565b60400190506117bd818061270f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008916611f29565b6bffffffffffffffffffffffff160360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000089169291906125c1565b600060ff821661275d57506000611ef2565b61276684611f29565b6bffffffffffffffffffffffff166127818460ff851661241f565b1115612823576127c261279385612ac3565b6bffffffffffffffffffffffff166127aa86611f29565b6bffffffffffffffffffffffff16858560ff16612b31565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156120c55781810151838201526020016120ad565b60208260ff161115612880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a81526020018061379a603a913960400191505060405180910390fd5b60088202600061288f86612ac3565b6bffffffffffffffffffffffff16905060006128aa83612c8c565b91909501511695945050505050565b60006128c482612cd5565b61292f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f56616c696469747920617373657274696f6e206661696c656400000000000000604482015290519081900360640190fd5b5090565b600061293e83612d12565b612993576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806137d46028913960400191505060405180910390fd5b61299c83612cd5565b6129f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806137fc602b913960400191505060405180910390fd5b60006129fc84611f29565b6bffffffffffffffffffffffff1690506000612a1785612ac3565b6bffffffffffffffffffffffff1690506000604051905084811115612a3c5760206060fd5b8285848460045afa50612647612a51876124e7565b64ffffffffff168685612491565b60006020612a856020612a7185611f29565b6bffffffffffffffffffffffff169061241f565b81612a8c57fe5b0492915050565b6000612aa560048360ff16901c612d24565b60ff161760081b62ffff0016612aba82612d24565b60ff1617919050565b60781c6bffffffffffffffffffffffff1690565b6000612ae282611f29565b612aeb83612ac3565b016bffffffffffffffffffffffff169050919050565b600061135d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660208061274b565b60606000612b3e866124ed565b9150506000612b4c866124ed565b9150506000612b5a866124ed565b9150506000612b68866124ed565b915050838383836040516020018080613827603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a820152605001602161374b82397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b6000612ce0826124e7565b64ffffffffff1664ffffffffff1415612cfb5750600061157b565b6000612d0683612ad7565b60405110199392505050565b6000612d1d82612e90565b1592915050565b600060f08083179060ff82161415612d4057603091505061157b565b8060ff1660f11415612d5657603191505061157b565b8060ff1660f21415612d6c57603291505061157b565b8060ff1660f31415612d8257603391505061157b565b8060ff1660f41415612d9857603491505061157b565b8060ff1660f51415612dae57603591505061157b565b8060ff1660f61415612dc457603691505061157b565b8060ff1660f71415612dda57603791505061157b565b8060ff1660f81415612df057603891505061157b565b8060ff1660f91415612e0657603991505061157b565b8060ff1660fa1415612e1c57606191505061157b565b8060ff1660fb1415612e3257606291505061157b565b8060ff1660fc1415612e4857606391505061157b565b8060ff1660fd1415612e5e57606491505061157b565b8060ff1660fe1415612e7457606591505061157b565b8060ff1660ff1415612e8a57606691505061157b565b50919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b60408051808201909152600081526060602082015290565b60008083601f840112612ee1578182fd5b50813567ffffffffffffffff811115612ef8578182fd5b6020830191508360208083028501011115612f1257600080fd5b9250929050565b600082601f830112612f29578081fd5b813567ffffffffffffffff811115612f3d57fe5b612f6e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161365a565b818152846020838601011115612f82578283fd5b816020850160208301379081016020019190915292915050565b600060408284031215612fad578081fd5b6040516040810167ffffffffffffffff8282108183111715612fcb57fe5b81604052829350843583526020850135915080821115612fea57600080fd5b50612ff785828601612f19565b6020830152505092915050565b600060208284031215613015578081fd5b813561135a81613716565b60008060408385031215613032578081fd5b823561303d81613716565b9150602083013561304d81613716565b809150509250929050565b6000806020838503121561306a578182fd5b823567ffffffffffffffff811115613080578283fd5b61308c85828601612ed0565b90969095509350505050565b6000602082840312156130a9578081fd5b8151801515811461135a578182fd5b6000602082840312156130c9578081fd5b815161135a81613716565b6000602082840312156130e5578081fd5b5035919050565b6000602082840312156130fd578081fd5b813561135a81613738565b600060208284031215613119578081fd5b815161135a81613738565b60008060408385031215613136578182fd5b823561303d81613738565b600080600060408486031215613155578081fd5b833561316081613738565b9250602084013567ffffffffffffffff81111561317b578182fd5b61318786828701612ed0565b9497909650939450505050565b600080604083850312156131a6578182fd5b82356131b181613738565b946020939093013593505050565b6000806000606084860312156131d3578283fd5b83356131de81613738565b925060208401359150604084013567ffffffffffffffff811115613200578182fd5b61320c86828701612f19565b9150509250925092565b6005811061322057fe5b60f81b9052565b600084825283602083015282516132458160408501602087016136ea565b91909101604001949350505050565b600082516132668184602087016136ea565b9190910192915050565b600061327c8284613216565b50600101919050565b60006132918286613216565b5060e09290921b7fffffffff000000000000000000000000000000000000000000000000000000001660018301526005820152602501919050565b60f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b60208082526016908201527f7265636f76657279206e6f7420696e6974696174656400000000000000000000604082015260600190565b60208082526014908201527f212063616c6c656420627920676f7665726e6f72000000000000000000000000604082015260600190565b6020808252600f908201527f21676f7665726e6f72526f757465720000000000000000000000000000000000604082015260600190565b6020808252818101527f58417070436f6e6e656374696f6e4d616e616765722062616420646f6d61696e604082015260600190565b60208082526008908201527f217265706c696361000000000000000000000000000000000000000000000000604082015260600190565b6020808252600b908201527f696e207265636f76657279000000000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f7265636f7665727920616c726561647920696e69746961746564000000000000604082015260600190565b6020808252600b908201527f63616c6c206661696c6564000000000000000000000000000000000000000000604082015260600190565b6020808252601c908201527f212063616c6c6564206279207265636f76657279206d616e6167657200000000604082015260600190565b60208082526007908201527f21726f7574657200000000000000000000000000000000000000000000000000604082015260600190565b60208082526013908201527f2176616c6964206d657373616765207479706500000000000000000000000000604082015260600190565b63ffffffff91909116815260200190565b600063ffffffff851682528360208301526060604083015282518060608401526135dc8160808501602087016136ea565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01691909101608001949350505050565b63ffffffff92831681529116602082015260400190565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112613266578182fd5b60405181810167ffffffffffffffff8111828210171561367657fe5b604052919050565b600067ffffffffffffffff83111561369257fe5b60206136a1818286020161365a565b8481528181019084845b878110156136d2576136c03683358901612f9c565b845292840192908401906001016136ab565b50909695505050505050565b600061135d3683612f9c565b60005b838110156137055781810151838201526020016136ed565b8381111561107c5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114611ddc57600080fd5b63ffffffff81168114611ddc57600080fdfe2e20417474656d7074656420746f20696e646578206174206f6666736574203078496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656454797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a264697066735822122033056c7d75ca479e38a1c7c533da7e182caf3b7d8ebe0f055d018c05be18c62664736f6c63430007060033"; export class GovernanceRouter__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-core/factories/Home__factory.ts b/typescript/src/typechain/optics-core/factories/Home__factory.ts index 2de4aee1d..3c0939e7d 100644 --- a/typescript/src/typechain/optics-core/factories/Home__factory.ts +++ b/typescript/src/typechain/optics-core/factories/Home__factory.ts @@ -571,7 +571,7 @@ const _abi = [ ]; const _bytecode = - "0x60a060405234801561001057600080fd5b5060405161286d38038061286d8339818101604052602081101561003357600080fd5b505160e081901b6001600160e01b03191660805263ffffffff166127fa6100736000398061096352806109945280610dce52806111fa52506127fa6000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c80639df6c8e1116100e3578063d34686391161008c578063f2fde38b11610066578063f2fde38b14610663578063f6d1610214610696578063fd54b2281461069e57610198565b8063d34686391461059b578063df034cd014610653578063ebf0c7171461065b57610198565b8063b31c01fb116100bd578063b31c01fb1461048d578063c19d93fb1461053f578063c4d66de81461056857610198565b80639df6c8e1146104755780639fa6a6e31461047d578063ab91c7b01461048557610198565b8063522ae002116101455780638e4e30e01161011f5780638e4e30e01461035d5780639776120e1461040f5780639d54f4191461044257610198565b8063522ae0021461031c5780638d3638f4146103245780638da5cb5b1461032c57610198565b80632bef2892116101765780632bef2892146102c257806336e104de146102f357806345630b1a1461031457610198565b806306661abd1461019d57806319d9d21a146101b75780632752e0f414610286575b600080fd5b6101a56106a6565b60408051918252519081900360200190f35b610284600480360360a08110156101cd57600080fd5b81359160208101918101906080810160608201356401000000008111156101f357600080fd5b82018360208201111561020557600080fd5b8035906020019184600183028401116401000000008311171561022757600080fd5b91939092909160208101903564010000000081111561024557600080fd5b82018360208201111561025757600080fd5b8035906020019184600183028401116401000000008311171561027957600080fd5b5090925090506106ac565b005b6102a96004803603602081101561029c57600080fd5b503563ffffffff16610909565b6040805163ffffffff9092168252519081900360200190f35b6102df600480360360208110156102d857600080fd5b5035610921565b604080519115158252519081900360200190f35b6102fb610934565b6040805192835260208301919091528051918290030190f35b6101a561095c565b6101a561098c565b6102a9610992565b6103346109b6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102df6004803603606081101561037357600080fd5b81359160208101359181019060608101604082013564010000000081111561039a57600080fd5b8201836020820111156103ac57600080fd5b803590602001918460018302840111640100000000831117156103ce57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109d2945050505050565b6102846004803603602081101561042557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ba5565b6102846004803603602081101561045857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c37565b610334610cc6565b6101a5610ce2565b6101a5610ce8565b610284600480360360608110156104a357600080fd5b8135916020810135918101906060810160408201356401000000008111156104ca57600080fd5b8201836020820111156104dc57600080fd5b803590602001918460018302840111640100000000831117156104fe57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610cf4945050505050565b610547610e92565b6040518082600281111561055757fe5b815260200191505060405180910390f35b6102846004803603602081101561057e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610eb3565b610284600480360360608110156105b157600080fd5b63ffffffff823516916020810135918101906060810160408201356401000000008111156105de57600080fd5b8201836020820111156105f057600080fd5b8035906020019184600183028401116401000000008311171561061257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506110d0945050505050565b610334611352565b6101a561136e565b6102846004803603602081101561067957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661137a565b6101a5611409565b6101a5611415565b60215490565b600260245474010000000000000000000000000000000000000000900460ff1660028111156106d757fe5b141561074457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f8601819004810282018101909252848152610786918891883591889088908190840183828082843760009201919091525061141b92505050565b80156107d557506107d586866001602002013584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061141b92505050565b80156107e657508435602086013514155b15610901576107f36114ad565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b60266020526000908152604090205463ffffffff1681565b600061092e602283611588565b92915050565b60008061094160226115f8565b156109585760255491506109556022611638565b90505b9091565b60006109877f0000000000000000000000000000000000000000000000000000000000000000611675565b905090565b61080081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60285473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260245474010000000000000000000000000000000000000000900460ff1660028111156109ff57fe5b1415610a6c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610a7784848461141b565b610ae257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6261642073696700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6025548414610b5257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6e6f7420612063757272656e7420757064617465000000000000000000000000604482015290519081900360640190fd5b610b5d602284611588565b610b9a57610b696114ad565b6040517fb015f3b3a7a56304206e1e4d15f0dad9b2914691bbe7ab34e407c53b2700a91b90600090a1506001610b9e565b5060005b9392505050565b60285473ffffffffffffffffffffffffffffffffffffffff163314610c2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610c34816116ea565b50565b60275473ffffffffffffffffffffffffffffffffffffffff163314610cbd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f21757064617465724d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b610c34816117d7565b60275473ffffffffffffffffffffffffffffffffffffffff1681565b60255481565b600061098760226115f8565b600260245474010000000000000000000000000000000000000000900460ff166002811115610d1f57fe5b1415610d8c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610d978383836109d2565b15610da157610e8d565b6000610dad6022611850565b905082811415610dbd5750610dc3565b50610da1565b8160258190555081837f000000000000000000000000000000000000000000000000000000000000000063ffffffff167f608828ad904a0c9250c09004ba7226efb08f35a5c815bb3f76b5a8a271cd08b2846040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e52578181015183820152602001610e3a565b50505050905090810190601f168015610e7f5780820380516001836020036101000a031916815260200191505b509250505060405180910390a45b505050565b60245474010000000000000000000000000000000000000000900460ff1681565b600054610100900460ff1680610ecc5750610ecc611989565b80610eda575060005460ff16155b610f2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612775602e913960400191505060405180910390fd5b600054610100900460ff16158015610f9557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b610f9e3361199a565b610fa7826116ea565b610fb16022611a28565b602754604080517fdf034cd0000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163df034cd0916004808301926020929190829003018186803b15801561101c57600080fd5b505afa158015611030573d6000803e3d6000fd5b505050506040513d602081101561104657600080fd5b5051905061105381611a6c565b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f9e5f57e4ee5f9eeac3131028d48f19d80820ce6fa93c4c66cc82a3e2b9837c329181900360200190a15080156110cc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b600260245474010000000000000000000000000000000000000000900460ff1660028111156110fb57fe5b141561116857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610800815111156111da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21746f6f20626967000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b63ffffffff808416600090815260266020526040812054909116906112237f00000000000000000000000000000000000000000000000000000000000000003384888888611bf9565b80516020820120909150611238600182611ccf565b61124b61124361136e565b602290611dd7565b50806112578785611e44565b67ffffffffffffffff16600161126b6106a6565b037f1a2a870182b13cdb4a0ec2e16f96df5a0e20b1327d43564f7f0e62992a55bd6c856040518080602001828103825283818151815260200191508051906020019080838360005b838110156112cb5781810151838201526020016112b3565b50505050905090810190601f1680156112f85780820380516001836020036101000a031916815260200191505b509250505060405180910390a4505063ffffffff938416600090815260266020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016600192909201909416179092555050565b60245473ffffffffffffffffffffffffffffffffffffffff1681565b60006109876001611e5e565b60285473ffffffffffffffffffffffffffffffffffffffff16331461140057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610c348161199a565b60006109876022611638565b60215481565b60008061142661095c565b858560405160200180848152602001838152602001828152602001935050505060405160208183030381529060405280519060200120905061146781611e71565b60245490915073ffffffffffffffffffffffffffffffffffffffff1661148d8285611ec2565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b6114b5611f5c565b602754604080517f5b3c2cbf000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691635b3c2cbf9160248082019260009290919082900301818387803b15801561152757600080fd5b505af115801561153b573d6000803e3d6000fd5b505060245460405133935073ffffffffffffffffffffffffffffffffffffffff90911691507f98064af315f26d7333ba107ba43a128ec74345f4d4e6f2549840fe092a1c8bce90600090a3565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168111610b9a5760008181526001850160205260409020548314156115f057600191505061092e565b6001016115a0565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166116308282611f9d565b949350505050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b6040805160e09290921b7fffffffff00000000000000000000000000000000000000000000000000000000166020808401919091527f4f5054494353000000000000000000000000000000000000000000000000000060248401528151808403600a018152602a909301909152815191012090565b6116f381611fb7565b61175e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f21636f6e747261637420757064617465724d616e616765720000000000000000604482015290519081900360640190fd5b6027805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f958d788fb4c373604cd4c73aa8c592de127d0819b49bb4dc02c8ecd666e965bf9181900360200190a150565b6024805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f9e5f57e4ee5f9eeac3131028d48f19d80820ce6fa93c4c66cc82a3e2b9837c329181900360200190a150565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166118888282611f9d565b6118f357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff8116600090815260018501602052604090205492508215611944576fffffffffffffffffffffffffffffffff811660009081526001850160205260408120555b83547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001919091016fffffffffffffffffffffffffffffffff1617909255919050565b600061199430611fb7565b15905090565b60285460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3602880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b80546fffffffffffffffffffffffffffffffff16610c345780547fffffffffffffffffffffffffffffffff0000000000000000000000000000000016600117815550565b600054610100900460ff1680611a855750611a85611989565b80611a93575060005460ff16155b611ae8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612775602e913960400191505060405180910390fd5b600054610100900460ff16158015611b4e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b602480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416177fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905580156110cc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555050565b6060868686868686604051602001808763ffffffff1660e01b81526004018681526020018563ffffffff1660e01b81526004018463ffffffff1660e01b815260040183815260200182805190602001908083835b60208310611c8a57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611c4d565b6001836020036101000a038019825116818451168082178552505050505050905001965050505050505060405160208183030381529060405290509695505050505050565b602082015463ffffffff11611d4557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c00000000000000000000000000000000604482015290519081900360640190fd5b6020820180546001019081905560005b6020811015611dd4578160011660011415611d815782848260208110611d7757fe5b0155506110cc9050565b838160208110611d8d57fe5b015483604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120925060028281611dc957fe5b049150600101611d55565b50fe5b81546fffffffffffffffffffffffffffffffff808216700100000000000000000000000000000000928390048216600101918216909202919091178355811561092e576fffffffffffffffffffffffffffffffff8116600090815260019390930160205260409092205590565b63ffffffff1660209190911b67ffffffff00000000161790565b600061092e82611e6c611fbd565b61247e565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b60008151604114611f3457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a611f528682858561253c565b9695505050505050565b602480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055565b60019103016fffffffffffffffffffffffffffffffff1690565b3b151590565b611fc5612733565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6020820154600090815b602081101561253457600182821c1660008683602081106124a557fe5b0154905081600114156124e8578085604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120945061252a565b848684602081106124f557fe5b602002015160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012094505b5050600101612488565b505092915050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156125b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127536022913960400191505060405180910390fd5b8360ff16601b14806125cc57508360ff16601c145b612621576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127a36022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561267d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661272a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b604051806104000160405280602090602082028036833750919291505056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c7565496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c7565a2646970667358221220b207f7188a8cf2687fd1a251de236287737f608474242879fea2266e822b321964736f6c63430007060033"; + "0x60a060405234801561001057600080fd5b5060405161286d38038061286d8339818101604052602081101561003357600080fd5b505160e081901b6001600160e01b03191660805263ffffffff166127fa6100736000398061096352806109945280610dce52806111fa52506127fa6000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c80639df6c8e1116100e3578063d34686391161008c578063f2fde38b11610066578063f2fde38b14610663578063f6d1610214610696578063fd54b2281461069e57610198565b8063d34686391461059b578063df034cd014610653578063ebf0c7171461065b57610198565b8063b31c01fb116100bd578063b31c01fb1461048d578063c19d93fb1461053f578063c4d66de81461056857610198565b80639df6c8e1146104755780639fa6a6e31461047d578063ab91c7b01461048557610198565b8063522ae002116101455780638e4e30e01161011f5780638e4e30e01461035d5780639776120e1461040f5780639d54f4191461044257610198565b8063522ae0021461031c5780638d3638f4146103245780638da5cb5b1461032c57610198565b80632bef2892116101765780632bef2892146102c257806336e104de146102f357806345630b1a1461031457610198565b806306661abd1461019d57806319d9d21a146101b75780632752e0f414610286575b600080fd5b6101a56106a6565b60408051918252519081900360200190f35b610284600480360360a08110156101cd57600080fd5b81359160208101918101906080810160608201356401000000008111156101f357600080fd5b82018360208201111561020557600080fd5b8035906020019184600183028401116401000000008311171561022757600080fd5b91939092909160208101903564010000000081111561024557600080fd5b82018360208201111561025757600080fd5b8035906020019184600183028401116401000000008311171561027957600080fd5b5090925090506106ac565b005b6102a96004803603602081101561029c57600080fd5b503563ffffffff16610909565b6040805163ffffffff9092168252519081900360200190f35b6102df600480360360208110156102d857600080fd5b5035610921565b604080519115158252519081900360200190f35b6102fb610934565b6040805192835260208301919091528051918290030190f35b6101a561095c565b6101a561098c565b6102a9610992565b6103346109b6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102df6004803603606081101561037357600080fd5b81359160208101359181019060608101604082013564010000000081111561039a57600080fd5b8201836020820111156103ac57600080fd5b803590602001918460018302840111640100000000831117156103ce57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109d2945050505050565b6102846004803603602081101561042557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ba5565b6102846004803603602081101561045857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c37565b610334610cc6565b6101a5610ce2565b6101a5610ce8565b610284600480360360608110156104a357600080fd5b8135916020810135918101906060810160408201356401000000008111156104ca57600080fd5b8201836020820111156104dc57600080fd5b803590602001918460018302840111640100000000831117156104fe57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610cf4945050505050565b610547610e92565b6040518082600281111561055757fe5b815260200191505060405180910390f35b6102846004803603602081101561057e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610eb3565b610284600480360360608110156105b157600080fd5b63ffffffff823516916020810135918101906060810160408201356401000000008111156105de57600080fd5b8201836020820111156105f057600080fd5b8035906020019184600183028401116401000000008311171561061257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506110d0945050505050565b610334611352565b6101a561136e565b6102846004803603602081101561067957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661137a565b6101a5611409565b6101a5611415565b60215490565b600260245474010000000000000000000000000000000000000000900460ff1660028111156106d757fe5b141561074457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f8601819004810282018101909252848152610786918891883591889088908190840183828082843760009201919091525061141b92505050565b80156107d557506107d586866001602002013584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061141b92505050565b80156107e657508435602086013514155b15610901576107f36114ad565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b60266020526000908152604090205463ffffffff1681565b600061092e602283611588565b92915050565b60008061094160226115f8565b156109585760255491506109556022611638565b90505b9091565b60006109877f0000000000000000000000000000000000000000000000000000000000000000611675565b905090565b61080081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60285473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260245474010000000000000000000000000000000000000000900460ff1660028111156109ff57fe5b1415610a6c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610a7784848461141b565b610ae257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6261642073696700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6025548414610b5257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6e6f7420612063757272656e7420757064617465000000000000000000000000604482015290519081900360640190fd5b610b5d602284611588565b610b9a57610b696114ad565b6040517fb015f3b3a7a56304206e1e4d15f0dad9b2914691bbe7ab34e407c53b2700a91b90600090a1506001610b9e565b5060005b9392505050565b60285473ffffffffffffffffffffffffffffffffffffffff163314610c2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610c34816116ea565b50565b60275473ffffffffffffffffffffffffffffffffffffffff163314610cbd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f21757064617465724d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b610c34816117d7565b60275473ffffffffffffffffffffffffffffffffffffffff1681565b60255481565b600061098760226115f8565b600260245474010000000000000000000000000000000000000000900460ff166002811115610d1f57fe5b1415610d8c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610d978383836109d2565b15610da157610e8d565b6000610dad6022611850565b905082811415610dbd5750610dc3565b50610da1565b8160258190555081837f000000000000000000000000000000000000000000000000000000000000000063ffffffff167f608828ad904a0c9250c09004ba7226efb08f35a5c815bb3f76b5a8a271cd08b2846040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e52578181015183820152602001610e3a565b50505050905090810190601f168015610e7f5780820380516001836020036101000a031916815260200191505b509250505060405180910390a45b505050565b60245474010000000000000000000000000000000000000000900460ff1681565b600054610100900460ff1680610ecc5750610ecc611989565b80610eda575060005460ff16155b610f2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612775602e913960400191505060405180910390fd5b600054610100900460ff16158015610f9557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b610f9e3361199a565b610fa7826116ea565b610fb16022611a28565b602754604080517fdf034cd0000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163df034cd0916004808301926020929190829003018186803b15801561101c57600080fd5b505afa158015611030573d6000803e3d6000fd5b505050506040513d602081101561104657600080fd5b5051905061105381611a6c565b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f9e5f57e4ee5f9eeac3131028d48f19d80820ce6fa93c4c66cc82a3e2b9837c329181900360200190a15080156110cc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b600260245474010000000000000000000000000000000000000000900460ff1660028111156110fb57fe5b141561116857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610800815111156111da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21746f6f20626967000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b63ffffffff808416600090815260266020526040812054909116906112237f00000000000000000000000000000000000000000000000000000000000000003384888888611bf9565b80516020820120909150611238600182611ccf565b61124b61124361136e565b602290611dd7565b50806112578785611e44565b67ffffffffffffffff16600161126b6106a6565b037f1a2a870182b13cdb4a0ec2e16f96df5a0e20b1327d43564f7f0e62992a55bd6c856040518080602001828103825283818151815260200191508051906020019080838360005b838110156112cb5781810151838201526020016112b3565b50505050905090810190601f1680156112f85780820380516001836020036101000a031916815260200191505b509250505060405180910390a4505063ffffffff938416600090815260266020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016600192909201909416179092555050565b60245473ffffffffffffffffffffffffffffffffffffffff1681565b60006109876001611e5e565b60285473ffffffffffffffffffffffffffffffffffffffff16331461140057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610c348161199a565b60006109876022611638565b60215481565b60008061142661095c565b858560405160200180848152602001838152602001828152602001935050505060405160208183030381529060405280519060200120905061146781611e71565b60245490915073ffffffffffffffffffffffffffffffffffffffff1661148d8285611ec2565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b6114b5611f5c565b602754604080517f5b3c2cbf000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691635b3c2cbf9160248082019260009290919082900301818387803b15801561152757600080fd5b505af115801561153b573d6000803e3d6000fd5b505060245460405133935073ffffffffffffffffffffffffffffffffffffffff90911691507f98064af315f26d7333ba107ba43a128ec74345f4d4e6f2549840fe092a1c8bce90600090a3565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168111610b9a5760008181526001850160205260409020548314156115f057600191505061092e565b6001016115a0565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166116308282611f9d565b949350505050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b6040805160e09290921b7fffffffff00000000000000000000000000000000000000000000000000000000166020808401919091527f4f5054494353000000000000000000000000000000000000000000000000000060248401528151808403600a018152602a909301909152815191012090565b6116f381611fb7565b61175e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f21636f6e747261637420757064617465724d616e616765720000000000000000604482015290519081900360640190fd5b6027805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f958d788fb4c373604cd4c73aa8c592de127d0819b49bb4dc02c8ecd666e965bf9181900360200190a150565b6024805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f9e5f57e4ee5f9eeac3131028d48f19d80820ce6fa93c4c66cc82a3e2b9837c329181900360200190a150565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166118888282611f9d565b6118f357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff8116600090815260018501602052604090205492508215611944576fffffffffffffffffffffffffffffffff811660009081526001850160205260408120555b83547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001919091016fffffffffffffffffffffffffffffffff1617909255919050565b600061199430611fb7565b15905090565b60285460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3602880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b80546fffffffffffffffffffffffffffffffff16610c345780547fffffffffffffffffffffffffffffffff0000000000000000000000000000000016600117815550565b600054610100900460ff1680611a855750611a85611989565b80611a93575060005460ff16155b611ae8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612775602e913960400191505060405180910390fd5b600054610100900460ff16158015611b4e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b602480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416177fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905580156110cc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555050565b6060868686868686604051602001808763ffffffff1660e01b81526004018681526020018563ffffffff1660e01b81526004018463ffffffff1660e01b815260040183815260200182805190602001908083835b60208310611c8a57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611c4d565b6001836020036101000a038019825116818451168082178552505050505050905001965050505050505060405160208183030381529060405290509695505050505050565b602082015463ffffffff11611d4557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c00000000000000000000000000000000604482015290519081900360640190fd5b6020820180546001019081905560005b6020811015611dd4578160011660011415611d815782848260208110611d7757fe5b0155506110cc9050565b838160208110611d8d57fe5b015483604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120925060028281611dc957fe5b049150600101611d55565b50fe5b81546fffffffffffffffffffffffffffffffff808216700100000000000000000000000000000000928390048216600101918216909202919091178355811561092e576fffffffffffffffffffffffffffffffff8116600090815260019390930160205260409092205590565b63ffffffff1660209190911b67ffffffff00000000161790565b600061092e82611e6c611fbd565b61247e565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b60008151604114611f3457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a611f528682858561253c565b9695505050505050565b602480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055565b60019103016fffffffffffffffffffffffffffffffff1690565b3b151590565b611fc5612733565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6020820154600090815b602081101561253457600182821c1660008683602081106124a557fe5b0154905081600114156124e8578085604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120945061252a565b848684602081106124f557fe5b602002015160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012094505b5050600101612488565b505092915050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156125b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127536022913960400191505060405180910390fd5b8360ff16601b14806125cc57508360ff16601c145b612621576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127a36022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561267d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661272a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b604051806104000160405280602090602082028036833750919291505056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c7565496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c7565a2646970667358221220c75290c8750ca1c70b8a259d107d744b57964670fe8919b47cc77bec194904e864736f6c63430007060033"; export class Home__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-core/factories/Replica__factory.ts b/typescript/src/typechain/optics-core/factories/Replica__factory.ts index 89a3fdb7b..bba511561 100644 --- a/typescript/src/typechain/optics-core/factories/Replica__factory.ts +++ b/typescript/src/typechain/optics-core/factories/Replica__factory.ts @@ -528,7 +528,7 @@ const _abi = [ ]; const _bytecode = - "0x60a060405234801561001057600080fd5b506040516130263803806130268339818101604052602081101561003357600080fd5b505160e081901b6001600160e01b03191660805263ffffffff16612fbd61006960003980610d155280610d7c5250612fbd6000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c80638d3638f4116100ee578063b31c01fb11610097578063c19d93fb11610071578063c19d93fb14610641578063d88beda214610649578063df034cd014610651578063f6d1610214610682576101a3565b8063b31c01fb14610519578063ba739a62146105cb578063bf30a55d146105ec576101a3565b80639fa6a6e3116100c85780639fa6a6e3146104ec578063a3f81d68146104f4578063ab91c7b014610511576101a3565b80638d3638f414610436578063928bc4b21461043e578063961681dc146104e4576101a3565b806339992668116101505780636188af0e1161012a5780636188af0e146103635780637022b58e1461041157806371bfb7b814610419576101a3565b8063399926681461033257806345630b1a1461033a578063456d067214610342576101a3565b80632bbd59ca116101815780632bbd59ca146102ad5780632bef2892146102eb578063371d307114610308576101a3565b806314cfabb3146101a857806319d9d21a146101c457806325e3beda14610293575b600080fd5b6101b061068a565b604080519115158252519081900360200190f35b610291600480360360a08110156101da57600080fd5b813591602081019181019060808101606082013564010000000081111561020057600080fd5b82018360208201111561021257600080fd5b8035906020019184600183028401116401000000008311171561023457600080fd5b91939092909160208101903564010000000081111561025257600080fd5b82018360208201111561026457600080fd5b8035906020019184600183028401116401000000008311171561028657600080fd5b5090925090506106b6565b005b61029b610915565b60408051918252519081900360200190f35b6102ca600480360360208110156102c357600080fd5b503561091b565b604051808260028111156102da57fe5b815260200191505060405180910390f35b6101b06004803603602081101561030157600080fd5b5035610930565b6101b0600480360361044081101561031f57600080fd5b5080359060208101906104200135610945565b61029b610a65565b61029b610a6b565b61034a610a80565b6040805163ffffffff9092168252519081900360200190f35b610291600480360361044081101561037a57600080fd5b81019060208101813564010000000081111561039557600080fd5b8201836020820111156103a757600080fd5b803590602001918460018302840111640100000000831117156103c957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955092935050506104008201359050610a8c565b610291610b18565b61029b6004803603602081101561042f57600080fd5b5035610d01565b61034a610d13565b6101b06004803603602081101561045457600080fd5b81019060208101813564010000000081111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111640100000000831117156104a357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d37945050505050565b61034a611307565b61029b611313565b6101b06004803603602081101561050a57600080fd5b5035611319565b61029b611340565b6102916004803603606081101561052f57600080fd5b81359160208101359181019060608101604082013564010000000081111561055657600080fd5b82018360208201111561056857600080fd5b8035906020019184600183028401116401000000008311171561058a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061134c945050505050565b6105d3611632565b6040805192835260208301919091528051918290030190f35b610291600480360360a081101561060257600080fd5b5063ffffffff813581169173ffffffffffffffffffffffffffffffffffffffff6020820135169160408201359160608101359160809091013516611680565b6102ca611824565b61029b611847565b61065961184e565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61029b611870565b6000610696600261187c565b158015906106b157506106b16106ac60026118bc565b611319565b905090565b6002600054760100000000000000000000000000000000000000000000900460ff1660028111156106e357fe5b141561075057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f8601819004810282018101909252848152610792918891883591889088908190840183828082843760009201919091525061195d92505050565b80156107e157506107e186866001602002013584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061195d92505050565b80156107f257508435602086013514155b1561090d576107ff6119f5565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b61271081565b60086020526000908152604090205460ff1681565b600061093d6002836119ff565b90505b919050565b60008060008581526008602052604090205460ff16600281111561096557fe5b146109d157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f214d6573736167655374617475732e4e6f6e6500000000000000000000000000604482015290519081900360640190fd5b6000610a07858560208060200260405190810160405280929190826020800280828437600092019190915250879150611a7b9050565b9050610a1281611319565b15610a58575050600083815260086020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155610a5e565b60009150505b9392505050565b60055481565b6004546000906106b19063ffffffff16611b26565b60065463ffffffff1681565b610a9e83805190602001208383610945565b610b0957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f2170726f76650000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610b1283610d37565b50505050565b6002600054760100000000000000000000000000000000000000000000900460ff166002811115610b4557fe5b1415610bb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610bbc600261187c565b610c2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2170656e64696e67000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080610c34600261187c565b90505b600081118015610c4f5750610c4f6106ac60026118bc565b15610c8757610c5e6002611b9b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610c37565b81610cf357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f2174696d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610cfb6119fd565b50600155565b60076020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080610d448382611cd4565b90506000610d737fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611cf8565b905063ffffffff7f000000000000000000000000000000000000000000000000000000000000000016610dc77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611d29565b63ffffffff1614610e3957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e0000000000000000000000000000000000000000604482015290519081900360640190fd5b60065463ffffffff828116911614610eb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f2173657175656e63650000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001845160208087019190912060009081526008909152604090205460ff166002811115610edc57fe5b14610f4857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2170656e64696e67000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600260086000610f797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616611d5a565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115610fbb57fe5b02179055506207c8305a101561103457604080517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048083019190915260248201527f2167617300000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60006110617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611d99565b905073ffffffffffffffffffffffffffffffffffffffff81166356d5d4756207a1206110ae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008716611dac565b6110d97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816611ddc565b61112e6111077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008a16611e0d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016611e7e565b6040518563ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561118c578181015183820152602001611174565b50505050905090810190601f1680156111b95780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600088803b1580156111da57600080fd5b5087f1935050505080156111ec575060015b6112c3573d80801561121a576040519150601f19603f3d011682016040523d82523d6000602084013e61121f565b606091505b50600094507f3c688a5f4cd6e38b537641d2b38bdf1f52e7da4d083c5c3b16a0847c1c7c642d816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561128357818101518382015260200161126b565b50505050905090810190601f1680156112b05780820380516001836020036101000a031916815260200191505b509250505060405180910390a1506112c8565b600193505b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001660019290920163ffffffff1691909117905550919050565b60045463ffffffff1681565b60015481565b60008181526007602052604081205480611337576000915050610940565b42101592915050565b60006106b1600261187c565b6002600054760100000000000000000000000000000000000000000000900460ff16600281111561137957fe5b14156113e657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b60006113f2600261187c565b1115611474576114026002611ec2565b831461146f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6e6f7420656e64206f6620717565756500000000000000000000000000000000604482015290519081900360640190fd5b6114e4565b82600154146114e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f742063757272656e74207570646174650000000000000000000000000000604482015290519081900360640190fd5b6114ef83838361195d565b61155a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6261642073696700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6115626119fd565b6005546000838152600760205260409020429091019055611584600283611eff565b5060045460408051602080825284518183015284518694889463ffffffff909116937f608828ad904a0c9250c09004ba7226efb08f35a5c815bb3f76b5a8a271cd08b2938893919283929083019185019080838360005b838110156115f35781810151838201526020016115db565b50505050905090810190601f1680156116205780820380516001836020036101000a031916815260200191505b509250505060405180910390a4505050565b60008061163f600261187c565b156116675761164e60026118bc565b600081815260076020526040902054909250905061167c565b50506001546000818152600760205260409020545b9091565b600054610100900460ff16806116995750611699611f6c565b806116a7575060005460ff16155b6116fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612e76602e913960400191505060405180910390fd5b600054610100900460ff1615801561176257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff881617905561179c6002611f7d565b60018481556000858152600760205260409020556005839055600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff84161790556117ee85611fc2565b801561090d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050505050565b600054760100000000000000000000000000000000000000000000900460ff1681565b6207a12081565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1681565b60006106b16002611ec2565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166118b48282612157565b949350505050565b60006118c782612171565b1561193357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5080546fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b600080611968610a6b565b85856040516020018084815260200183815260200182815260200193505050506040516020818303038152906040528051906020012090506119a9816121a0565b60005490915062010000900473ffffffffffffffffffffffffffffffffffffffff166119d582856121f1565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b6119fd61228b565b565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168111611a6f576000818152600185016020526040902054831415611a67576001915050611a75565b600101611a17565b50600090505b92915050565b8260005b6020811015611b1e57600183821c166000858360208110611a9c57fe5b602002015190508160011415611ae25780846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209350611b14565b838160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012093505b5050600101611a7f565b509392505050565b6040805160e09290921b7fffffffff00000000000000000000000000000000000000000000000000000000166020808401919091527f4f5054494353000000000000000000000000000000000000000000000000000060248401528151808403600a018152602a909301909152815191012090565b80546000906fffffffffffffffffffffffffffffffff700100000000000000000000000000000000820481169116611bd38282612157565b611c3e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff8116600090815260018501602052604090205492508215611c8f576fffffffffffffffffffffffffffffffff811660009081526001850160205260408120555b83547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001919091016fffffffffffffffffffffffffffffffff1617909255919050565b815160009060208401611cef64ffffffffff851682846122ce565b95945050505050565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660246004612324565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660286004612324565b600080611d6683612345565b6bffffffffffffffffffffffff1690506000611d8184612359565b6bffffffffffffffffffffffff169091209392505050565b600061093d611da78361236d565b61239e565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316826004612324565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316600460206123a1565b600061093d604c80611e407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616612359565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861692916bffffffffffffffffffffffff9190911603600061254c565b6060600080611e8c84612359565b6bffffffffffffffffffffffff1690506040519150819250611eb184836020016125d2565b508181016020016040529052919050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b81546fffffffffffffffffffffffffffffffff8082167001000000000000000000000000000000009283900482166001019182169092029190911783558115611a75576fffffffffffffffffffffffffffffffff8116600090815260019390930160205260409092205590565b6000611f77306126fe565b15905090565b80546fffffffffffffffffffffffffffffffff16611fbf5780547fffffffffffffffffffffffffffffffff000000000000000000000000000000001660011781555b50565b600054610100900460ff1680611fdb5750611fdb611f6c565b80611fe9575060005460ff16155b61203e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612e76602e913960400191505060405180910390fd5b600054610100900460ff161580156120a457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff851602177fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760100000000000000000000000000000000000000000000179055801561215357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b60019103016fffffffffffffffffffffffffffffffff1690565b546fffffffffffffffffffffffffffffffff808216700100000000000000000000000000000000909204161090565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461226357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61228186828585612704565b9695505050505050565b600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760200000000000000000000000000000000000000000000179055565b6000806122db84846128f2565b90506040518111156122eb575060005b80612319577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610a5e565b611cef858585612964565b60008160200360080260ff1661233b8585856123a1565b901c949350505050565b60781c6bffffffffffffffffffffffff1690565b60181c6bffffffffffffffffffffffff1690565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316602c60206123a1565b90565b600060ff82166123b357506000610a5e565b6123bc84612359565b6bffffffffffffffffffffffff166123d78460ff85166128f2565b11156124b6576124186123e985612345565b6bffffffffffffffffffffffff1661240086612359565b6bffffffffffffffffffffffff16858560ff16612977565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561247b578181015183820152602001612463565b50505050905090810190601f1680156124a85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff161115612513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612ec6603a913960400191505060405180910390fd5b60088202600061252286612345565b6bffffffffffffffffffffffff169050600061253d83612ad2565b91909501511695945050505050565b60008061255886612345565b6bffffffffffffffffffffffff16905061257186612b1b565b6125858561257f84896128f2565b906128f2565b11156125b4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009150506118b4565b6125be81866128f2565b90506122818364ffffffffff1682866122ce565b60006125dd83612b45565b612632576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612f006028913960400191505060405180910390fd5b61263b83612b57565b612690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612f28602b913960400191505060405180910390fd5b600061269b84612359565b6bffffffffffffffffffffffff16905060006126b685612345565b6bffffffffffffffffffffffff16905060006040519050848111156126db5760206060fd5b8285848460045afa506122816126f087612b94565b64ffffffffff168685612964565b3b151590565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561277f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612e336022913960400191505060405180910390fd5b8360ff16601b148061279457508360ff16601c145b6127e9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612ea46022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612845573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611cef57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b81810182811015611a7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b6060600061298486612b9a565b915050600061299286612b9a565b91505060006129a086612b9a565b91505060006129ae86612b9a565b915050838383836040516020018080612f53603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a8201526050016021612e5582397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b6000612b2682612359565b612b2f83612345565b016bffffffffffffffffffffffff169050919050565b6000612b5082612c6e565b1592915050565b6000612b6282612b94565b64ffffffffff1664ffffffffff1415612b7d57506000610940565b6000612b8883612b1b565b60405110199392505050565b60d81c90565b600080601f5b600f8160ff161115612c025760ff600882021684901c612bbf81612c96565b61ffff16841793508160ff16601014612bda57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612ba0565b50600f5b60ff8160ff161015612c685760ff600882021684901c612c2581612c96565b61ffff16831792508160ff16600014612c4057601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612c06565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b6000612ca860048360ff16901c612cc6565b60ff161760081b62ffff0016612cbd82612cc6565b60ff1617919050565b600060f08083179060ff82161415612ce2576030915050610940565b8060ff1660f11415612cf8576031915050610940565b8060ff1660f21415612d0e576032915050610940565b8060ff1660f31415612d24576033915050610940565b8060ff1660f41415612d3a576034915050610940565b8060ff1660f51415612d50576035915050610940565b8060ff1660f61415612d66576036915050610940565b8060ff1660f71415612d7c576037915050610940565b8060ff1660f81415612d92576038915050610940565b8060ff1660f91415612da8576039915050610940565b8060ff1660fa1415612dbe576061915050610940565b8060ff1660fb1415612dd4576062915050610940565b8060ff1660fc1415612dea576063915050610940565b8060ff1660fd1415612e00576064915050610940565b8060ff1660fe1415612e16576065915050610940565b8060ff1660ff1415612e2c576066915050610940565b5091905056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c75652e20417474656d7074656420746f20696e646578206174206f6666736574203078496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c756554797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a264697066735822122091f67788fae953e9847667722e391e9599f5daf783f22331119cd42ccf90caaa64736f6c63430007060033"; + "0x60a060405234801561001057600080fd5b506040516130263803806130268339818101604052602081101561003357600080fd5b505160e081901b6001600160e01b03191660805263ffffffff16612fbd61006960003980610d155280610d7c5250612fbd6000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c80638d3638f4116100ee578063b31c01fb11610097578063c19d93fb11610071578063c19d93fb14610641578063d88beda214610649578063df034cd014610651578063f6d1610214610682576101a3565b8063b31c01fb14610519578063ba739a62146105cb578063bf30a55d146105ec576101a3565b80639fa6a6e3116100c85780639fa6a6e3146104ec578063a3f81d68146104f4578063ab91c7b014610511576101a3565b80638d3638f414610436578063928bc4b21461043e578063961681dc146104e4576101a3565b806339992668116101505780636188af0e1161012a5780636188af0e146103635780637022b58e1461041157806371bfb7b814610419576101a3565b8063399926681461033257806345630b1a1461033a578063456d067214610342576101a3565b80632bbd59ca116101815780632bbd59ca146102ad5780632bef2892146102eb578063371d307114610308576101a3565b806314cfabb3146101a857806319d9d21a146101c457806325e3beda14610293575b600080fd5b6101b061068a565b604080519115158252519081900360200190f35b610291600480360360a08110156101da57600080fd5b813591602081019181019060808101606082013564010000000081111561020057600080fd5b82018360208201111561021257600080fd5b8035906020019184600183028401116401000000008311171561023457600080fd5b91939092909160208101903564010000000081111561025257600080fd5b82018360208201111561026457600080fd5b8035906020019184600183028401116401000000008311171561028657600080fd5b5090925090506106b6565b005b61029b610915565b60408051918252519081900360200190f35b6102ca600480360360208110156102c357600080fd5b503561091b565b604051808260028111156102da57fe5b815260200191505060405180910390f35b6101b06004803603602081101561030157600080fd5b5035610930565b6101b0600480360361044081101561031f57600080fd5b5080359060208101906104200135610945565b61029b610a65565b61029b610a6b565b61034a610a80565b6040805163ffffffff9092168252519081900360200190f35b610291600480360361044081101561037a57600080fd5b81019060208101813564010000000081111561039557600080fd5b8201836020820111156103a757600080fd5b803590602001918460018302840111640100000000831117156103c957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955092935050506104008201359050610a8c565b610291610b18565b61029b6004803603602081101561042f57600080fd5b5035610d01565b61034a610d13565b6101b06004803603602081101561045457600080fd5b81019060208101813564010000000081111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111640100000000831117156104a357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d37945050505050565b61034a611307565b61029b611313565b6101b06004803603602081101561050a57600080fd5b5035611319565b61029b611340565b6102916004803603606081101561052f57600080fd5b81359160208101359181019060608101604082013564010000000081111561055657600080fd5b82018360208201111561056857600080fd5b8035906020019184600183028401116401000000008311171561058a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061134c945050505050565b6105d3611632565b6040805192835260208301919091528051918290030190f35b610291600480360360a081101561060257600080fd5b5063ffffffff813581169173ffffffffffffffffffffffffffffffffffffffff6020820135169160408201359160608101359160809091013516611680565b6102ca611824565b61029b611847565b61065961184e565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61029b611870565b6000610696600261187c565b158015906106b157506106b16106ac60026118bc565b611319565b905090565b6002600054760100000000000000000000000000000000000000000000900460ff1660028111156106e357fe5b141561075057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f8601819004810282018101909252848152610792918891883591889088908190840183828082843760009201919091525061195d92505050565b80156107e157506107e186866001602002013584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061195d92505050565b80156107f257508435602086013514155b1561090d576107ff6119f5565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b61271081565b60086020526000908152604090205460ff1681565b600061093d6002836119ff565b90505b919050565b60008060008581526008602052604090205460ff16600281111561096557fe5b146109d157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f214d6573736167655374617475732e4e6f6e6500000000000000000000000000604482015290519081900360640190fd5b6000610a07858560208060200260405190810160405280929190826020800280828437600092019190915250879150611a7b9050565b9050610a1281611319565b15610a58575050600083815260086020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155610a5e565b60009150505b9392505050565b60055481565b6004546000906106b19063ffffffff16611b26565b60065463ffffffff1681565b610a9e83805190602001208383610945565b610b0957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f2170726f76650000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610b1283610d37565b50505050565b6002600054760100000000000000000000000000000000000000000000900460ff166002811115610b4557fe5b1415610bb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610bbc600261187c565b610c2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2170656e64696e67000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080610c34600261187c565b90505b600081118015610c4f5750610c4f6106ac60026118bc565b15610c8757610c5e6002611b9b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610c37565b81610cf357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f2174696d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610cfb6119fd565b50600155565b60076020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080610d448382611cd4565b90506000610d737fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611cf8565b905063ffffffff7f000000000000000000000000000000000000000000000000000000000000000016610dc77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611d29565b63ffffffff1614610e3957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e0000000000000000000000000000000000000000604482015290519081900360640190fd5b60065463ffffffff828116911614610eb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f2173657175656e63650000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001845160208087019190912060009081526008909152604090205460ff166002811115610edc57fe5b14610f4857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2170656e64696e67000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600260086000610f797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616611d5a565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115610fbb57fe5b02179055506207c8305a101561103457604080517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048083019190915260248201527f2167617300000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60006110617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611d99565b905073ffffffffffffffffffffffffffffffffffffffff81166356d5d4756207a1206110ae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008716611dac565b6110d97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816611ddc565b61112e6111077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008a16611e0d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016611e7e565b6040518563ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561118c578181015183820152602001611174565b50505050905090810190601f1680156111b95780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600088803b1580156111da57600080fd5b5087f1935050505080156111ec575060015b6112c3573d80801561121a576040519150601f19603f3d011682016040523d82523d6000602084013e61121f565b606091505b50600094507f3c688a5f4cd6e38b537641d2b38bdf1f52e7da4d083c5c3b16a0847c1c7c642d816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561128357818101518382015260200161126b565b50505050905090810190601f1680156112b05780820380516001836020036101000a031916815260200191505b509250505060405180910390a1506112c8565b600193505b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001660019290920163ffffffff1691909117905550919050565b60045463ffffffff1681565b60015481565b60008181526007602052604081205480611337576000915050610940565b42101592915050565b60006106b1600261187c565b6002600054760100000000000000000000000000000000000000000000900460ff16600281111561137957fe5b14156113e657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b60006113f2600261187c565b1115611474576114026002611ec2565b831461146f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6e6f7420656e64206f6620717565756500000000000000000000000000000000604482015290519081900360640190fd5b6114e4565b82600154146114e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f742063757272656e74207570646174650000000000000000000000000000604482015290519081900360640190fd5b6114ef83838361195d565b61155a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6261642073696700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6115626119fd565b6005546000838152600760205260409020429091019055611584600283611eff565b5060045460408051602080825284518183015284518694889463ffffffff909116937f608828ad904a0c9250c09004ba7226efb08f35a5c815bb3f76b5a8a271cd08b2938893919283929083019185019080838360005b838110156115f35781810151838201526020016115db565b50505050905090810190601f1680156116205780820380516001836020036101000a031916815260200191505b509250505060405180910390a4505050565b60008061163f600261187c565b156116675761164e60026118bc565b600081815260076020526040902054909250905061167c565b50506001546000818152600760205260409020545b9091565b600054610100900460ff16806116995750611699611f6c565b806116a7575060005460ff16155b6116fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612e76602e913960400191505060405180910390fd5b600054610100900460ff1615801561176257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff881617905561179c6002611f7d565b60018481556000858152600760205260409020556005839055600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff84161790556117ee85611fc2565b801561090d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050505050565b600054760100000000000000000000000000000000000000000000900460ff1681565b6207a12081565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1681565b60006106b16002611ec2565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166118b48282612157565b949350505050565b60006118c782612171565b1561193357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5080546fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b600080611968610a6b565b85856040516020018084815260200183815260200182815260200193505050506040516020818303038152906040528051906020012090506119a9816121a0565b60005490915062010000900473ffffffffffffffffffffffffffffffffffffffff166119d582856121f1565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b6119fd61228b565b565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168111611a6f576000818152600185016020526040902054831415611a67576001915050611a75565b600101611a17565b50600090505b92915050565b8260005b6020811015611b1e57600183821c166000858360208110611a9c57fe5b602002015190508160011415611ae25780846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209350611b14565b838160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012093505b5050600101611a7f565b509392505050565b6040805160e09290921b7fffffffff00000000000000000000000000000000000000000000000000000000166020808401919091527f4f5054494353000000000000000000000000000000000000000000000000000060248401528151808403600a018152602a909301909152815191012090565b80546000906fffffffffffffffffffffffffffffffff700100000000000000000000000000000000820481169116611bd38282612157565b611c3e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff8116600090815260018501602052604090205492508215611c8f576fffffffffffffffffffffffffffffffff811660009081526001850160205260408120555b83547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001919091016fffffffffffffffffffffffffffffffff1617909255919050565b815160009060208401611cef64ffffffffff851682846122ce565b95945050505050565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660246004612324565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660286004612324565b600080611d6683612345565b6bffffffffffffffffffffffff1690506000611d8184612359565b6bffffffffffffffffffffffff169091209392505050565b600061093d611da78361236d565b61239e565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316826004612324565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316600460206123a1565b600061093d604c80611e407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616612359565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861692916bffffffffffffffffffffffff9190911603600061254c565b6060600080611e8c84612359565b6bffffffffffffffffffffffff1690506040519150819250611eb184836020016125d2565b508181016020016040529052919050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b81546fffffffffffffffffffffffffffffffff8082167001000000000000000000000000000000009283900482166001019182169092029190911783558115611a75576fffffffffffffffffffffffffffffffff8116600090815260019390930160205260409092205590565b6000611f77306126fe565b15905090565b80546fffffffffffffffffffffffffffffffff16611fbf5780547fffffffffffffffffffffffffffffffff000000000000000000000000000000001660011781555b50565b600054610100900460ff1680611fdb5750611fdb611f6c565b80611fe9575060005460ff16155b61203e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612e76602e913960400191505060405180910390fd5b600054610100900460ff161580156120a457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff851602177fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760100000000000000000000000000000000000000000000179055801561215357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b60019103016fffffffffffffffffffffffffffffffff1690565b546fffffffffffffffffffffffffffffffff808216700100000000000000000000000000000000909204161090565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461226357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61228186828585612704565b9695505050505050565b600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760200000000000000000000000000000000000000000000179055565b6000806122db84846128f2565b90506040518111156122eb575060005b80612319577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610a5e565b611cef858585612964565b60008160200360080260ff1661233b8585856123a1565b901c949350505050565b60781c6bffffffffffffffffffffffff1690565b60181c6bffffffffffffffffffffffff1690565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316602c60206123a1565b90565b600060ff82166123b357506000610a5e565b6123bc84612359565b6bffffffffffffffffffffffff166123d78460ff85166128f2565b11156124b6576124186123e985612345565b6bffffffffffffffffffffffff1661240086612359565b6bffffffffffffffffffffffff16858560ff16612977565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561247b578181015183820152602001612463565b50505050905090810190601f1680156124a85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff161115612513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612ec6603a913960400191505060405180910390fd5b60088202600061252286612345565b6bffffffffffffffffffffffff169050600061253d83612ad2565b91909501511695945050505050565b60008061255886612345565b6bffffffffffffffffffffffff16905061257186612b1b565b6125858561257f84896128f2565b906128f2565b11156125b4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009150506118b4565b6125be81866128f2565b90506122818364ffffffffff1682866122ce565b60006125dd83612b45565b612632576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612f006028913960400191505060405180910390fd5b61263b83612b57565b612690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612f28602b913960400191505060405180910390fd5b600061269b84612359565b6bffffffffffffffffffffffff16905060006126b685612345565b6bffffffffffffffffffffffff16905060006040519050848111156126db5760206060fd5b8285848460045afa506122816126f087612b94565b64ffffffffff168685612964565b3b151590565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561277f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612e336022913960400191505060405180910390fd5b8360ff16601b148061279457508360ff16601c145b6127e9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612ea46022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612845573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611cef57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b81810182811015611a7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b6060600061298486612b9a565b915050600061299286612b9a565b91505060006129a086612b9a565b91505060006129ae86612b9a565b915050838383836040516020018080612f53603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a8201526050016021612e5582397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b6000612b2682612359565b612b2f83612345565b016bffffffffffffffffffffffff169050919050565b6000612b5082612c6e565b1592915050565b6000612b6282612b94565b64ffffffffff1664ffffffffff1415612b7d57506000610940565b6000612b8883612b1b565b60405110199392505050565b60d81c90565b600080601f5b600f8160ff161115612c025760ff600882021684901c612bbf81612c96565b61ffff16841793508160ff16601014612bda57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612ba0565b50600f5b60ff8160ff161015612c685760ff600882021684901c612c2581612c96565b61ffff16831792508160ff16600014612c4057601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612c06565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b6000612ca860048360ff16901c612cc6565b60ff161760081b62ffff0016612cbd82612cc6565b60ff1617919050565b600060f08083179060ff82161415612ce2576030915050610940565b8060ff1660f11415612cf8576031915050610940565b8060ff1660f21415612d0e576032915050610940565b8060ff1660f31415612d24576033915050610940565b8060ff1660f41415612d3a576034915050610940565b8060ff1660f51415612d50576035915050610940565b8060ff1660f61415612d66576036915050610940565b8060ff1660f71415612d7c576037915050610940565b8060ff1660f81415612d92576038915050610940565b8060ff1660f91415612da8576039915050610940565b8060ff1660fa1415612dbe576061915050610940565b8060ff1660fb1415612dd4576062915050610940565b8060ff1660fc1415612dea576063915050610940565b8060ff1660fd1415612e00576064915050610940565b8060ff1660fe1415612e16576065915050610940565b8060ff1660ff1415612e2c576066915050610940565b5091905056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c75652e20417474656d7074656420746f20696e646578206174206f6666736574203078496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c756554797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a26469706673582212200244b82e18148fed385bc9a2aec314f862187bde53a632f91e0755bd6e177b3664736f6c63430007060033"; export class Replica__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-core/factories/TestCommon__factory.ts b/typescript/src/typechain/optics-core/factories/TestCommon__factory.ts index 188464472..9ea0fefc0 100644 --- a/typescript/src/typechain/optics-core/factories/TestCommon__factory.ts +++ b/typescript/src/typechain/optics-core/factories/TestCommon__factory.ts @@ -230,7 +230,7 @@ const _abi = [ ]; const _bytecode = - "0x60a060405234801561001057600080fd5b50604051610c9d380380610c9d8339818101604052604081101561003357600080fd5b5080516020909101516001600160e01b031960e083901b166080526100578161005e565b5050610151565b600054610100900460ff16806100775750610077610130565b80610085575060005460ff16155b6100c05760405162461bcd60e51b815260040180806020018281038252602e815260200180610c6f602e913960400191505060405180910390fd5b600054610100900460ff161580156100eb576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038516021760ff60b01b1916600160b01b179055801561012c576000805461ff00191690555b5050565b60006101453061014b60201b6106b51760201c565b15905090565b3b151590565b60805160e01c610afc6101736000398061058d52806105fb5250610afc6000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639d54f4191161005b5780639d54f4191461025d5780639fa6a6e314610290578063c19d93fb14610298578063df034cd0146102c157610088565b806319d9d21a1461008d57806325605c021461015c57806345630b1a146102225780638d3638f41461023c575b600080fd5b61015a600480360360a08110156100a357600080fd5b81359160208101918101906080810160608201356401000000008111156100c957600080fd5b8201836020820111156100db57600080fd5b803590602001918460018302840111640100000000831117156100fd57600080fd5b91939092909160208101903564010000000081111561011b57600080fd5b82018360208201111561012d57600080fd5b8035906020019184600183028401116401000000008311171561014f57600080fd5b5090925090506102f2565b005b61020e6004803603606081101561017257600080fd5b81359160208101359181019060608101604082013564010000000081111561019957600080fd5b8201836020820111156101ab57600080fd5b803590602001918460018302840111640100000000831117156101cd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610551945050505050565b604080519115158252519081900360200190f35b61022a610566565b60408051918252519081900360200190f35b6102446105f9565b6040805163ffffffff9092168252519081900360200190f35b61015a6004803603602081101561027357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661061d565b61022a61066a565b6102a0610670565b604051808260028111156102b057fe5b815260200191505060405180910390f35b6102c9610693565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6002600054760100000000000000000000000000000000000000000000900460ff16600281111561031f57fe5b141561038c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f86018190048102820181019092528481526103ce91889188359188908890819084018382808284376000920191909152506106bb92505050565b801561041d575061041d86866001602002013584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106bb92505050565b801561042e57508435602086013514155b156105495761043b610753565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b600061055e8484846106bb565b949350505050565b604080517fffffffff000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060e01b166020808301919091527f4f5054494353000000000000000000000000000000000000000000000000000060248301528251600a818403018152602a909201909252805191012090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000805473ffffffffffffffffffffffffffffffffffffffff90921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b60015481565b600054760100000000000000000000000000000000000000000000900460ff1681565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1681565b3b151590565b6000806106c6610566565b85856040516020018084815260200183815260200182815260200193505050506040516020818303038152906040528051906020012090506107078161075d565b60005490915062010000900473ffffffffffffffffffffffffffffffffffffffff1661073382856107ae565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b61075b610848565b565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461082057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61083e8682858561088b565b9695505050505050565b600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760200000000000000000000000000000000000000000000179055565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610906576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610a836022913960400191505060405180910390fd5b8360ff16601b148061091b57508360ff16601c145b610970576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610aa56022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156109cc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116610a7957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b9594505050505056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c7565a2646970667358221220fad6f23b44ae42cc5bd5a5a88a984904569b4c09c350095edf8287f47a4bf1bc64736f6c63430007060033496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564"; + "0x60a060405234801561001057600080fd5b50604051610c9d380380610c9d8339818101604052604081101561003357600080fd5b5080516020909101516001600160e01b031960e083901b166080526100578161005e565b5050610151565b600054610100900460ff16806100775750610077610130565b80610085575060005460ff16155b6100c05760405162461bcd60e51b815260040180806020018281038252602e815260200180610c6f602e913960400191505060405180910390fd5b600054610100900460ff161580156100eb576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038516021760ff60b01b1916600160b01b179055801561012c576000805461ff00191690555b5050565b60006101453061014b60201b6106b51760201c565b15905090565b3b151590565b60805160e01c610afc6101736000398061058d52806105fb5250610afc6000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639d54f4191161005b5780639d54f4191461025d5780639fa6a6e314610290578063c19d93fb14610298578063df034cd0146102c157610088565b806319d9d21a1461008d57806325605c021461015c57806345630b1a146102225780638d3638f41461023c575b600080fd5b61015a600480360360a08110156100a357600080fd5b81359160208101918101906080810160608201356401000000008111156100c957600080fd5b8201836020820111156100db57600080fd5b803590602001918460018302840111640100000000831117156100fd57600080fd5b91939092909160208101903564010000000081111561011b57600080fd5b82018360208201111561012d57600080fd5b8035906020019184600183028401116401000000008311171561014f57600080fd5b5090925090506102f2565b005b61020e6004803603606081101561017257600080fd5b81359160208101359181019060608101604082013564010000000081111561019957600080fd5b8201836020820111156101ab57600080fd5b803590602001918460018302840111640100000000831117156101cd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610551945050505050565b604080519115158252519081900360200190f35b61022a610566565b60408051918252519081900360200190f35b6102446105f9565b6040805163ffffffff9092168252519081900360200190f35b61015a6004803603602081101561027357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661061d565b61022a61066a565b6102a0610670565b604051808260028111156102b057fe5b815260200191505060405180910390f35b6102c9610693565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6002600054760100000000000000000000000000000000000000000000900460ff16600281111561031f57fe5b141561038c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f86018190048102820181019092528481526103ce91889188359188908890819084018382808284376000920191909152506106bb92505050565b801561041d575061041d86866001602002013584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106bb92505050565b801561042e57508435602086013514155b156105495761043b610753565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b600061055e8484846106bb565b949350505050565b604080517fffffffff000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060e01b166020808301919091527f4f5054494353000000000000000000000000000000000000000000000000000060248301528251600a818403018152602a909201909252805191012090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000805473ffffffffffffffffffffffffffffffffffffffff90921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b60015481565b600054760100000000000000000000000000000000000000000000900460ff1681565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1681565b3b151590565b6000806106c6610566565b85856040516020018084815260200183815260200182815260200193505050506040516020818303038152906040528051906020012090506107078161075d565b60005490915062010000900473ffffffffffffffffffffffffffffffffffffffff1661073382856107ae565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b61075b610848565b565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461082057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61083e8682858561088b565b9695505050505050565b600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760200000000000000000000000000000000000000000000179055565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610906576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610a836022913960400191505060405180910390fd5b8360ff16601b148061091b57508360ff16601c145b610970576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610aa56022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156109cc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116610a7957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b9594505050505056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c7565a26469706673582212202df36e6b4376a6e2ed1cefc53b62a9b2d1b6244cf6db93332ff2528b10878ba464736f6c63430007060033496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564"; export class TestCommon__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-core/factories/TestGovernanceRouter__factory.ts b/typescript/src/typechain/optics-core/factories/TestGovernanceRouter__factory.ts index dc6493de3..dedf32990 100644 --- a/typescript/src/typechain/optics-core/factories/TestGovernanceRouter__factory.ts +++ b/typescript/src/typechain/optics-core/factories/TestGovernanceRouter__factory.ts @@ -530,7 +530,7 @@ const _abi = [ ]; const _bytecode = - "0x60c06040523480156200001157600080fd5b5060405162003a2338038062003a23833981016040819052620000349162000050565b5060e01b6001600160e01b031916608052603260a05262000087565b6000806040838503121562000063578182fd5b825163ffffffff8116811462000077578283fd5b6020939093015192949293505050565b60805160e01c60a051613961620000c2600039806104fe528061102652508061087752806108e8528061106b5280611db352506139616000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806363706be3116100e3578063db2021ae1161008c578063e6b3d94911610066578063e6b3d94914610308578063e8c6f83a1461031b578063f05151df1461032e57610198565b8063db2021ae146102e5578063de314b19146102f8578063e54292981461030057610198565b806368b967dc116100bd57806368b967dc146102b75780638d3638f4146102ca578063c3ef2134146102d257610198565b806363706be31461029457806366cf8fab1461029c578063670a43c4146102af57610198565b80634626abee116101455780635585416c1161011f5780635585416c1461024c57806356d5d4751461026157806356f7e2981461027457610198565b80634626abee14610213578063485cc955146102265780634fedbbb51461023957610198565b8063316c92b611610176578063316c92b6146101f05780633339df96146101f857806341bdc8b51461020057610198565b80630c340a241461019d5780630ce21995146101bb5780632ead72f6146101d0575b600080fd5b6101a5610336565b6040516101b291906133cc565b60405180910390f35b6101ce6101c9366004613264565b610352565b005b6101e36101de3660046131bc565b61041c565b6040516101b291906133f8565b6101ce61042e565b6101a561057c565b6101ce61020e3660046130d4565b610598565b6101ce610221366004613128565b610692565b6101ce6102343660046130f0565b61078d565b6101ce610247366004613211565b610a1f565b610254610be7565b6040516101b2919061366a565b6101ce61026f36600461328f565b610c0b565b6102876102823660046131bc565b610e9e565b6040516101b291906133ed565b6101ce610f07565b6102546102aa3660046131a4565b610fea565b6101e3611024565b6101ce6102c5366004613264565b611048565b610254611069565b6101ce6102e03660046131f4565b61108d565b6101ce6102f33660046131f4565b61109f565b6101a5611178565b6101e3611194565b6101ce6103163660046130d4565b61119a565b6101ce610329366004613264565b611279565b610287611309565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b61035a611309565b6103bd5760035473ffffffffffffffffffffffffffffffffffffffff1633146103b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613446565b60405180910390fd5b61040e565b60025473ffffffffffffffffffffffffffffffffffffffff16331461040e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135c5565b610418828261132a565b5050565b60056020526000908152604090205481565b610436611309565b1561046d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613520565b60025473ffffffffffffffffffffffffffffffffffffffff1633146104be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135c5565b600154156104f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613557565b610522427f00000000000000000000000000000000000000000000000000000000000000006113bb565b600181905560025460405173ffffffffffffffffffffffffffffffffffffffff909116917f4c75781638d2c3a22c08e1295107f831b97683d017a1145733b743479a2ae2259161057291906133f8565b60405180910390a2565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b6105a0611309565b6105fa5760035473ffffffffffffffffffffffffffffffffffffffff1633146105f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613446565b61064b565b60025473ffffffffffffffffffffffffffffffffffffffff16331461064b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135c5565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61069a611309565b6106f45760035473ffffffffffffffffffffffffffffffffffffffff1633146106ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613446565b610745565b60025473ffffffffffffffffffffffffffffffffffffffff163314610745576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135c5565b60005b818110156107885761077f83838381811061075f57fe5b905060200281019061077191906136f7565b61077a906137ae565b611438565b50600101610748565b505050565b600054610100900460ff16806107a657506107a66114fb565b806107b4575060005460ff16155b610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061383c602e913960400191505060405180910390fd5b600054610100900460ff1615801561086f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b33600161089d7f0000000000000000000000000000000000000000000000000000000000000000838361150c565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86161790556108e685610598565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638d3638f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561097557600080fd5b505afa158015610989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ad91906131d8565b63ffffffff16146109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906134b4565b5050801561078857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050565b60035473ffffffffffffffffffffffffffffffffffffffff163314610a70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613446565b610a78611309565b15610aaf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613520565b6000610aba84611603565b90506000610ad0610acb848661374e565b611650565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fa92f9d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3a57600080fd5b505afa158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b729190613188565b73ffffffffffffffffffffffffffffffffffffffff1663d34686398684846040518463ffffffff1660e01b8152600401610bae9392919061367b565b600060405180830381600087803b158015610bc857600080fd5b505af1158015610bdc573d6000803e3d6000fd5b505050505050505050565b60035474010000000000000000000000000000000000000000900463ffffffff1681565b600480546040517f5190bc5300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691635190bc5391610c60913391016133cc565b60206040518083038186803b158015610c7857600080fd5b505afa158015610c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb09190613168565b610ce6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906134e9565b8282610cf28282611825565b610d28576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af9061347d565b6000610d348482611872565b9050610d617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216611896565b15610d9e57610d99610d947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166118f1565b61193f565b610e96565b610dc97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000082166119d8565b15610e0157610d99610dfc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611a36565b611a50565b610e2c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216611adb565b15610e6457610d99610e5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611ae4565b611afe565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613633565b505050505050565b6000805b600654811015610efc578263ffffffff1660068281548110610ec057fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff161415610ef4576001915050610f02565b600101610ea2565b50600090505b919050565b60025473ffffffffffffffffffffffffffffffffffffffff163314610f58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135c5565b600154610f91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af9061340f565b60006001556002546040517f5397c02652a688dd1cac8544f233b3daaf96d7a9f974af80b70ab1538359e26191610fe09173ffffffffffffffffffffffffffffffffffffffff909116906133cc565b60405180910390a1565b60068181548110610ffa57600080fd5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b611052828261132a565b600061105e8383611b73565b905061078881611ba0565b7f000000000000000000000000000000000000000000000000000000000000000081565b6104188261109a83611d98565b61132a565b60035473ffffffffffffffffffffffffffffffffffffffff1633146110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613446565b6110f8611309565b1561112f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613520565b600061113a83611db1565b905061114783838361150c565b80156111535750610418565b60006111678461116285611d98565b611de0565b905061117281611ba0565b50505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60025473ffffffffffffffffffffffffffffffffffffffff1633146111eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135c5565b60025460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3b3f758030fa296b85e15008f79cd22af8ffd2a7dd360d8963dcaf8e9fa2b5ff90600090a3600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60035473ffffffffffffffffffffffffffffffffffffffff1633146112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613446565b6112d2611309565b15611048576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613520565b6001546000908015801590428311159082906113225750805b935050505090565b63ffffffff8216600081815260056020526040908190205490519091907fe1cc453e5e6d48a5e3dd7dc6c72117211d2bea20fbb91fd980ebc3e7f73fe546906113769084908690613401565b60405180910390a2816113925761138c83611e08565b50610418565b806113a0576113a083611eaf565b5063ffffffff91909116600090815260056020526040902055565b60008282018381101561142f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b606060006114498360000151611f0f565b905060008173ffffffffffffffffffffffffffffffffffffffff1684602001516040516114769190613324565b6000604051808303816000865af19150503d80600081146114b3576040519150601f19603f3d011682016040523d82523d6000602084013e6114b8565b606091505b5093509050806114f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af9061358e565b5050919050565b600061150630611f12565b15905090565b8061151c5761151a83611603565b505b60008161152a57600061152c565b825b600380547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff8881168202929092177fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff858116918217948590556040519596509094908416937f4daaa39e87dee84708195369c30e97baa0665dc8562ac10535a0f3a9329943aa936115f593909104169089906136e0565b60405180910390a350505050565b63ffffffff811660009081526005602052604090205480610f02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135fc565b805160609060006002820167ffffffffffffffff8111801561167157600080fd5b5060405190808252806020026020018201604052801561169b578160200160208202803683370190505b5090506116e9600060016040516020016116b59190613340565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290611872565b816000815181106116f657fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090921660209283029190910182015260405161173c916000916116b59186910161339c565b8160018151811061174957fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009092166020928302919091019091015260005b8281101561181357600085828151811061179357fe5b6020026020010151905060006117c66000836000015184602001515185602001516040516020016116b5939291906132f7565b9050808460028501815181106117d857fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090921660209283029190910190910152505060010161177d565b5061181d81611f18565b949350505050565b60035460009063ffffffff848116740100000000000000000000000000000000000000009092041614801561142f57505063ffffffff919091166000908152600560205260409020541490565b81516000906020840161188d64ffffffffff85168284611f68565b95945050505050565b600060016118a383611fc9565b60ff16148015611432575060406118db7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611ff9565b6bffffffffffffffffffffffff16101592915050565b60006118fc82611896565b156119375761193060015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000084169061200d565b9050610f02565b611432612033565b806001611970815b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000841690612057565b50600061199e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000085166121d7565b905060005b81518110156119d1576119c88282815181106119bb57fe5b6020026020010151611438565b506001016119a3565b5050505050565b600060025b60ff166119e983611fc9565b60ff1614801561143257506025611a217fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611ff9565b6bffffffffffffffffffffffff161492915050565b6000611a41826119d8565b15611937576119306002611907565b806002611a5c81611947565b506000611a8a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000851661237a565b90506000611ac1611abc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000087166123ab565b611f0f565b90506000611ace83611db1565b9050610e9683838361150c565b600060036119dd565b6000611aef82611adb565b15611937576119306003611907565b806003611b0a81611947565b506000611b387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000851661237a565b90506000611b677fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000086166123ab565b90506119d1828261132a565b606061142f611b9b611b966000600387876040516020016116b593929190613355565b6123dc565b612411565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fa92f9d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0a57600080fd5b505afa158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c429190613188565b905060005b60065481101561078857600063ffffffff1660068281548110611c6657fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff1614611d90578173ffffffffffffffffffffffffffffffffffffffff1663d346863960068381548110611cb857fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff166005600060068681548110611cef57fe5b6000918252602080832060088304015463ffffffff6004600790941684026101000a909104168452830193909352604091820190205490517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152611d5d939289910161367b565b600060405180830381600087803b158015611d7757600080fd5b505af1158015611d8b573d6000803e3d6000fd5b505050505b600101611c47565b73ffffffffffffffffffffffffffffffffffffffff1690565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff90811691161490565b606061142f611b9b611e036000600287876040516020016116b593929190613355565b612455565b63ffffffff811660009081526005602052604081208190555b600654811015610418578163ffffffff1660068281548110611e3f57fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff161415611ea45760068181548110611e7657fe5b90600052602060002090600891828204019190066004026101000a81549063ffffffff021916905550611eac565b600101611e21565b50565b600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f6008820401805460079092166004026101000a63ffffffff818102199093169390921691909102919091179055565b90565b3b151590565b6040516060906000611f2d8460208401612463565b90506000611f3a82611ff9565b6bffffffffffffffffffffffff1690506000611f55836124db565b9184525082016020016040525092915050565b600080611f7584846124ef565b9050604051811115611f85575060005b80611fb3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050611fc2565b611fbe858585612561565b9150505b9392505050565b60006114327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316826001612574565b60181c6bffffffffffffffffffffffff1690565b60d81b7affffffffffffffffffffffffffffffffffffffffffffffffffffff9091161790565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090565b60006120638383612595565b6121d0576000612081612075856125b7565b64ffffffffff166125bd565b91505060006120968464ffffffffff166125bd565b604080517f5479706520617373657274696f6e206661696c65642e20476f742030780000006020808301919091527fffffffffffffffffffff0000000000000000000000000000000000000000000060b088811b8216603d8501527f2e20457870656374656420307800000000000000000000000000000000000000604785015285901b1660548301528251603e818403018152605e8301938490527f08c379a000000000000000000000000000000000000000000000000000000000909352606282018181528351608284015283519496509294508493839260a2019185019080838360005b8381101561219557818101518382015260200161217d565b50505050905090810190601f1680156121c25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5090919050565b606060006122097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416600180612574565b9050600061227a60028061223e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816611ff9565b6bffffffffffffffffffffffff160360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816929190612691565b905060008260ff1667ffffffffffffffff8111801561229857600080fd5b506040519080825280602002602001820160405280156122d257816020015b6122bf612f88565b8152602001906001900390816122b75790505b50905060005b60006123057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516611ff9565b6bffffffffffffffffffffffff1611156123715761232283612721565b82828151811061232e57fe5b60209081029190910101515261234383612751565b82828151811061234f57fe5b60200260200101516020018190525061236783612790565b92506001016122d8565b50949350505050565b60006114327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660016004612574565b60006114327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166005602061281b565b60006114326123ea83611ae4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016612989565b606060008061241f84611ff9565b6bffffffffffffffffffffffff16905060405191508192506124448483602001612a03565b508181016020016040529052919050565b60006114326123ea83611a36565b6000604051828111156124765760206060fd5b506000805b84518110156124ce57600085828151811061249257fe5b602002602001015190506124a881848701612a03565b506124b281611ff9565b6bffffffffffffffffffffffff1692909201915060010161247b565b5061181d60008483612561565b60006124e682612b2f565b60200292915050565b8181018281101561143257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60008160200360080260ff1661258b85858561281b565b901c949350505050565b60008164ffffffffff166125a8846125b7565b64ffffffffff16149392505050565b60d81c90565b600080601f5b600f8160ff1611156126255760ff600882021684901c6125e281612b63565b61ffff16841793508160ff166010146125fd57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016125c3565b50600f5b60ff8160ff16101561268b5760ff600882021684901c61264881612b63565b61ffff16831792508160ff1660001461266357601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612629565b50915091565b60008061269d86612b93565b6bffffffffffffffffffffffff1690506126b686612ba7565b6126ca856126c484896124ef565b906124ef565b11156126f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000091505061181d565b61270381866124ef565b90506127178364ffffffffff168286611f68565b9695505050505050565b60006114327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831682602061281b565b6060611432611b9b604061276485612bd1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861691906004612691565b600081600161279e81611947565b5060006127aa85612bd1565b604001905061188d81806127df7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008916611ff9565b6bffffffffffffffffffffffff160360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008916929190612691565b600060ff821661282d57506000611fc2565b61283684611ff9565b6bffffffffffffffffffffffff166128518460ff85166124ef565b11156128f35761289261286385612b93565b6bffffffffffffffffffffffff1661287a86611ff9565b6bffffffffffffffffffffffff16858560ff16612c01565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181815283516024840152835190928392604490910191908501908083836000831561219557818101518382015260200161217d565b60208260ff161115612950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a81526020018061386a603a913960400191505060405180910390fd5b60088202600061295f86612b93565b6bffffffffffffffffffffffff169050600061297a83612d5c565b91909501511695945050505050565b600061299482612da5565b6129ff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f56616c696469747920617373657274696f6e206661696c656400000000000000604482015290519081900360640190fd5b5090565b6000612a0e83612de2565b612a63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806138a46028913960400191505060405180910390fd5b612a6c83612da5565b612ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806138cc602b913960400191505060405180910390fd5b6000612acc84611ff9565b6bffffffffffffffffffffffff1690506000612ae785612b93565b6bffffffffffffffffffffffff1690506000604051905084811115612b0c5760206060fd5b8285848460045afa50612717612b21876125b7565b64ffffffffff168685612561565b60006020612b556020612b4185611ff9565b6bffffffffffffffffffffffff16906124ef565b81612b5c57fe5b0492915050565b6000612b7560048360ff16901c612df4565b60ff161760081b62ffff0016612b8a82612df4565b60ff1617919050565b60781c6bffffffffffffffffffffffff1690565b6000612bb282611ff9565b612bbb83612b93565b016bffffffffffffffffffffffff169050919050565b60006114327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660208061281b565b60606000612c0e866125bd565b9150506000612c1c866125bd565b9150506000612c2a866125bd565b9150506000612c38866125bd565b9150508383838360405160200180806138f7603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a820152605001602161381b82397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b6000612db0826125b7565b64ffffffffff1664ffffffffff1415612dcb57506000610f02565b6000612dd683612ba7565b60405110199392505050565b6000612ded82612f60565b1592915050565b600060f08083179060ff82161415612e10576030915050610f02565b8060ff1660f11415612e26576031915050610f02565b8060ff1660f21415612e3c576032915050610f02565b8060ff1660f31415612e52576033915050610f02565b8060ff1660f41415612e68576034915050610f02565b8060ff1660f51415612e7e576035915050610f02565b8060ff1660f61415612e94576036915050610f02565b8060ff1660f71415612eaa576037915050610f02565b8060ff1660f81415612ec0576038915050610f02565b8060ff1660f91415612ed6576039915050610f02565b8060ff1660fa1415612eec576061915050610f02565b8060ff1660fb1415612f02576062915050610f02565b8060ff1660fc1415612f18576063915050610f02565b8060ff1660fd1415612f2e576064915050610f02565b8060ff1660fe1415612f44576065915050610f02565b8060ff1660ff1415612f5a576066915050610f02565b50919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b60408051808201909152600081526060602082015290565b60008083601f840112612fb1578182fd5b50813567ffffffffffffffff811115612fc8578182fd5b6020830191508360208083028501011115612fe257600080fd5b9250929050565b600082601f830112612ff9578081fd5b813567ffffffffffffffff81111561300d57fe5b61303e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161372a565b818152846020838601011115613052578283fd5b816020850160208301379081016020019190915292915050565b60006040828403121561307d578081fd5b6040516040810167ffffffffffffffff828210818311171561309b57fe5b816040528293508435835260208501359150808211156130ba57600080fd5b506130c785828601612fe9565b6020830152505092915050565b6000602082840312156130e5578081fd5b813561142f816137e6565b60008060408385031215613102578081fd5b823561310d816137e6565b9150602083013561311d816137e6565b809150509250929050565b6000806020838503121561313a578182fd5b823567ffffffffffffffff811115613150578283fd5b61315c85828601612fa0565b90969095509350505050565b600060208284031215613179578081fd5b8151801515811461142f578182fd5b600060208284031215613199578081fd5b815161142f816137e6565b6000602082840312156131b5578081fd5b5035919050565b6000602082840312156131cd578081fd5b813561142f81613808565b6000602082840312156131e9578081fd5b815161142f81613808565b60008060408385031215613206578182fd5b823561310d81613808565b600080600060408486031215613225578081fd5b833561323081613808565b9250602084013567ffffffffffffffff81111561324b578182fd5b61325786828701612fa0565b9497909650939450505050565b60008060408385031215613276578182fd5b823561328181613808565b946020939093013593505050565b6000806000606084860312156132a3578283fd5b83356132ae81613808565b925060208401359150604084013567ffffffffffffffff8111156132d0578182fd5b6132dc86828701612fe9565b9150509250925092565b600581106132f057fe5b60f81b9052565b600084825283602083015282516133158160408501602087016137ba565b91909101604001949350505050565b600082516133368184602087016137ba565b9190910192915050565b600061334c82846132e6565b50600101919050565b600061336182866132e6565b5060e09290921b7fffffffff000000000000000000000000000000000000000000000000000000001660018301526005820152602501919050565b60f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b60208082526016908201527f7265636f76657279206e6f7420696e6974696174656400000000000000000000604082015260600190565b60208082526014908201527f212063616c6c656420627920676f7665726e6f72000000000000000000000000604082015260600190565b6020808252600f908201527f21676f7665726e6f72526f757465720000000000000000000000000000000000604082015260600190565b6020808252818101527f58417070436f6e6e656374696f6e4d616e616765722062616420646f6d61696e604082015260600190565b60208082526008908201527f217265706c696361000000000000000000000000000000000000000000000000604082015260600190565b6020808252600b908201527f696e207265636f76657279000000000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f7265636f7665727920616c726561647920696e69746961746564000000000000604082015260600190565b6020808252600b908201527f63616c6c206661696c6564000000000000000000000000000000000000000000604082015260600190565b6020808252601c908201527f212063616c6c6564206279207265636f76657279206d616e6167657200000000604082015260600190565b60208082526007908201527f21726f7574657200000000000000000000000000000000000000000000000000604082015260600190565b60208082526013908201527f2176616c6964206d657373616765207479706500000000000000000000000000604082015260600190565b63ffffffff91909116815260200190565b600063ffffffff851682528360208301526060604083015282518060608401526136ac8160808501602087016137ba565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01691909101608001949350505050565b63ffffffff92831681529116602082015260400190565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112613336578182fd5b60405181810167ffffffffffffffff8111828210171561374657fe5b604052919050565b600067ffffffffffffffff83111561376257fe5b6020613771818286020161372a565b8481528181019084845b878110156137a257613790368335890161306c565b8452928401929084019060010161377b565b50909695505050505050565b6000611432368361306c565b60005b838110156137d55781810151838201526020016137bd565b838111156111725750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114611eac57600080fd5b63ffffffff81168114611eac57600080fdfe2e20417474656d7074656420746f20696e646578206174206f6666736574203078496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656454797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a26469706673582212209e2b9b31418097fd0f15bf0a712fdbb9106b088ff1dd912afbb34a4232fb93c564736f6c63430007060033"; + "0x60c06040523480156200001157600080fd5b5060405162003a2338038062003a23833981016040819052620000349162000050565b5060e01b6001600160e01b031916608052603260a05262000087565b6000806040838503121562000063578182fd5b825163ffffffff8116811462000077578283fd5b6020939093015192949293505050565b60805160e01c60a051613961620000c2600039806104fe528061102652508061087752806108e8528061106b5280611db352506139616000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806363706be3116100e3578063db2021ae1161008c578063e6b3d94911610066578063e6b3d94914610308578063e8c6f83a1461031b578063f05151df1461032e57610198565b8063db2021ae146102e5578063de314b19146102f8578063e54292981461030057610198565b806368b967dc116100bd57806368b967dc146102b75780638d3638f4146102ca578063c3ef2134146102d257610198565b806363706be31461029457806366cf8fab1461029c578063670a43c4146102af57610198565b80634626abee116101455780635585416c1161011f5780635585416c1461024c57806356d5d4751461026157806356f7e2981461027457610198565b80634626abee14610213578063485cc955146102265780634fedbbb51461023957610198565b8063316c92b611610176578063316c92b6146101f05780633339df96146101f857806341bdc8b51461020057610198565b80630c340a241461019d5780630ce21995146101bb5780632ead72f6146101d0575b600080fd5b6101a5610336565b6040516101b291906133cc565b60405180910390f35b6101ce6101c9366004613264565b610352565b005b6101e36101de3660046131bc565b61041c565b6040516101b291906133f8565b6101ce61042e565b6101a561057c565b6101ce61020e3660046130d4565b610598565b6101ce610221366004613128565b610692565b6101ce6102343660046130f0565b61078d565b6101ce610247366004613211565b610a1f565b610254610be7565b6040516101b2919061366a565b6101ce61026f36600461328f565b610c0b565b6102876102823660046131bc565b610e9e565b6040516101b291906133ed565b6101ce610f07565b6102546102aa3660046131a4565b610fea565b6101e3611024565b6101ce6102c5366004613264565b611048565b610254611069565b6101ce6102e03660046131f4565b61108d565b6101ce6102f33660046131f4565b61109f565b6101a5611178565b6101e3611194565b6101ce6103163660046130d4565b61119a565b6101ce610329366004613264565b611279565b610287611309565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b61035a611309565b6103bd5760035473ffffffffffffffffffffffffffffffffffffffff1633146103b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613446565b60405180910390fd5b61040e565b60025473ffffffffffffffffffffffffffffffffffffffff16331461040e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135c5565b610418828261132a565b5050565b60056020526000908152604090205481565b610436611309565b1561046d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613520565b60025473ffffffffffffffffffffffffffffffffffffffff1633146104be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135c5565b600154156104f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613557565b610522427f00000000000000000000000000000000000000000000000000000000000000006113bb565b600181905560025460405173ffffffffffffffffffffffffffffffffffffffff909116917f4c75781638d2c3a22c08e1295107f831b97683d017a1145733b743479a2ae2259161057291906133f8565b60405180910390a2565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b6105a0611309565b6105fa5760035473ffffffffffffffffffffffffffffffffffffffff1633146105f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613446565b61064b565b60025473ffffffffffffffffffffffffffffffffffffffff16331461064b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135c5565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61069a611309565b6106f45760035473ffffffffffffffffffffffffffffffffffffffff1633146106ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613446565b610745565b60025473ffffffffffffffffffffffffffffffffffffffff163314610745576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135c5565b60005b818110156107885761077f83838381811061075f57fe5b905060200281019061077191906136f7565b61077a906137ae565b611438565b50600101610748565b505050565b600054610100900460ff16806107a657506107a66114fb565b806107b4575060005460ff16155b610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061383c602e913960400191505060405180910390fd5b600054610100900460ff1615801561086f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b33600161089d7f0000000000000000000000000000000000000000000000000000000000000000838361150c565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86161790556108e685610598565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638d3638f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561097557600080fd5b505afa158015610989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ad91906131d8565b63ffffffff16146109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906134b4565b5050801561078857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050565b60035473ffffffffffffffffffffffffffffffffffffffff163314610a70576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613446565b610a78611309565b15610aaf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613520565b6000610aba84611603565b90506000610ad0610acb848661374e565b611650565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fa92f9d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3a57600080fd5b505afa158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b729190613188565b73ffffffffffffffffffffffffffffffffffffffff1663d34686398684846040518463ffffffff1660e01b8152600401610bae9392919061367b565b600060405180830381600087803b158015610bc857600080fd5b505af1158015610bdc573d6000803e3d6000fd5b505050505050505050565b60035474010000000000000000000000000000000000000000900463ffffffff1681565b600480546040517f5190bc5300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691635190bc5391610c60913391016133cc565b60206040518083038186803b158015610c7857600080fd5b505afa158015610c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb09190613168565b610ce6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906134e9565b8282610cf28282611825565b610d28576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af9061347d565b6000610d348482611872565b9050610d617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216611896565b15610d9e57610d99610d947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166118f1565b61193f565b610e96565b610dc97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000082166119d8565b15610e0157610d99610dfc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611a36565b611a50565b610e2c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216611adb565b15610e6457610d99610e5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611ae4565b611afe565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613633565b505050505050565b6000805b600654811015610efc578263ffffffff1660068281548110610ec057fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff161415610ef4576001915050610f02565b600101610ea2565b50600090505b919050565b60025473ffffffffffffffffffffffffffffffffffffffff163314610f58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135c5565b600154610f91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af9061340f565b60006001556002546040517f5397c02652a688dd1cac8544f233b3daaf96d7a9f974af80b70ab1538359e26191610fe09173ffffffffffffffffffffffffffffffffffffffff909116906133cc565b60405180910390a1565b60068181548110610ffa57600080fd5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b611052828261132a565b600061105e8383611b73565b905061078881611ba0565b7f000000000000000000000000000000000000000000000000000000000000000081565b6104188261109a83611d98565b61132a565b60035473ffffffffffffffffffffffffffffffffffffffff1633146110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613446565b6110f8611309565b1561112f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613520565b600061113a83611db1565b905061114783838361150c565b80156111535750610418565b60006111678461116285611d98565b611de0565b905061117281611ba0565b50505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60025473ffffffffffffffffffffffffffffffffffffffff1633146111eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135c5565b60025460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f3b3f758030fa296b85e15008f79cd22af8ffd2a7dd360d8963dcaf8e9fa2b5ff90600090a3600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60035473ffffffffffffffffffffffffffffffffffffffff1633146112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613446565b6112d2611309565b15611048576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af90613520565b6001546000908015801590428311159082906113225750805b935050505090565b63ffffffff8216600081815260056020526040908190205490519091907fe1cc453e5e6d48a5e3dd7dc6c72117211d2bea20fbb91fd980ebc3e7f73fe546906113769084908690613401565b60405180910390a2816113925761138c83611e08565b50610418565b806113a0576113a083611eaf565b5063ffffffff91909116600090815260056020526040902055565b60008282018381101561142f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b606060006114498360000151611f0f565b905060008173ffffffffffffffffffffffffffffffffffffffff1684602001516040516114769190613324565b6000604051808303816000865af19150503d80600081146114b3576040519150601f19603f3d011682016040523d82523d6000602084013e6114b8565b606091505b5093509050806114f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af9061358e565b5050919050565b600061150630611f12565b15905090565b8061151c5761151a83611603565b505b60008161152a57600061152c565b825b600380547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff8881168202929092177fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff858116918217948590556040519596509094908416937f4daaa39e87dee84708195369c30e97baa0665dc8562ac10535a0f3a9329943aa936115f593909104169089906136e0565b60405180910390a350505050565b63ffffffff811660009081526005602052604090205480610f02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af906135fc565b805160609060006002820167ffffffffffffffff8111801561167157600080fd5b5060405190808252806020026020018201604052801561169b578160200160208202803683370190505b5090506116e9600060016040516020016116b59190613340565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290611872565b816000815181106116f657fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090921660209283029190910182015260405161173c916000916116b59186910161339c565b8160018151811061174957fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009092166020928302919091019091015260005b8281101561181357600085828151811061179357fe5b6020026020010151905060006117c66000836000015184602001515185602001516040516020016116b5939291906132f7565b9050808460028501815181106117d857fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090921660209283029190910190910152505060010161177d565b5061181d81611f18565b949350505050565b60035460009063ffffffff848116740100000000000000000000000000000000000000009092041614801561142f57505063ffffffff919091166000908152600560205260409020541490565b81516000906020840161188d64ffffffffff85168284611f68565b95945050505050565b600060016118a383611fc9565b60ff16148015611432575060406118db7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611ff9565b6bffffffffffffffffffffffff16101592915050565b60006118fc82611896565b156119375761193060015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000084169061200d565b9050610f02565b611432612033565b806001611970815b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000841690612057565b50600061199e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000085166121d7565b905060005b81518110156119d1576119c88282815181106119bb57fe5b6020026020010151611438565b506001016119a3565b5050505050565b600060025b60ff166119e983611fc9565b60ff1614801561143257506025611a217fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611ff9565b6bffffffffffffffffffffffff161492915050565b6000611a41826119d8565b15611937576119306002611907565b806002611a5c81611947565b506000611a8a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000851661237a565b90506000611ac1611abc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000087166123ab565b611f0f565b90506000611ace83611db1565b9050610e9683838361150c565b600060036119dd565b6000611aef82611adb565b15611937576119306003611907565b806003611b0a81611947565b506000611b387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000851661237a565b90506000611b677fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000086166123ab565b90506119d1828261132a565b606061142f611b9b611b966000600387876040516020016116b593929190613355565b6123dc565b612411565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fa92f9d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0a57600080fd5b505afa158015611c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c429190613188565b905060005b60065481101561078857600063ffffffff1660068281548110611c6657fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff1614611d90578173ffffffffffffffffffffffffffffffffffffffff1663d346863960068381548110611cb857fe5b90600052602060002090600891828204019190066004029054906101000a900463ffffffff166005600060068681548110611cef57fe5b6000918252602080832060088304015463ffffffff6004600790941684026101000a909104168452830193909352604091820190205490517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152611d5d939289910161367b565b600060405180830381600087803b158015611d7757600080fd5b505af1158015611d8b573d6000803e3d6000fd5b505050505b600101611c47565b73ffffffffffffffffffffffffffffffffffffffff1690565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff90811691161490565b606061142f611b9b611e036000600287876040516020016116b593929190613355565b612455565b63ffffffff811660009081526005602052604081208190555b600654811015610418578163ffffffff1660068281548110611e3f57fe5b6000918252602090912060088204015460079091166004026101000a900463ffffffff161415611ea45760068181548110611e7657fe5b90600052602060002090600891828204019190066004026101000a81549063ffffffff021916905550611eac565b600101611e21565b50565b600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f6008820401805460079092166004026101000a63ffffffff818102199093169390921691909102919091179055565b90565b3b151590565b6040516060906000611f2d8460208401612463565b90506000611f3a82611ff9565b6bffffffffffffffffffffffff1690506000611f55836124db565b9184525082016020016040525092915050565b600080611f7584846124ef565b9050604051811115611f85575060005b80611fb3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050611fc2565b611fbe858585612561565b9150505b9392505050565b60006114327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316826001612574565b60181c6bffffffffffffffffffffffff1690565b60d81b7affffffffffffffffffffffffffffffffffffffffffffffffffffff9091161790565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090565b60006120638383612595565b6121d0576000612081612075856125b7565b64ffffffffff166125bd565b91505060006120968464ffffffffff166125bd565b604080517f5479706520617373657274696f6e206661696c65642e20476f742030780000006020808301919091527fffffffffffffffffffff0000000000000000000000000000000000000000000060b088811b8216603d8501527f2e20457870656374656420307800000000000000000000000000000000000000604785015285901b1660548301528251603e818403018152605e8301938490527f08c379a000000000000000000000000000000000000000000000000000000000909352606282018181528351608284015283519496509294508493839260a2019185019080838360005b8381101561219557818101518382015260200161217d565b50505050905090810190601f1680156121c25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5090919050565b606060006122097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416600180612574565b9050600061227a60028061223e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816611ff9565b6bffffffffffffffffffffffff160360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816929190612691565b905060008260ff1667ffffffffffffffff8111801561229857600080fd5b506040519080825280602002602001820160405280156122d257816020015b6122bf612f88565b8152602001906001900390816122b75790505b50905060005b60006123057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516611ff9565b6bffffffffffffffffffffffff1611156123715761232283612721565b82828151811061232e57fe5b60209081029190910101515261234383612751565b82828151811061234f57fe5b60200260200101516020018190525061236783612790565b92506001016122d8565b50949350505050565b60006114327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660016004612574565b60006114327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166005602061281b565b60006114326123ea83611ae4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016612989565b606060008061241f84611ff9565b6bffffffffffffffffffffffff16905060405191508192506124448483602001612a03565b508181016020016040529052919050565b60006114326123ea83611a36565b6000604051828111156124765760206060fd5b506000805b84518110156124ce57600085828151811061249257fe5b602002602001015190506124a881848701612a03565b506124b281611ff9565b6bffffffffffffffffffffffff1692909201915060010161247b565b5061181d60008483612561565b60006124e682612b2f565b60200292915050565b8181018281101561143257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60008160200360080260ff1661258b85858561281b565b901c949350505050565b60008164ffffffffff166125a8846125b7565b64ffffffffff16149392505050565b60d81c90565b600080601f5b600f8160ff1611156126255760ff600882021684901c6125e281612b63565b61ffff16841793508160ff166010146125fd57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016125c3565b50600f5b60ff8160ff16101561268b5760ff600882021684901c61264881612b63565b61ffff16831792508160ff1660001461266357601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612629565b50915091565b60008061269d86612b93565b6bffffffffffffffffffffffff1690506126b686612ba7565b6126ca856126c484896124ef565b906124ef565b11156126f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000091505061181d565b61270381866124ef565b90506127178364ffffffffff168286611f68565b9695505050505050565b60006114327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831682602061281b565b6060611432611b9b604061276485612bd1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861691906004612691565b600081600161279e81611947565b5060006127aa85612bd1565b604001905061188d81806127df7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008916611ff9565b6bffffffffffffffffffffffff160360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008916929190612691565b600060ff821661282d57506000611fc2565b61283684611ff9565b6bffffffffffffffffffffffff166128518460ff85166124ef565b11156128f35761289261286385612b93565b6bffffffffffffffffffffffff1661287a86611ff9565b6bffffffffffffffffffffffff16858560ff16612c01565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181815283516024840152835190928392604490910191908501908083836000831561219557818101518382015260200161217d565b60208260ff161115612950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a81526020018061386a603a913960400191505060405180910390fd5b60088202600061295f86612b93565b6bffffffffffffffffffffffff169050600061297a83612d5c565b91909501511695945050505050565b600061299482612da5565b6129ff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f56616c696469747920617373657274696f6e206661696c656400000000000000604482015290519081900360640190fd5b5090565b6000612a0e83612de2565b612a63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806138a46028913960400191505060405180910390fd5b612a6c83612da5565b612ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806138cc602b913960400191505060405180910390fd5b6000612acc84611ff9565b6bffffffffffffffffffffffff1690506000612ae785612b93565b6bffffffffffffffffffffffff1690506000604051905084811115612b0c5760206060fd5b8285848460045afa50612717612b21876125b7565b64ffffffffff168685612561565b60006020612b556020612b4185611ff9565b6bffffffffffffffffffffffff16906124ef565b81612b5c57fe5b0492915050565b6000612b7560048360ff16901c612df4565b60ff161760081b62ffff0016612b8a82612df4565b60ff1617919050565b60781c6bffffffffffffffffffffffff1690565b6000612bb282611ff9565b612bbb83612b93565b016bffffffffffffffffffffffff169050919050565b60006114327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660208061281b565b60606000612c0e866125bd565b9150506000612c1c866125bd565b9150506000612c2a866125bd565b9150506000612c38866125bd565b9150508383838360405160200180806138f7603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a820152605001602161381b82397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b6000612db0826125b7565b64ffffffffff1664ffffffffff1415612dcb57506000610f02565b6000612dd683612ba7565b60405110199392505050565b6000612ded82612f60565b1592915050565b600060f08083179060ff82161415612e10576030915050610f02565b8060ff1660f11415612e26576031915050610f02565b8060ff1660f21415612e3c576032915050610f02565b8060ff1660f31415612e52576033915050610f02565b8060ff1660f41415612e68576034915050610f02565b8060ff1660f51415612e7e576035915050610f02565b8060ff1660f61415612e94576036915050610f02565b8060ff1660f71415612eaa576037915050610f02565b8060ff1660f81415612ec0576038915050610f02565b8060ff1660f91415612ed6576039915050610f02565b8060ff1660fa1415612eec576061915050610f02565b8060ff1660fb1415612f02576062915050610f02565b8060ff1660fc1415612f18576063915050610f02565b8060ff1660fd1415612f2e576064915050610f02565b8060ff1660fe1415612f44576065915050610f02565b8060ff1660ff1415612f5a576066915050610f02565b50919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b60408051808201909152600081526060602082015290565b60008083601f840112612fb1578182fd5b50813567ffffffffffffffff811115612fc8578182fd5b6020830191508360208083028501011115612fe257600080fd5b9250929050565b600082601f830112612ff9578081fd5b813567ffffffffffffffff81111561300d57fe5b61303e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161372a565b818152846020838601011115613052578283fd5b816020850160208301379081016020019190915292915050565b60006040828403121561307d578081fd5b6040516040810167ffffffffffffffff828210818311171561309b57fe5b816040528293508435835260208501359150808211156130ba57600080fd5b506130c785828601612fe9565b6020830152505092915050565b6000602082840312156130e5578081fd5b813561142f816137e6565b60008060408385031215613102578081fd5b823561310d816137e6565b9150602083013561311d816137e6565b809150509250929050565b6000806020838503121561313a578182fd5b823567ffffffffffffffff811115613150578283fd5b61315c85828601612fa0565b90969095509350505050565b600060208284031215613179578081fd5b8151801515811461142f578182fd5b600060208284031215613199578081fd5b815161142f816137e6565b6000602082840312156131b5578081fd5b5035919050565b6000602082840312156131cd578081fd5b813561142f81613808565b6000602082840312156131e9578081fd5b815161142f81613808565b60008060408385031215613206578182fd5b823561310d81613808565b600080600060408486031215613225578081fd5b833561323081613808565b9250602084013567ffffffffffffffff81111561324b578182fd5b61325786828701612fa0565b9497909650939450505050565b60008060408385031215613276578182fd5b823561328181613808565b946020939093013593505050565b6000806000606084860312156132a3578283fd5b83356132ae81613808565b925060208401359150604084013567ffffffffffffffff8111156132d0578182fd5b6132dc86828701612fe9565b9150509250925092565b600581106132f057fe5b60f81b9052565b600084825283602083015282516133158160408501602087016137ba565b91909101604001949350505050565b600082516133368184602087016137ba565b9190910192915050565b600061334c82846132e6565b50600101919050565b600061336182866132e6565b5060e09290921b7fffffffff000000000000000000000000000000000000000000000000000000001660018301526005820152602501919050565b60f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b60208082526016908201527f7265636f76657279206e6f7420696e6974696174656400000000000000000000604082015260600190565b60208082526014908201527f212063616c6c656420627920676f7665726e6f72000000000000000000000000604082015260600190565b6020808252600f908201527f21676f7665726e6f72526f757465720000000000000000000000000000000000604082015260600190565b6020808252818101527f58417070436f6e6e656374696f6e4d616e616765722062616420646f6d61696e604082015260600190565b60208082526008908201527f217265706c696361000000000000000000000000000000000000000000000000604082015260600190565b6020808252600b908201527f696e207265636f76657279000000000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f7265636f7665727920616c726561647920696e69746961746564000000000000604082015260600190565b6020808252600b908201527f63616c6c206661696c6564000000000000000000000000000000000000000000604082015260600190565b6020808252601c908201527f212063616c6c6564206279207265636f76657279206d616e6167657200000000604082015260600190565b60208082526007908201527f21726f7574657200000000000000000000000000000000000000000000000000604082015260600190565b60208082526013908201527f2176616c6964206d657373616765207479706500000000000000000000000000604082015260600190565b63ffffffff91909116815260200190565b600063ffffffff851682528360208301526060604083015282518060608401526136ac8160808501602087016137ba565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01691909101608001949350505050565b63ffffffff92831681529116602082015260400190565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112613336578182fd5b60405181810167ffffffffffffffff8111828210171561374657fe5b604052919050565b600067ffffffffffffffff83111561376257fe5b6020613771818286020161372a565b8481528181019084845b878110156137a257613790368335890161306c565b8452928401929084019060010161377b565b50909695505050505050565b6000611432368361306c565b60005b838110156137d55781810151838201526020016137bd565b838111156111725750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114611eac57600080fd5b63ffffffff81168114611eac57600080fdfe2e20417474656d7074656420746f20696e646578206174206f6666736574203078496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656454797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a2646970667358221220ef3eeecb226d0e03596b6cc1bfaae6be7af7dba1e2b72e1c889e7c8c125107d364736f6c63430007060033"; export class TestGovernanceRouter__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-core/factories/TestHome__factory.ts b/typescript/src/typechain/optics-core/factories/TestHome__factory.ts index 5609f082f..30a1fd113 100644 --- a/typescript/src/typechain/optics-core/factories/TestHome__factory.ts +++ b/typescript/src/typechain/optics-core/factories/TestHome__factory.ts @@ -628,7 +628,7 @@ const _abi = [ ]; const _bytecode = - "0x60a060405234801561001057600080fd5b506040516129263803806129268339818101604052602081101561003357600080fd5b505160e081901b6001600160e01b03191660805263ffffffff166128b361007360003980610a175280610a4d5280610e8752806112b352506128b36000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80639776120e116100f9578063c4d66de811610097578063ebf0c71711610071578063ebf0c717146106e7578063f2fde38b146106ef578063f6d1610214610722578063fd54b2281461072a576101c4565b8063c4d66de8146105f4578063d346863914610627578063df034cd0146106df576101c4565b80639fa6a6e3116100d35780639fa6a6e314610509578063ab91c7b014610511578063b31c01fb14610519578063c19d93fb146105cb576101c4565b80639776120e1461049b5780639d54f419146104ce5780639df6c8e114610501576101c4565b806336e104de11610166578063522ae00211610140578063522ae002146103a85780638d3638f4146103b05780638da5cb5b146103b85780638e4e30e0146103e9576101c4565b806336e104de1461037757806345630b1a146103985780635146366e146103a0576101c4565b8063146901db116101a2578063146901db1461023357806319d9d21a1461023d5780632752e0f41461030a5780632bef289214610346576101c4565b806306661abd146101c95780630be4f422146101e3578063111b3511146101eb575b600080fd5b6101d1610732565b60408051918252519081900360200190f35b6101d1610738565b6102166004803603604081101561020157600080fd5b5063ffffffff81358116916020013516610747565b6040805167ffffffffffffffff9092168252519081900360200190f35b61023b61075c565b005b61023b600480360360a081101561025357600080fd5b813591602081019181019060808101606082013564010000000081111561027957600080fd5b82018360208201111561028b57600080fd5b803590602001918460018302840111640100000000831117156102ad57600080fd5b9193909290916020810190356401000000008111156102cb57600080fd5b8201836020820111156102dd57600080fd5b803590602001918460018302840111640100000000831117156102ff57600080fd5b509092509050610766565b61032d6004803603602081101561032057600080fd5b503563ffffffff166109c3565b6040805163ffffffff9092168252519081900360200190f35b6103636004803603602081101561035c57600080fd5b50356109db565b604080519115158252519081900360200190f35b61037f6109e8565b6040805192835260208301919091528051918290030190f35b6101d1610a10565b6101d1610a3b565b6101d1610a45565b61032d610a4b565b6103c0610a6f565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610363600480360360608110156103ff57600080fd5b81359160208101359181019060608101604082013564010000000081111561042657600080fd5b82018360208201111561043857600080fd5b8035906020019184600183028401116401000000008311171561045a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a8b945050505050565b61023b600480360360208110156104b157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c5e565b61023b600480360360208110156104e457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610cf0565b6103c0610d7f565b6101d1610d9b565b6101d1610da1565b61023b6004803603606081101561052f57600080fd5b81359160208101359181019060608101604082013564010000000081111561055657600080fd5b82018360208201111561056857600080fd5b8035906020019184600183028401116401000000008311171561058a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610dad945050505050565b6105d3610f4b565b604051808260028111156105e357fe5b815260200191505060405180910390f35b61023b6004803603602081101561060a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f6c565b61023b6004803603606081101561063d57600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561066a57600080fd5b82018360208201111561067c57600080fd5b8035906020019184600183028401116401000000008311171561069e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611189945050505050565b6103c061140b565b6101d1611427565b61023b6004803603602081101561070557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611433565b6101d16114c2565b6101d16114ce565b60215490565b6000610742610732565b905090565b600061075383836114d4565b90505b92915050565b6107646114ee565b565b600260245474010000000000000000000000000000000000000000900460ff16600281111561079157fe5b14156107fe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f8601819004810282018101909252848152610840918891883591889088908190840183828082843760009201919091525061152f92505050565b801561088f575061088f86866001602002013584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061152f92505050565b80156108a057508435602086013514155b156109bb576108ad6115c1565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b60266020526000908152604090205463ffffffff1681565b600061075660228361169c565b6000806109f5602261170c565b15610a0c576025549150610a09602261174c565b90505b9091565b60006107427f0000000000000000000000000000000000000000000000000000000000000000611789565b6000610742610a10565b61080081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60285473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260245474010000000000000000000000000000000000000000900460ff166002811115610ab857fe5b1415610b2557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610b3084848461152f565b610b9b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6261642073696700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6025548414610c0b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6e6f7420612063757272656e7420757064617465000000000000000000000000604482015290519081900360640190fd5b610c1660228461169c565b610c5357610c226115c1565b6040517fb015f3b3a7a56304206e1e4d15f0dad9b2914691bbe7ab34e407c53b2700a91b90600090a1506001610c57565b5060005b9392505050565b60285473ffffffffffffffffffffffffffffffffffffffff163314610ce457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610ced816117fe565b50565b60275473ffffffffffffffffffffffffffffffffffffffff163314610d7657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f21757064617465724d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b610ced816118eb565b60275473ffffffffffffffffffffffffffffffffffffffff1681565b60255481565b6000610742602261170c565b600260245474010000000000000000000000000000000000000000900460ff166002811115610dd857fe5b1415610e4557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610e50838383610a8b565b15610e5a57610f46565b6000610e666022611964565b905082811415610e765750610e7c565b50610e5a565b8160258190555081837f000000000000000000000000000000000000000000000000000000000000000063ffffffff167f608828ad904a0c9250c09004ba7226efb08f35a5c815bb3f76b5a8a271cd08b2846040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f0b578181015183820152602001610ef3565b50505050905090810190601f168015610f385780820380516001836020036101000a031916815260200191505b509250505060405180910390a45b505050565b60245474010000000000000000000000000000000000000000900460ff1681565b600054610100900460ff1680610f855750610f85611a9d565b80610f93575060005460ff16155b610fe8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061282e602e913960400191505060405180910390fd5b600054610100900460ff1615801561104e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b61105733611aae565b611060826117fe565b61106a6022611b3c565b602754604080517fdf034cd0000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163df034cd0916004808301926020929190829003018186803b1580156110d557600080fd5b505afa1580156110e9573d6000803e3d6000fd5b505050506040513d60208110156110ff57600080fd5b5051905061110c81611b80565b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f9e5f57e4ee5f9eeac3131028d48f19d80820ce6fa93c4c66cc82a3e2b9837c329181900360200190a150801561118557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b600260245474010000000000000000000000000000000000000000900460ff1660028111156111b457fe5b141561122157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b6108008151111561129357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21746f6f20626967000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b63ffffffff808416600090815260266020526040812054909116906112dc7f00000000000000000000000000000000000000000000000000000000000000003384888888611d0d565b805160208201209091506112f1600182611de3565b6113046112fc611427565b602290611eeb565b508061131087856114d4565b67ffffffffffffffff166001611324610732565b037f1a2a870182b13cdb4a0ec2e16f96df5a0e20b1327d43564f7f0e62992a55bd6c856040518080602001828103825283818151815260200191508051906020019080838360005b8381101561138457818101518382015260200161136c565b50505050905090810190601f1680156113b15780820380516001836020036101000a031916815260200191505b509250505060405180910390a4505063ffffffff938416600090815260266020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016600192909201909416179092555050565b60245473ffffffffffffffffffffffffffffffffffffffff1681565b60006107426001611f58565b60285473ffffffffffffffffffffffffffffffffffffffff1633146114b957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610ced81611aae565b6000610742602261174c565b60215481565b63ffffffff1660209190911b67ffffffff00000000161790565b602480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055565b60008061153a610a10565b858560405160200180848152602001838152602001828152602001935050505060405160208183030381529060405280519060200120905061157b81611f6b565b60245490915073ffffffffffffffffffffffffffffffffffffffff166115a18285611fbc565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b6115c96114ee565b602754604080517f5b3c2cbf000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691635b3c2cbf9160248082019260009290919082900301818387803b15801561163b57600080fd5b505af115801561164f573d6000803e3d6000fd5b505060245460405133935073ffffffffffffffffffffffffffffffffffffffff90911691507f98064af315f26d7333ba107ba43a128ec74345f4d4e6f2549840fe092a1c8bce90600090a3565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168111610c53576000818152600185016020526040902054831415611704576001915050610756565b6001016116b4565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166117448282612056565b949350505050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b6040805160e09290921b7fffffffff00000000000000000000000000000000000000000000000000000000166020808401919091527f4f5054494353000000000000000000000000000000000000000000000000000060248401528151808403600a018152602a909301909152815191012090565b61180781612070565b61187257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f21636f6e747261637420757064617465724d616e616765720000000000000000604482015290519081900360640190fd5b6027805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f958d788fb4c373604cd4c73aa8c592de127d0819b49bb4dc02c8ecd666e965bf9181900360200190a150565b6024805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f9e5f57e4ee5f9eeac3131028d48f19d80820ce6fa93c4c66cc82a3e2b9837c329181900360200190a150565b80546000906fffffffffffffffffffffffffffffffff70010000000000000000000000000000000082048116911661199c8282612056565b611a0757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff8116600090815260018501602052604090205492508215611a58576fffffffffffffffffffffffffffffffff811660009081526001850160205260408120555b83547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001919091016fffffffffffffffffffffffffffffffff1617909255919050565b6000611aa830612070565b15905090565b60285460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3602880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b80546fffffffffffffffffffffffffffffffff16610ced5780547fffffffffffffffffffffffffffffffff0000000000000000000000000000000016600117815550565b600054610100900460ff1680611b995750611b99611a9d565b80611ba7575060005460ff16155b611bfc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061282e602e913960400191505060405180910390fd5b600054610100900460ff16158015611c6257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b602480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416177fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055801561118557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555050565b6060868686868686604051602001808763ffffffff1660e01b81526004018681526020018563ffffffff1660e01b81526004018463ffffffff1660e01b815260040183815260200182805190602001908083835b60208310611d9e57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611d61565b6001836020036101000a038019825116818451168082178552505050505050905001965050505050505060405160208183030381529060405290509695505050505050565b602082015463ffffffff11611e5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c00000000000000000000000000000000604482015290519081900360640190fd5b6020820180546001019081905560005b6020811015611ee8578160011660011415611e955782848260208110611e8b57fe5b0155506111859050565b838160208110611ea157fe5b015483604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120925060028281611edd57fe5b049150600101611e69565b50fe5b81546fffffffffffffffffffffffffffffffff8082167001000000000000000000000000000000009283900482166001019182169092029190911783558115610756576fffffffffffffffffffffffffffffffff8116600090815260019390930160205260409092205590565b600061075682611f66612076565b612537565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461202e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61204c868285856125f5565b9695505050505050565b60019103016fffffffffffffffffffffffffffffffff1690565b3b151590565b61207e6127ec565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6020820154600090815b60208110156125ed57600182821c16600086836020811061255e57fe5b0154905081600114156125a157808560405160200180838152602001828152602001925050506040516020818303038152906040528051906020012094506125e3565b848684602081106125ae57fe5b602002015160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012094505b5050600101612541565b505092915050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115612670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061280c6022913960400191505060405180910390fd5b8360ff16601b148061268557508360ff16601c145b6126da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061285c6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612736573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166127e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b604051806104000160405280602090602082028036833750919291505056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c7565496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c7565a2646970667358221220460634d2de559be0a1623c636eefeb43e9928280b4d27a80c0653e48c6f475c164736f6c63430007060033"; + "0x60a060405234801561001057600080fd5b506040516129263803806129268339818101604052602081101561003357600080fd5b505160e081901b6001600160e01b03191660805263ffffffff166128b361007360003980610a175280610a4d5280610e8752806112b352506128b36000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80639776120e116100f9578063c4d66de811610097578063ebf0c71711610071578063ebf0c717146106e7578063f2fde38b146106ef578063f6d1610214610722578063fd54b2281461072a576101c4565b8063c4d66de8146105f4578063d346863914610627578063df034cd0146106df576101c4565b80639fa6a6e3116100d35780639fa6a6e314610509578063ab91c7b014610511578063b31c01fb14610519578063c19d93fb146105cb576101c4565b80639776120e1461049b5780639d54f419146104ce5780639df6c8e114610501576101c4565b806336e104de11610166578063522ae00211610140578063522ae002146103a85780638d3638f4146103b05780638da5cb5b146103b85780638e4e30e0146103e9576101c4565b806336e104de1461037757806345630b1a146103985780635146366e146103a0576101c4565b8063146901db116101a2578063146901db1461023357806319d9d21a1461023d5780632752e0f41461030a5780632bef289214610346576101c4565b806306661abd146101c95780630be4f422146101e3578063111b3511146101eb575b600080fd5b6101d1610732565b60408051918252519081900360200190f35b6101d1610738565b6102166004803603604081101561020157600080fd5b5063ffffffff81358116916020013516610747565b6040805167ffffffffffffffff9092168252519081900360200190f35b61023b61075c565b005b61023b600480360360a081101561025357600080fd5b813591602081019181019060808101606082013564010000000081111561027957600080fd5b82018360208201111561028b57600080fd5b803590602001918460018302840111640100000000831117156102ad57600080fd5b9193909290916020810190356401000000008111156102cb57600080fd5b8201836020820111156102dd57600080fd5b803590602001918460018302840111640100000000831117156102ff57600080fd5b509092509050610766565b61032d6004803603602081101561032057600080fd5b503563ffffffff166109c3565b6040805163ffffffff9092168252519081900360200190f35b6103636004803603602081101561035c57600080fd5b50356109db565b604080519115158252519081900360200190f35b61037f6109e8565b6040805192835260208301919091528051918290030190f35b6101d1610a10565b6101d1610a3b565b6101d1610a45565b61032d610a4b565b6103c0610a6f565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610363600480360360608110156103ff57600080fd5b81359160208101359181019060608101604082013564010000000081111561042657600080fd5b82018360208201111561043857600080fd5b8035906020019184600183028401116401000000008311171561045a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a8b945050505050565b61023b600480360360208110156104b157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c5e565b61023b600480360360208110156104e457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610cf0565b6103c0610d7f565b6101d1610d9b565b6101d1610da1565b61023b6004803603606081101561052f57600080fd5b81359160208101359181019060608101604082013564010000000081111561055657600080fd5b82018360208201111561056857600080fd5b8035906020019184600183028401116401000000008311171561058a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610dad945050505050565b6105d3610f4b565b604051808260028111156105e357fe5b815260200191505060405180910390f35b61023b6004803603602081101561060a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f6c565b61023b6004803603606081101561063d57600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561066a57600080fd5b82018360208201111561067c57600080fd5b8035906020019184600183028401116401000000008311171561069e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611189945050505050565b6103c061140b565b6101d1611427565b61023b6004803603602081101561070557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611433565b6101d16114c2565b6101d16114ce565b60215490565b6000610742610732565b905090565b600061075383836114d4565b90505b92915050565b6107646114ee565b565b600260245474010000000000000000000000000000000000000000900460ff16600281111561079157fe5b14156107fe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f8601819004810282018101909252848152610840918891883591889088908190840183828082843760009201919091525061152f92505050565b801561088f575061088f86866001602002013584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061152f92505050565b80156108a057508435602086013514155b156109bb576108ad6115c1565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b60266020526000908152604090205463ffffffff1681565b600061075660228361169c565b6000806109f5602261170c565b15610a0c576025549150610a09602261174c565b90505b9091565b60006107427f0000000000000000000000000000000000000000000000000000000000000000611789565b6000610742610a10565b61080081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60285473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260245474010000000000000000000000000000000000000000900460ff166002811115610ab857fe5b1415610b2557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610b3084848461152f565b610b9b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6261642073696700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6025548414610c0b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6e6f7420612063757272656e7420757064617465000000000000000000000000604482015290519081900360640190fd5b610c1660228461169c565b610c5357610c226115c1565b6040517fb015f3b3a7a56304206e1e4d15f0dad9b2914691bbe7ab34e407c53b2700a91b90600090a1506001610c57565b5060005b9392505050565b60285473ffffffffffffffffffffffffffffffffffffffff163314610ce457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610ced816117fe565b50565b60275473ffffffffffffffffffffffffffffffffffffffff163314610d7657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f21757064617465724d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b610ced816118eb565b60275473ffffffffffffffffffffffffffffffffffffffff1681565b60255481565b6000610742602261170c565b600260245474010000000000000000000000000000000000000000900460ff166002811115610dd857fe5b1415610e4557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610e50838383610a8b565b15610e5a57610f46565b6000610e666022611964565b905082811415610e765750610e7c565b50610e5a565b8160258190555081837f000000000000000000000000000000000000000000000000000000000000000063ffffffff167f608828ad904a0c9250c09004ba7226efb08f35a5c815bb3f76b5a8a271cd08b2846040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f0b578181015183820152602001610ef3565b50505050905090810190601f168015610f385780820380516001836020036101000a031916815260200191505b509250505060405180910390a45b505050565b60245474010000000000000000000000000000000000000000900460ff1681565b600054610100900460ff1680610f855750610f85611a9d565b80610f93575060005460ff16155b610fe8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061282e602e913960400191505060405180910390fd5b600054610100900460ff1615801561104e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b61105733611aae565b611060826117fe565b61106a6022611b3c565b602754604080517fdf034cd0000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163df034cd0916004808301926020929190829003018186803b1580156110d557600080fd5b505afa1580156110e9573d6000803e3d6000fd5b505050506040513d60208110156110ff57600080fd5b5051905061110c81611b80565b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f9e5f57e4ee5f9eeac3131028d48f19d80820ce6fa93c4c66cc82a3e2b9837c329181900360200190a150801561118557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b600260245474010000000000000000000000000000000000000000900460ff1660028111156111b457fe5b141561122157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b6108008151111561129357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21746f6f20626967000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b63ffffffff808416600090815260266020526040812054909116906112dc7f00000000000000000000000000000000000000000000000000000000000000003384888888611d0d565b805160208201209091506112f1600182611de3565b6113046112fc611427565b602290611eeb565b508061131087856114d4565b67ffffffffffffffff166001611324610732565b037f1a2a870182b13cdb4a0ec2e16f96df5a0e20b1327d43564f7f0e62992a55bd6c856040518080602001828103825283818151815260200191508051906020019080838360005b8381101561138457818101518382015260200161136c565b50505050905090810190601f1680156113b15780820380516001836020036101000a031916815260200191505b509250505060405180910390a4505063ffffffff938416600090815260266020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016600192909201909416179092555050565b60245473ffffffffffffffffffffffffffffffffffffffff1681565b60006107426001611f58565b60285473ffffffffffffffffffffffffffffffffffffffff1633146114b957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610ced81611aae565b6000610742602261174c565b60215481565b63ffffffff1660209190911b67ffffffff00000000161790565b602480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055565b60008061153a610a10565b858560405160200180848152602001838152602001828152602001935050505060405160208183030381529060405280519060200120905061157b81611f6b565b60245490915073ffffffffffffffffffffffffffffffffffffffff166115a18285611fbc565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b6115c96114ee565b602754604080517f5b3c2cbf000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691635b3c2cbf9160248082019260009290919082900301818387803b15801561163b57600080fd5b505af115801561164f573d6000803e3d6000fd5b505060245460405133935073ffffffffffffffffffffffffffffffffffffffff90911691507f98064af315f26d7333ba107ba43a128ec74345f4d4e6f2549840fe092a1c8bce90600090a3565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168111610c53576000818152600185016020526040902054831415611704576001915050610756565b6001016116b4565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166117448282612056565b949350505050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b6040805160e09290921b7fffffffff00000000000000000000000000000000000000000000000000000000166020808401919091527f4f5054494353000000000000000000000000000000000000000000000000000060248401528151808403600a018152602a909301909152815191012090565b61180781612070565b61187257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f21636f6e747261637420757064617465724d616e616765720000000000000000604482015290519081900360640190fd5b6027805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f958d788fb4c373604cd4c73aa8c592de127d0819b49bb4dc02c8ecd666e965bf9181900360200190a150565b6024805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f9e5f57e4ee5f9eeac3131028d48f19d80820ce6fa93c4c66cc82a3e2b9837c329181900360200190a150565b80546000906fffffffffffffffffffffffffffffffff70010000000000000000000000000000000082048116911661199c8282612056565b611a0757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff8116600090815260018501602052604090205492508215611a58576fffffffffffffffffffffffffffffffff811660009081526001850160205260408120555b83547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001919091016fffffffffffffffffffffffffffffffff1617909255919050565b6000611aa830612070565b15905090565b60285460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3602880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b80546fffffffffffffffffffffffffffffffff16610ced5780547fffffffffffffffffffffffffffffffff0000000000000000000000000000000016600117815550565b600054610100900460ff1680611b995750611b99611a9d565b80611ba7575060005460ff16155b611bfc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061282e602e913960400191505060405180910390fd5b600054610100900460ff16158015611c6257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b602480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416177fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055801561118557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555050565b6060868686868686604051602001808763ffffffff1660e01b81526004018681526020018563ffffffff1660e01b81526004018463ffffffff1660e01b815260040183815260200182805190602001908083835b60208310611d9e57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611d61565b6001836020036101000a038019825116818451168082178552505050505050905001965050505050505060405160208183030381529060405290509695505050505050565b602082015463ffffffff11611e5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c00000000000000000000000000000000604482015290519081900360640190fd5b6020820180546001019081905560005b6020811015611ee8578160011660011415611e955782848260208110611e8b57fe5b0155506111859050565b838160208110611ea157fe5b015483604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120925060028281611edd57fe5b049150600101611e69565b50fe5b81546fffffffffffffffffffffffffffffffff8082167001000000000000000000000000000000009283900482166001019182169092029190911783558115610756576fffffffffffffffffffffffffffffffff8116600090815260019390930160205260409092205590565b600061075682611f66612076565b612537565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461202e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61204c868285856125f5565b9695505050505050565b60019103016fffffffffffffffffffffffffffffffff1690565b3b151590565b61207e6127ec565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6020820154600090815b60208110156125ed57600182821c16600086836020811061255e57fe5b0154905081600114156125a157808560405160200180838152602001828152602001925050506040516020818303038152906040528051906020012094506125e3565b848684602081106125ae57fe5b602002015160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012094505b5050600101612541565b505092915050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115612670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061280c6022913960400191505060405180910390fd5b8360ff16601b148061268557508360ff16601c145b6126da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061285c6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612736573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166127e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b604051806104000160405280602090602082028036833750919291505056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c7565496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c7565a2646970667358221220e8fffc4dbb8ac7fede860c2fdf0c6923eaf7dc2cd719bdc8823842cc7380d57264736f6c63430007060033"; export class TestHome__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-core/factories/TestMessage__factory.ts b/typescript/src/typechain/optics-core/factories/TestMessage__factory.ts index ec60b341b..59d1c406f 100644 --- a/typescript/src/typechain/optics-core/factories/TestMessage__factory.ts +++ b/typescript/src/typechain/optics-core/factories/TestMessage__factory.ts @@ -162,7 +162,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50611605806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c97c703a1161005b578063c97c703a14610350578063cb3eb0e11461046b578063d7a7a72c14610511578063f45387ba146105b757610088565b806319b2107b1461008d5780636dc3c4f71461014c578063985a5c3114610204578063c81aa9c8146102aa575b600080fd5b610133600480360360208110156100a357600080fd5b8101906020810181356401000000008111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460018302840111640100000000831117156100f257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610686945050505050565b6040805163ffffffff9092168252519081900360200190f35b6101f26004803603602081101561016257600080fd5b81019060208101813564010000000081111561017d57600080fd5b82018360208201111561018f57600080fd5b803590602001918460018302840111640100000000831117156101b157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106c4945050505050565b60408051918252519081900360200190f35b6101f26004803603602081101561021a57600080fd5b81019060208101813564010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106fa945050505050565b610133600480360360208110156102c057600080fd5b8101906020810181356401000000008111156102db57600080fd5b8201836020820111156102ed57600080fd5b8035906020019184600183028401116401000000008311171561030f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610730945050505050565b6103f66004803603602081101561036657600080fd5b81019060208101813564010000000081111561038157600080fd5b82018360208201111561039357600080fd5b803590602001918460018302840111640100000000831117156103b557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610766945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610430578181015183820152602001610418565b50505050905090810190601f16801561045d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101336004803603602081101561048157600080fd5b81019060208101813564010000000081111561049c57600080fd5b8201836020820111156104ae57600080fd5b803590602001918460018302840111640100000000831117156104d057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107c7945050505050565b6101f26004803603602081101561052757600080fd5b81019060208101813564010000000081111561054257600080fd5b82018360208201111561055457600080fd5b8035906020019184600183028401116401000000008311171561057657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107fd945050505050565b61065d600480360360208110156105cd57600080fd5b8101906020810181356401000000008111156105e857600080fd5b8201836020820111156105fa57600080fd5b8035906020019184600183028401116401000000008311171561061c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610833945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b60006106bc6106958383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000001661088f565b90505b919050565b60006106bc6106d38383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166108c0565b60006106bc6107098383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166108f1565b60006106bc61073f8383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016610922565b60606106bc6107a0610779846000610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016610953565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166109c4565b60006106bc6107d68383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016610a08565b60006106bc61080c8383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016610a38565b60006106bc6108428383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016610a80565b81516000906020840161088464ffffffffff85168284610a93565b925050505b92915050565b60006106bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660246004610af4565b60006106bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660046020610b15565b60006106bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316602c6020610b15565b60006106bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660286004610af4565b60006106bc604c806109867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616610cc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861692916bffffffffffffffffffffffff91909116036000610cd4565b60606000806109d284610cc0565b6bffffffffffffffffffffffff16905060405191508192506109f78483602001610d66565b508181016020016040529052919050565b60006106bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316826004610af4565b60006106bc610a4683610a08565b610a4f846108c0565b610a588561088f565b610a6186610922565b610a6a876108f1565b610a7b610a7689610953565b6109c4565b610e9c565b60006106bc610a8e836108f1565b610ebf565b600080610aa08484610ec2565b9050604051811115610ab0575060005b80610ade577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610aed565b610ae9858585610f34565b9150505b9392505050565b60008160200360080260ff16610b0b858585610b15565b901c949350505050565b600060ff8216610b2757506000610aed565b610b3084610cc0565b6bffffffffffffffffffffffff16610b4b8460ff8516610ec2565b1115610c2a57610b8c610b5d85610f47565b6bffffffffffffffffffffffff16610b7486610cc0565b6bffffffffffffffffffffffff16858560ff16610f5b565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bef578181015183820152602001610bd7565b50505050905090810190601f168015610c1c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff161115610c87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a81526020018061150e603a913960400191505060405180910390fd5b600882026000610c9686610f47565b6bffffffffffffffffffffffff1690506000610cb1836110b6565b91909501511695945050505050565b60181c6bffffffffffffffffffffffff1690565b600080610ce086610f47565b6bffffffffffffffffffffffff169050610cf9866110ff565b610d0d85610d078489610ec2565b90610ec2565b1115610d3c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610d5e565b610d468186610ec2565b9050610d5a8364ffffffffff168286610a93565b9150505b949350505050565b6000610d7183611129565b610dc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806115486028913960400191505060405180910390fd5b610dcf8361113b565b610e24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611570602b913960400191505060405180910390fd5b6000610e2f84610cc0565b6bffffffffffffffffffffffff1690506000610e4a85610f47565b6bffffffffffffffffffffffff1690506000604051905084811115610e6f5760206060fd5b8285848460045afa50610e92610e8487611178565b64ffffffffff168685610f34565b9695505050505050565b6000610eac87878787878761117e565b8051906020012090509695505050505050565b90565b8181018281101561088957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60781c6bffffffffffffffffffffffff1690565b60606000610f6886611254565b9150506000610f7686611254565b9150506000610f8486611254565b9150506000610f9286611254565b91505083838383604051602001808061159b603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a82015260500160216114ed82397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b600061110a82610cc0565b61111383610f47565b016bffffffffffffffffffffffff169050919050565b600061113482611328565b1592915050565b600061114682611178565b64ffffffffff1664ffffffffff1415611161575060006106bf565b600061116c836110ff565b60405110199392505050565b60d81c90565b6060868686868686604051602001808763ffffffff1660e01b81526004018681526020018563ffffffff1660e01b81526004018463ffffffff1660e01b815260040183815260200182805190602001908083835b6020831061120f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016111d2565b6001836020036101000a038019825116818451168082178552505050505050905001965050505050505060405160208183030381529060405290509695505050505050565b600080601f5b600f8160ff1611156112bc5760ff600882021684901c61127981611350565b61ffff16841793508160ff1660101461129457601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0161125a565b50600f5b60ff8160ff1610156113225760ff600882021684901c6112df81611350565b61ffff16831792508160ff166000146112fa57601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016112c0565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b600061136260048360ff16901c611380565b60ff161760081b62ffff001661137782611380565b60ff1617919050565b600060f08083179060ff8216141561139c5760309150506106bf565b8060ff1660f114156113b25760319150506106bf565b8060ff1660f214156113c85760329150506106bf565b8060ff1660f314156113de5760339150506106bf565b8060ff1660f414156113f45760349150506106bf565b8060ff1660f5141561140a5760359150506106bf565b8060ff1660f614156114205760369150506106bf565b8060ff1660f714156114365760379150506106bf565b8060ff1660f8141561144c5760389150506106bf565b8060ff1660f914156114625760399150506106bf565b8060ff1660fa14156114785760619150506106bf565b8060ff1660fb141561148e5760629150506106bf565b8060ff1660fc14156114a45760639150506106bf565b8060ff1660fd14156114ba5760649150506106bf565b8060ff1660fe14156114d05760659150506106bf565b8060ff1660ff14156114e65760669150506106bf565b5091905056fe2e20417474656d7074656420746f20696e646578206174206f666673657420307854797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a26469706673582212204e623fbc27b005d5ab6cf5e78f720d8d43195b1b7eff69010fc9b98edac12f1664736f6c63430007060033"; + "0x608060405234801561001057600080fd5b50611605806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c97c703a1161005b578063c97c703a14610350578063cb3eb0e11461046b578063d7a7a72c14610511578063f45387ba146105b757610088565b806319b2107b1461008d5780636dc3c4f71461014c578063985a5c3114610204578063c81aa9c8146102aa575b600080fd5b610133600480360360208110156100a357600080fd5b8101906020810181356401000000008111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460018302840111640100000000831117156100f257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610686945050505050565b6040805163ffffffff9092168252519081900360200190f35b6101f26004803603602081101561016257600080fd5b81019060208101813564010000000081111561017d57600080fd5b82018360208201111561018f57600080fd5b803590602001918460018302840111640100000000831117156101b157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106c4945050505050565b60408051918252519081900360200190f35b6101f26004803603602081101561021a57600080fd5b81019060208101813564010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106fa945050505050565b610133600480360360208110156102c057600080fd5b8101906020810181356401000000008111156102db57600080fd5b8201836020820111156102ed57600080fd5b8035906020019184600183028401116401000000008311171561030f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610730945050505050565b6103f66004803603602081101561036657600080fd5b81019060208101813564010000000081111561038157600080fd5b82018360208201111561039357600080fd5b803590602001918460018302840111640100000000831117156103b557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610766945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610430578181015183820152602001610418565b50505050905090810190601f16801561045d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101336004803603602081101561048157600080fd5b81019060208101813564010000000081111561049c57600080fd5b8201836020820111156104ae57600080fd5b803590602001918460018302840111640100000000831117156104d057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107c7945050505050565b6101f26004803603602081101561052757600080fd5b81019060208101813564010000000081111561054257600080fd5b82018360208201111561055457600080fd5b8035906020019184600183028401116401000000008311171561057657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107fd945050505050565b61065d600480360360208110156105cd57600080fd5b8101906020810181356401000000008111156105e857600080fd5b8201836020820111156105fa57600080fd5b8035906020019184600183028401116401000000008311171561061c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610833945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b60006106bc6106958383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000001661088f565b90505b919050565b60006106bc6106d38383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166108c0565b60006106bc6107098383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166108f1565b60006106bc61073f8383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016610922565b60606106bc6107a0610779846000610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016610953565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166109c4565b60006106bc6107d68383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016610a08565b60006106bc61080c8383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016610a38565b60006106bc6108428383610869565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016610a80565b81516000906020840161088464ffffffffff85168284610a93565b925050505b92915050565b60006106bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660246004610af4565b60006106bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660046020610b15565b60006106bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316602c6020610b15565b60006106bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660286004610af4565b60006106bc604c806109867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616610cc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861692916bffffffffffffffffffffffff91909116036000610cd4565b60606000806109d284610cc0565b6bffffffffffffffffffffffff16905060405191508192506109f78483602001610d66565b508181016020016040529052919050565b60006106bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316826004610af4565b60006106bc610a4683610a08565b610a4f846108c0565b610a588561088f565b610a6186610922565b610a6a876108f1565b610a7b610a7689610953565b6109c4565b610e9c565b60006106bc610a8e836108f1565b610ebf565b600080610aa08484610ec2565b9050604051811115610ab0575060005b80610ade577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610aed565b610ae9858585610f34565b9150505b9392505050565b60008160200360080260ff16610b0b858585610b15565b901c949350505050565b600060ff8216610b2757506000610aed565b610b3084610cc0565b6bffffffffffffffffffffffff16610b4b8460ff8516610ec2565b1115610c2a57610b8c610b5d85610f47565b6bffffffffffffffffffffffff16610b7486610cc0565b6bffffffffffffffffffffffff16858560ff16610f5b565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bef578181015183820152602001610bd7565b50505050905090810190601f168015610c1c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff161115610c87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a81526020018061150e603a913960400191505060405180910390fd5b600882026000610c9686610f47565b6bffffffffffffffffffffffff1690506000610cb1836110b6565b91909501511695945050505050565b60181c6bffffffffffffffffffffffff1690565b600080610ce086610f47565b6bffffffffffffffffffffffff169050610cf9866110ff565b610d0d85610d078489610ec2565b90610ec2565b1115610d3c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610d5e565b610d468186610ec2565b9050610d5a8364ffffffffff168286610a93565b9150505b949350505050565b6000610d7183611129565b610dc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806115486028913960400191505060405180910390fd5b610dcf8361113b565b610e24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611570602b913960400191505060405180910390fd5b6000610e2f84610cc0565b6bffffffffffffffffffffffff1690506000610e4a85610f47565b6bffffffffffffffffffffffff1690506000604051905084811115610e6f5760206060fd5b8285848460045afa50610e92610e8487611178565b64ffffffffff168685610f34565b9695505050505050565b6000610eac87878787878761117e565b8051906020012090509695505050505050565b90565b8181018281101561088957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60781c6bffffffffffffffffffffffff1690565b60606000610f6886611254565b9150506000610f7686611254565b9150506000610f8486611254565b9150506000610f9286611254565b91505083838383604051602001808061159b603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a82015260500160216114ed82397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b600061110a82610cc0565b61111383610f47565b016bffffffffffffffffffffffff169050919050565b600061113482611328565b1592915050565b600061114682611178565b64ffffffffff1664ffffffffff1415611161575060006106bf565b600061116c836110ff565b60405110199392505050565b60d81c90565b6060868686868686604051602001808763ffffffff1660e01b81526004018681526020018563ffffffff1660e01b81526004018463ffffffff1660e01b815260040183815260200182805190602001908083835b6020831061120f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016111d2565b6001836020036101000a038019825116818451168082178552505050505050905001965050505050505060405160208183030381529060405290509695505050505050565b600080601f5b600f8160ff1611156112bc5760ff600882021684901c61127981611350565b61ffff16841793508160ff1660101461129457601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0161125a565b50600f5b60ff8160ff1610156113225760ff600882021684901c6112df81611350565b61ffff16831792508160ff166000146112fa57601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016112c0565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b600061136260048360ff16901c611380565b60ff161760081b62ffff001661137782611380565b60ff1617919050565b600060f08083179060ff8216141561139c5760309150506106bf565b8060ff1660f114156113b25760319150506106bf565b8060ff1660f214156113c85760329150506106bf565b8060ff1660f314156113de5760339150506106bf565b8060ff1660f414156113f45760349150506106bf565b8060ff1660f5141561140a5760359150506106bf565b8060ff1660f614156114205760369150506106bf565b8060ff1660f714156114365760379150506106bf565b8060ff1660f8141561144c5760389150506106bf565b8060ff1660f914156114625760399150506106bf565b8060ff1660fa14156114785760619150506106bf565b8060ff1660fb141561148e5760629150506106bf565b8060ff1660fc14156114a45760639150506106bf565b8060ff1660fd14156114ba5760649150506106bf565b8060ff1660fe14156114d05760659150506106bf565b8060ff1660ff14156114e65760669150506106bf565b5091905056fe2e20417474656d7074656420746f20696e646578206174206f666673657420307854797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a2646970667358221220f99451b0de53a17076ae65fbf49be552b1ea00b329ed83c9dc788625bc43f13764736f6c63430007060033"; export class TestMessage__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-core/factories/TestReplica__factory.ts b/typescript/src/typechain/optics-core/factories/TestReplica__factory.ts index 209be4ea6..b9e465576 100644 --- a/typescript/src/typechain/optics-core/factories/TestReplica__factory.ts +++ b/typescript/src/typechain/optics-core/factories/TestReplica__factory.ts @@ -661,7 +661,7 @@ const _abi = [ ]; const _bytecode = - "0x60a060405234801561001057600080fd5b5060405161341e38038061341e8339818101604052602081101561003357600080fd5b505160e081901b6001600160e01b03191660805263ffffffff166133b561006960003980610ffb528061106252506133b56000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c8063928bc4b21161012a578063b31c01fb116100bd578063bf30a55d1161008c578063d88beda211610071578063d88beda2146108cd578063df034cd0146108d5578063f6d161021461090657610226565b8063bf30a55d14610870578063c19d93fb146108c557610226565b8063b31c01fb146106ef578063b61c19e8146107a1578063b80777ea14610847578063ba739a621461084f57610226565b80639d54f419116100f95780639d54f4191461068f5780639fa6a6e3146106c2578063a3f81d68146106ca578063ab91c7b0146106e757610226565b8063928bc4b214610511578063961681dc146105b757806396ae1a89146105bf5780639868a2731461066557610226565b806339992668116101bd57806351d7bcd71161018c5780637022b58e116101715780637022b58e146104e457806371bfb7b8146104ec5780638d3638f41461050957610226565b806351d7bcd7146104135780636188af0e1461043657610226565b806339992668146103da57806345630b1a146103e2578063456d0672146103ea5780635146366e1461040b57610226565b806325e3beda116101f957806325e3beda1461033b5780632bbd59ca146103555780632bef289214610393578063371d3071146103b057610226565b8063016bcc351461022b578063146901db1461024a57806314cfabb31461025257806319d9d21a1461026e575b600080fd5b6102486004803603602081101561024157600080fd5b503561090e565b005b610248610925565b61025a61092f565b604080519115158252519081900360200190f35b610248600480360360a081101561028457600080fd5b81359160208101918101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b9193909290916020810190356401000000008111156102fc57600080fd5b82018360208201111561030e57600080fd5b8035906020019184600183028401116401000000008311171561033057600080fd5b50909250905061095b565b610343610bba565b60408051918252519081900360200190f35b6103726004803603602081101561036b57600080fd5b5035610bc0565b6040518082600281111561038257fe5b815260200191505060405180910390f35b61025a600480360360208110156103a957600080fd5b5035610bd5565b61025a60048036036104408110156103c757600080fd5b5080359060208101906104200135610bea565b610343610d0a565b610343610d10565b6103f2610d25565b6040805163ffffffff9092168252519081900360200190f35b610343610d31565b6102486004803603602081101561042957600080fd5b503563ffffffff16610d3b565b610248600480360361044081101561044d57600080fd5b81019060208101813564010000000081111561046857600080fd5b82018360208201111561047a57600080fd5b8035906020019184600183028401116401000000008311171561049c57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955092935050506104008201359050610d72565b610248610dfe565b6103436004803603602081101561050257600080fd5b5035610fe7565b6103f2610ff9565b61025a6004803603602081101561052757600080fd5b81019060208101813564010000000081111561054257600080fd5b82018360208201111561055457600080fd5b8035906020019184600183028401116401000000008311171561057657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061101d945050505050565b6103f26115ed565b61025a600480360360208110156105d557600080fd5b8101906020810181356401000000008111156105f057600080fd5b82018360208201111561060257600080fd5b8035906020019184600183028401116401000000008311171561062457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506115f9945050505050565b610343600480360361044081101561067c57600080fd5b5080359060208101906104200135611604565b610248600480360360208110156106a557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611642565b61034361168f565b61025a600480360360208110156106e057600080fd5b5035611695565b6103436116bc565b6102486004803603606081101561070557600080fd5b81359160208101359181019060608101604082013564010000000081111561072c57600080fd5b82018360208201111561073e57600080fd5b8035906020019184600183028401116401000000008311171561076057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506116c8945050505050565b610248600480360360208110156107b757600080fd5b8101906020810181356401000000008111156107d257600080fd5b8201836020820111156107e457600080fd5b8035906020019184600183028401116401000000008311171561080657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506119ae945050505050565b610343611a38565b610857611a3c565b6040805192835260208301919091528051918290030190f35b610248600480360360a081101561088657600080fd5b5063ffffffff813581169173ffffffffffffffffffffffffffffffffffffffff6020820135169160408201359160608101359160809091013516611a8a565b610372611c2e565b610343611c51565b6108dd611c58565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610343611c7a565b600181815560009182526007602052604090912055565b61092d611c86565b565b600061093b6002611cc9565b1580159061095657506109566109516002611d01565b611695565b905090565b6002600054760100000000000000000000000000000000000000000000900460ff16600281111561098857fe5b14156109f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f8601819004810282018101909252848152610a379188918835918890889081908401838280828437600092019190915250611da292505050565b8015610a865750610a8686866001602002013584848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611da292505050565b8015610a9757508435602086013514155b15610bb257610aa4610925565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b61271081565b60086020526000908152604090205460ff1681565b6000610be2600283611e3a565b90505b919050565b60008060008581526008602052604090205460ff166002811115610c0a57fe5b14610c7657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f214d6573736167655374617475732e4e6f6e6500000000000000000000000000604482015290519081900360640190fd5b6000610cac858560208060200260405190810160405280929190826020800280828437600092019190915250879150611eb69050565b9050610cb781611695565b15610cfd575050600083815260086020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155610d03565b60009150505b9392505050565b60055481565b6004546000906109569063ffffffff16611f61565b60065463ffffffff1681565b6000610956610d10565b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff92909216919091179055565b610d8483805190602001208383610bea565b610def57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f2170726f76650000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610df88361101d565b50505050565b6002600054760100000000000000000000000000000000000000000000900460ff166002811115610e2b57fe5b1415610e9857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610ea26002611cc9565b610f0d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2170656e64696e67000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080610f1a6002611cc9565b90505b600081118015610f355750610f356109516002611d01565b15610f6d57610f446002611fd6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610f1d565b81610fd957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f2174696d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610fe161092d565b50600155565b60076020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061102a838261210f565b905060006110597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612133565b905063ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166110ad7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416612164565b63ffffffff161461111f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e0000000000000000000000000000000000000000604482015290519081900360640190fd5b60065463ffffffff82811691161461119857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f2173657175656e63650000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001845160208087019190912060009081526008909152604090205460ff1660028111156111c257fe5b1461122e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2170656e64696e67000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60026008600061125f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616612195565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360028111156112a157fe5b02179055506207c8305a101561131a57604080517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048083019190915260248201527f2167617300000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60006113477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000084166121d4565b905073ffffffffffffffffffffffffffffffffffffffff81166356d5d4756207a1206113947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000087166121e7565b6113bf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816612217565b6114146113ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008a16612248565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166122b9565b6040518563ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561147257818101518382015260200161145a565b50505050905090810190601f16801561149f5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600088803b1580156114c057600080fd5b5087f1935050505080156114d2575060015b6115a9573d808015611500576040519150601f19603f3d011682016040523d82523d6000602084013e611505565b606091505b50600094507f3c688a5f4cd6e38b537641d2b38bdf1f52e7da4d083c5c3b16a0847c1c7c642d816040518080602001828103825283818151815260200191508051906020019080838360005b83811015611569578181015183820152602001611551565b50505050905090810190601f1680156115965780820380516001836020036101000a031916815260200191505b509250505060405180910390a1506115ae565b600193505b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001660019290920163ffffffff1691909117905550919050565b60045463ffffffff1681565b6000610be28261101d565b600061163a848460208060200260405190810160405280929190826020800280828437600092019190915250869150611eb69050565b949350505050565b6000805473ffffffffffffffffffffffffffffffffffffffff90921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b60015481565b600081815260076020526040812054806116b3576000915050610be5565b42101592915050565b60006109566002611cc9565b6002600054760100000000000000000000000000000000000000000000900460ff1660028111156116f557fe5b141561176257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b600061176e6002611cc9565b11156117f05761177e60026122fd565b83146117eb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6e6f7420656e64206f6620717565756500000000000000000000000000000000604482015290519081900360640190fd5b611860565b826001541461186057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f742063757272656e74207570646174650000000000000000000000000000604482015290519081900360640190fd5b61186b838383611da2565b6118d657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6261642073696700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6118de61092d565b600554600083815260076020526040902042909101905561190060028361233a565b5060045460408051602080825284518183015284518694889463ffffffff909116937f608828ad904a0c9250c09004ba7226efb08f35a5c815bb3f76b5a8a271cd08b2938893919283929083019185019080838360005b8381101561196f578181015183820152602001611957565b50505050905090810190601f16801561199c5780820380516001836020036101000a031916815260200191505b509250505060405180910390a4505050565b60006119ba828261210f565b90506001600860006119ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516612195565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115611a2f57fe5b02179055505050565b4290565b600080611a496002611cc9565b15611a7157611a586002611d01565b6000818152600760205260409020549092509050611a86565b50506001546000818152600760205260409020545b9091565b600054610100900460ff1680611aa35750611aa36123a7565b80611ab1575060005460ff16155b611b06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061326e602e913960400191505060405180910390fd5b600054610100900460ff16158015611b6c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff8816179055611ba660026123b8565b60018481556000858152600760205260409020556005839055600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff8416179055611bf8856123fd565b8015610bb257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050505050565b600054760100000000000000000000000000000000000000000000900460ff1681565b6207a12081565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1681565b600061095660026122fd565b600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760200000000000000000000000000000000000000000000179055565b80546000906fffffffffffffffffffffffffffffffff70010000000000000000000000000000000082048116911661163a8282612592565b6000611d0c826125ac565b15611d7857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5080546fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b600080611dad610d10565b8585604051602001808481526020018381526020018281526020019350505050604051602081830303815290604052805190602001209050611dee816125db565b60005490915062010000900473ffffffffffffffffffffffffffffffffffffffff16611e1a828561262c565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168111611eaa576000818152600185016020526040902054831415611ea2576001915050611eb0565b600101611e52565b50600090505b92915050565b8260005b6020811015611f5957600183821c166000858360208110611ed757fe5b602002015190508160011415611f1d5780846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209350611f4f565b838160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012093505b5050600101611eba565b509392505050565b6040805160e09290921b7fffffffff00000000000000000000000000000000000000000000000000000000166020808401919091527f4f5054494353000000000000000000000000000000000000000000000000000060248401528151808403600a018152602a909301909152815191012090565b80546000906fffffffffffffffffffffffffffffffff70010000000000000000000000000000000082048116911661200e8282612592565b61207957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff81166000908152600185016020526040902054925082156120ca576fffffffffffffffffffffffffffffffff811660009081526001850160205260408120555b83547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001919091016fffffffffffffffffffffffffffffffff1617909255919050565b81516000906020840161212a64ffffffffff851682846126c6565b95945050505050565b6000610be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166024600461271c565b6000610be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166028600461271c565b6000806121a18361273d565b6bffffffffffffffffffffffff16905060006121bc84612751565b6bffffffffffffffffffffffff169091209392505050565b6000610be26121e283612765565b612796565b6000610be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831682600461271c565b6000610be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660046020612799565b6000610be2604c8061227b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616612751565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861692916bffffffffffffffffffffffff91909116036000612944565b60606000806122c784612751565b6bffffffffffffffffffffffff16905060405191508192506122ec84836020016129ca565b508181016020016040529052919050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b81546fffffffffffffffffffffffffffffffff8082167001000000000000000000000000000000009283900482166001019182169092029190911783558115611eb0576fffffffffffffffffffffffffffffffff8116600090815260019390930160205260409092205590565b60006123b230612af6565b15905090565b80546fffffffffffffffffffffffffffffffff166123fa5780547fffffffffffffffffffffffffffffffff000000000000000000000000000000001660011781555b50565b600054610100900460ff168061241657506124166123a7565b80612424575060005460ff16155b612479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061326e602e913960400191505060405180910390fd5b600054610100900460ff161580156124df57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff851602177fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760100000000000000000000000000000000000000000000179055801561258e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b60019103016fffffffffffffffffffffffffffffffff1690565b546fffffffffffffffffffffffffffffffff808216700100000000000000000000000000000000909204161090565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461269e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a6126bc86828585612afc565b9695505050505050565b6000806126d38484612cea565b90506040518111156126e3575060005b80612711577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610d03565b61212a858585612d5c565b60008160200360080260ff16612733858585612799565b901c949350505050565b60781c6bffffffffffffffffffffffff1690565b60181c6bffffffffffffffffffffffff1690565b6000610be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316602c6020612799565b90565b600060ff82166127ab57506000610d03565b6127b484612751565b6bffffffffffffffffffffffff166127cf8460ff8516612cea565b11156128ae576128106127e18561273d565b6bffffffffffffffffffffffff166127f886612751565b6bffffffffffffffffffffffff16858560ff16612d6f565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561287357818101518382015260200161285b565b50505050905090810190601f1680156128a05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff16111561290b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806132be603a913960400191505060405180910390fd5b60088202600061291a8661273d565b6bffffffffffffffffffffffff169050600061293583612eca565b91909501511695945050505050565b6000806129508661273d565b6bffffffffffffffffffffffff16905061296986612f13565b61297d856129778489612cea565b90612cea565b11156129ac577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000091505061163a565b6129b68186612cea565b90506126bc8364ffffffffff1682866126c6565b60006129d583612f3d565b612a2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806132f86028913960400191505060405180910390fd5b612a3383612f4f565b612a88576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613320602b913960400191505060405180910390fd5b6000612a9384612751565b6bffffffffffffffffffffffff1690506000612aae8561273d565b6bffffffffffffffffffffffff1690506000604051905084811115612ad35760206060fd5b8285848460045afa506126bc612ae887612f8c565b64ffffffffff168685612d5c565b3b151590565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115612b77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061322b6022913960400191505060405180910390fd5b8360ff16601b1480612b8c57508360ff16601c145b612be1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061329c6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612c3d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661212a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b81810182811015611eb057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60606000612d7c86612f92565b9150506000612d8a86612f92565b9150506000612d9886612f92565b9150506000612da686612f92565b91505083838383604051602001808061334b603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a820152605001602161324d82397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b6000612f1e82612751565b612f278361273d565b016bffffffffffffffffffffffff169050919050565b6000612f4882613066565b1592915050565b6000612f5a82612f8c565b64ffffffffff1664ffffffffff1415612f7557506000610be5565b6000612f8083612f13565b60405110199392505050565b60d81c90565b600080601f5b600f8160ff161115612ffa5760ff600882021684901c612fb78161308e565b61ffff16841793508160ff16601014612fd257601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612f98565b50600f5b60ff8160ff1610156130605760ff600882021684901c61301d8161308e565b61ffff16831792508160ff1660001461303857601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612ffe565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b60006130a060048360ff16901c6130be565b60ff161760081b62ffff00166130b5826130be565b60ff1617919050565b600060f08083179060ff821614156130da576030915050610be5565b8060ff1660f114156130f0576031915050610be5565b8060ff1660f21415613106576032915050610be5565b8060ff1660f3141561311c576033915050610be5565b8060ff1660f41415613132576034915050610be5565b8060ff1660f51415613148576035915050610be5565b8060ff1660f6141561315e576036915050610be5565b8060ff1660f71415613174576037915050610be5565b8060ff1660f8141561318a576038915050610be5565b8060ff1660f914156131a0576039915050610be5565b8060ff1660fa14156131b6576061915050610be5565b8060ff1660fb14156131cc576062915050610be5565b8060ff1660fc14156131e2576063915050610be5565b8060ff1660fd14156131f8576064915050610be5565b8060ff1660fe141561320e576065915050610be5565b8060ff1660ff1415613224576066915050610be5565b5091905056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c75652e20417474656d7074656420746f20696e646578206174206f6666736574203078496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c756554797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a2646970667358221220bed233c3a753e0478cc1352d523ac67bee62c6ad7aa74de40ba0988abdf4029764736f6c63430007060033"; + "0x60a060405234801561001057600080fd5b5060405161341e38038061341e8339818101604052602081101561003357600080fd5b505160e081901b6001600160e01b03191660805263ffffffff166133b561006960003980610ffb528061106252506133b56000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c8063928bc4b21161012a578063b31c01fb116100bd578063bf30a55d1161008c578063d88beda211610071578063d88beda2146108cd578063df034cd0146108d5578063f6d161021461090657610226565b8063bf30a55d14610870578063c19d93fb146108c557610226565b8063b31c01fb146106ef578063b61c19e8146107a1578063b80777ea14610847578063ba739a621461084f57610226565b80639d54f419116100f95780639d54f4191461068f5780639fa6a6e3146106c2578063a3f81d68146106ca578063ab91c7b0146106e757610226565b8063928bc4b214610511578063961681dc146105b757806396ae1a89146105bf5780639868a2731461066557610226565b806339992668116101bd57806351d7bcd71161018c5780637022b58e116101715780637022b58e146104e457806371bfb7b8146104ec5780638d3638f41461050957610226565b806351d7bcd7146104135780636188af0e1461043657610226565b806339992668146103da57806345630b1a146103e2578063456d0672146103ea5780635146366e1461040b57610226565b806325e3beda116101f957806325e3beda1461033b5780632bbd59ca146103555780632bef289214610393578063371d3071146103b057610226565b8063016bcc351461022b578063146901db1461024a57806314cfabb31461025257806319d9d21a1461026e575b600080fd5b6102486004803603602081101561024157600080fd5b503561090e565b005b610248610925565b61025a61092f565b604080519115158252519081900360200190f35b610248600480360360a081101561028457600080fd5b81359160208101918101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b9193909290916020810190356401000000008111156102fc57600080fd5b82018360208201111561030e57600080fd5b8035906020019184600183028401116401000000008311171561033057600080fd5b50909250905061095b565b610343610bba565b60408051918252519081900360200190f35b6103726004803603602081101561036b57600080fd5b5035610bc0565b6040518082600281111561038257fe5b815260200191505060405180910390f35b61025a600480360360208110156103a957600080fd5b5035610bd5565b61025a60048036036104408110156103c757600080fd5b5080359060208101906104200135610bea565b610343610d0a565b610343610d10565b6103f2610d25565b6040805163ffffffff9092168252519081900360200190f35b610343610d31565b6102486004803603602081101561042957600080fd5b503563ffffffff16610d3b565b610248600480360361044081101561044d57600080fd5b81019060208101813564010000000081111561046857600080fd5b82018360208201111561047a57600080fd5b8035906020019184600183028401116401000000008311171561049c57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955092935050506104008201359050610d72565b610248610dfe565b6103436004803603602081101561050257600080fd5b5035610fe7565b6103f2610ff9565b61025a6004803603602081101561052757600080fd5b81019060208101813564010000000081111561054257600080fd5b82018360208201111561055457600080fd5b8035906020019184600183028401116401000000008311171561057657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061101d945050505050565b6103f26115ed565b61025a600480360360208110156105d557600080fd5b8101906020810181356401000000008111156105f057600080fd5b82018360208201111561060257600080fd5b8035906020019184600183028401116401000000008311171561062457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506115f9945050505050565b610343600480360361044081101561067c57600080fd5b5080359060208101906104200135611604565b610248600480360360208110156106a557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611642565b61034361168f565b61025a600480360360208110156106e057600080fd5b5035611695565b6103436116bc565b6102486004803603606081101561070557600080fd5b81359160208101359181019060608101604082013564010000000081111561072c57600080fd5b82018360208201111561073e57600080fd5b8035906020019184600183028401116401000000008311171561076057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506116c8945050505050565b610248600480360360208110156107b757600080fd5b8101906020810181356401000000008111156107d257600080fd5b8201836020820111156107e457600080fd5b8035906020019184600183028401116401000000008311171561080657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506119ae945050505050565b610343611a38565b610857611a3c565b6040805192835260208301919091528051918290030190f35b610248600480360360a081101561088657600080fd5b5063ffffffff813581169173ffffffffffffffffffffffffffffffffffffffff6020820135169160408201359160608101359160809091013516611a8a565b610372611c2e565b610343611c51565b6108dd611c58565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610343611c7a565b600181815560009182526007602052604090912055565b61092d611c86565b565b600061093b6002611cc9565b1580159061095657506109566109516002611d01565b611695565b905090565b6002600054760100000000000000000000000000000000000000000000900460ff16600281111561098857fe5b14156109f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f8601819004810282018101909252848152610a379188918835918890889081908401838280828437600092019190915250611da292505050565b8015610a865750610a8686866001602002013584848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611da292505050565b8015610a9757508435602086013514155b15610bb257610aa4610925565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b61271081565b60086020526000908152604090205460ff1681565b6000610be2600283611e3a565b90505b919050565b60008060008581526008602052604090205460ff166002811115610c0a57fe5b14610c7657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f214d6573736167655374617475732e4e6f6e6500000000000000000000000000604482015290519081900360640190fd5b6000610cac858560208060200260405190810160405280929190826020800280828437600092019190915250879150611eb69050565b9050610cb781611695565b15610cfd575050600083815260086020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155610d03565b60009150505b9392505050565b60055481565b6004546000906109569063ffffffff16611f61565b60065463ffffffff1681565b6000610956610d10565b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff92909216919091179055565b610d8483805190602001208383610bea565b610def57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f2170726f76650000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610df88361101d565b50505050565b6002600054760100000000000000000000000000000000000000000000900460ff166002811115610e2b57fe5b1415610e9857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610ea26002611cc9565b610f0d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2170656e64696e67000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080610f1a6002611cc9565b90505b600081118015610f355750610f356109516002611d01565b15610f6d57610f446002611fd6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610f1d565b81610fd957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f2174696d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610fe161092d565b50600155565b60076020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061102a838261210f565b905060006110597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612133565b905063ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166110ad7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416612164565b63ffffffff161461111f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e0000000000000000000000000000000000000000604482015290519081900360640190fd5b60065463ffffffff82811691161461119857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f2173657175656e63650000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001845160208087019190912060009081526008909152604090205460ff1660028111156111c257fe5b1461122e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2170656e64696e67000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60026008600061125f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616612195565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360028111156112a157fe5b02179055506207c8305a101561131a57604080517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048083019190915260248201527f2167617300000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60006113477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000084166121d4565b905073ffffffffffffffffffffffffffffffffffffffff81166356d5d4756207a1206113947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000087166121e7565b6113bf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816612217565b6114146113ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008a16612248565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166122b9565b6040518563ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561147257818101518382015260200161145a565b50505050905090810190601f16801561149f5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600088803b1580156114c057600080fd5b5087f1935050505080156114d2575060015b6115a9573d808015611500576040519150601f19603f3d011682016040523d82523d6000602084013e611505565b606091505b50600094507f3c688a5f4cd6e38b537641d2b38bdf1f52e7da4d083c5c3b16a0847c1c7c642d816040518080602001828103825283818151815260200191508051906020019080838360005b83811015611569578181015183820152602001611551565b50505050905090810190601f1680156115965780820380516001836020036101000a031916815260200191505b509250505060405180910390a1506115ae565b600193505b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001660019290920163ffffffff1691909117905550919050565b60045463ffffffff1681565b6000610be28261101d565b600061163a848460208060200260405190810160405280929190826020800280828437600092019190915250869150611eb69050565b949350505050565b6000805473ffffffffffffffffffffffffffffffffffffffff90921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b60015481565b600081815260076020526040812054806116b3576000915050610be5565b42101592915050565b60006109566002611cc9565b6002600054760100000000000000000000000000000000000000000000900460ff1660028111156116f557fe5b141561176257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b600061176e6002611cc9565b11156117f05761177e60026122fd565b83146117eb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6e6f7420656e64206f6620717565756500000000000000000000000000000000604482015290519081900360640190fd5b611860565b826001541461186057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f742063757272656e74207570646174650000000000000000000000000000604482015290519081900360640190fd5b61186b838383611da2565b6118d657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6261642073696700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6118de61092d565b600554600083815260076020526040902042909101905561190060028361233a565b5060045460408051602080825284518183015284518694889463ffffffff909116937f608828ad904a0c9250c09004ba7226efb08f35a5c815bb3f76b5a8a271cd08b2938893919283929083019185019080838360005b8381101561196f578181015183820152602001611957565b50505050905090810190601f16801561199c5780820380516001836020036101000a031916815260200191505b509250505060405180910390a4505050565b60006119ba828261210f565b90506001600860006119ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516612195565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115611a2f57fe5b02179055505050565b4290565b600080611a496002611cc9565b15611a7157611a586002611d01565b6000818152600760205260409020549092509050611a86565b50506001546000818152600760205260409020545b9091565b600054610100900460ff1680611aa35750611aa36123a7565b80611ab1575060005460ff16155b611b06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061326e602e913960400191505060405180910390fd5b600054610100900460ff16158015611b6c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff8816179055611ba660026123b8565b60018481556000858152600760205260409020556005839055600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff8416179055611bf8856123fd565b8015610bb257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050505050565b600054760100000000000000000000000000000000000000000000900460ff1681565b6207a12081565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1681565b600061095660026122fd565b600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760200000000000000000000000000000000000000000000179055565b80546000906fffffffffffffffffffffffffffffffff70010000000000000000000000000000000082048116911661163a8282612592565b6000611d0c826125ac565b15611d7857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5080546fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b600080611dad610d10565b8585604051602001808481526020018381526020018281526020019350505050604051602081830303815290604052805190602001209050611dee816125db565b60005490915062010000900473ffffffffffffffffffffffffffffffffffffffff16611e1a828561262c565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168111611eaa576000818152600185016020526040902054831415611ea2576001915050611eb0565b600101611e52565b50600090505b92915050565b8260005b6020811015611f5957600183821c166000858360208110611ed757fe5b602002015190508160011415611f1d5780846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209350611f4f565b838160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012093505b5050600101611eba565b509392505050565b6040805160e09290921b7fffffffff00000000000000000000000000000000000000000000000000000000166020808401919091527f4f5054494353000000000000000000000000000000000000000000000000000060248401528151808403600a018152602a909301909152815191012090565b80546000906fffffffffffffffffffffffffffffffff70010000000000000000000000000000000082048116911661200e8282612592565b61207957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff81166000908152600185016020526040902054925082156120ca576fffffffffffffffffffffffffffffffff811660009081526001850160205260408120555b83547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001919091016fffffffffffffffffffffffffffffffff1617909255919050565b81516000906020840161212a64ffffffffff851682846126c6565b95945050505050565b6000610be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166024600461271c565b6000610be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166028600461271c565b6000806121a18361273d565b6bffffffffffffffffffffffff16905060006121bc84612751565b6bffffffffffffffffffffffff169091209392505050565b6000610be26121e283612765565b612796565b6000610be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831682600461271c565b6000610be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660046020612799565b6000610be2604c8061227b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616612751565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861692916bffffffffffffffffffffffff91909116036000612944565b60606000806122c784612751565b6bffffffffffffffffffffffff16905060405191508192506122ec84836020016129ca565b508181016020016040529052919050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b81546fffffffffffffffffffffffffffffffff8082167001000000000000000000000000000000009283900482166001019182169092029190911783558115611eb0576fffffffffffffffffffffffffffffffff8116600090815260019390930160205260409092205590565b60006123b230612af6565b15905090565b80546fffffffffffffffffffffffffffffffff166123fa5780547fffffffffffffffffffffffffffffffff000000000000000000000000000000001660011781555b50565b600054610100900460ff168061241657506124166123a7565b80612424575060005460ff16155b612479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061326e602e913960400191505060405180910390fd5b600054610100900460ff161580156124df57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff851602177fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760100000000000000000000000000000000000000000000179055801561258e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b60019103016fffffffffffffffffffffffffffffffff1690565b546fffffffffffffffffffffffffffffffff808216700100000000000000000000000000000000909204161090565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461269e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a6126bc86828585612afc565b9695505050505050565b6000806126d38484612cea565b90506040518111156126e3575060005b80612711577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610d03565b61212a858585612d5c565b60008160200360080260ff16612733858585612799565b901c949350505050565b60781c6bffffffffffffffffffffffff1690565b60181c6bffffffffffffffffffffffff1690565b6000610be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316602c6020612799565b90565b600060ff82166127ab57506000610d03565b6127b484612751565b6bffffffffffffffffffffffff166127cf8460ff8516612cea565b11156128ae576128106127e18561273d565b6bffffffffffffffffffffffff166127f886612751565b6bffffffffffffffffffffffff16858560ff16612d6f565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561287357818101518382015260200161285b565b50505050905090810190601f1680156128a05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff16111561290b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806132be603a913960400191505060405180910390fd5b60088202600061291a8661273d565b6bffffffffffffffffffffffff169050600061293583612eca565b91909501511695945050505050565b6000806129508661273d565b6bffffffffffffffffffffffff16905061296986612f13565b61297d856129778489612cea565b90612cea565b11156129ac577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000091505061163a565b6129b68186612cea565b90506126bc8364ffffffffff1682866126c6565b60006129d583612f3d565b612a2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806132f86028913960400191505060405180910390fd5b612a3383612f4f565b612a88576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613320602b913960400191505060405180910390fd5b6000612a9384612751565b6bffffffffffffffffffffffff1690506000612aae8561273d565b6bffffffffffffffffffffffff1690506000604051905084811115612ad35760206060fd5b8285848460045afa506126bc612ae887612f8c565b64ffffffffff168685612d5c565b3b151590565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115612b77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061322b6022913960400191505060405180910390fd5b8360ff16601b1480612b8c57508360ff16601c145b612be1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061329c6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612c3d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661212a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b81810182811015611eb057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60606000612d7c86612f92565b9150506000612d8a86612f92565b9150506000612d9886612f92565b9150506000612da686612f92565b91505083838383604051602001808061334b603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a820152605001602161324d82397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b6000612f1e82612751565b612f278361273d565b016bffffffffffffffffffffffff169050919050565b6000612f4882613066565b1592915050565b6000612f5a82612f8c565b64ffffffffff1664ffffffffff1415612f7557506000610be5565b6000612f8083612f13565b60405110199392505050565b60d81c90565b600080601f5b600f8160ff161115612ffa5760ff600882021684901c612fb78161308e565b61ffff16841793508160ff16601014612fd257601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612f98565b50600f5b60ff8160ff1610156130605760ff600882021684901c61301d8161308e565b61ffff16831792508160ff1660001461303857601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612ffe565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b60006130a060048360ff16901c6130be565b60ff161760081b62ffff00166130b5826130be565b60ff1617919050565b600060f08083179060ff821614156130da576030915050610be5565b8060ff1660f114156130f0576031915050610be5565b8060ff1660f21415613106576032915050610be5565b8060ff1660f3141561311c576033915050610be5565b8060ff1660f41415613132576034915050610be5565b8060ff1660f51415613148576035915050610be5565b8060ff1660f6141561315e576036915050610be5565b8060ff1660f71415613174576037915050610be5565b8060ff1660f8141561318a576038915050610be5565b8060ff1660f914156131a0576039915050610be5565b8060ff1660fa14156131b6576061915050610be5565b8060ff1660fb14156131cc576062915050610be5565b8060ff1660fc14156131e2576063915050610be5565b8060ff1660fd14156131f8576064915050610be5565b8060ff1660fe141561320e576065915050610be5565b8060ff1660ff1415613224576066915050610be5565b5091905056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c75652e20417474656d7074656420746f20696e646578206174206f6666736574203078496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c756554797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a2646970667358221220e6ed84858edf708545ca0b1a294bf046467b78813d16bf2dc647f087a037c57764736f6c63430007060033"; export class TestReplica__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-core/factories/TestXAppConnectionManager__factory.ts b/typescript/src/typechain/optics-core/factories/TestXAppConnectionManager__factory.ts index 53c8544a0..dd1c5b53c 100644 --- a/typescript/src/typechain/optics-core/factories/TestXAppConnectionManager__factory.ts +++ b/typescript/src/typechain/optics-core/factories/TestXAppConnectionManager__factory.ts @@ -383,7 +383,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6115ff8061007d6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063b9cff16211610066578063b9cff162146103db578063e0e7a913146103fe578063f2fde38b146104b6578063f31faefb146104e957610100565b80638da5cb5b146103515780638f5d90e014610359578063916c34701461038c5780639fa92f9d146103d357610100565b80635f8b1dba116100d35780635f8b1dba146102c05780636ef0f37f1461030c578063715018a6146103415780638d3638f41461034957610100565b806323738500146101055780632f54bf6e14610207578063427ebef51461024e5780635190bc531461028d575b600080fd5b6101de6004803603608081101561011b57600080fd5b63ffffffff8235169173ffffffffffffffffffffffffffffffffffffffff60208201358116926040830135909116919081019060808101606082013564010000000081111561016957600080fd5b82018360208201111561017b57600080fd5b8035906020019184600183028401116401000000008311171561019d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610528945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61023a6004803603602081101561021d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661054f565b604080519115158252519081900360200190f35b61023a6004803603604081101561026457600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff1661058e565b61023a600480360360208110156102a357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166105ce565b6102f3600480360360208110156102d657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166105fe565b6040805163ffffffff9092168252519081900360200190f35b61033f6004803603602081101561032257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610616565b005b61033f610705565b6102f361081c565b6101de6108b8565b61033f6004803603602081101561036f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166108d4565b61033f600480360360608110156103a257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169063ffffffff60208201351690604001351515610988565b6101de610ad6565b6101de600480360360208110156103f157600080fd5b503563ffffffff16610af2565b61033f6004803603606081101561041457600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561044157600080fd5b82018360208201111561045357600080fd5b8035906020019184600183028401116401000000008311171561047557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b1a945050505050565b61033f600480360360208110156104cc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d93565b61033f600480360360408110156104ff57600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16610f34565b600061054685610537866110a8565b610540866110a8565b856110c1565b95945050505050565b60006105596108b8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020908152604080832063ffffffff8516845290915290205460ff1692915050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205463ffffffff16151590565b60016020526000908152604090205463ffffffff1681565b61061e6111b7565b73ffffffffffffffffffffffffffffffffffffffff1661063c6108b8565b73ffffffffffffffffffffffffffffffffffffffff16146106be57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61070d6111b7565b73ffffffffffffffffffffffffffffffffffffffff1661072b6108b8565b73ffffffffffffffffffffffffffffffffffffffff16146107ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600354604080517f8d3638f4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638d3638f4916004808301926020929190829003018186803b15801561088757600080fd5b505afa15801561089b573d6000803e3d6000fd5b505050506040513d60208110156108b157600080fd5b5051905090565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6108dc6111b7565b73ffffffffffffffffffffffffffffffffffffffff166108fa6108b8565b73ffffffffffffffffffffffffffffffffffffffff161461097c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610985816111bb565b50565b6109906111b7565b73ffffffffffffffffffffffffffffffffffffffff166109ae6108b8565b73ffffffffffffffffffffffffffffffffffffffff1614610a3057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600081815260046020908152604080832063ffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815194855291840191909152805191927f517de16b526853f481451c5151e87484e1b251ec7d0302efa1019c2ece179c2c929081900390910190a2505050565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b63ffffffff831660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610bb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f217265706c696361206578697374730000000000000000000000000000000000604482015290519081900360640190fd5b610bbb83611283565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663df034cd06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1757600080fd5b505afa158015610c2b573d6000803e3d6000fd5b505050506040513d6020811015610c4157600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614610cc557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f2163757272656e74207570646174657200000000000000000000000000000000604482015290519081900360640190fd5b6000610cdb85610cd4846110a8565b86866110c1565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020908152604080832063ffffffff8a16845290915290205490915060ff16610d8357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f2176616c69642077617463686572000000000000000000000000000000000000604482015290519081900360640190fd5b610d8c826111bb565b5050505050565b610d9b6111b7565b73ffffffffffffffffffffffffffffffffffffffff16610db96108b8565b73ffffffffffffffffffffffffffffffffffffffff1614610e3b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610ea7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806115606026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610f3c6111b7565b73ffffffffffffffffffffffffffffffffffffffff16610f5a6108b8565b73ffffffffffffffffffffffffffffffffffffffff1614610fdc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610fe5826111bb565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff8716908117909155808452600283529281902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168517905580519384525191927f8440df9bf8a8542634a9eb196da1735b786ed9aa2fc12b080ac34c5fa81a9234929081900390910190a25050565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000806110cd85611283565b73ffffffffffffffffffffffffffffffffffffffff166345630b1a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561111257600080fd5b505afa158015611126573d6000803e3d6000fd5b505050506040513d602081101561113c57600080fd5b50516040805160208181018490527fffffffff0000000000000000000000000000000000000000000000000000000060e08b901b1682840152604480830189905283518084039091018152606490920190925280519101209091506111a081611286565b90506111ac81856112d7565b979650505050505050565b3390565b73ffffffffffffffffffffffffffffffffffffffff81166000818152600160208181526040808420805463ffffffff168086526002845282862080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559486905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001690925581519384529051919283927fce1533133fb359ace801d3176bbad25ace030d714aed35e38a6293c8a60b115b929181900390910190a25050565b90565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461134957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61136786828585611371565b9695505050505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115866022913960400191505060405180910390fd5b8360ff16601b148061140157508360ff16601c145b611456576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115a86022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156114b2573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661054657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c7565a2646970667358221220f80e0931aab235c8e7355f63907c02612946488849426f4ab53650c00d9d59e064736f6c63430007060033"; + "0x608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6115ff8061007d6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063b9cff16211610066578063b9cff162146103db578063e0e7a913146103fe578063f2fde38b146104b6578063f31faefb146104e957610100565b80638da5cb5b146103515780638f5d90e014610359578063916c34701461038c5780639fa92f9d146103d357610100565b80635f8b1dba116100d35780635f8b1dba146102c05780636ef0f37f1461030c578063715018a6146103415780638d3638f41461034957610100565b806323738500146101055780632f54bf6e14610207578063427ebef51461024e5780635190bc531461028d575b600080fd5b6101de6004803603608081101561011b57600080fd5b63ffffffff8235169173ffffffffffffffffffffffffffffffffffffffff60208201358116926040830135909116919081019060808101606082013564010000000081111561016957600080fd5b82018360208201111561017b57600080fd5b8035906020019184600183028401116401000000008311171561019d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610528945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61023a6004803603602081101561021d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661054f565b604080519115158252519081900360200190f35b61023a6004803603604081101561026457600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff1661058e565b61023a600480360360208110156102a357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166105ce565b6102f3600480360360208110156102d657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166105fe565b6040805163ffffffff9092168252519081900360200190f35b61033f6004803603602081101561032257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610616565b005b61033f610705565b6102f361081c565b6101de6108b8565b61033f6004803603602081101561036f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166108d4565b61033f600480360360608110156103a257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169063ffffffff60208201351690604001351515610988565b6101de610ad6565b6101de600480360360208110156103f157600080fd5b503563ffffffff16610af2565b61033f6004803603606081101561041457600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561044157600080fd5b82018360208201111561045357600080fd5b8035906020019184600183028401116401000000008311171561047557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b1a945050505050565b61033f600480360360208110156104cc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d93565b61033f600480360360408110156104ff57600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16610f34565b600061054685610537866110a8565b610540866110a8565b856110c1565b95945050505050565b60006105596108b8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020908152604080832063ffffffff8516845290915290205460ff1692915050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205463ffffffff16151590565b60016020526000908152604090205463ffffffff1681565b61061e6111b7565b73ffffffffffffffffffffffffffffffffffffffff1661063c6108b8565b73ffffffffffffffffffffffffffffffffffffffff16146106be57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61070d6111b7565b73ffffffffffffffffffffffffffffffffffffffff1661072b6108b8565b73ffffffffffffffffffffffffffffffffffffffff16146107ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600354604080517f8d3638f4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638d3638f4916004808301926020929190829003018186803b15801561088757600080fd5b505afa15801561089b573d6000803e3d6000fd5b505050506040513d60208110156108b157600080fd5b5051905090565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6108dc6111b7565b73ffffffffffffffffffffffffffffffffffffffff166108fa6108b8565b73ffffffffffffffffffffffffffffffffffffffff161461097c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610985816111bb565b50565b6109906111b7565b73ffffffffffffffffffffffffffffffffffffffff166109ae6108b8565b73ffffffffffffffffffffffffffffffffffffffff1614610a3057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600081815260046020908152604080832063ffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815194855291840191909152805191927f517de16b526853f481451c5151e87484e1b251ec7d0302efa1019c2ece179c2c929081900390910190a2505050565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b63ffffffff831660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610bb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f217265706c696361206578697374730000000000000000000000000000000000604482015290519081900360640190fd5b610bbb83611283565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663df034cd06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1757600080fd5b505afa158015610c2b573d6000803e3d6000fd5b505050506040513d6020811015610c4157600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614610cc557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f2163757272656e74207570646174657200000000000000000000000000000000604482015290519081900360640190fd5b6000610cdb85610cd4846110a8565b86866110c1565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020908152604080832063ffffffff8a16845290915290205490915060ff16610d8357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f2176616c69642077617463686572000000000000000000000000000000000000604482015290519081900360640190fd5b610d8c826111bb565b5050505050565b610d9b6111b7565b73ffffffffffffffffffffffffffffffffffffffff16610db96108b8565b73ffffffffffffffffffffffffffffffffffffffff1614610e3b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610ea7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806115606026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610f3c6111b7565b73ffffffffffffffffffffffffffffffffffffffff16610f5a6108b8565b73ffffffffffffffffffffffffffffffffffffffff1614610fdc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610fe5826111bb565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff8716908117909155808452600283529281902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168517905580519384525191927f8440df9bf8a8542634a9eb196da1735b786ed9aa2fc12b080ac34c5fa81a9234929081900390910190a25050565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000806110cd85611283565b73ffffffffffffffffffffffffffffffffffffffff166345630b1a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561111257600080fd5b505afa158015611126573d6000803e3d6000fd5b505050506040513d602081101561113c57600080fd5b50516040805160208181018490527fffffffff0000000000000000000000000000000000000000000000000000000060e08b901b1682840152604480830189905283518084039091018152606490920190925280519101209091506111a081611286565b90506111ac81856112d7565b979650505050505050565b3390565b73ffffffffffffffffffffffffffffffffffffffff81166000818152600160208181526040808420805463ffffffff168086526002845282862080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559486905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001690925581519384529051919283927fce1533133fb359ace801d3176bbad25ace030d714aed35e38a6293c8a60b115b929181900390910190a25050565b90565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461134957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61136786828585611371565b9695505050505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115866022913960400191505060405180910390fd5b8360ff16601b148061140157508360ff16601c145b611456576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115a86022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156114b2573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661054657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c7565a26469706673582212208287bd110a8d831eb1a413182e22e00916f44dceaaa47ebd1766a65e9541844d64736f6c63430007060033"; export class TestXAppConnectionManager__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-core/factories/TypedMemView__factory.ts b/typescript/src/typechain/optics-core/factories/TypedMemView__factory.ts index 09b8fa4b9..67bc8b69f 100644 --- a/typescript/src/typechain/optics-core/factories/TypedMemView__factory.ts +++ b/typescript/src/typechain/optics-core/factories/TypedMemView__factory.ts @@ -23,7 +23,7 @@ const _abi = [ ]; const _bytecode = - "0x60cd610025600b82828239805160001a60731461001857fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063f26be3fc146038575b600080fd5b603e6073565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009092168252519081900360200190f35b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008156fea2646970667358221220a623dd463064745d0b95728d000c3710b30fc8eaa3436afe93e3e0b67ac098ea64736f6c63430007060033"; + "0x60cd610025600b82828239805160001a60731461001857fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063f26be3fc146038575b600080fd5b603e6073565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009092168252519081900360200190f35b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008156fea2646970667358221220b07daa2cfa732a0712e14f333f7fb26a0736db4a4fce155c515a5dd1fc062de564736f6c63430007060033"; export class TypedMemView__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-core/factories/UpdaterManager__factory.ts b/typescript/src/typechain/optics-core/factories/UpdaterManager__factory.ts index b4574145c..297771ca3 100644 --- a/typescript/src/typechain/optics-core/factories/UpdaterManager__factory.ts +++ b/typescript/src/typechain/optics-core/factories/UpdaterManager__factory.ts @@ -147,7 +147,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405260405161091d38038061091d8339818101604052602081101561002657600080fd5b505160006100326100a1565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b0319166001600160a01b03929092169190911790556100a5565b3390565b610869806100b46000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100f25780639d54f41914610123578063df034cd014610156578063f2fde38b1461015e5761007d565b80635b3c2cbf146100825780636ef0f37f146100b7578063715018a6146100ea575b600080fd5b6100b56004803603602081101561009857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610191565b005b6100b5600480360360208110156100cd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661021a565b6100b56103af565b6100fa6104c6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b56004803603602081101561013957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104e2565b6100fa610646565b6100b56004803603602081101561017457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610662565b60025473ffffffffffffffffffffffffffffffffffffffff16331461021757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f21686f6d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b50565b610222610803565b73ffffffffffffffffffffffffffffffffffffffff166102406104c6565b73ffffffffffffffffffffffffffffffffffffffff16146102c257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6102cb81610807565b61033657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f21636f6e747261637420686f6d65000000000000000000000000000000000000604482015290519081900360640190fd5b6002805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517fa6c230e5615262e310dcb42eaf014e813e5d8580abf5b00d2186ca8e9833de219181900360200190a150565b6103b7610803565b73ffffffffffffffffffffffffffffffffffffffff166103d56104c6565b73ffffffffffffffffffffffffffffffffffffffff161461045757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6104ea610803565b73ffffffffffffffffffffffffffffffffffffffff166105086104c6565b73ffffffffffffffffffffffffffffffffffffffff161461058a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217909255600254604080517f9d54f419000000000000000000000000000000000000000000000000000000008152600481019390935251921691639d54f4199160248082019260009290919082900301818387803b15801561062b57600080fd5b505af115801561063f573d6000803e3d6000fd5b5050505050565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b61066a610803565b73ffffffffffffffffffffffffffffffffffffffff166106886104c6565b73ffffffffffffffffffffffffffffffffffffffff161461070a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610776576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061080e6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b3b15159056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a26469706673582212205034ee41aaa8631037793728d4106a61e02443aab3780223e2875fb85813c6f664736f6c63430007060033"; + "0x608060405260405161091d38038061091d8339818101604052602081101561002657600080fd5b505160006100326100a1565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b0319166001600160a01b03929092169190911790556100a5565b3390565b610869806100b46000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100f25780639d54f41914610123578063df034cd014610156578063f2fde38b1461015e5761007d565b80635b3c2cbf146100825780636ef0f37f146100b7578063715018a6146100ea575b600080fd5b6100b56004803603602081101561009857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610191565b005b6100b5600480360360208110156100cd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661021a565b6100b56103af565b6100fa6104c6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b56004803603602081101561013957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104e2565b6100fa610646565b6100b56004803603602081101561017457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610662565b60025473ffffffffffffffffffffffffffffffffffffffff16331461021757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f21686f6d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b50565b610222610803565b73ffffffffffffffffffffffffffffffffffffffff166102406104c6565b73ffffffffffffffffffffffffffffffffffffffff16146102c257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6102cb81610807565b61033657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f21636f6e747261637420686f6d65000000000000000000000000000000000000604482015290519081900360640190fd5b6002805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517fa6c230e5615262e310dcb42eaf014e813e5d8580abf5b00d2186ca8e9833de219181900360200190a150565b6103b7610803565b73ffffffffffffffffffffffffffffffffffffffff166103d56104c6565b73ffffffffffffffffffffffffffffffffffffffff161461045757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6104ea610803565b73ffffffffffffffffffffffffffffffffffffffff166105086104c6565b73ffffffffffffffffffffffffffffffffffffffff161461058a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217909255600254604080517f9d54f419000000000000000000000000000000000000000000000000000000008152600481019390935251921691639d54f4199160248082019260009290919082900301818387803b15801561062b57600080fd5b505af115801561063f573d6000803e3d6000fd5b5050505050565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b61066a610803565b73ffffffffffffffffffffffffffffffffffffffff166106886104c6565b73ffffffffffffffffffffffffffffffffffffffff161461070a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610776576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061080e6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b3b15159056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a26469706673582212202fd671f48adb2ba128fdfbcee792f7cefb1a93b0847e455b1fdf989ebb46827d64736f6c63430007060033"; export class UpdaterManager__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-core/factories/XAppConnectionManager__factory.ts b/typescript/src/typechain/optics-core/factories/XAppConnectionManager__factory.ts index 2d1c9d4b0..855d958e5 100644 --- a/typescript/src/typechain/optics-core/factories/XAppConnectionManager__factory.ts +++ b/typescript/src/typechain/optics-core/factories/XAppConnectionManager__factory.ts @@ -349,7 +349,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6114fd8061007d6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063b9cff16211610066578063b9cff162146102f7578063e0e7a9131461031a578063f2fde38b146103d2578063f31faefb14610405576100f5565b80638da5cb5b146102445780638f5d90e014610275578063916c3470146102a85780639fa92f9d146102ef576100f5565b80635f8b1dba116100d35780635f8b1dba146101b35780636ef0f37f146101ff578063715018a6146102345780638d3638f41461023c576100f5565b80632f54bf6e146100fa578063427ebef5146101415780635190bc5314610180575b600080fd5b61012d6004803603602081101561011057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610444565b604080519115158252519081900360200190f35b61012d6004803603604081101561015757600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16610483565b61012d6004803603602081101561019657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104c3565b6101e6600480360360208110156101c957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104f3565b6040805163ffffffff9092168252519081900360200190f35b6102326004803603602081101561021557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661050b565b005b6102326105fa565b6101e6610711565b61024c6107ad565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102326004803603602081101561028b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166107c9565b610232600480360360608110156102be57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169063ffffffff6020820135169060400135151561087d565b61024c6109cb565b61024c6004803603602081101561030d57600080fd5b503563ffffffff166109e7565b6102326004803603606081101561033057600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561035d57600080fd5b82018360208201111561036f57600080fd5b8035906020019184600183028401116401000000008311171561039157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a0f945050505050565b610232600480360360208110156103e857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c88565b6102326004803603604081101561041b57600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16610e29565b600061044e6107ad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020908152604080832063ffffffff8516845290915290205460ff1692915050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205463ffffffff16151590565b60016020526000908152604090205463ffffffff1681565b610513610f9d565b73ffffffffffffffffffffffffffffffffffffffff166105316107ad565b73ffffffffffffffffffffffffffffffffffffffff16146105b357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610602610f9d565b73ffffffffffffffffffffffffffffffffffffffff166106206107ad565b73ffffffffffffffffffffffffffffffffffffffff16146106a257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600354604080517f8d3638f4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638d3638f4916004808301926020929190829003018186803b15801561077c57600080fd5b505afa158015610790573d6000803e3d6000fd5b505050506040513d60208110156107a657600080fd5b5051905090565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6107d1610f9d565b73ffffffffffffffffffffffffffffffffffffffff166107ef6107ad565b73ffffffffffffffffffffffffffffffffffffffff161461087157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61087a81610fa1565b50565b610885610f9d565b73ffffffffffffffffffffffffffffffffffffffff166108a36107ad565b73ffffffffffffffffffffffffffffffffffffffff161461092557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600081815260046020908152604080832063ffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815194855291840191909152805191927f517de16b526853f481451c5151e87484e1b251ec7d0302efa1019c2ece179c2c929081900390910190a2505050565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b63ffffffff831660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610aa757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f217265706c696361206578697374730000000000000000000000000000000000604482015290519081900360640190fd5b610ab083611069565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663df034cd06040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0c57600080fd5b505afa158015610b20573d6000803e3d6000fd5b505050506040513d6020811015610b3657600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614610bba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f2163757272656e74207570646174657200000000000000000000000000000000604482015290519081900360640190fd5b6000610bd085610bc98461106c565b8686611085565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020908152604080832063ffffffff8a16845290915290205490915060ff16610c7857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f2176616c69642077617463686572000000000000000000000000000000000000604482015290519081900360640190fd5b610c8182610fa1565b5050505050565b610c90610f9d565b73ffffffffffffffffffffffffffffffffffffffff16610cae6107ad565b73ffffffffffffffffffffffffffffffffffffffff1614610d3057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610d9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061145e6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610e31610f9d565b73ffffffffffffffffffffffffffffffffffffffff16610e4f6107ad565b73ffffffffffffffffffffffffffffffffffffffff1614610ed157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610eda82610fa1565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff8716908117909155808452600283529281902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168517905580519384525191927f8440df9bf8a8542634a9eb196da1735b786ed9aa2fc12b080ac34c5fa81a9234929081900390910190a25050565b3390565b73ffffffffffffffffffffffffffffffffffffffff81166000818152600160208181526040808420805463ffffffff168086526002845282862080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559486905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001690925581519384529051919283927fce1533133fb359ace801d3176bbad25ace030d714aed35e38a6293c8a60b115b929181900390910190a25050565b90565b73ffffffffffffffffffffffffffffffffffffffff1690565b60008061109185611069565b73ffffffffffffffffffffffffffffffffffffffff166345630b1a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110d657600080fd5b505afa1580156110ea573d6000803e3d6000fd5b505050506040513d602081101561110057600080fd5b50516040805160208181018490527fffffffff0000000000000000000000000000000000000000000000000000000060e08b901b1682840152604480830189905283518084039091018152606490920190925280519101209091506111648161117b565b905061117081856111cc565b979650505050505050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461123e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61125c86828585611266565b9695505050505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156112e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114846022913960400191505060405180910390fd5b8360ff16601b14806112f657508360ff16601c145b61134b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114a66022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156113a7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661145457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b9594505050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c7565a2646970667358221220efbd8ad3691eaefacdbdfb99c8f3c2e2bb64f3c7bd980dc9bac91319712817ed64736f6c63430007060033"; + "0x608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6114fd8061007d6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063b9cff16211610066578063b9cff162146102f7578063e0e7a9131461031a578063f2fde38b146103d2578063f31faefb14610405576100f5565b80638da5cb5b146102445780638f5d90e014610275578063916c3470146102a85780639fa92f9d146102ef576100f5565b80635f8b1dba116100d35780635f8b1dba146101b35780636ef0f37f146101ff578063715018a6146102345780638d3638f41461023c576100f5565b80632f54bf6e146100fa578063427ebef5146101415780635190bc5314610180575b600080fd5b61012d6004803603602081101561011057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610444565b604080519115158252519081900360200190f35b61012d6004803603604081101561015757600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16610483565b61012d6004803603602081101561019657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104c3565b6101e6600480360360208110156101c957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104f3565b6040805163ffffffff9092168252519081900360200190f35b6102326004803603602081101561021557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661050b565b005b6102326105fa565b6101e6610711565b61024c6107ad565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102326004803603602081101561028b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166107c9565b610232600480360360608110156102be57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169063ffffffff6020820135169060400135151561087d565b61024c6109cb565b61024c6004803603602081101561030d57600080fd5b503563ffffffff166109e7565b6102326004803603606081101561033057600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561035d57600080fd5b82018360208201111561036f57600080fd5b8035906020019184600183028401116401000000008311171561039157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a0f945050505050565b610232600480360360208110156103e857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c88565b6102326004803603604081101561041b57600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16610e29565b600061044e6107ad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020908152604080832063ffffffff8516845290915290205460ff1692915050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205463ffffffff16151590565b60016020526000908152604090205463ffffffff1681565b610513610f9d565b73ffffffffffffffffffffffffffffffffffffffff166105316107ad565b73ffffffffffffffffffffffffffffffffffffffff16146105b357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610602610f9d565b73ffffffffffffffffffffffffffffffffffffffff166106206107ad565b73ffffffffffffffffffffffffffffffffffffffff16146106a257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600354604080517f8d3638f4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638d3638f4916004808301926020929190829003018186803b15801561077c57600080fd5b505afa158015610790573d6000803e3d6000fd5b505050506040513d60208110156107a657600080fd5b5051905090565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6107d1610f9d565b73ffffffffffffffffffffffffffffffffffffffff166107ef6107ad565b73ffffffffffffffffffffffffffffffffffffffff161461087157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61087a81610fa1565b50565b610885610f9d565b73ffffffffffffffffffffffffffffffffffffffff166108a36107ad565b73ffffffffffffffffffffffffffffffffffffffff161461092557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600081815260046020908152604080832063ffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815194855291840191909152805191927f517de16b526853f481451c5151e87484e1b251ec7d0302efa1019c2ece179c2c929081900390910190a2505050565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b63ffffffff831660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610aa757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f217265706c696361206578697374730000000000000000000000000000000000604482015290519081900360640190fd5b610ab083611069565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663df034cd06040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0c57600080fd5b505afa158015610b20573d6000803e3d6000fd5b505050506040513d6020811015610b3657600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614610bba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f2163757272656e74207570646174657200000000000000000000000000000000604482015290519081900360640190fd5b6000610bd085610bc98461106c565b8686611085565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020908152604080832063ffffffff8a16845290915290205490915060ff16610c7857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f2176616c69642077617463686572000000000000000000000000000000000000604482015290519081900360640190fd5b610c8182610fa1565b5050505050565b610c90610f9d565b73ffffffffffffffffffffffffffffffffffffffff16610cae6107ad565b73ffffffffffffffffffffffffffffffffffffffff1614610d3057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610d9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061145e6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610e31610f9d565b73ffffffffffffffffffffffffffffffffffffffff16610e4f6107ad565b73ffffffffffffffffffffffffffffffffffffffff1614610ed157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610eda82610fa1565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff8716908117909155808452600283529281902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168517905580519384525191927f8440df9bf8a8542634a9eb196da1735b786ed9aa2fc12b080ac34c5fa81a9234929081900390910190a25050565b3390565b73ffffffffffffffffffffffffffffffffffffffff81166000818152600160208181526040808420805463ffffffff168086526002845282862080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559486905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001690925581519384529051919283927fce1533133fb359ace801d3176bbad25ace030d714aed35e38a6293c8a60b115b929181900390910190a25050565b90565b73ffffffffffffffffffffffffffffffffffffffff1690565b60008061109185611069565b73ffffffffffffffffffffffffffffffffffffffff166345630b1a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110d657600080fd5b505afa1580156110ea573d6000803e3d6000fd5b505050506040513d602081101561110057600080fd5b50516040805160208181018490527fffffffff0000000000000000000000000000000000000000000000000000000060e08b901b1682840152604480830189905283518084039091018152606490920190925280519101209091506111648161117b565b905061117081856111cc565b979650505050505050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461123e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61125c86828585611266565b9695505050505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156112e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114846022913960400191505060405180910390fd5b8360ff16601b14806112f657508360ff16601c145b61134b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114a66022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156113a7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661145457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b9594505050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c7565a26469706673582212202ba86c2a3f69ca3a1495f971d999c6775b9d3343a5ba170d55a5d2aa722c54aa64736f6c63430007060033"; export class XAppConnectionManager__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-xapps/Replica.d.ts b/typescript/src/typechain/optics-xapps/Replica.d.ts index a6fead58b..db9588a76 100644 --- a/typescript/src/typechain/optics-xapps/Replica.d.ts +++ b/typescript/src/typechain/optics-xapps/Replica.d.ts @@ -23,6 +23,7 @@ interface ReplicaInterface extends ethers.utils.Interface { functions: { "PROCESS_GAS()": FunctionFragment; "RESERVE_GAS()": FunctionFragment; + "acceptableRoot(bytes32)": FunctionFragment; "canConfirm()": FunctionFragment; "confirm()": FunctionFragment; "confirmAt(bytes32)": FunctionFragment; @@ -35,7 +36,6 @@ interface ReplicaInterface extends ethers.utils.Interface { "nextPending()": FunctionFragment; "nextToProcess()": FunctionFragment; "optimisticSeconds()": FunctionFragment; - "previous()": FunctionFragment; "process(bytes)": FunctionFragment; "prove(bytes32,bytes32[32],uint256)": FunctionFragment; "proveAndProcess(bytes,bytes32[32],uint256)": FunctionFragment; @@ -56,6 +56,10 @@ interface ReplicaInterface extends ethers.utils.Interface { functionFragment: "RESERVE_GAS", values?: undefined ): string; + encodeFunctionData( + functionFragment: "acceptableRoot", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "canConfirm", values?: undefined @@ -95,7 +99,6 @@ interface ReplicaInterface extends ethers.utils.Interface { functionFragment: "optimisticSeconds", values?: undefined ): string; - encodeFunctionData(functionFragment: "previous", values?: undefined): string; encodeFunctionData(functionFragment: "process", values: [BytesLike]): string; encodeFunctionData( functionFragment: "prove", @@ -207,6 +210,10 @@ interface ReplicaInterface extends ethers.utils.Interface { functionFragment: "RESERVE_GAS", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "acceptableRoot", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "canConfirm", data: BytesLike): Result; decodeFunctionResult(functionFragment: "confirm", data: BytesLike): Result; decodeFunctionResult(functionFragment: "confirmAt", data: BytesLike): Result; @@ -237,7 +244,6 @@ interface ReplicaInterface extends ethers.utils.Interface { functionFragment: "optimisticSeconds", data: BytesLike ): Result; - decodeFunctionResult(functionFragment: "previous", data: BytesLike): Result; decodeFunctionResult(functionFragment: "process", data: BytesLike): Result; decodeFunctionResult(functionFragment: "prove", data: BytesLike): Result; decodeFunctionResult( @@ -320,6 +326,11 @@ export class Replica extends BaseContract { RESERVE_GAS(overrides?: CallOverrides): Promise<[BigNumber]>; + acceptableRoot( + _root: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + canConfirm(overrides?: CallOverrides): Promise<[boolean]>; confirm( @@ -363,8 +374,6 @@ export class Replica extends BaseContract { optimisticSeconds(overrides?: CallOverrides): Promise<[BigNumber]>; - previous(overrides?: CallOverrides): Promise<[string]>; - process( _message: BytesLike, overrides?: Overrides & { from?: string | Promise } @@ -477,6 +486,8 @@ export class Replica extends BaseContract { RESERVE_GAS(overrides?: CallOverrides): Promise; + acceptableRoot(_root: BytesLike, overrides?: CallOverrides): Promise; + canConfirm(overrides?: CallOverrides): Promise; confirm( @@ -518,8 +529,6 @@ export class Replica extends BaseContract { optimisticSeconds(overrides?: CallOverrides): Promise; - previous(overrides?: CallOverrides): Promise; - process( _message: BytesLike, overrides?: Overrides & { from?: string | Promise } @@ -629,6 +638,11 @@ export class Replica extends BaseContract { RESERVE_GAS(overrides?: CallOverrides): Promise; + acceptableRoot( + _root: BytesLike, + overrides?: CallOverrides + ): Promise; + canConfirm(overrides?: CallOverrides): Promise; confirm(overrides?: CallOverrides): Promise; @@ -670,8 +684,6 @@ export class Replica extends BaseContract { optimisticSeconds(overrides?: CallOverrides): Promise; - previous(overrides?: CallOverrides): Promise; - process(_message: BytesLike, overrides?: CallOverrides): Promise; prove( @@ -816,6 +828,11 @@ export class Replica extends BaseContract { RESERVE_GAS(overrides?: CallOverrides): Promise; + acceptableRoot( + _root: BytesLike, + overrides?: CallOverrides + ): Promise; + canConfirm(overrides?: CallOverrides): Promise; confirm( @@ -855,8 +872,6 @@ export class Replica extends BaseContract { optimisticSeconds(overrides?: CallOverrides): Promise; - previous(overrides?: CallOverrides): Promise; - process( _message: BytesLike, overrides?: Overrides & { from?: string | Promise } @@ -970,6 +985,11 @@ export class Replica extends BaseContract { RESERVE_GAS(overrides?: CallOverrides): Promise; + acceptableRoot( + _root: BytesLike, + overrides?: CallOverrides + ): Promise; + canConfirm(overrides?: CallOverrides): Promise; confirm( @@ -1015,8 +1035,6 @@ export class Replica extends BaseContract { optimisticSeconds(overrides?: CallOverrides): Promise; - previous(overrides?: CallOverrides): Promise; - process( _message: BytesLike, overrides?: Overrides & { from?: string | Promise } diff --git a/typescript/src/typechain/optics-xapps/factories/BridgeRouter__factory.ts b/typescript/src/typechain/optics-xapps/factories/BridgeRouter__factory.ts index 070e18137..e22becf00 100644 --- a/typescript/src/typechain/optics-xapps/factories/BridgeRouter__factory.ts +++ b/typescript/src/typechain/optics-xapps/factories/BridgeRouter__factory.ts @@ -199,7 +199,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040523480156200001157600080fd5b5060405162004dc038038062004dc0833981810160405260208110156200003757600080fd5b5051808060006200004762000106565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b0319166001600160a01b0392909216919091179055604051620000bf906200010a565b604051809103906000f080158015620000dc573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b039290921691909117905550620001189050565b3390565b61179f806200362183390190565b6134f980620001286000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c806389c716d111610076578063b49c53a71161005b578063b49c53a71461026f578063e6440ab814610298578063f2fde38b146102d7576100be565b806389c716d1146102345780638da5cb5b14610267576100be565b806356d5d475116100a757806356d5d47514610129578063715018a6146101e15780637c15112c146101e9576100be565b80633339df96146100c357806341bdc8b5146100f4575b600080fd5b6100cb61030a565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101276004803603602081101561010a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610326565b005b6101276004803603606081101561013f57600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561016c57600080fd5b82018360208201111561017e57600080fd5b803590602001918460018302840111640100000000831117156101a057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610415945050505050565b610127610680565b610127600480360360808110156101ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169063ffffffff6020820135169060408101359060600135610797565b6101276004803603602081101561024a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a27565b6100cb610b16565b6101276004803603604081101561028557600080fd5b5063ffffffff8135169060200135610b32565b610127600480360360408110156102ae57600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16610bf3565b610127600480360360208110156102ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610fd2565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b61032e611173565b73ffffffffffffffffffffffffffffffffffffffff1661034c610b16565b73ffffffffffffffffffffffffffffffffffffffff16146103ce57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61041e33611177565b61048957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f217265706c696361000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b82826104958282611222565b61050057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f2172656d6f746520726f75746572000000000000000000000000000000000000604482015290519081900360640190fd5b600061053661050f8583611241565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016611265565b905060006105657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831661129a565b905060006105947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000841661130d565b90506105c17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216611380565b156105d5576105d082826113a0565b610676565b6106007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216611527565b1561060f576105d08282611530565b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21616374696f6e00000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5050505050505050565b610688611173565b73ffffffffffffffffffffffffffffffffffffffff166106a6610b16565b73ffffffffffffffffffffffffffffffffffffffff161461072857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60006107a2846116b8565b9050846107ae8161173a565b156107da576107d573ffffffffffffffffffffffffffffffffffffffff8216333086611780565b61086c565b6107e38161181b565b73ffffffffffffffffffffffffffffffffffffffff16639dc29fac33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b505050505b60006108778761181e565b9050600061088d82600001518360200151611897565b9050600061089b87876118ec565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fa92f9d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561090557600080fd5b505afa158015610919573d6000803e3d6000fd5b505050506040513d602081101561092f57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1663d346863989876109588686611924565b6040518463ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156109b657818101518382015260200161099e565b50505050905090810190601f1680156109e35780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610a0457600080fd5b505af1158015610a18573d6000803e3d6000fd5b50505050505050505050505050565b610a2f611173565b73ffffffffffffffffffffffffffffffffffffffff16610a4d610b16565b73ffffffffffffffffffffffffffffffffffffffff1614610acf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b610b3a611173565b73ffffffffffffffffffffffffffffffffffffffff16610b58610b16565b73ffffffffffffffffffffffffffffffffffffffff1614610bda57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b63ffffffff909116600090815260016020526040902055565b6000610bfe826116b8565b9050826000610c0c8261181e565b90506000610c2282600001518360200151611897565b90506000610e48610d848573ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015610ccf57600080fd5b8101908080516040519392919084640100000000821115610cef57600080fd5b908301906020820185811115610d0457600080fd5b8251640100000000811182820188101715610d1e57600080fd5b82525081516020918201929091019080838360005b83811015610d4b578181015183820152602001610d33565b50505050905090810190601f168015610d785780820380516001836020036101000a031916815260200191505b50604052505050611a51565b610dcf8673ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c7457600080fd5b8673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610e1757600080fd5b505af1158015610e2b573d6000803e3d6000fd5b505050506040513d6020811015610e4157600080fd5b5051611a97565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fa92f9d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610eb257600080fd5b505afa158015610ec6573d6000803e3d6000fd5b505050506040513d6020811015610edc57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1663d34686398787610f058686611924565b6040518463ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610f63578181015183820152602001610f4b565b50505050905090810190601f168015610f905780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610fb157600080fd5b505af1158015610fc5573d6000803e3d6000fd5b5050505050505050505050565b610fda611173565b73ffffffffffffffffffffffffffffffffffffffff16610ff8610b16565b73ffffffffffffffffffffffffffffffffffffffff161461107a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166110e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061336b6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b600254604080517f5190bc5300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291516000939290921691635190bc5391602480820192602092909190829003018186803b1580156111ee57600080fd5b505afa158015611202573d6000803e3d6000fd5b505050506040513d602081101561121857600080fd5b505190505b919050565b63ffffffff821660009081526001602052604090205481145b92915050565b81516000906020840161125c64ffffffffff85168284611b04565b95945050505050565b600061123b61127383611b5a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016611be9565b60008160046112cd815b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000841690611c63565b506113036000602460035b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816929190611de3565b92505b5050919050565b600081600461131b816112a4565b5060656113497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616611e69565b6bffffffffffffffffffffffff1614156113725761136b6024606560026112d8565b9250611306565b6113036024606460016112d8565b600060015b61138e83611e7d565b600481111561139957fe5b1492915050565b8160036113ac816112a4565b508260016113b9816112a4565b5060006113c587611eb8565b90506113d08161173a565b156114515761144c6114037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816611f9e565b61142e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008916611fda565b73ffffffffffffffffffffffffffffffffffffffff84169190612017565b61151e565b61145a8161181b565b73ffffffffffffffffffffffffffffffffffffffff166340c10f196114a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008916611f9e565b6114cb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008a16611fda565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610fb157600080fd5b50505050505050565b60006002611385565b81600361153c816112a4565b50826002611549816112a4565b50600061155587611eb8565b90506115608161173a565b156115cc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f2172657072000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6115d58161181b565b73ffffffffffffffffffffffffffffffffffffffff1663d20cdd5f61161b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000089166120a9565b6116467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008a166120e7565b6116717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008b16612124565b6040518463ffffffff1660e01b8152600401808481526020018381526020018260ff1681526020019350505050600060405180830381600087803b158015610fb157600080fd5b63ffffffff81166000908152600160205260409020548061121d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f2172656d6f746500000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020526040812054829063ffffffff161561177757600091505061121d565b3b151592915050565b6040805173ffffffffffffffffffffffffffffffffffffffff80861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611815908590612162565b50505050565b90565b611826613353565b5073ffffffffffffffffffffffffffffffffffffffff81166000908152600460209081526040918290208251808401909352805463ffffffff168084526001909101549183019190915261121d5761187c61223a565b63ffffffff16815261188d826122d6565b6020820152919050565b60006118e56118e060008585604051602001808363ffffffff1660e01b81526004018281526020019250505060405160208183030381529060405261124190919063ffffffff16565b6122ef565b9392505050565b604080516020810184905280820183905281518082038301815260609091019091526000906118e59061191f9083611241565b6122fd565b6060826003611932816112a4565b5061193c84611527565b8061194b575061194b84611380565b6119b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21616374696f6e00000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60408051600280825260608201835260009260208301908036833701905050905085816000815181106119e557fe5b602002602001019062ffffff1916908162ffffff1916815250508481600181518110611a0d57fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090921660209283029190910190910152611a478161230b565b9695505050505050565b600061123b60008351611a6e60008661124190919063ffffffff16565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016919061235b565b60408051602081018590528082018490527fff0000000000000000000000000000000000000000000000000000000000000060f884901b166060820152815160418183030181526061909101909152600090611afc90611af79083611241565b6124c9565b949350505050565b600080611b1184846124d7565b9050604051811115611b21575060005b80611b4f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009150506118e5565b61125c858585612549565b600080611b887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611e69565b6bffffffffffffffffffffffff1690506064811480611ba75750606581145b15611be157611bd97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416600461255c565b91505061121d565b6118e5612582565b6000611bf4826125a6565b611c5f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f56616c696469747920617373657274696f6e206661696c656400000000000000604482015290519081900360640190fd5b5090565b6000611c6f83836125e3565b611ddc576000611c8d611c8185612605565b64ffffffffff1661260b565b9150506000611ca28464ffffffffff1661260b565b604080517f5479706520617373657274696f6e206661696c65642e20476f742030780000006020808301919091527fffffffffffffffffffff0000000000000000000000000000000000000000000060b088811b8216603d8501527f2e20457870656374656420307800000000000000000000000000000000000000604785015285901b1660548301528251603e818403018152605e8301938490527f08c379a000000000000000000000000000000000000000000000000000000000909352606282018181528351608284015283519496509294508493839260a2019185019080838360005b83811015611da1578181015183820152602001611d89565b50505050905090810190601f168015611dce5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5090919050565b600080611def866126df565b6bffffffffffffffffffffffff169050611e08866126f3565b611e1c85611e1684896124d7565b906124d7565b1115611e4b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050611afc565b611e5581866124d7565b9050611a478364ffffffffff168286611b04565b60181c6bffffffffffffffffffffffff1690565b6000611eaa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612605565b60ff16600481111561123b57fe5b6000816003611ec6816112a4565b50611ecf61223a565b63ffffffff16611f007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861661271d565b63ffffffff161415611f375761136b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000851661275b565b6000600581611f677fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816612797565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff169050806113035761125c856127d6565b6000816001611fac816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516600c6129b1565b6000816001611fe8816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000085166020806129bb565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526120a4908490612162565b505050565b60008160026120b7816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000085166000602061235b565b60008160026120f5816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000851660208061235b565b6000816002612132816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516604060016129bb565b60006121c4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166129dc9092919063ffffffff16565b8051909150156120a4578080602001905160208110156121e357600080fd5b50516120a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613412602a913960400191505060405180910390fd5b600254604080517f8d3638f4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638d3638f4916004808301926020929190829003018186803b1580156122a557600080fd5b505afa1580156122b9573d6000803e3d6000fd5b505050506040513d60208110156122cf57600080fd5b5051905090565b73ffffffffffffffffffffffffffffffffffffffff1690565b600061123b611273836129eb565b600061123b61127383612a6c565b60405160609060006123208460208401612ab9565b9050600061232d82611e69565b6bffffffffffffffffffffffff169050600061234883612b31565b9184525082016020016040525092915050565b600060ff821661236d575060006118e5565b61237684611e69565b6bffffffffffffffffffffffff166123918460ff85166124d7565b1115612433576123d26123a3856126df565b6bffffffffffffffffffffffff166123ba86611e69565b6bffffffffffffffffffffffff16858560ff16612b45565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315611da1578181015183820152602001611d89565b60208260ff161115612490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806133d8603a913960400191505060405180910390fd5b60088202600061249f866126df565b6bffffffffffffffffffffffff16905060006124ba83612ca0565b91909501511695945050505050565b600061123b61127383612ce9565b8181018281101561123b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60d81b7affffffffffffffffffffffffffffffffffffffffffffffffffffff9091161790565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090565b60006125b182612605565b64ffffffffff1664ffffffffff14156125cc5750600061121d565b60006125d7836126f3565b60405110199392505050565b60008164ffffffffff166125f684612605565b64ffffffffff16149392505050565b60d81c90565b600080601f5b600f8160ff1611156126735760ff600882021684901c61263081612d36565b61ffff16841793508160ff1660101461264b57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612611565b50600f5b60ff8160ff1610156126d95760ff600882021684901c61269681612d36565b61ffff16831792508160ff166000146126b157601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612677565b50915091565b60781c6bffffffffffffffffffffffff1690565b60006126fe82611e69565b612707836126df565b016bffffffffffffffffffffffff169050919050565b600081600361272b816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516600060046129bb565b6000816003612769816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000851660106129b1565b6000806127a3836126df565b6bffffffffffffffffffffffff16905060006127be84611e69565b6bffffffffffffffffffffffff169091209392505050565b60008160036127e4816112a4565b5060006128127fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616612797565b6003549091506128379073ffffffffffffffffffffffffffffffffffffffff16612d66565b93508373ffffffffffffffffffffffffffffffffffffffff1663d20cdd5f828360126040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561289d57600080fd5b505af11580156128b1573d6000803e3d6000fd5b505050506128c48562ffffff191661271d565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260046020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff929092169190911790556129477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616612dcf565b73ffffffffffffffffffffffffffffffffffffffff85166000818152600460209081526040808320600101949094559381526005909352912080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055509092915050565b60006118e5838360145b60008160200360080260ff166129d285858561235b565b901c949350505050565b6060611afc8484600085612e0d565b6000612a187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611e69565b6bffffffffffffffffffffffff1660241415612a6457612a5d60035b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000084169061255c565b905061121d565b61123b612582565b60006040612a9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611e69565b6bffffffffffffffffffffffff161415612a6457612a5d6001612a34565b600060405182811115612acc5760206060fd5b506000805b8451811015612b24576000858281518110612ae857fe5b60200260200101519050612afe81848701612fc7565b50612b0881611e69565b6bffffffffffffffffffffffff16929092019150600101612ad1565b50611afc60008483612549565b6000612b3c826130f3565b60200292915050565b60606000612b528661260b565b9150506000612b608661260b565b9150506000612b6e8661260b565b9150506000612b7c8661260b565b91505083838383604051602001808061348f603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a82015260500160216133b782397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b60006041612d187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611e69565b6bffffffffffffffffffffffff161415612a6457612a5d6002612a34565b6000612d4860048360ff16901c613127565b60ff161760081b62ffff0016612d5d82613127565b60ff1617919050565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0949350505050565b6000816003612ddd816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000085166004602061235b565b606082471015612e68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133916026913960400191505060405180910390fd5b612e7185613293565b612edc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310612f4557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612f08565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612fa7576040519150601f19603f3d011682016040523d82523d6000602084013e612fac565b606091505b5091509150612fbc828286613299565b979650505050505050565b6000612fd283613319565b613027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061343c6028913960400191505060405180910390fd5b613030836125a6565b613085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613464602b913960400191505060405180910390fd5b600061309084611e69565b6bffffffffffffffffffffffff16905060006130ab856126df565b6bffffffffffffffffffffffff16905060006040519050848111156130d05760206060fd5b8285848460045afa50611a476130e587612605565b64ffffffffff168685612549565b60006020613119602061310585611e69565b6bffffffffffffffffffffffff16906124d7565b8161312057fe5b0492915050565b600060f08083179060ff8216141561314357603091505061121d565b8060ff1660f1141561315957603191505061121d565b8060ff1660f2141561316f57603291505061121d565b8060ff1660f3141561318557603391505061121d565b8060ff1660f4141561319b57603491505061121d565b8060ff1660f514156131b157603591505061121d565b8060ff1660f614156131c757603691505061121d565b8060ff1660f714156131dd57603791505061121d565b8060ff1660f814156131f357603891505061121d565b8060ff1660f9141561320957603991505061121d565b8060ff1660fa141561321f57606191505061121d565b8060ff1660fb141561323557606291505061121d565b8060ff1660fc141561324b57606391505061121d565b8060ff1660fd141561326157606491505061121d565b8060ff1660fe141561327757606591505061121d565b8060ff1660ff141561328d57606691505061121d565b50919050565b3b151590565b606083156132a85750816118e5565b8251156132b85782518084602001fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152845160248401528451859391928392604401919085019080838360008315611da1578181015183820152602001611d89565b60006133248261332b565b1592915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b60408051808201909152600080825260208201529056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c2e20417474656d7074656420746f20696e646578206174206f666673657420307854797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e2033322062797465735361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656454797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a26469706673582212209a0444290052d61c0c5b8eec1f575cd838398970a23928b193fbc2e1a5836cb764736f6c63430007060033608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6117228061007d6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063715018a6116100b2578063a457c2d711610081578063d20cdd5f11610066578063d20cdd5f146103f8578063dd62ed3e14610424578063f2fde38b1461045f5761011b565b8063a457c2d714610386578063a9059cbb146103bf5761011b565b8063715018a61461030c5780638da5cb5b1461031457806395d89b41146103455780639dc29fac1461034d5761011b565b8063313ce567116100ee578063313ce56714610247578063395093511461026557806340c10f191461029e57806370a08231146102d95761011b565b806306fdde0314610120578063095ea7b31461019d57806318160ddd146101ea57806323b872dd14610204575b600080fd5b610128610492565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016257818101518382015260200161014a565b50505050905090810190601f16801561018f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d6600480360360408110156101b357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610546565b604080519115158252519081900360200190f35b6101f2610563565b60408051918252519081900360200190f35b6101d66004803603606081101561021a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610569565b61024f61060a565b6040805160ff9092168252519081900360200190f35b6101d66004803603604081101561027b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610613565b6102d7600480360360408110156102b457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561066e565b005b6101f2600480360360208110156102ef57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610724565b6102d761074c565b61031c610863565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61012861087f565b6102d76004803603604081101561036357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108fe565b6101d66004803603604081101561039c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109b0565b6101d6600480360360408110156103d557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a25565b6102d76004803603606081101561040e57600080fd5b508035906020810135906040013560ff16610a39565b6101f26004803603604081101561043a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610b53565b6102d76004803603602081101561047557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b8b565b60048054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053c5780601f106105115761010080835404028352916020019161053c565b820191906000526020600020905b81548152906001019060200180831161051f57829003601f168201915b5050505050905090565b600061055a610553610d2c565b8484610d30565b50600192915050565b60035490565b6000610576848484610e77565b61060084610582610d2c565b6105fb856040518060600160405280602881526020016116366028913973ffffffffffffffffffffffffffffffffffffffff8a166000908152600260205260408120906105cd610d2c565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020549190611049565b610d30565b5060019392505050565b60065460ff1690565b600061055a610620610d2c565b846105fb8560026000610631610d2c565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918c1681529252902054906110fa565b610676610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610694610863565b73ffffffffffffffffffffffffffffffffffffffff161461071657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6107208282611175565b5050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b610754610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610772610863565b73ffffffffffffffffffffffffffffffffffffffff16146107f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60058054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053c5780601f106105115761010080835404028352916020019161053c565b610906610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610924610863565b73ffffffffffffffffffffffffffffffffffffffff16146109a657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61072082826112a8565b600061055a6109bd610d2c565b846105fb856040518060600160405280602581526020016116c860259139600260006109e7610d2c565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918d16815292529020549190611049565b600061055a610a32610d2c565b8484610e77565b610a41610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610a5f610863565b73ffffffffffffffffffffffffffffffffffffffff1614610ae157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610aea836113f2565b8051610afe916004916020909101906114e1565b50610b08826113f2565b8051610b1c916005916020909101906114e1565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790555050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b610b93610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610bb1610863565b73ffffffffffffffffffffffffffffffffffffffff1614610c3357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610c9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806115c86026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b73ffffffffffffffffffffffffffffffffffffffff8316610d9c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806116a46024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610e08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115ee6022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ee3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061167f6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610f4f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806115836023913960400191505060405180910390fd5b610f5a838383611465565b610fa4816040518060600160405280602681526020016116106026913973ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260409020549190611049565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054610fe090826110fa565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110b757818101518382015260200161109f565b50505050905090810190601f1680156110e45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561116e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166111f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61120360008383611465565b60035461121090826110fa565b60035573ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205461124390826110fa565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061165e6021913960400191505060405180910390fd5b61132082600083611465565b61136a816040518060600160405280602281526020016115a66022913973ffffffffffffffffffffffffffffffffffffffff85166000908152600160205260409020549190611049565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205560035461139d908261146a565b60035560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b606060005b60208160ff1610801561143d5750828160ff166020811061141457fe5b1a60f81b7fff000000000000000000000000000000000000000000000000000000000000001615155b1561144a576001016113f7565b60405191506040820160405280825282602083015250919050565b505050565b6000828211156114db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611517576000855561155d565b82601f1061153057805160ff191683800117855561155d565b8280016001018555821561155d579182015b8281111561155d578251825591602001919060010190611542565b5061156992915061156d565b5090565b5b80821115611569576000815560010161156e56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f090bac5445763ab7a19f18afc0c86d7735717135049c3fd21d1cf0f4cc26f5764736f6c63430007060033"; + "0x60806040523480156200001157600080fd5b5060405162004dc038038062004dc0833981810160405260208110156200003757600080fd5b5051808060006200004762000106565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b0319166001600160a01b0392909216919091179055604051620000bf906200010a565b604051809103906000f080158015620000dc573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b039290921691909117905550620001189050565b3390565b61179f806200362183390190565b6134f980620001286000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c806389c716d111610076578063b49c53a71161005b578063b49c53a71461026f578063e6440ab814610298578063f2fde38b146102d7576100be565b806389c716d1146102345780638da5cb5b14610267576100be565b806356d5d475116100a757806356d5d47514610129578063715018a6146101e15780637c15112c146101e9576100be565b80633339df96146100c357806341bdc8b5146100f4575b600080fd5b6100cb61030a565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101276004803603602081101561010a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610326565b005b6101276004803603606081101561013f57600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561016c57600080fd5b82018360208201111561017e57600080fd5b803590602001918460018302840111640100000000831117156101a057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610415945050505050565b610127610680565b610127600480360360808110156101ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169063ffffffff6020820135169060408101359060600135610797565b6101276004803603602081101561024a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a27565b6100cb610b16565b6101276004803603604081101561028557600080fd5b5063ffffffff8135169060200135610b32565b610127600480360360408110156102ae57600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16610bf3565b610127600480360360208110156102ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610fd2565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b61032e611173565b73ffffffffffffffffffffffffffffffffffffffff1661034c610b16565b73ffffffffffffffffffffffffffffffffffffffff16146103ce57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61041e33611177565b61048957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f217265706c696361000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b82826104958282611222565b61050057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f2172656d6f746520726f75746572000000000000000000000000000000000000604482015290519081900360640190fd5b600061053661050f8583611241565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016611265565b905060006105657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831661129a565b905060006105947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000841661130d565b90506105c17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216611380565b156105d5576105d082826113a0565b610676565b6106007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216611527565b1561060f576105d08282611530565b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21616374696f6e00000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5050505050505050565b610688611173565b73ffffffffffffffffffffffffffffffffffffffff166106a6610b16565b73ffffffffffffffffffffffffffffffffffffffff161461072857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60006107a2846116b8565b9050846107ae8161173a565b156107da576107d573ffffffffffffffffffffffffffffffffffffffff8216333086611780565b61086c565b6107e38161181b565b73ffffffffffffffffffffffffffffffffffffffff16639dc29fac33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b505050505b60006108778761181e565b9050600061088d82600001518360200151611897565b9050600061089b87876118ec565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fa92f9d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561090557600080fd5b505afa158015610919573d6000803e3d6000fd5b505050506040513d602081101561092f57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1663d346863989876109588686611924565b6040518463ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156109b657818101518382015260200161099e565b50505050905090810190601f1680156109e35780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610a0457600080fd5b505af1158015610a18573d6000803e3d6000fd5b50505050505050505050505050565b610a2f611173565b73ffffffffffffffffffffffffffffffffffffffff16610a4d610b16565b73ffffffffffffffffffffffffffffffffffffffff1614610acf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b610b3a611173565b73ffffffffffffffffffffffffffffffffffffffff16610b58610b16565b73ffffffffffffffffffffffffffffffffffffffff1614610bda57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b63ffffffff909116600090815260016020526040902055565b6000610bfe826116b8565b9050826000610c0c8261181e565b90506000610c2282600001518360200151611897565b90506000610e48610d848573ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015610ccf57600080fd5b8101908080516040519392919084640100000000821115610cef57600080fd5b908301906020820185811115610d0457600080fd5b8251640100000000811182820188101715610d1e57600080fd5b82525081516020918201929091019080838360005b83811015610d4b578181015183820152602001610d33565b50505050905090810190601f168015610d785780820380516001836020036101000a031916815260200191505b50604052505050611a51565b610dcf8673ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c7457600080fd5b8673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610e1757600080fd5b505af1158015610e2b573d6000803e3d6000fd5b505050506040513d6020811015610e4157600080fd5b5051611a97565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fa92f9d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610eb257600080fd5b505afa158015610ec6573d6000803e3d6000fd5b505050506040513d6020811015610edc57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1663d34686398787610f058686611924565b6040518463ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610f63578181015183820152602001610f4b565b50505050905090810190601f168015610f905780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610fb157600080fd5b505af1158015610fc5573d6000803e3d6000fd5b5050505050505050505050565b610fda611173565b73ffffffffffffffffffffffffffffffffffffffff16610ff8610b16565b73ffffffffffffffffffffffffffffffffffffffff161461107a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166110e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061336b6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b600254604080517f5190bc5300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291516000939290921691635190bc5391602480820192602092909190829003018186803b1580156111ee57600080fd5b505afa158015611202573d6000803e3d6000fd5b505050506040513d602081101561121857600080fd5b505190505b919050565b63ffffffff821660009081526001602052604090205481145b92915050565b81516000906020840161125c64ffffffffff85168284611b04565b95945050505050565b600061123b61127383611b5a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016611be9565b60008160046112cd815b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000841690611c63565b506113036000602460035b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816929190611de3565b92505b5050919050565b600081600461131b816112a4565b5060656113497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616611e69565b6bffffffffffffffffffffffff1614156113725761136b6024606560026112d8565b9250611306565b6113036024606460016112d8565b600060015b61138e83611e7d565b600481111561139957fe5b1492915050565b8160036113ac816112a4565b508260016113b9816112a4565b5060006113c587611eb8565b90506113d08161173a565b156114515761144c6114037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816611f9e565b61142e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008916611fda565b73ffffffffffffffffffffffffffffffffffffffff84169190612017565b61151e565b61145a8161181b565b73ffffffffffffffffffffffffffffffffffffffff166340c10f196114a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008916611f9e565b6114cb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008a16611fda565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610fb157600080fd5b50505050505050565b60006002611385565b81600361153c816112a4565b50826002611549816112a4565b50600061155587611eb8565b90506115608161173a565b156115cc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f2172657072000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6115d58161181b565b73ffffffffffffffffffffffffffffffffffffffff1663d20cdd5f61161b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000089166120a9565b6116467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008a166120e7565b6116717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008b16612124565b6040518463ffffffff1660e01b8152600401808481526020018381526020018260ff1681526020019350505050600060405180830381600087803b158015610fb157600080fd5b63ffffffff81166000908152600160205260409020548061121d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f2172656d6f746500000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020526040812054829063ffffffff161561177757600091505061121d565b3b151592915050565b6040805173ffffffffffffffffffffffffffffffffffffffff80861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611815908590612162565b50505050565b90565b611826613353565b5073ffffffffffffffffffffffffffffffffffffffff81166000908152600460209081526040918290208251808401909352805463ffffffff168084526001909101549183019190915261121d5761187c61223a565b63ffffffff16815261188d826122d6565b6020820152919050565b60006118e56118e060008585604051602001808363ffffffff1660e01b81526004018281526020019250505060405160208183030381529060405261124190919063ffffffff16565b6122ef565b9392505050565b604080516020810184905280820183905281518082038301815260609091019091526000906118e59061191f9083611241565b6122fd565b6060826003611932816112a4565b5061193c84611527565b8061194b575061194b84611380565b6119b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f21616374696f6e00000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60408051600280825260608201835260009260208301908036833701905050905085816000815181106119e557fe5b602002602001019062ffffff1916908162ffffff1916815250508481600181518110611a0d57fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090921660209283029190910190910152611a478161230b565b9695505050505050565b600061123b60008351611a6e60008661124190919063ffffffff16565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016919061235b565b60408051602081018590528082018490527fff0000000000000000000000000000000000000000000000000000000000000060f884901b166060820152815160418183030181526061909101909152600090611afc90611af79083611241565b6124c9565b949350505050565b600080611b1184846124d7565b9050604051811115611b21575060005b80611b4f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009150506118e5565b61125c858585612549565b600080611b887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611e69565b6bffffffffffffffffffffffff1690506064811480611ba75750606581145b15611be157611bd97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416600461255c565b91505061121d565b6118e5612582565b6000611bf4826125a6565b611c5f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f56616c696469747920617373657274696f6e206661696c656400000000000000604482015290519081900360640190fd5b5090565b6000611c6f83836125e3565b611ddc576000611c8d611c8185612605565b64ffffffffff1661260b565b9150506000611ca28464ffffffffff1661260b565b604080517f5479706520617373657274696f6e206661696c65642e20476f742030780000006020808301919091527fffffffffffffffffffff0000000000000000000000000000000000000000000060b088811b8216603d8501527f2e20457870656374656420307800000000000000000000000000000000000000604785015285901b1660548301528251603e818403018152605e8301938490527f08c379a000000000000000000000000000000000000000000000000000000000909352606282018181528351608284015283519496509294508493839260a2019185019080838360005b83811015611da1578181015183820152602001611d89565b50505050905090810190601f168015611dce5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5090919050565b600080611def866126df565b6bffffffffffffffffffffffff169050611e08866126f3565b611e1c85611e1684896124d7565b906124d7565b1115611e4b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050611afc565b611e5581866124d7565b9050611a478364ffffffffff168286611b04565b60181c6bffffffffffffffffffffffff1690565b6000611eaa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612605565b60ff16600481111561123b57fe5b6000816003611ec6816112a4565b50611ecf61223a565b63ffffffff16611f007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861661271d565b63ffffffff161415611f375761136b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000851661275b565b6000600581611f677fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816612797565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff169050806113035761125c856127d6565b6000816001611fac816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516600c6129b1565b6000816001611fe8816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000085166020806129bb565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526120a4908490612162565b505050565b60008160026120b7816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000085166000602061235b565b60008160026120f5816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000851660208061235b565b6000816002612132816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516604060016129bb565b60006121c4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166129dc9092919063ffffffff16565b8051909150156120a4578080602001905160208110156121e357600080fd5b50516120a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613412602a913960400191505060405180910390fd5b600254604080517f8d3638f4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638d3638f4916004808301926020929190829003018186803b1580156122a557600080fd5b505afa1580156122b9573d6000803e3d6000fd5b505050506040513d60208110156122cf57600080fd5b5051905090565b73ffffffffffffffffffffffffffffffffffffffff1690565b600061123b611273836129eb565b600061123b61127383612a6c565b60405160609060006123208460208401612ab9565b9050600061232d82611e69565b6bffffffffffffffffffffffff169050600061234883612b31565b9184525082016020016040525092915050565b600060ff821661236d575060006118e5565b61237684611e69565b6bffffffffffffffffffffffff166123918460ff85166124d7565b1115612433576123d26123a3856126df565b6bffffffffffffffffffffffff166123ba86611e69565b6bffffffffffffffffffffffff16858560ff16612b45565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315611da1578181015183820152602001611d89565b60208260ff161115612490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806133d8603a913960400191505060405180910390fd5b60088202600061249f866126df565b6bffffffffffffffffffffffff16905060006124ba83612ca0565b91909501511695945050505050565b600061123b61127383612ce9565b8181018281101561123b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60d81b7affffffffffffffffffffffffffffffffffffffffffffffffffffff9091161790565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090565b60006125b182612605565b64ffffffffff1664ffffffffff14156125cc5750600061121d565b60006125d7836126f3565b60405110199392505050565b60008164ffffffffff166125f684612605565b64ffffffffff16149392505050565b60d81c90565b600080601f5b600f8160ff1611156126735760ff600882021684901c61263081612d36565b61ffff16841793508160ff1660101461264b57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612611565b50600f5b60ff8160ff1610156126d95760ff600882021684901c61269681612d36565b61ffff16831792508160ff166000146126b157601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612677565b50915091565b60781c6bffffffffffffffffffffffff1690565b60006126fe82611e69565b612707836126df565b016bffffffffffffffffffffffff169050919050565b600081600361272b816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008516600060046129bb565b6000816003612769816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000851660106129b1565b6000806127a3836126df565b6bffffffffffffffffffffffff16905060006127be84611e69565b6bffffffffffffffffffffffff169091209392505050565b60008160036127e4816112a4565b5060006128127fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616612797565b6003549091506128379073ffffffffffffffffffffffffffffffffffffffff16612d66565b93508373ffffffffffffffffffffffffffffffffffffffff1663d20cdd5f828360126040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561289d57600080fd5b505af11580156128b1573d6000803e3d6000fd5b505050506128c48562ffffff191661271d565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260046020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff929092169190911790556129477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616612dcf565b73ffffffffffffffffffffffffffffffffffffffff85166000818152600460209081526040808320600101949094559381526005909352912080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055509092915050565b60006118e5838360145b60008160200360080260ff166129d285858561235b565b901c949350505050565b6060611afc8484600085612e0d565b6000612a187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611e69565b6bffffffffffffffffffffffff1660241415612a6457612a5d60035b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000084169061255c565b905061121d565b61123b612582565b60006040612a9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611e69565b6bffffffffffffffffffffffff161415612a6457612a5d6001612a34565b600060405182811115612acc5760206060fd5b506000805b8451811015612b24576000858281518110612ae857fe5b60200260200101519050612afe81848701612fc7565b50612b0881611e69565b6bffffffffffffffffffffffff16929092019150600101612ad1565b50611afc60008483612549565b6000612b3c826130f3565b60200292915050565b60606000612b528661260b565b9150506000612b608661260b565b9150506000612b6e8661260b565b9150506000612b7c8661260b565b91505083838383604051602001808061348f603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a82015260500160216133b782397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b60006041612d187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611e69565b6bffffffffffffffffffffffff161415612a6457612a5d6002612a34565b6000612d4860048360ff16901c613127565b60ff161760081b62ffff0016612d5d82613127565b60ff1617919050565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0949350505050565b6000816003612ddd816112a4565b506113037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000085166004602061235b565b606082471015612e68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133916026913960400191505060405180910390fd5b612e7185613293565b612edc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310612f4557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612f08565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612fa7576040519150601f19603f3d011682016040523d82523d6000602084013e612fac565b606091505b5091509150612fbc828286613299565b979650505050505050565b6000612fd283613319565b613027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061343c6028913960400191505060405180910390fd5b613030836125a6565b613085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613464602b913960400191505060405180910390fd5b600061309084611e69565b6bffffffffffffffffffffffff16905060006130ab856126df565b6bffffffffffffffffffffffff16905060006040519050848111156130d05760206060fd5b8285848460045afa50611a476130e587612605565b64ffffffffff168685612549565b60006020613119602061310585611e69565b6bffffffffffffffffffffffff16906124d7565b8161312057fe5b0492915050565b600060f08083179060ff8216141561314357603091505061121d565b8060ff1660f1141561315957603191505061121d565b8060ff1660f2141561316f57603291505061121d565b8060ff1660f3141561318557603391505061121d565b8060ff1660f4141561319b57603491505061121d565b8060ff1660f514156131b157603591505061121d565b8060ff1660f614156131c757603691505061121d565b8060ff1660f714156131dd57603791505061121d565b8060ff1660f814156131f357603891505061121d565b8060ff1660f9141561320957603991505061121d565b8060ff1660fa141561321f57606191505061121d565b8060ff1660fb141561323557606291505061121d565b8060ff1660fc141561324b57606391505061121d565b8060ff1660fd141561326157606491505061121d565b8060ff1660fe141561327757606591505061121d565b8060ff1660ff141561328d57606691505061121d565b50919050565b3b151590565b606083156132a85750816118e5565b8251156132b85782518084602001fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152845160248401528451859391928392604401919085019080838360008315611da1578181015183820152602001611d89565b60006133248261332b565b1592915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b60408051808201909152600080825260208201529056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c2e20417474656d7074656420746f20696e646578206174206f666673657420307854797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e2033322062797465735361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656454797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a2646970667358221220705be5e91fd2cbe279a73c92a7058ad83fa98f210c1ff337265de6da8dcfd0a764736f6c63430007060033608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6117228061007d6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063715018a6116100b2578063a457c2d711610081578063d20cdd5f11610066578063d20cdd5f146103f8578063dd62ed3e14610424578063f2fde38b1461045f5761011b565b8063a457c2d714610386578063a9059cbb146103bf5761011b565b8063715018a61461030c5780638da5cb5b1461031457806395d89b41146103455780639dc29fac1461034d5761011b565b8063313ce567116100ee578063313ce56714610247578063395093511461026557806340c10f191461029e57806370a08231146102d95761011b565b806306fdde0314610120578063095ea7b31461019d57806318160ddd146101ea57806323b872dd14610204575b600080fd5b610128610492565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016257818101518382015260200161014a565b50505050905090810190601f16801561018f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d6600480360360408110156101b357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610546565b604080519115158252519081900360200190f35b6101f2610563565b60408051918252519081900360200190f35b6101d66004803603606081101561021a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610569565b61024f61060a565b6040805160ff9092168252519081900360200190f35b6101d66004803603604081101561027b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610613565b6102d7600480360360408110156102b457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561066e565b005b6101f2600480360360208110156102ef57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610724565b6102d761074c565b61031c610863565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61012861087f565b6102d76004803603604081101561036357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108fe565b6101d66004803603604081101561039c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109b0565b6101d6600480360360408110156103d557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a25565b6102d76004803603606081101561040e57600080fd5b508035906020810135906040013560ff16610a39565b6101f26004803603604081101561043a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610b53565b6102d76004803603602081101561047557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b8b565b60048054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053c5780601f106105115761010080835404028352916020019161053c565b820191906000526020600020905b81548152906001019060200180831161051f57829003601f168201915b5050505050905090565b600061055a610553610d2c565b8484610d30565b50600192915050565b60035490565b6000610576848484610e77565b61060084610582610d2c565b6105fb856040518060600160405280602881526020016116366028913973ffffffffffffffffffffffffffffffffffffffff8a166000908152600260205260408120906105cd610d2c565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020549190611049565b610d30565b5060019392505050565b60065460ff1690565b600061055a610620610d2c565b846105fb8560026000610631610d2c565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918c1681529252902054906110fa565b610676610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610694610863565b73ffffffffffffffffffffffffffffffffffffffff161461071657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6107208282611175565b5050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b610754610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610772610863565b73ffffffffffffffffffffffffffffffffffffffff16146107f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60058054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053c5780601f106105115761010080835404028352916020019161053c565b610906610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610924610863565b73ffffffffffffffffffffffffffffffffffffffff16146109a657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61072082826112a8565b600061055a6109bd610d2c565b846105fb856040518060600160405280602581526020016116c860259139600260006109e7610d2c565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918d16815292529020549190611049565b600061055a610a32610d2c565b8484610e77565b610a41610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610a5f610863565b73ffffffffffffffffffffffffffffffffffffffff1614610ae157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610aea836113f2565b8051610afe916004916020909101906114e1565b50610b08826113f2565b8051610b1c916005916020909101906114e1565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790555050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b610b93610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610bb1610863565b73ffffffffffffffffffffffffffffffffffffffff1614610c3357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610c9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806115c86026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b73ffffffffffffffffffffffffffffffffffffffff8316610d9c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806116a46024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610e08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115ee6022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ee3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061167f6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610f4f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806115836023913960400191505060405180910390fd5b610f5a838383611465565b610fa4816040518060600160405280602681526020016116106026913973ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260409020549190611049565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054610fe090826110fa565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110b757818101518382015260200161109f565b50505050905090810190601f1680156110e45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561116e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166111f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61120360008383611465565b60035461121090826110fa565b60035573ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205461124390826110fa565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061165e6021913960400191505060405180910390fd5b61132082600083611465565b61136a816040518060600160405280602281526020016115a66022913973ffffffffffffffffffffffffffffffffffffffff85166000908152600160205260409020549190611049565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205560035461139d908261146a565b60035560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b606060005b60208160ff1610801561143d5750828160ff166020811061141457fe5b1a60f81b7fff000000000000000000000000000000000000000000000000000000000000001615155b1561144a576001016113f7565b60405191506040820160405280825282602083015250919050565b505050565b6000828211156114db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611517576000855561155d565b82601f1061153057805160ff191683800117855561155d565b8280016001018555821561155d579182015b8281111561155d578251825591602001919060010190611542565b5061156992915061156d565b5090565b5b80821115611569576000815560010161156e56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e7926c94802be1af38e8caa2c53409d4f03f5eb569bb26a35b2a3649b0d5d34f64736f6c63430007060033"; export class BridgeRouter__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-xapps/factories/BridgeToken__factory.ts b/typescript/src/typechain/optics-xapps/factories/BridgeToken__factory.ts index bbb4af50c..58cdff8c7 100644 --- a/typescript/src/typechain/optics-xapps/factories/BridgeToken__factory.ts +++ b/typescript/src/typechain/optics-xapps/factories/BridgeToken__factory.ts @@ -391,7 +391,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6117228061007d6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063715018a6116100b2578063a457c2d711610081578063d20cdd5f11610066578063d20cdd5f146103f8578063dd62ed3e14610424578063f2fde38b1461045f5761011b565b8063a457c2d714610386578063a9059cbb146103bf5761011b565b8063715018a61461030c5780638da5cb5b1461031457806395d89b41146103455780639dc29fac1461034d5761011b565b8063313ce567116100ee578063313ce56714610247578063395093511461026557806340c10f191461029e57806370a08231146102d95761011b565b806306fdde0314610120578063095ea7b31461019d57806318160ddd146101ea57806323b872dd14610204575b600080fd5b610128610492565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016257818101518382015260200161014a565b50505050905090810190601f16801561018f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d6600480360360408110156101b357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610546565b604080519115158252519081900360200190f35b6101f2610563565b60408051918252519081900360200190f35b6101d66004803603606081101561021a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610569565b61024f61060a565b6040805160ff9092168252519081900360200190f35b6101d66004803603604081101561027b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610613565b6102d7600480360360408110156102b457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561066e565b005b6101f2600480360360208110156102ef57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610724565b6102d761074c565b61031c610863565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61012861087f565b6102d76004803603604081101561036357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108fe565b6101d66004803603604081101561039c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109b0565b6101d6600480360360408110156103d557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a25565b6102d76004803603606081101561040e57600080fd5b508035906020810135906040013560ff16610a39565b6101f26004803603604081101561043a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610b53565b6102d76004803603602081101561047557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b8b565b60048054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053c5780601f106105115761010080835404028352916020019161053c565b820191906000526020600020905b81548152906001019060200180831161051f57829003601f168201915b5050505050905090565b600061055a610553610d2c565b8484610d30565b50600192915050565b60035490565b6000610576848484610e77565b61060084610582610d2c565b6105fb856040518060600160405280602881526020016116366028913973ffffffffffffffffffffffffffffffffffffffff8a166000908152600260205260408120906105cd610d2c565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020549190611049565b610d30565b5060019392505050565b60065460ff1690565b600061055a610620610d2c565b846105fb8560026000610631610d2c565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918c1681529252902054906110fa565b610676610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610694610863565b73ffffffffffffffffffffffffffffffffffffffff161461071657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6107208282611175565b5050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b610754610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610772610863565b73ffffffffffffffffffffffffffffffffffffffff16146107f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60058054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053c5780601f106105115761010080835404028352916020019161053c565b610906610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610924610863565b73ffffffffffffffffffffffffffffffffffffffff16146109a657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61072082826112a8565b600061055a6109bd610d2c565b846105fb856040518060600160405280602581526020016116c860259139600260006109e7610d2c565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918d16815292529020549190611049565b600061055a610a32610d2c565b8484610e77565b610a41610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610a5f610863565b73ffffffffffffffffffffffffffffffffffffffff1614610ae157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610aea836113f2565b8051610afe916004916020909101906114e1565b50610b08826113f2565b8051610b1c916005916020909101906114e1565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790555050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b610b93610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610bb1610863565b73ffffffffffffffffffffffffffffffffffffffff1614610c3357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610c9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806115c86026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b73ffffffffffffffffffffffffffffffffffffffff8316610d9c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806116a46024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610e08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115ee6022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ee3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061167f6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610f4f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806115836023913960400191505060405180910390fd5b610f5a838383611465565b610fa4816040518060600160405280602681526020016116106026913973ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260409020549190611049565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054610fe090826110fa565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110b757818101518382015260200161109f565b50505050905090810190601f1680156110e45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561116e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166111f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61120360008383611465565b60035461121090826110fa565b60035573ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205461124390826110fa565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061165e6021913960400191505060405180910390fd5b61132082600083611465565b61136a816040518060600160405280602281526020016115a66022913973ffffffffffffffffffffffffffffffffffffffff85166000908152600160205260409020549190611049565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205560035461139d908261146a565b60035560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b606060005b60208160ff1610801561143d5750828160ff166020811061141457fe5b1a60f81b7fff000000000000000000000000000000000000000000000000000000000000001615155b1561144a576001016113f7565b60405191506040820160405280825282602083015250919050565b505050565b6000828211156114db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611517576000855561155d565b82601f1061153057805160ff191683800117855561155d565b8280016001018555821561155d579182015b8281111561155d578251825591602001919060010190611542565b5061156992915061156d565b5090565b5b80821115611569576000815560010161156e56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f090bac5445763ab7a19f18afc0c86d7735717135049c3fd21d1cf0f4cc26f5764736f6c63430007060033"; + "0x608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6117228061007d6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063715018a6116100b2578063a457c2d711610081578063d20cdd5f11610066578063d20cdd5f146103f8578063dd62ed3e14610424578063f2fde38b1461045f5761011b565b8063a457c2d714610386578063a9059cbb146103bf5761011b565b8063715018a61461030c5780638da5cb5b1461031457806395d89b41146103455780639dc29fac1461034d5761011b565b8063313ce567116100ee578063313ce56714610247578063395093511461026557806340c10f191461029e57806370a08231146102d95761011b565b806306fdde0314610120578063095ea7b31461019d57806318160ddd146101ea57806323b872dd14610204575b600080fd5b610128610492565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016257818101518382015260200161014a565b50505050905090810190601f16801561018f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d6600480360360408110156101b357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610546565b604080519115158252519081900360200190f35b6101f2610563565b60408051918252519081900360200190f35b6101d66004803603606081101561021a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610569565b61024f61060a565b6040805160ff9092168252519081900360200190f35b6101d66004803603604081101561027b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610613565b6102d7600480360360408110156102b457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561066e565b005b6101f2600480360360208110156102ef57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610724565b6102d761074c565b61031c610863565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61012861087f565b6102d76004803603604081101561036357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108fe565b6101d66004803603604081101561039c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109b0565b6101d6600480360360408110156103d557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a25565b6102d76004803603606081101561040e57600080fd5b508035906020810135906040013560ff16610a39565b6101f26004803603604081101561043a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610b53565b6102d76004803603602081101561047557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b8b565b60048054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053c5780601f106105115761010080835404028352916020019161053c565b820191906000526020600020905b81548152906001019060200180831161051f57829003601f168201915b5050505050905090565b600061055a610553610d2c565b8484610d30565b50600192915050565b60035490565b6000610576848484610e77565b61060084610582610d2c565b6105fb856040518060600160405280602881526020016116366028913973ffffffffffffffffffffffffffffffffffffffff8a166000908152600260205260408120906105cd610d2c565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020549190611049565b610d30565b5060019392505050565b60065460ff1690565b600061055a610620610d2c565b846105fb8560026000610631610d2c565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918c1681529252902054906110fa565b610676610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610694610863565b73ffffffffffffffffffffffffffffffffffffffff161461071657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6107208282611175565b5050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b610754610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610772610863565b73ffffffffffffffffffffffffffffffffffffffff16146107f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60058054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053c5780601f106105115761010080835404028352916020019161053c565b610906610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610924610863565b73ffffffffffffffffffffffffffffffffffffffff16146109a657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61072082826112a8565b600061055a6109bd610d2c565b846105fb856040518060600160405280602581526020016116c860259139600260006109e7610d2c565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918d16815292529020549190611049565b600061055a610a32610d2c565b8484610e77565b610a41610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610a5f610863565b73ffffffffffffffffffffffffffffffffffffffff1614610ae157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610aea836113f2565b8051610afe916004916020909101906114e1565b50610b08826113f2565b8051610b1c916005916020909101906114e1565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790555050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b610b93610d2c565b73ffffffffffffffffffffffffffffffffffffffff16610bb1610863565b73ffffffffffffffffffffffffffffffffffffffff1614610c3357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610c9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806115c86026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b73ffffffffffffffffffffffffffffffffffffffff8316610d9c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806116a46024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610e08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115ee6022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ee3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061167f6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610f4f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806115836023913960400191505060405180910390fd5b610f5a838383611465565b610fa4816040518060600160405280602681526020016116106026913973ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260409020549190611049565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054610fe090826110fa565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110b757818101518382015260200161109f565b50505050905090810190601f1680156110e45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561116e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166111f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61120360008383611465565b60035461121090826110fa565b60035573ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205461124390826110fa565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061165e6021913960400191505060405180910390fd5b61132082600083611465565b61136a816040518060600160405280602281526020016115a66022913973ffffffffffffffffffffffffffffffffffffffff85166000908152600160205260409020549190611049565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205560035461139d908261146a565b60035560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b606060005b60208160ff1610801561143d5750828160ff166020811061141457fe5b1a60f81b7fff000000000000000000000000000000000000000000000000000000000000001615155b1561144a576001016113f7565b60405191506040820160405280825282602083015250919050565b505050565b6000828211156114db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611517576000855561155d565b82601f1061153057805160ff191683800117855561155d565b8280016001018555821561155d579182015b8281111561155d578251825591602001919060010190611542565b5061156992915061156d565b5090565b5b80821115611569576000815560010161156e56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e7926c94802be1af38e8caa2c53409d4f03f5eb569bb26a35b2a3649b0d5d34f64736f6c63430007060033"; export class BridgeToken__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-xapps/factories/Home__factory.ts b/typescript/src/typechain/optics-xapps/factories/Home__factory.ts index 50a816c95..c01f0404a 100644 --- a/typescript/src/typechain/optics-xapps/factories/Home__factory.ts +++ b/typescript/src/typechain/optics-xapps/factories/Home__factory.ts @@ -571,7 +571,7 @@ const _abi = [ ]; const _bytecode = - "0x60a060405234801561001057600080fd5b5060405161286d38038061286d8339818101604052602081101561003357600080fd5b505160e081901b6001600160e01b03191660805263ffffffff166127fa6100736000398061096352806109945280610dce52806111fa52506127fa6000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c80639df6c8e1116100e3578063d34686391161008c578063f2fde38b11610066578063f2fde38b14610663578063f6d1610214610696578063fd54b2281461069e57610198565b8063d34686391461059b578063df034cd014610653578063ebf0c7171461065b57610198565b8063b31c01fb116100bd578063b31c01fb1461048d578063c19d93fb1461053f578063c4d66de81461056857610198565b80639df6c8e1146104755780639fa6a6e31461047d578063ab91c7b01461048557610198565b8063522ae002116101455780638e4e30e01161011f5780638e4e30e01461035d5780639776120e1461040f5780639d54f4191461044257610198565b8063522ae0021461031c5780638d3638f4146103245780638da5cb5b1461032c57610198565b80632bef2892116101765780632bef2892146102c257806336e104de146102f357806345630b1a1461031457610198565b806306661abd1461019d57806319d9d21a146101b75780632752e0f414610286575b600080fd5b6101a56106a6565b60408051918252519081900360200190f35b610284600480360360a08110156101cd57600080fd5b81359160208101918101906080810160608201356401000000008111156101f357600080fd5b82018360208201111561020557600080fd5b8035906020019184600183028401116401000000008311171561022757600080fd5b91939092909160208101903564010000000081111561024557600080fd5b82018360208201111561025757600080fd5b8035906020019184600183028401116401000000008311171561027957600080fd5b5090925090506106ac565b005b6102a96004803603602081101561029c57600080fd5b503563ffffffff16610909565b6040805163ffffffff9092168252519081900360200190f35b6102df600480360360208110156102d857600080fd5b5035610921565b604080519115158252519081900360200190f35b6102fb610934565b6040805192835260208301919091528051918290030190f35b6101a561095c565b6101a561098c565b6102a9610992565b6103346109b6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102df6004803603606081101561037357600080fd5b81359160208101359181019060608101604082013564010000000081111561039a57600080fd5b8201836020820111156103ac57600080fd5b803590602001918460018302840111640100000000831117156103ce57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109d2945050505050565b6102846004803603602081101561042557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ba5565b6102846004803603602081101561045857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c37565b610334610cc6565b6101a5610ce2565b6101a5610ce8565b610284600480360360608110156104a357600080fd5b8135916020810135918101906060810160408201356401000000008111156104ca57600080fd5b8201836020820111156104dc57600080fd5b803590602001918460018302840111640100000000831117156104fe57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610cf4945050505050565b610547610e92565b6040518082600281111561055757fe5b815260200191505060405180910390f35b6102846004803603602081101561057e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610eb3565b610284600480360360608110156105b157600080fd5b63ffffffff823516916020810135918101906060810160408201356401000000008111156105de57600080fd5b8201836020820111156105f057600080fd5b8035906020019184600183028401116401000000008311171561061257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506110d0945050505050565b610334611352565b6101a561136e565b6102846004803603602081101561067957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661137a565b6101a5611409565b6101a5611415565b60215490565b600260245474010000000000000000000000000000000000000000900460ff1660028111156106d757fe5b141561074457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f8601819004810282018101909252848152610786918891883591889088908190840183828082843760009201919091525061141b92505050565b80156107d557506107d586866001602002013584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061141b92505050565b80156107e657508435602086013514155b15610901576107f36114ad565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b60266020526000908152604090205463ffffffff1681565b600061092e602283611588565b92915050565b60008061094160226115f8565b156109585760255491506109556022611638565b90505b9091565b60006109877f0000000000000000000000000000000000000000000000000000000000000000611675565b905090565b61080081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60285473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260245474010000000000000000000000000000000000000000900460ff1660028111156109ff57fe5b1415610a6c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610a7784848461141b565b610ae257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6261642073696700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6025548414610b5257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6e6f7420612063757272656e7420757064617465000000000000000000000000604482015290519081900360640190fd5b610b5d602284611588565b610b9a57610b696114ad565b6040517fb015f3b3a7a56304206e1e4d15f0dad9b2914691bbe7ab34e407c53b2700a91b90600090a1506001610b9e565b5060005b9392505050565b60285473ffffffffffffffffffffffffffffffffffffffff163314610c2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610c34816116ea565b50565b60275473ffffffffffffffffffffffffffffffffffffffff163314610cbd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f21757064617465724d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b610c34816117d7565b60275473ffffffffffffffffffffffffffffffffffffffff1681565b60255481565b600061098760226115f8565b600260245474010000000000000000000000000000000000000000900460ff166002811115610d1f57fe5b1415610d8c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610d978383836109d2565b15610da157610e8d565b6000610dad6022611850565b905082811415610dbd5750610dc3565b50610da1565b8160258190555081837f000000000000000000000000000000000000000000000000000000000000000063ffffffff167f608828ad904a0c9250c09004ba7226efb08f35a5c815bb3f76b5a8a271cd08b2846040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e52578181015183820152602001610e3a565b50505050905090810190601f168015610e7f5780820380516001836020036101000a031916815260200191505b509250505060405180910390a45b505050565b60245474010000000000000000000000000000000000000000900460ff1681565b600054610100900460ff1680610ecc5750610ecc611989565b80610eda575060005460ff16155b610f2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612775602e913960400191505060405180910390fd5b600054610100900460ff16158015610f9557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b610f9e3361199a565b610fa7826116ea565b610fb16022611a28565b602754604080517fdf034cd0000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163df034cd0916004808301926020929190829003018186803b15801561101c57600080fd5b505afa158015611030573d6000803e3d6000fd5b505050506040513d602081101561104657600080fd5b5051905061105381611a6c565b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f9e5f57e4ee5f9eeac3131028d48f19d80820ce6fa93c4c66cc82a3e2b9837c329181900360200190a15080156110cc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b600260245474010000000000000000000000000000000000000000900460ff1660028111156110fb57fe5b141561116857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610800815111156111da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21746f6f20626967000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b63ffffffff808416600090815260266020526040812054909116906112237f00000000000000000000000000000000000000000000000000000000000000003384888888611bf9565b80516020820120909150611238600182611ccf565b61124b61124361136e565b602290611dd7565b50806112578785611e44565b67ffffffffffffffff16600161126b6106a6565b037f1a2a870182b13cdb4a0ec2e16f96df5a0e20b1327d43564f7f0e62992a55bd6c856040518080602001828103825283818151815260200191508051906020019080838360005b838110156112cb5781810151838201526020016112b3565b50505050905090810190601f1680156112f85780820380516001836020036101000a031916815260200191505b509250505060405180910390a4505063ffffffff938416600090815260266020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016600192909201909416179092555050565b60245473ffffffffffffffffffffffffffffffffffffffff1681565b60006109876001611e5e565b60285473ffffffffffffffffffffffffffffffffffffffff16331461140057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610c348161199a565b60006109876022611638565b60215481565b60008061142661095c565b858560405160200180848152602001838152602001828152602001935050505060405160208183030381529060405280519060200120905061146781611e71565b60245490915073ffffffffffffffffffffffffffffffffffffffff1661148d8285611ec2565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b6114b5611f5c565b602754604080517f5b3c2cbf000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691635b3c2cbf9160248082019260009290919082900301818387803b15801561152757600080fd5b505af115801561153b573d6000803e3d6000fd5b505060245460405133935073ffffffffffffffffffffffffffffffffffffffff90911691507f98064af315f26d7333ba107ba43a128ec74345f4d4e6f2549840fe092a1c8bce90600090a3565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168111610b9a5760008181526001850160205260409020548314156115f057600191505061092e565b6001016115a0565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166116308282611f9d565b949350505050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b6040805160e09290921b7fffffffff00000000000000000000000000000000000000000000000000000000166020808401919091527f4f5054494353000000000000000000000000000000000000000000000000000060248401528151808403600a018152602a909301909152815191012090565b6116f381611fb7565b61175e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f21636f6e747261637420757064617465724d616e616765720000000000000000604482015290519081900360640190fd5b6027805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f958d788fb4c373604cd4c73aa8c592de127d0819b49bb4dc02c8ecd666e965bf9181900360200190a150565b6024805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f9e5f57e4ee5f9eeac3131028d48f19d80820ce6fa93c4c66cc82a3e2b9837c329181900360200190a150565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166118888282611f9d565b6118f357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff8116600090815260018501602052604090205492508215611944576fffffffffffffffffffffffffffffffff811660009081526001850160205260408120555b83547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001919091016fffffffffffffffffffffffffffffffff1617909255919050565b600061199430611fb7565b15905090565b60285460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3602880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b80546fffffffffffffffffffffffffffffffff16610c345780547fffffffffffffffffffffffffffffffff0000000000000000000000000000000016600117815550565b600054610100900460ff1680611a855750611a85611989565b80611a93575060005460ff16155b611ae8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612775602e913960400191505060405180910390fd5b600054610100900460ff16158015611b4e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b602480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416177fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905580156110cc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555050565b6060868686868686604051602001808763ffffffff1660e01b81526004018681526020018563ffffffff1660e01b81526004018463ffffffff1660e01b815260040183815260200182805190602001908083835b60208310611c8a57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611c4d565b6001836020036101000a038019825116818451168082178552505050505050905001965050505050505060405160208183030381529060405290509695505050505050565b602082015463ffffffff11611d4557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c00000000000000000000000000000000604482015290519081900360640190fd5b6020820180546001019081905560005b6020811015611dd4578160011660011415611d815782848260208110611d7757fe5b0155506110cc9050565b838160208110611d8d57fe5b015483604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120925060028281611dc957fe5b049150600101611d55565b50fe5b81546fffffffffffffffffffffffffffffffff808216700100000000000000000000000000000000928390048216600101918216909202919091178355811561092e576fffffffffffffffffffffffffffffffff8116600090815260019390930160205260409092205590565b63ffffffff1660209190911b67ffffffff00000000161790565b600061092e82611e6c611fbd565b61247e565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b60008151604114611f3457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a611f528682858561253c565b9695505050505050565b602480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055565b60019103016fffffffffffffffffffffffffffffffff1690565b3b151590565b611fc5612733565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6020820154600090815b602081101561253457600182821c1660008683602081106124a557fe5b0154905081600114156124e8578085604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120945061252a565b848684602081106124f557fe5b602002015160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012094505b5050600101612488565b505092915050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156125b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127536022913960400191505060405180910390fd5b8360ff16601b14806125cc57508360ff16601c145b612621576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127a36022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561267d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661272a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b604051806104000160405280602090602082028036833750919291505056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c7565496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c7565a26469706673582212202ef309afabc95172eab15ac1e6b71eaa0a39bbad0310f698cb6a872447a5d4d564736f6c63430007060033"; + "0x60a060405234801561001057600080fd5b5060405161286d38038061286d8339818101604052602081101561003357600080fd5b505160e081901b6001600160e01b03191660805263ffffffff166127fa6100736000398061096352806109945280610dce52806111fa52506127fa6000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c80639df6c8e1116100e3578063d34686391161008c578063f2fde38b11610066578063f2fde38b14610663578063f6d1610214610696578063fd54b2281461069e57610198565b8063d34686391461059b578063df034cd014610653578063ebf0c7171461065b57610198565b8063b31c01fb116100bd578063b31c01fb1461048d578063c19d93fb1461053f578063c4d66de81461056857610198565b80639df6c8e1146104755780639fa6a6e31461047d578063ab91c7b01461048557610198565b8063522ae002116101455780638e4e30e01161011f5780638e4e30e01461035d5780639776120e1461040f5780639d54f4191461044257610198565b8063522ae0021461031c5780638d3638f4146103245780638da5cb5b1461032c57610198565b80632bef2892116101765780632bef2892146102c257806336e104de146102f357806345630b1a1461031457610198565b806306661abd1461019d57806319d9d21a146101b75780632752e0f414610286575b600080fd5b6101a56106a6565b60408051918252519081900360200190f35b610284600480360360a08110156101cd57600080fd5b81359160208101918101906080810160608201356401000000008111156101f357600080fd5b82018360208201111561020557600080fd5b8035906020019184600183028401116401000000008311171561022757600080fd5b91939092909160208101903564010000000081111561024557600080fd5b82018360208201111561025757600080fd5b8035906020019184600183028401116401000000008311171561027957600080fd5b5090925090506106ac565b005b6102a96004803603602081101561029c57600080fd5b503563ffffffff16610909565b6040805163ffffffff9092168252519081900360200190f35b6102df600480360360208110156102d857600080fd5b5035610921565b604080519115158252519081900360200190f35b6102fb610934565b6040805192835260208301919091528051918290030190f35b6101a561095c565b6101a561098c565b6102a9610992565b6103346109b6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102df6004803603606081101561037357600080fd5b81359160208101359181019060608101604082013564010000000081111561039a57600080fd5b8201836020820111156103ac57600080fd5b803590602001918460018302840111640100000000831117156103ce57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109d2945050505050565b6102846004803603602081101561042557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ba5565b6102846004803603602081101561045857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c37565b610334610cc6565b6101a5610ce2565b6101a5610ce8565b610284600480360360608110156104a357600080fd5b8135916020810135918101906060810160408201356401000000008111156104ca57600080fd5b8201836020820111156104dc57600080fd5b803590602001918460018302840111640100000000831117156104fe57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610cf4945050505050565b610547610e92565b6040518082600281111561055757fe5b815260200191505060405180910390f35b6102846004803603602081101561057e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610eb3565b610284600480360360608110156105b157600080fd5b63ffffffff823516916020810135918101906060810160408201356401000000008111156105de57600080fd5b8201836020820111156105f057600080fd5b8035906020019184600183028401116401000000008311171561061257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506110d0945050505050565b610334611352565b6101a561136e565b6102846004803603602081101561067957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661137a565b6101a5611409565b6101a5611415565b60215490565b600260245474010000000000000000000000000000000000000000900460ff1660028111156106d757fe5b141561074457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f8601819004810282018101909252848152610786918891883591889088908190840183828082843760009201919091525061141b92505050565b80156107d557506107d586866001602002013584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061141b92505050565b80156107e657508435602086013514155b15610901576107f36114ad565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b60266020526000908152604090205463ffffffff1681565b600061092e602283611588565b92915050565b60008061094160226115f8565b156109585760255491506109556022611638565b90505b9091565b60006109877f0000000000000000000000000000000000000000000000000000000000000000611675565b905090565b61080081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60285473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260245474010000000000000000000000000000000000000000900460ff1660028111156109ff57fe5b1415610a6c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610a7784848461141b565b610ae257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6261642073696700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6025548414610b5257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6e6f7420612063757272656e7420757064617465000000000000000000000000604482015290519081900360640190fd5b610b5d602284611588565b610b9a57610b696114ad565b6040517fb015f3b3a7a56304206e1e4d15f0dad9b2914691bbe7ab34e407c53b2700a91b90600090a1506001610b9e565b5060005b9392505050565b60285473ffffffffffffffffffffffffffffffffffffffff163314610c2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610c34816116ea565b50565b60275473ffffffffffffffffffffffffffffffffffffffff163314610cbd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f21757064617465724d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b610c34816117d7565b60275473ffffffffffffffffffffffffffffffffffffffff1681565b60255481565b600061098760226115f8565b600260245474010000000000000000000000000000000000000000900460ff166002811115610d1f57fe5b1415610d8c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610d978383836109d2565b15610da157610e8d565b6000610dad6022611850565b905082811415610dbd5750610dc3565b50610da1565b8160258190555081837f000000000000000000000000000000000000000000000000000000000000000063ffffffff167f608828ad904a0c9250c09004ba7226efb08f35a5c815bb3f76b5a8a271cd08b2846040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e52578181015183820152602001610e3a565b50505050905090810190601f168015610e7f5780820380516001836020036101000a031916815260200191505b509250505060405180910390a45b505050565b60245474010000000000000000000000000000000000000000900460ff1681565b600054610100900460ff1680610ecc5750610ecc611989565b80610eda575060005460ff16155b610f2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612775602e913960400191505060405180910390fd5b600054610100900460ff16158015610f9557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b610f9e3361199a565b610fa7826116ea565b610fb16022611a28565b602754604080517fdf034cd0000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163df034cd0916004808301926020929190829003018186803b15801561101c57600080fd5b505afa158015611030573d6000803e3d6000fd5b505050506040513d602081101561104657600080fd5b5051905061105381611a6c565b6040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f9e5f57e4ee5f9eeac3131028d48f19d80820ce6fa93c4c66cc82a3e2b9837c329181900360200190a15080156110cc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b600260245474010000000000000000000000000000000000000000900460ff1660028111156110fb57fe5b141561116857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610800815111156111da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21746f6f20626967000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b63ffffffff808416600090815260266020526040812054909116906112237f00000000000000000000000000000000000000000000000000000000000000003384888888611bf9565b80516020820120909150611238600182611ccf565b61124b61124361136e565b602290611dd7565b50806112578785611e44565b67ffffffffffffffff16600161126b6106a6565b037f1a2a870182b13cdb4a0ec2e16f96df5a0e20b1327d43564f7f0e62992a55bd6c856040518080602001828103825283818151815260200191508051906020019080838360005b838110156112cb5781810151838201526020016112b3565b50505050905090810190601f1680156112f85780820380516001836020036101000a031916815260200191505b509250505060405180910390a4505063ffffffff938416600090815260266020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016600192909201909416179092555050565b60245473ffffffffffffffffffffffffffffffffffffffff1681565b60006109876001611e5e565b60285473ffffffffffffffffffffffffffffffffffffffff16331461140057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e65720000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610c348161199a565b60006109876022611638565b60215481565b60008061142661095c565b858560405160200180848152602001838152602001828152602001935050505060405160208183030381529060405280519060200120905061146781611e71565b60245490915073ffffffffffffffffffffffffffffffffffffffff1661148d8285611ec2565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b6114b5611f5c565b602754604080517f5b3c2cbf000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691635b3c2cbf9160248082019260009290919082900301818387803b15801561152757600080fd5b505af115801561153b573d6000803e3d6000fd5b505060245460405133935073ffffffffffffffffffffffffffffffffffffffff90911691507f98064af315f26d7333ba107ba43a128ec74345f4d4e6f2549840fe092a1c8bce90600090a3565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168111610b9a5760008181526001850160205260409020548314156115f057600191505061092e565b6001016115a0565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166116308282611f9d565b949350505050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b6040805160e09290921b7fffffffff00000000000000000000000000000000000000000000000000000000166020808401919091527f4f5054494353000000000000000000000000000000000000000000000000000060248401528151808403600a018152602a909301909152815191012090565b6116f381611fb7565b61175e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f21636f6e747261637420757064617465724d616e616765720000000000000000604482015290519081900360640190fd5b6027805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f958d788fb4c373604cd4c73aa8c592de127d0819b49bb4dc02c8ecd666e965bf9181900360200190a150565b6024805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f9e5f57e4ee5f9eeac3131028d48f19d80820ce6fa93c4c66cc82a3e2b9837c329181900360200190a150565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166118888282611f9d565b6118f357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff8116600090815260018501602052604090205492508215611944576fffffffffffffffffffffffffffffffff811660009081526001850160205260408120555b83547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001919091016fffffffffffffffffffffffffffffffff1617909255919050565b600061199430611fb7565b15905090565b60285460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3602880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b80546fffffffffffffffffffffffffffffffff16610c345780547fffffffffffffffffffffffffffffffff0000000000000000000000000000000016600117815550565b600054610100900460ff1680611a855750611a85611989565b80611a93575060005460ff16155b611ae8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612775602e913960400191505060405180910390fd5b600054610100900460ff16158015611b4e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b602480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416177fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905580156110cc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555050565b6060868686868686604051602001808763ffffffff1660e01b81526004018681526020018563ffffffff1660e01b81526004018463ffffffff1660e01b815260040183815260200182805190602001908083835b60208310611c8a57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611c4d565b6001836020036101000a038019825116818451168082178552505050505050905001965050505050505060405160208183030381529060405290509695505050505050565b602082015463ffffffff11611d4557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d65726b6c6520747265652066756c6c00000000000000000000000000000000604482015290519081900360640190fd5b6020820180546001019081905560005b6020811015611dd4578160011660011415611d815782848260208110611d7757fe5b0155506110cc9050565b838160208110611d8d57fe5b015483604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120925060028281611dc957fe5b049150600101611d55565b50fe5b81546fffffffffffffffffffffffffffffffff808216700100000000000000000000000000000000928390048216600101918216909202919091178355811561092e576fffffffffffffffffffffffffffffffff8116600090815260019390930160205260409092205590565b63ffffffff1660209190911b67ffffffff00000000161790565b600061092e82611e6c611fbd565b61247e565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b60008151604114611f3457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a611f528682858561253c565b9695505050505050565b602480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055565b60019103016fffffffffffffffffffffffffffffffff1690565b3b151590565b611fc5612733565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6020820154600090815b602081101561253457600182821c1660008683602081106124a557fe5b0154905081600114156124e8578085604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120945061252a565b848684602081106124f557fe5b602002015160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012094505b5050600101612488565b505092915050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156125b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127536022913960400191505060405180910390fd5b8360ff16601b14806125cc57508360ff16601c145b612621576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127a36022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561267d573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661272a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b604051806104000160405280602090602082028036833750919291505056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c7565496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c7565a2646970667358221220f12ac96161be92cb0e0581ebc7f4c74648d5a02ea043a4127e2ebcdff7c025c064736f6c63430007060033"; export class Home__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-xapps/factories/PingPongRouter__factory.ts b/typescript/src/typechain/optics-xapps/factories/PingPongRouter__factory.ts index 1f7c1547b..4cc78fa97 100644 --- a/typescript/src/typechain/optics-xapps/factories/PingPongRouter__factory.ts +++ b/typescript/src/typechain/optics-xapps/factories/PingPongRouter__factory.ts @@ -218,7 +218,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b5060405161172f38038061172f8339818101604052602081101561003357600080fd5b50518060006100406100b0565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b0319166001600160a01b0392909216919091179055506100b4565b3390565b61166c806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063715018a61161005b578063715018a6146101ce5780638da5cb5b146101d6578063b49c53a7146101de578063f2fde38b1461020757610088565b8063025ed0691461008d5780633339df96146100b257806341bdc8b5146100e357806356d5d47514610116575b600080fd5b6100b0600480360360208110156100a357600080fd5b503563ffffffff1661023a565b005b6100ba6102a6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b0600480360360208110156100f957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166102c2565b6100b06004803603606081101561012c57600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561015957600080fd5b82018360208201111561016b57600080fd5b8035906020019184600183028401116401000000008311171561018d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103b1945050505050565b6100b0610592565b6100ba6106a9565b6100b0600480360360408110156101f457600080fd5b5063ffffffff81351690602001356106c5565b6100b06004803603602081101561021d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610786565b6002805463ffffffff74010000000000000000000000000000000000000000808304821660018181019093169091027fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff909316929092179092556102a18383836000610927565b505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b6102ca610a90565b73ffffffffffffffffffffffffffffffffffffffff166102e86106a9565b73ffffffffffffffffffffffffffffffffffffffff161461036a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6103ba33610a94565b61042557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f217265706c696361000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b82826104318282610b3f565b61049c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f2172656d6f746520726f75746572000000000000000000000000000000000000604482015290519081900360640190fd5b60006104a88482610b5e565b90506104d57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216610b82565b156104e9576104e48682610ba2565b61058a565b6105147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216610baf565b15610523576104e48682610bb8565b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f2176616c696420616374696f6e00000000000000000000000000000000000000604482015290519081900360640190fd5b505050505050565b61059a610a90565b73ffffffffffffffffffffffffffffffffffffffff166105b86106a9565b73ffffffffffffffffffffffffffffffffffffffff161461063a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6106cd610a90565b73ffffffffffffffffffffffffffffffffffffffff166106eb6106a9565b73ffffffffffffffffffffffffffffffffffffffff161461076d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b63ffffffff909116600090815260016020526040902055565b61078e610a90565b73ffffffffffffffffffffffffffffffffffffffff166107ac6106a9565b73ffffffffffffffffffffffffffffffffffffffff161461082e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661089a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806115816026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600061093285610bc5565b905060008461094a576109458484610c47565b610954565b6109548484610c92565b905061095e610c9b565b73ffffffffffffffffffffffffffffffffffffffff1663d34686398784846040518463ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156109da5781810151838201526020016109c2565b50505050905090810190601f168015610a075780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610a2857600080fd5b505af1158015610a3c573d6000803e3d6000fd5b5050604080518681528815156020820152815163ffffffff808a1695508b1693507fc33c46696831ce09e40c8eb57b62d0d0cd48c408d38fa19f9a8ba3138415db10929181900390910190a3505050505050565b3390565b600254604080517f5190bc5300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291516000939290921691635190bc5391602480820192602092909190829003018186803b158015610b0b57600080fd5b505afa158015610b1f573d6000803e3d6000fd5b505050506040513d6020811015610b3557600080fd5b505190505b919050565b63ffffffff821660009081526001602052604090205481145b92915050565b815160009060208401610b7964ffffffffff85168284610d37565b95945050505050565b600060015b610b9083610d98565b6002811115610b9b57fe5b1492915050565b60016102a1838284610dd3565b60006002610b87565b60006102a1838284610dd3565b63ffffffff811660009081526001602052604090205480610b3a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f2172656d6f746500000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b606060025b8383604051602001808460ff1660f81b81526001018363ffffffff1660e01b81526004018281526020019350505050604051602081830303815290604052905092915050565b60606001610c4c565b600254604080517f9fa92f9d000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691639fa92f9d916004808301926020929190829003018186803b158015610d0657600080fd5b505afa158015610d1a573d6000803e3d6000fd5b505050506040513d6020811015610d3057600080fd5b5051905090565b600080610d448484610e8f565b9050604051811115610d54575060005b80610d82577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610d91565b610d8d858585610f01565b9150505b9392505050565b6000610dc57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316610f14565b60ff166002811115610b5857fe5b6000610e007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316610f1a565b90506000610e2f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416610f4b565b604080518481528615156020820152815192935063ffffffff80851693908916927faa15aa1b86193c9d924f48e0c48b3cba78f17e281109c7de2f865c5a1c3d7009928290030190a3610e888585158385600101610927565b5050505050565b81810182811015610b5857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60d81c90565b6000610b587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660016020610f78565b6000610b587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316600160045b60008160200360080260ff16610f8f858585610f99565b901c949350505050565b600060ff8216610fab57506000610d91565b610fb484611144565b6bffffffffffffffffffffffff16610fcf8460ff8516610e8f565b11156110ae57611010610fe185611158565b6bffffffffffffffffffffffff16610ff886611144565b6bffffffffffffffffffffffff16858560ff1661116c565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561107357818101518382015260200161105b565b50505050905090810190601f1680156110a05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff16111561110b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806115c8603a913960400191505060405180910390fd5b60088202600061111a86611158565b6bffffffffffffffffffffffff1690506000611135836112c7565b91909501511695945050505050565b60181c6bffffffffffffffffffffffff1690565b60781c6bffffffffffffffffffffffff1690565b6060600061117986611310565b915050600061118786611310565b915050600061119586611310565b91505060006111a386611310565b915050838383836040516020018080611602603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a82015260500160216115a782397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b600080601f5b600f8160ff1611156113785760ff600882021684901c611335816113e4565b61ffff16841793508160ff1660101461135057601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01611316565b50600f5b60ff8160ff1610156113de5760ff600882021684901c61139b816113e4565b61ffff16831792508160ff166000146113b657601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0161137c565b50915091565b60006113f660048360ff16901c611414565b60ff161760081b62ffff001661140b82611414565b60ff1617919050565b600060f08083179060ff82161415611430576030915050610b3a565b8060ff1660f11415611446576031915050610b3a565b8060ff1660f2141561145c576032915050610b3a565b8060ff1660f31415611472576033915050610b3a565b8060ff1660f41415611488576034915050610b3a565b8060ff1660f5141561149e576035915050610b3a565b8060ff1660f614156114b4576036915050610b3a565b8060ff1660f714156114ca576037915050610b3a565b8060ff1660f814156114e0576038915050610b3a565b8060ff1660f914156114f6576039915050610b3a565b8060ff1660fa141561150c576061915050610b3a565b8060ff1660fb1415611522576062915050610b3a565b8060ff1660fc1415611538576063915050610b3a565b8060ff1660fd141561154e576064915050610b3a565b8060ff1660fe1415611564576065915050610b3a565b8060ff1660ff141561157a576066915050610b3a565b5091905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573732e20417474656d7074656420746f20696e646578206174206f666673657420307854797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a264697066735822122000e81446aebccb74da0b9ff8ad2ace21a85771090973935cd301e0f9804b0f3d64736f6c63430007060033"; + "0x608060405234801561001057600080fd5b5060405161172f38038061172f8339818101604052602081101561003357600080fd5b50518060006100406100b0565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b0319166001600160a01b0392909216919091179055506100b4565b3390565b61166c806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063715018a61161005b578063715018a6146101ce5780638da5cb5b146101d6578063b49c53a7146101de578063f2fde38b1461020757610088565b8063025ed0691461008d5780633339df96146100b257806341bdc8b5146100e357806356d5d47514610116575b600080fd5b6100b0600480360360208110156100a357600080fd5b503563ffffffff1661023a565b005b6100ba6102a6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b0600480360360208110156100f957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166102c2565b6100b06004803603606081101561012c57600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561015957600080fd5b82018360208201111561016b57600080fd5b8035906020019184600183028401116401000000008311171561018d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103b1945050505050565b6100b0610592565b6100ba6106a9565b6100b0600480360360408110156101f457600080fd5b5063ffffffff81351690602001356106c5565b6100b06004803603602081101561021d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610786565b6002805463ffffffff74010000000000000000000000000000000000000000808304821660018181019093169091027fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff909316929092179092556102a18383836000610927565b505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b6102ca610a90565b73ffffffffffffffffffffffffffffffffffffffff166102e86106a9565b73ffffffffffffffffffffffffffffffffffffffff161461036a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6103ba33610a94565b61042557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f217265706c696361000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b82826104318282610b3f565b61049c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f2172656d6f746520726f75746572000000000000000000000000000000000000604482015290519081900360640190fd5b60006104a88482610b5e565b90506104d57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216610b82565b156104e9576104e48682610ba2565b61058a565b6105147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216610baf565b15610523576104e48682610bb8565b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f2176616c696420616374696f6e00000000000000000000000000000000000000604482015290519081900360640190fd5b505050505050565b61059a610a90565b73ffffffffffffffffffffffffffffffffffffffff166105b86106a9565b73ffffffffffffffffffffffffffffffffffffffff161461063a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6106cd610a90565b73ffffffffffffffffffffffffffffffffffffffff166106eb6106a9565b73ffffffffffffffffffffffffffffffffffffffff161461076d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b63ffffffff909116600090815260016020526040902055565b61078e610a90565b73ffffffffffffffffffffffffffffffffffffffff166107ac6106a9565b73ffffffffffffffffffffffffffffffffffffffff161461082e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661089a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806115816026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600061093285610bc5565b905060008461094a576109458484610c47565b610954565b6109548484610c92565b905061095e610c9b565b73ffffffffffffffffffffffffffffffffffffffff1663d34686398784846040518463ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156109da5781810151838201526020016109c2565b50505050905090810190601f168015610a075780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610a2857600080fd5b505af1158015610a3c573d6000803e3d6000fd5b5050604080518681528815156020820152815163ffffffff808a1695508b1693507fc33c46696831ce09e40c8eb57b62d0d0cd48c408d38fa19f9a8ba3138415db10929181900390910190a3505050505050565b3390565b600254604080517f5190bc5300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291516000939290921691635190bc5391602480820192602092909190829003018186803b158015610b0b57600080fd5b505afa158015610b1f573d6000803e3d6000fd5b505050506040513d6020811015610b3557600080fd5b505190505b919050565b63ffffffff821660009081526001602052604090205481145b92915050565b815160009060208401610b7964ffffffffff85168284610d37565b95945050505050565b600060015b610b9083610d98565b6002811115610b9b57fe5b1492915050565b60016102a1838284610dd3565b60006002610b87565b60006102a1838284610dd3565b63ffffffff811660009081526001602052604090205480610b3a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f2172656d6f746500000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b606060025b8383604051602001808460ff1660f81b81526001018363ffffffff1660e01b81526004018281526020019350505050604051602081830303815290604052905092915050565b60606001610c4c565b600254604080517f9fa92f9d000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691639fa92f9d916004808301926020929190829003018186803b158015610d0657600080fd5b505afa158015610d1a573d6000803e3d6000fd5b505050506040513d6020811015610d3057600080fd5b5051905090565b600080610d448484610e8f565b9050604051811115610d54575060005b80610d82577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610d91565b610d8d858585610f01565b9150505b9392505050565b6000610dc57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316610f14565b60ff166002811115610b5857fe5b6000610e007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316610f1a565b90506000610e2f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416610f4b565b604080518481528615156020820152815192935063ffffffff80851693908916927faa15aa1b86193c9d924f48e0c48b3cba78f17e281109c7de2f865c5a1c3d7009928290030190a3610e888585158385600101610927565b5050505050565b81810182811015610b5857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60d81c90565b6000610b587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660016020610f78565b6000610b587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316600160045b60008160200360080260ff16610f8f858585610f99565b901c949350505050565b600060ff8216610fab57506000610d91565b610fb484611144565b6bffffffffffffffffffffffff16610fcf8460ff8516610e8f565b11156110ae57611010610fe185611158565b6bffffffffffffffffffffffff16610ff886611144565b6bffffffffffffffffffffffff16858560ff1661116c565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561107357818101518382015260200161105b565b50505050905090810190601f1680156110a05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff16111561110b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806115c8603a913960400191505060405180910390fd5b60088202600061111a86611158565b6bffffffffffffffffffffffff1690506000611135836112c7565b91909501511695945050505050565b60181c6bffffffffffffffffffffffff1690565b60781c6bffffffffffffffffffffffff1690565b6060600061117986611310565b915050600061118786611310565b915050600061119586611310565b91505060006111a386611310565b915050838383836040516020018080611602603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a82015260500160216115a782397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b600080601f5b600f8160ff1611156113785760ff600882021684901c611335816113e4565b61ffff16841793508160ff1660101461135057601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01611316565b50600f5b60ff8160ff1610156113de5760ff600882021684901c61139b816113e4565b61ffff16831792508160ff166000146113b657601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0161137c565b50915091565b60006113f660048360ff16901c611414565b60ff161760081b62ffff001661140b82611414565b60ff1617919050565b600060f08083179060ff82161415611430576030915050610b3a565b8060ff1660f11415611446576031915050610b3a565b8060ff1660f2141561145c576032915050610b3a565b8060ff1660f31415611472576033915050610b3a565b8060ff1660f41415611488576034915050610b3a565b8060ff1660f5141561149e576035915050610b3a565b8060ff1660f614156114b4576036915050610b3a565b8060ff1660f714156114ca576037915050610b3a565b8060ff1660f814156114e0576038915050610b3a565b8060ff1660f914156114f6576039915050610b3a565b8060ff1660fa141561150c576061915050610b3a565b8060ff1660fb1415611522576062915050610b3a565b8060ff1660fc1415611538576063915050610b3a565b8060ff1660fd141561154e576064915050610b3a565b8060ff1660fe1415611564576065915050610b3a565b8060ff1660ff141561157a576066915050610b3a565b5091905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573732e20417474656d7074656420746f20696e646578206174206f666673657420307854797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a264697066735822122014a3d5c0fde5ae3a7721de177586147115bf340f18006c1ea6af3c0b6fcec43064736f6c63430007060033"; export class PingPongRouter__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-xapps/factories/Replica__factory.ts b/typescript/src/typechain/optics-xapps/factories/Replica__factory.ts index d153def6c..3aefd4cdb 100644 --- a/typescript/src/typechain/optics-xapps/factories/Replica__factory.ts +++ b/typescript/src/typechain/optics-xapps/factories/Replica__factory.ts @@ -126,6 +126,25 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + ], + name: "acceptableRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, { inputs: [], name: "canConfirm", @@ -328,19 +347,6 @@ const _abi = [ stateMutability: "view", type: "function", }, - { - inputs: [], - name: "previous", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, { inputs: [ { @@ -522,7 +528,7 @@ const _abi = [ ]; const _bytecode = - "0x60a060405234801561001057600080fd5b5060405161300c38038061300c8339818101604052602081101561003357600080fd5b505160e081901b6001600160e01b03191660805263ffffffff16612fa361006960003980610d425280610da95250612fa36000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c80637c2b2e71116100ee578063b31c01fb11610097578063c19d93fb11610071578063c19d93fb1461062c578063d88beda214610634578063df034cd01461063c578063f6d161021461066d576101a3565b8063b31c01fb14610504578063ba739a62146105b6578063bf30a55d146105d7576101a3565b8063961681dc116100c8578063961681dc146104ec5780639fa6a6e3146104f4578063ab91c7b0146104fc576101a3565b80637c2b2e71146104365780638d3638f41461043e578063928bc4b214610446576101a3565b806339992668116101505780636188af0e1161012a5780636188af0e146103635780637022b58e1461041157806371bfb7b814610419576101a3565b8063399926681461033257806345630b1a1461033a578063456d067214610342576101a3565b80632bbd59ca116101815780632bbd59ca146102ad5780632bef2892146102eb578063371d307114610308576101a3565b806314cfabb3146101a857806319d9d21a146101c457806325e3beda14610293575b600080fd5b6101b0610675565b604080519115158252519081900360200190f35b610291600480360360a08110156101da57600080fd5b813591602081019181019060808101606082013564010000000081111561020057600080fd5b82018360208201111561021257600080fd5b8035906020019184600183028401116401000000008311171561023457600080fd5b91939092909160208101903564010000000081111561025257600080fd5b82018360208201111561026457600080fd5b8035906020019184600183028401116401000000008311171561028657600080fd5b5090925090506106b0565b005b61029b61090f565b60408051918252519081900360200190f35b6102ca600480360360208110156102c357600080fd5b5035610915565b604051808260028111156102da57fe5b815260200191505060405180910390f35b6101b06004803603602081101561030157600080fd5b503561092a565b6101b0600480360361044081101561031f57600080fd5b508035906020810190610420013561093f565b61029b610a67565b61029b610a6d565b61034a610a82565b6040805163ffffffff9092168252519081900360200190f35b610291600480360361044081101561037a57600080fd5b81019060208101813564010000000081111561039557600080fd5b8201836020820111156103a757600080fd5b803590602001918460018302840111640100000000831117156103c957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955092935050506104008201359050610a8e565b610291610b1a565b61029b6004803603602081101561042f57600080fd5b5035610d28565b61029b610d3a565b61034a610d40565b6101b06004803603602081101561045c57600080fd5b81019060208101813564010000000081111561047757600080fd5b82018360208201111561048957600080fd5b803590602001918460018302840111640100000000831117156104ab57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d64945050505050565b61034a611334565b61029b611340565b61029b611346565b6102916004803603606081101561051a57600080fd5b81359160208101359181019060608101604082013564010000000081111561054157600080fd5b82018360208201111561055357600080fd5b8035906020019184600183028401116401000000008311171561057557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611352945050505050565b6105be611638565b6040805192835260208301919091528051918290030190f35b610291600480360360a08110156105ed57600080fd5b5063ffffffff813581169173ffffffffffffffffffffffffffffffffffffffff602082013516916040820135916060810135916080909101351661166d565b6102ca611802565b61029b611825565b61064461182c565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61029b61184e565b6000610681600261185a565b158015906106ab575060086000610698600261189a565b8152602001908152602001600020544210155b905090565b6002600054760100000000000000000000000000000000000000000000900460ff1660028111156106dd57fe5b141561074a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f860181900481028201810190925284815261078c918891883591889088908190840183828082843760009201919091525061193b92505050565b80156107db57506107db86866001602002013584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193b92505050565b80156107ec57508435602086013514155b15610907576107f96119d3565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b61271081565b60096020526000908152604090205460ff1681565b60006109376002836119dd565b90505b919050565b60008060008581526009602052604090205460ff16600281111561095f57fe5b146109cb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f214d6573736167655374617475732e4e6f6e6500000000000000000000000000604482015290519081900360640190fd5b6000610a01858560208060200260405190810160405280929190826020800280828437600092019190915250879150611a599050565b9050600154811480610a14575060075481145b15610a5a575050600083815260096020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155610a60565b60009150505b9392505050565b60055481565b6004546000906106ab9063ffffffff16611b04565b60065463ffffffff1681565b610aa08380519060200120838361093f565b610b0b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f2170726f76650000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610b1483610d64565b50505050565b6002600054760100000000000000000000000000000000000000000000900460ff166002811115610b4757fe5b1415610bb457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610bbe600261185a565b610c2957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f2070656e64696e6700000000000000000000000000000000000000000000604482015290519081900360640190fd5b60004281610c37600261185a565b90505b600081118015610c66575060086000610c53600261189a565b8152602001908152602001600020548210155b15610cad57610c756002611b79565b60008181526008602052604081205592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610c3a565b82610d1957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f6e6f742074696d65000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610d21611cb2565b5050600155565b60086020526000908152604090205481565b60075481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080610d718382611cba565b90506000610da07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611cde565b905063ffffffff7f000000000000000000000000000000000000000000000000000000000000000016610df47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611d0f565b63ffffffff1614610e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e0000000000000000000000000000000000000000604482015290519081900360640190fd5b60065463ffffffff828116911614610edf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f2173657175656e63650000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001845160208087019190912060009081526009909152604090205460ff166002811115610f0957fe5b14610f7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2170656e64696e67000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600260096000610fa67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616611d40565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115610fe857fe5b02179055506207c8305a101561106157604080517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048083019190915260248201527f2167617300000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600061108e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611d7f565b905073ffffffffffffffffffffffffffffffffffffffff81166356d5d4756207a1206110db7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008716611d92565b6111067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816611dc2565b61115b6111347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008a16611df3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016611e64565b6040518563ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156111b95781810151838201526020016111a1565b50505050905090810190601f1680156111e65780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600088803b15801561120757600080fd5b5087f193505050508015611219575060015b6112f0573d808015611247576040519150601f19603f3d011682016040523d82523d6000602084013e61124c565b606091505b50600094507f3c688a5f4cd6e38b537641d2b38bdf1f52e7da4d083c5c3b16a0847c1c7c642d816040518080602001828103825283818151815260200191508051906020019080838360005b838110156112b0578181015183820152602001611298565b50505050905090810190601f1680156112dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1506112f5565b600193505b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001660019290920163ffffffff1691909117905550919050565b60045463ffffffff1681565b60015481565b60006106ab600261185a565b6002600054760100000000000000000000000000000000000000000000900460ff16600281111561137f57fe5b14156113ec57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b60006113f8600261185a565b111561147a576114086002611ea8565b831461147557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6e6f7420656e64206f6620717565756500000000000000000000000000000000604482015290519081900360640190fd5b6114ea565b82600154146114ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f742063757272656e74207570646174650000000000000000000000000000604482015290519081900360640190fd5b6114f583838361193b565b61156057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6261642073696700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6115686119db565b600554600083815260086020526040902042909101905561158a600283611ee5565b5060045460408051602080825284518183015284518694889463ffffffff909116937f608828ad904a0c9250c09004ba7226efb08f35a5c815bb3f76b5a8a271cd08b2938893919283929083019185019080838360005b838110156115f95781810151838201526020016115e1565b50505050905090810190601f1680156116265780820380516001836020036101000a031916815260200191505b509250505060405180910390a4505050565b600080611645600261185a565b1561166957611654600261189a565b60008181526008602052604090205490925090505b9091565b600054610100900460ff16806116865750611686611f52565b80611694575060005460ff16155b6116e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612e5c602e913960400191505060405180910390fd5b600054610100900460ff1615801561174f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff88161790556117896002611f63565b60018490556005839055600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff84161790556117cc85611fa8565b801561090757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050505050565b600054760100000000000000000000000000000000000000000000900460ff1681565b6207a12081565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1681565b60006106ab6002611ea8565b80546000906fffffffffffffffffffffffffffffffff700100000000000000000000000000000000820481169116611892828261213d565b949350505050565b60006118a582612157565b1561191157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5080546fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b600080611946610a6d565b858560405160200180848152602001838152602001828152602001935050505060405160208183030381529060405280519060200120905061198781612186565b60005490915062010000900473ffffffffffffffffffffffffffffffffffffffff166119b382856121d7565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b6119db612271565b565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168111611a4d576000818152600185016020526040902054831415611a45576001915050611a53565b6001016119f5565b50600090505b92915050565b8260005b6020811015611afc57600183821c166000858360208110611a7a57fe5b602002015190508160011415611ac05780846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209350611af2565b838160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012093505b5050600101611a5d565b509392505050565b6040805160e09290921b7fffffffff00000000000000000000000000000000000000000000000000000000166020808401919091527f4f5054494353000000000000000000000000000000000000000000000000000060248401528151808403600a018152602a909301909152815191012090565b80546000906fffffffffffffffffffffffffffffffff700100000000000000000000000000000000820481169116611bb1828261213d565b611c1c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff8116600090815260018501602052604090205492508215611c6d576fffffffffffffffffffffffffffffffff811660009081526001850160205260408120555b83547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001919091016fffffffffffffffffffffffffffffffff1617909255919050565b600154600755565b815160009060208401611cd564ffffffffff851682846122b4565b95945050505050565b60006109377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166024600461230a565b60006109377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166028600461230a565b600080611d4c8361232b565b6bffffffffffffffffffffffff1690506000611d678461233f565b6bffffffffffffffffffffffff169091209392505050565b6000610937611d8d83612353565b612384565b60006109377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831682600461230a565b60006109377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660046020612387565b6000610937604c80611e267fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861661233f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861692916bffffffffffffffffffffffff91909116036000612532565b6060600080611e728461233f565b6bffffffffffffffffffffffff1690506040519150819250611e9784836020016125b8565b508181016020016040529052919050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b81546fffffffffffffffffffffffffffffffff8082167001000000000000000000000000000000009283900482166001019182169092029190911783558115611a53576fffffffffffffffffffffffffffffffff8116600090815260019390930160205260409092205590565b6000611f5d306126e4565b15905090565b80546fffffffffffffffffffffffffffffffff16611fa55780547fffffffffffffffffffffffffffffffff000000000000000000000000000000001660011781555b50565b600054610100900460ff1680611fc15750611fc1611f52565b80611fcf575060005460ff16155b612024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612e5c602e913960400191505060405180910390fd5b600054610100900460ff1615801561208a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff851602177fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760100000000000000000000000000000000000000000000179055801561213957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b60019103016fffffffffffffffffffffffffffffffff1690565b546fffffffffffffffffffffffffffffffff808216700100000000000000000000000000000000909204161090565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461224957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a612267868285856126ea565b9695505050505050565b600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760200000000000000000000000000000000000000000000179055565b6000806122c184846128d8565b90506040518111156122d1575060005b806122ff577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610a60565b611cd585858561294a565b60008160200360080260ff16612321858585612387565b901c949350505050565b60781c6bffffffffffffffffffffffff1690565b60181c6bffffffffffffffffffffffff1690565b60006109377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316602c6020612387565b90565b600060ff821661239957506000610a60565b6123a28461233f565b6bffffffffffffffffffffffff166123bd8460ff85166128d8565b111561249c576123fe6123cf8561232b565b6bffffffffffffffffffffffff166123e68661233f565b6bffffffffffffffffffffffff16858560ff1661295d565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612461578181015183820152602001612449565b50505050905090810190601f16801561248e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff1611156124f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612eac603a913960400191505060405180910390fd5b6008820260006125088661232b565b6bffffffffffffffffffffffff169050600061252383612ab8565b91909501511695945050505050565b60008061253e8661232b565b6bffffffffffffffffffffffff16905061255786612b01565b61256b8561256584896128d8565b906128d8565b111561259a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050611892565b6125a481866128d8565b90506122678364ffffffffff1682866122b4565b60006125c383612b2b565b612618576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612ee66028913960400191505060405180910390fd5b61262183612b3d565b612676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612f0e602b913960400191505060405180910390fd5b60006126818461233f565b6bffffffffffffffffffffffff169050600061269c8561232b565b6bffffffffffffffffffffffff16905060006040519050848111156126c15760206060fd5b8285848460045afa506122676126d687612b7a565b64ffffffffff16868561294a565b3b151590565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115612765576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612e196022913960400191505060405180910390fd5b8360ff16601b148061277a57508360ff16601c145b6127cf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612e8a6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561282b573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611cd557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b81810182811015611a5357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b6060600061296a86612b80565b915050600061297886612b80565b915050600061298686612b80565b915050600061299486612b80565b915050838383836040516020018080612f39603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a8201526050016021612e3b82397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b6000612b0c8261233f565b612b158361232b565b016bffffffffffffffffffffffff169050919050565b6000612b3682612c54565b1592915050565b6000612b4882612b7a565b64ffffffffff1664ffffffffff1415612b635750600061093a565b6000612b6e83612b01565b60405110199392505050565b60d81c90565b600080601f5b600f8160ff161115612be85760ff600882021684901c612ba581612c7c565b61ffff16841793508160ff16601014612bc057601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612b86565b50600f5b60ff8160ff161015612c4e5760ff600882021684901c612c0b81612c7c565b61ffff16831792508160ff16600014612c2657601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612bec565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b6000612c8e60048360ff16901c612cac565b60ff161760081b62ffff0016612ca382612cac565b60ff1617919050565b600060f08083179060ff82161415612cc857603091505061093a565b8060ff1660f11415612cde57603191505061093a565b8060ff1660f21415612cf457603291505061093a565b8060ff1660f31415612d0a57603391505061093a565b8060ff1660f41415612d2057603491505061093a565b8060ff1660f51415612d3657603591505061093a565b8060ff1660f61415612d4c57603691505061093a565b8060ff1660f71415612d6257603791505061093a565b8060ff1660f81415612d7857603891505061093a565b8060ff1660f91415612d8e57603991505061093a565b8060ff1660fa1415612da457606191505061093a565b8060ff1660fb1415612dba57606291505061093a565b8060ff1660fc1415612dd057606391505061093a565b8060ff1660fd1415612de657606491505061093a565b8060ff1660fe1415612dfc57606591505061093a565b8060ff1660ff1415612e1257606691505061093a565b5091905056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c75652e20417474656d7074656420746f20696e646578206174206f6666736574203078496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c756554797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a2646970667358221220b8b08213d436aa9beb722b5388731f0c457f91e86a5c165cf23b0886ea0f010564736f6c63430007060033"; + "0x60a060405234801561001057600080fd5b506040516130263803806130268339818101604052602081101561003357600080fd5b505160e081901b6001600160e01b03191660805263ffffffff16612fbd61006960003980610d155280610d7c5250612fbd6000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c80638d3638f4116100ee578063b31c01fb11610097578063c19d93fb11610071578063c19d93fb14610641578063d88beda214610649578063df034cd014610651578063f6d1610214610682576101a3565b8063b31c01fb14610519578063ba739a62146105cb578063bf30a55d146105ec576101a3565b80639fa6a6e3116100c85780639fa6a6e3146104ec578063a3f81d68146104f4578063ab91c7b014610511576101a3565b80638d3638f414610436578063928bc4b21461043e578063961681dc146104e4576101a3565b806339992668116101505780636188af0e1161012a5780636188af0e146103635780637022b58e1461041157806371bfb7b814610419576101a3565b8063399926681461033257806345630b1a1461033a578063456d067214610342576101a3565b80632bbd59ca116101815780632bbd59ca146102ad5780632bef2892146102eb578063371d307114610308576101a3565b806314cfabb3146101a857806319d9d21a146101c457806325e3beda14610293575b600080fd5b6101b061068a565b604080519115158252519081900360200190f35b610291600480360360a08110156101da57600080fd5b813591602081019181019060808101606082013564010000000081111561020057600080fd5b82018360208201111561021257600080fd5b8035906020019184600183028401116401000000008311171561023457600080fd5b91939092909160208101903564010000000081111561025257600080fd5b82018360208201111561026457600080fd5b8035906020019184600183028401116401000000008311171561028657600080fd5b5090925090506106b6565b005b61029b610915565b60408051918252519081900360200190f35b6102ca600480360360208110156102c357600080fd5b503561091b565b604051808260028111156102da57fe5b815260200191505060405180910390f35b6101b06004803603602081101561030157600080fd5b5035610930565b6101b0600480360361044081101561031f57600080fd5b5080359060208101906104200135610945565b61029b610a65565b61029b610a6b565b61034a610a80565b6040805163ffffffff9092168252519081900360200190f35b610291600480360361044081101561037a57600080fd5b81019060208101813564010000000081111561039557600080fd5b8201836020820111156103a757600080fd5b803590602001918460018302840111640100000000831117156103c957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955092935050506104008201359050610a8c565b610291610b18565b61029b6004803603602081101561042f57600080fd5b5035610d01565b61034a610d13565b6101b06004803603602081101561045457600080fd5b81019060208101813564010000000081111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111640100000000831117156104a357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d37945050505050565b61034a611307565b61029b611313565b6101b06004803603602081101561050a57600080fd5b5035611319565b61029b611340565b6102916004803603606081101561052f57600080fd5b81359160208101359181019060608101604082013564010000000081111561055657600080fd5b82018360208201111561056857600080fd5b8035906020019184600183028401116401000000008311171561058a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061134c945050505050565b6105d3611632565b6040805192835260208301919091528051918290030190f35b610291600480360360a081101561060257600080fd5b5063ffffffff813581169173ffffffffffffffffffffffffffffffffffffffff6020820135169160408201359160608101359160809091013516611680565b6102ca611824565b61029b611847565b61065961184e565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61029b611870565b6000610696600261187c565b158015906106b157506106b16106ac60026118bc565b611319565b905090565b6002600054760100000000000000000000000000000000000000000000900460ff1660028111156106e357fe5b141561075057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516020601f8601819004810282018101909252848152610792918891883591889088908190840183828082843760009201919091525061195d92505050565b80156107e157506107e186866001602002013584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061195d92505050565b80156107f257508435602086013514155b1561090d576107ff6119f5565b7f2c3f60bab4170347826231b75a920b5053941ddebc6eed6fd2c25721648b186f8686868686866040518087815260200186600260200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910182810360409081018252810186905290506020810160608201878780828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910184810383528581526020019050858580828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039a509098505050505050505050a15b505050505050565b61271081565b60086020526000908152604090205460ff1681565b600061093d6002836119ff565b90505b919050565b60008060008581526008602052604090205460ff16600281111561096557fe5b146109d157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f214d6573736167655374617475732e4e6f6e6500000000000000000000000000604482015290519081900360640190fd5b6000610a07858560208060200260405190810160405280929190826020800280828437600092019190915250879150611a7b9050565b9050610a1281611319565b15610a58575050600083815260086020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155610a5e565b60009150505b9392505050565b60055481565b6004546000906106b19063ffffffff16611b26565b60065463ffffffff1681565b610a9e83805190602001208383610945565b610b0957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f2170726f76650000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610b1283610d37565b50505050565b6002600054760100000000000000000000000000000000000000000000900460ff166002811115610b4557fe5b1415610bb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b610bbc600261187c565b610c2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2170656e64696e67000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080610c34600261187c565b90505b600081118015610c4f5750610c4f6106ac60026118bc565b15610c8757610c5e6002611b9b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610c37565b81610cf357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f2174696d65000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610cfb6119fd565b50600155565b60076020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080610d448382611cd4565b90506000610d737fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316611cf8565b905063ffffffff7f000000000000000000000000000000000000000000000000000000000000000016610dc77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611d29565b63ffffffff1614610e3957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f2164657374696e6174696f6e0000000000000000000000000000000000000000604482015290519081900360640190fd5b60065463ffffffff828116911614610eb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f2173657175656e63650000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6001845160208087019190912060009081526008909152604090205460ff166002811115610edc57fe5b14610f4857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f2170656e64696e67000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600260086000610f797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616611d5a565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115610fbb57fe5b02179055506207c8305a101561103457604080517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048083019190915260248201527f2167617300000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60006110617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008416611d99565b905073ffffffffffffffffffffffffffffffffffffffff81166356d5d4756207a1206110ae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008716611dac565b6110d97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816611ddc565b61112e6111077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008a16611e0d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016611e7e565b6040518563ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561118c578181015183820152602001611174565b50505050905090810190601f1680156111b95780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600088803b1580156111da57600080fd5b5087f1935050505080156111ec575060015b6112c3573d80801561121a576040519150601f19603f3d011682016040523d82523d6000602084013e61121f565b606091505b50600094507f3c688a5f4cd6e38b537641d2b38bdf1f52e7da4d083c5c3b16a0847c1c7c642d816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561128357818101518382015260200161126b565b50505050905090810190601f1680156112b05780820380516001836020036101000a031916815260200191505b509250505060405180910390a1506112c8565b600193505b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001660019290920163ffffffff1691909117905550919050565b60045463ffffffff1681565b60015481565b60008181526007602052604081205480611337576000915050610940565b42101592915050565b60006106b1600261187c565b6002600054760100000000000000000000000000000000000000000000900460ff16600281111561137957fe5b14156113e657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6661696c65642073746174650000000000000000000000000000000000000000604482015290519081900360640190fd5b60006113f2600261187c565b1115611474576114026002611ec2565b831461146f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6e6f7420656e64206f6620717565756500000000000000000000000000000000604482015290519081900360640190fd5b6114e4565b82600154146114e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f742063757272656e74207570646174650000000000000000000000000000604482015290519081900360640190fd5b6114ef83838361195d565b61155a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6261642073696700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6115626119fd565b6005546000838152600760205260409020429091019055611584600283611eff565b5060045460408051602080825284518183015284518694889463ffffffff909116937f608828ad904a0c9250c09004ba7226efb08f35a5c815bb3f76b5a8a271cd08b2938893919283929083019185019080838360005b838110156115f35781810151838201526020016115db565b50505050905090810190601f1680156116205780820380516001836020036101000a031916815260200191505b509250505060405180910390a4505050565b60008061163f600261187c565b156116675761164e60026118bc565b600081815260076020526040902054909250905061167c565b50506001546000818152600760205260409020545b9091565b600054610100900460ff16806116995750611699611f6c565b806116a7575060005460ff16155b6116fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612e76602e913960400191505060405180910390fd5b600054610100900460ff1615801561176257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff881617905561179c6002611f7d565b60018481556000858152600760205260409020556005839055600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff84161790556117ee85611fc2565b801561090d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050505050565b600054760100000000000000000000000000000000000000000000900460ff1681565b6207a12081565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1681565b60006106b16002611ec2565b80546000906fffffffffffffffffffffffffffffffff7001000000000000000000000000000000008204811691166118b48282612157565b949350505050565b60006118c782612171565b1561193357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5080546fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b600080611968610a6b565b85856040516020018084815260200183815260200182815260200193505050506040516020818303038152906040528051906020012090506119a9816121a0565b60005490915062010000900473ffffffffffffffffffffffffffffffffffffffff166119d582856121f1565b73ffffffffffffffffffffffffffffffffffffffff161495945050505050565b6119fd61228b565b565b81546000906fffffffffffffffffffffffffffffffff165b835470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168111611a6f576000818152600185016020526040902054831415611a67576001915050611a75565b600101611a17565b50600090505b92915050565b8260005b6020811015611b1e57600183821c166000858360208110611a9c57fe5b602002015190508160011415611ae25780846040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209350611b14565b838160405160200180838152602001828152602001925050506040516020818303038152906040528051906020012093505b5050600101611a7f565b509392505050565b6040805160e09290921b7fffffffff00000000000000000000000000000000000000000000000000000000166020808401919091527f4f5054494353000000000000000000000000000000000000000000000000000060248401528151808403600a018152602a909301909152815191012090565b80546000906fffffffffffffffffffffffffffffffff700100000000000000000000000000000000820481169116611bd38282612157565b611c3e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f456d707479000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff8116600090815260018501602052604090205492508215611c8f576fffffffffffffffffffffffffffffffff811660009081526001850160205260408120555b83547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001919091016fffffffffffffffffffffffffffffffff1617909255919050565b815160009060208401611cef64ffffffffff851682846122ce565b95945050505050565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660246004612324565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660286004612324565b600080611d6683612345565b6bffffffffffffffffffffffff1690506000611d8184612359565b6bffffffffffffffffffffffff169091209392505050565b600061093d611da78361236d565b61239e565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316826004612324565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316600460206123a1565b600061093d604c80611e407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616612359565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861692916bffffffffffffffffffffffff9190911603600061254c565b6060600080611e8c84612359565b6bffffffffffffffffffffffff1690506040519150819250611eb184836020016125d2565b508181016020016040529052919050565b805470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1660009081526001909101602052604090205490565b81546fffffffffffffffffffffffffffffffff8082167001000000000000000000000000000000009283900482166001019182169092029190911783558115611a75576fffffffffffffffffffffffffffffffff8116600090815260019390930160205260409092205590565b6000611f77306126fe565b15905090565b80546fffffffffffffffffffffffffffffffff16611fbf5780547fffffffffffffffffffffffffffffffff000000000000000000000000000000001660011781555b50565b600054610100900460ff1680611fdb5750611fdb611f6c565b80611fe9575060005460ff16155b61203e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612e76602e913960400191505060405180910390fd5b600054610100900460ff161580156120a457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff851602177fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760100000000000000000000000000000000000000000000179055801561215357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b60019103016fffffffffffffffffffffffffffffffff1690565b546fffffffffffffffffffffffffffffffff808216700100000000000000000000000000000000909204161090565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461226357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61228186828585612704565b9695505050505050565b600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16760200000000000000000000000000000000000000000000179055565b6000806122db84846128f2565b90506040518111156122eb575060005b80612319577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610a5e565b611cef858585612964565b60008160200360080260ff1661233b8585856123a1565b901c949350505050565b60781c6bffffffffffffffffffffffff1690565b60181c6bffffffffffffffffffffffff1690565b600061093d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316602c60206123a1565b90565b600060ff82166123b357506000610a5e565b6123bc84612359565b6bffffffffffffffffffffffff166123d78460ff85166128f2565b11156124b6576124186123e985612345565b6bffffffffffffffffffffffff1661240086612359565b6bffffffffffffffffffffffff16858560ff16612977565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561247b578181015183820152602001612463565b50505050905090810190601f1680156124a85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff161115612513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612ec6603a913960400191505060405180910390fd5b60088202600061252286612345565b6bffffffffffffffffffffffff169050600061253d83612ad2565b91909501511695945050505050565b60008061255886612345565b6bffffffffffffffffffffffff16905061257186612b1b565b6125858561257f84896128f2565b906128f2565b11156125b4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009150506118b4565b6125be81866128f2565b90506122818364ffffffffff1682866122ce565b60006125dd83612b45565b612632576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612f006028913960400191505060405180910390fd5b61263b83612b57565b612690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612f28602b913960400191505060405180910390fd5b600061269b84612359565b6bffffffffffffffffffffffff16905060006126b685612345565b6bffffffffffffffffffffffff16905060006040519050848111156126db5760206060fd5b8285848460045afa506122816126f087612b94565b64ffffffffff168685612964565b3b151590565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561277f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612e336022913960400191505060405180910390fd5b8360ff16601b148061279457508360ff16601c145b6127e9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612ea46022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612845573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611cef57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b81810182811015611a7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b6060600061298486612b9a565b915050600061299286612b9a565b91505060006129a086612b9a565b91505060006129ae86612b9a565b915050838383836040516020018080612f53603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a8201526050016021612e5582397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b6000612b2682612359565b612b2f83612345565b016bffffffffffffffffffffffff169050919050565b6000612b5082612c6e565b1592915050565b6000612b6282612b94565b64ffffffffff1664ffffffffff1415612b7d57506000610940565b6000612b8883612b1b565b60405110199392505050565b60d81c90565b600080601f5b600f8160ff161115612c025760ff600882021684901c612bbf81612c96565b61ffff16841793508160ff16601014612bda57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612ba0565b50600f5b60ff8160ff161015612c685760ff600882021684901c612c2581612c96565b61ffff16831792508160ff16600014612c4057601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612c06565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b6000612ca860048360ff16901c612cc6565b60ff161760081b62ffff0016612cbd82612cc6565b60ff1617919050565b600060f08083179060ff82161415612ce2576030915050610940565b8060ff1660f11415612cf8576031915050610940565b8060ff1660f21415612d0e576032915050610940565b8060ff1660f31415612d24576033915050610940565b8060ff1660f41415612d3a576034915050610940565b8060ff1660f51415612d50576035915050610940565b8060ff1660f61415612d66576036915050610940565b8060ff1660f71415612d7c576037915050610940565b8060ff1660f81415612d92576038915050610940565b8060ff1660f91415612da8576039915050610940565b8060ff1660fa1415612dbe576061915050610940565b8060ff1660fb1415612dd4576062915050610940565b8060ff1660fc1415612dea576063915050610940565b8060ff1660fd1415612e00576064915050610940565b8060ff1660fe1415612e16576065915050610940565b8060ff1660ff1415612e2c576066915050610940565b5091905056fe45434453413a20696e76616c6964207369676e6174757265202773272076616c75652e20417474656d7074656420746f20696e646578206174206f6666736574203078496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c756554797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a264697066735822122017e235778c6764833a5ee157e4e4bedca5a2cafd4d7af21e8e0bfed2fcf1d58c64736f6c63430007060033"; export class Replica__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-xapps/factories/RouterTemplate__factory.ts b/typescript/src/typechain/optics-xapps/factories/RouterTemplate__factory.ts index fac12e552..58acfcc1c 100644 --- a/typescript/src/typechain/optics-xapps/factories/RouterTemplate__factory.ts +++ b/typescript/src/typechain/optics-xapps/factories/RouterTemplate__factory.ts @@ -174,7 +174,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b506040516115e93803806115e98339818101604052602081101561003357600080fd5b50518060006100406100b0565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b0319166001600160a01b0392909216919091179055506100b4565b3390565b611526806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063715018a61161005b578063715018a6146101d45780638da5cb5b146101dc578063b49c53a7146101e4578063f2fde38b1461020d57610088565b80631984a3301461008d5780633339df96146100b857806341bdc8b5146100e957806356d5d4751461011c575b600080fd5b6100b6600480360360408110156100a357600080fd5b5063ffffffff8135169060200135610240565b005b6100c061034a565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b6600480360360208110156100ff57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610366565b6100b66004803603606081101561013257600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561015f57600080fd5b82018360208201111561017157600080fd5b8035906020019184600183028401116401000000008311171561019357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610455945050505050565b6100b66105fb565b6100c0610712565b6100b6600480360360408110156101fa57600080fd5b5063ffffffff813516906020013561072e565b6100b66004803603602081101561022357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166107ef565b600061024b83610990565b9050600061025883610a17565b9050610262610a5c565b73ffffffffffffffffffffffffffffffffffffffff1663d34686398584846040518463ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102de5781810151838201526020016102c6565b50505050905090810190601f16801561030b5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561032c57600080fd5b505af1158015610340573d6000803e3d6000fd5b5050505050505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b61036e610af8565b73ffffffffffffffffffffffffffffffffffffffff1661038c610712565b73ffffffffffffffffffffffffffffffffffffffff161461040e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61045e33610afc565b6104c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f217265706c696361000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b82826104d58282610ba5565b61054057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f2172656d6f746520726f75746572000000000000000000000000000000000000604482015290519081900360640190fd5b600061054c8482610bc4565b90506105797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216610be8565b1561058c5761058781610c07565b6105f3565b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f2176616c696420616374696f6e00000000000000000000000000000000000000604482015290519081900360640190fd5b505050505050565b610603610af8565b73ffffffffffffffffffffffffffffffffffffffff16610621610712565b73ffffffffffffffffffffffffffffffffffffffff16146106a357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b610736610af8565b73ffffffffffffffffffffffffffffffffffffffff16610754610712565b73ffffffffffffffffffffffffffffffffffffffff16146107d657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b63ffffffff909116600090815260016020526040902055565b6107f7610af8565b73ffffffffffffffffffffffffffffffffffffffff16610815610712565b73ffffffffffffffffffffffffffffffffffffffff161461089757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061140d6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b63ffffffff811660009081526001602052604090205480610a1257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f2172656d6f746500000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b919050565b604080517f0100000000000000000000000000000000000000000000000000000000000000602082015260218082019390935281518082039093018352604101905290565b600254604080517f9fa92f9d000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691639fa92f9d916004808301926020929190829003018186803b158015610ac757600080fd5b505afa158015610adb573d6000803e3d6000fd5b505050506040513d6020811015610af157600080fd5b5051905090565b3390565b600254604080517f5190bc5300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291516000939290921691635190bc5391602480820192602092909190829003018186803b158015610b7357600080fd5b505afa158015610b87573d6000803e3d6000fd5b505050506040513d6020811015610b9d57600080fd5b505192915050565b63ffffffff821660009081526001602052604090205481145b92915050565b815160009060208401610bdf64ffffffffff85168284610c6f565b95945050505050565b60006001610bf583610cd0565b6001811115610c0057fe5b1492915050565b6000610c347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316610d0b565b6040805182815290519192507f2b51a16951b17b51a53e06c3041d704232f26354acf317a5b7bfeab23f4ca629919081900360200190a15050565b600080610c7c8484610d9a565b9050604051811115610c8c575060005b80610cba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610cc9565b610cc5858585610e0c565b9150505b9392505050565b6000610cfd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316610e1f565b60ff166001811115610bbe57fe5b6000610d1682610be8565b610d6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611433602e913960400191505060405180910390fd5b610bbe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660006020610e25565b81810182811015610bbe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60d81c90565b600060ff8216610e3757506000610cc9565b610e4084610fd0565b6bffffffffffffffffffffffff16610e5b8460ff8516610d9a565b1115610f3a57610e9c610e6d85610fe4565b6bffffffffffffffffffffffff16610e8486610fd0565b6bffffffffffffffffffffffff16858560ff16610ff8565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610eff578181015183820152602001610ee7565b50505050905090810190601f168015610f2c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff161115610f97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611482603a913960400191505060405180910390fd5b600882026000610fa686610fe4565b6bffffffffffffffffffffffff1690506000610fc183611153565b91909501511695945050505050565b60181c6bffffffffffffffffffffffff1690565b60781c6bffffffffffffffffffffffff1690565b606060006110058661119c565b91505060006110138661119c565b91505060006110218661119c565b915050600061102f8661119c565b9150508383838360405160200180806114bc603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a820152605001602161146182397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b600080601f5b600f8160ff1611156112045760ff600882021684901c6111c181611270565b61ffff16841793508160ff166010146111dc57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016111a2565b50600f5b60ff8160ff16101561126a5760ff600882021684901c61122781611270565b61ffff16831792508160ff1660001461124257601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01611208565b50915091565b600061128260048360ff16901c6112a0565b60ff161760081b62ffff0016611297826112a0565b60ff1617919050565b600060f08083179060ff821614156112bc576030915050610a12565b8060ff1660f114156112d2576031915050610a12565b8060ff1660f214156112e8576032915050610a12565b8060ff1660f314156112fe576033915050610a12565b8060ff1660f41415611314576034915050610a12565b8060ff1660f5141561132a576035915050610a12565b8060ff1660f61415611340576036915050610a12565b8060ff1660f71415611356576037915050610a12565b8060ff1660f8141561136c576038915050610a12565b8060ff1660f91415611382576039915050610a12565b8060ff1660fa1415611398576061915050610a12565b8060ff1660fb14156113ae576062915050610a12565b8060ff1660fc14156113c4576063915050610a12565b8060ff1660fd14156113da576064915050610a12565b8060ff1660fe14156113f0576065915050610a12565b8060ff1660ff1415611406576066915050610a12565b5091905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734d65737361676554656d706c6174652f6e756d6265723a2076696577206d757374206265206f66207479706520412e20417474656d7074656420746f20696e646578206174206f666673657420307854797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a264697066735822122000f6c481e0b379a2211071840ff86d41ae562d814f34c883877401a9197c368064736f6c63430007060033"; + "0x608060405234801561001057600080fd5b506040516115e93803806115e98339818101604052602081101561003357600080fd5b50518060006100406100b0565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b0319166001600160a01b0392909216919091179055506100b4565b3390565b611526806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063715018a61161005b578063715018a6146101d45780638da5cb5b146101dc578063b49c53a7146101e4578063f2fde38b1461020d57610088565b80631984a3301461008d5780633339df96146100b857806341bdc8b5146100e957806356d5d4751461011c575b600080fd5b6100b6600480360360408110156100a357600080fd5b5063ffffffff8135169060200135610240565b005b6100c061034a565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b6600480360360208110156100ff57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610366565b6100b66004803603606081101561013257600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561015f57600080fd5b82018360208201111561017157600080fd5b8035906020019184600183028401116401000000008311171561019357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610455945050505050565b6100b66105fb565b6100c0610712565b6100b6600480360360408110156101fa57600080fd5b5063ffffffff813516906020013561072e565b6100b66004803603602081101561022357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166107ef565b600061024b83610990565b9050600061025883610a17565b9050610262610a5c565b73ffffffffffffffffffffffffffffffffffffffff1663d34686398584846040518463ffffffff1660e01b8152600401808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102de5781810151838201526020016102c6565b50505050905090810190601f16801561030b5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561032c57600080fd5b505af1158015610340573d6000803e3d6000fd5b5050505050505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b61036e610af8565b73ffffffffffffffffffffffffffffffffffffffff1661038c610712565b73ffffffffffffffffffffffffffffffffffffffff161461040e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61045e33610afc565b6104c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f217265706c696361000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b82826104d58282610ba5565b61054057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f2172656d6f746520726f75746572000000000000000000000000000000000000604482015290519081900360640190fd5b600061054c8482610bc4565b90506105797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216610be8565b1561058c5761058781610c07565b6105f3565b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f2176616c696420616374696f6e00000000000000000000000000000000000000604482015290519081900360640190fd5b505050505050565b610603610af8565b73ffffffffffffffffffffffffffffffffffffffff16610621610712565b73ffffffffffffffffffffffffffffffffffffffff16146106a357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b610736610af8565b73ffffffffffffffffffffffffffffffffffffffff16610754610712565b73ffffffffffffffffffffffffffffffffffffffff16146107d657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b63ffffffff909116600090815260016020526040902055565b6107f7610af8565b73ffffffffffffffffffffffffffffffffffffffff16610815610712565b73ffffffffffffffffffffffffffffffffffffffff161461089757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061140d6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b63ffffffff811660009081526001602052604090205480610a1257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f2172656d6f746500000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b919050565b604080517f0100000000000000000000000000000000000000000000000000000000000000602082015260218082019390935281518082039093018352604101905290565b600254604080517f9fa92f9d000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691639fa92f9d916004808301926020929190829003018186803b158015610ac757600080fd5b505afa158015610adb573d6000803e3d6000fd5b505050506040513d6020811015610af157600080fd5b5051905090565b3390565b600254604080517f5190bc5300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291516000939290921691635190bc5391602480820192602092909190829003018186803b158015610b7357600080fd5b505afa158015610b87573d6000803e3d6000fd5b505050506040513d6020811015610b9d57600080fd5b505192915050565b63ffffffff821660009081526001602052604090205481145b92915050565b815160009060208401610bdf64ffffffffff85168284610c6f565b95945050505050565b60006001610bf583610cd0565b6001811115610c0057fe5b1492915050565b6000610c347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316610d0b565b6040805182815290519192507f2b51a16951b17b51a53e06c3041d704232f26354acf317a5b7bfeab23f4ca629919081900360200190a15050565b600080610c7c8484610d9a565b9050604051811115610c8c575060005b80610cba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050610cc9565b610cc5858585610e0c565b9150505b9392505050565b6000610cfd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316610e1f565b60ff166001811115610bbe57fe5b6000610d1682610be8565b610d6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611433602e913960400191505060405180910390fd5b610bbe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660006020610e25565b81810182811015610bbe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60d81c90565b600060ff8216610e3757506000610cc9565b610e4084610fd0565b6bffffffffffffffffffffffff16610e5b8460ff8516610d9a565b1115610f3a57610e9c610e6d85610fe4565b6bffffffffffffffffffffffff16610e8486610fd0565b6bffffffffffffffffffffffff16858560ff16610ff8565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610eff578181015183820152602001610ee7565b50505050905090810190601f168015610f2c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff161115610f97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611482603a913960400191505060405180910390fd5b600882026000610fa686610fe4565b6bffffffffffffffffffffffff1690506000610fc183611153565b91909501511695945050505050565b60181c6bffffffffffffffffffffffff1690565b60781c6bffffffffffffffffffffffff1690565b606060006110058661119c565b91505060006110138661119c565b91505060006110218661119c565b915050600061102f8661119c565b9150508383838360405160200180806114bc603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a820152605001602161146182397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b600080601f5b600f8160ff1611156112045760ff600882021684901c6111c181611270565b61ffff16841793508160ff166010146111dc57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016111a2565b50600f5b60ff8160ff16101561126a5760ff600882021684901c61122781611270565b61ffff16831792508160ff1660001461124257601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01611208565b50915091565b600061128260048360ff16901c6112a0565b60ff161760081b62ffff0016611297826112a0565b60ff1617919050565b600060f08083179060ff821614156112bc576030915050610a12565b8060ff1660f114156112d2576031915050610a12565b8060ff1660f214156112e8576032915050610a12565b8060ff1660f314156112fe576033915050610a12565b8060ff1660f41415611314576034915050610a12565b8060ff1660f5141561132a576035915050610a12565b8060ff1660f61415611340576036915050610a12565b8060ff1660f71415611356576037915050610a12565b8060ff1660f8141561136c576038915050610a12565b8060ff1660f91415611382576039915050610a12565b8060ff1660fa1415611398576061915050610a12565b8060ff1660fb14156113ae576062915050610a12565b8060ff1660fc14156113c4576063915050610a12565b8060ff1660fd14156113da576064915050610a12565b8060ff1660fe14156113f0576065915050610a12565b8060ff1660ff1415611406576066915050610a12565b5091905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734d65737361676554656d706c6174652f6e756d6265723a2076696577206d757374206265206f66207479706520412e20417474656d7074656420746f20696e646578206174206f666673657420307854797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657354797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a26469706673582212209cbb09cec118076e1fbda964a5398eb8d0abadbece07973c06034f96692289b764736f6c63430007060033"; export class RouterTemplate__factory extends ContractFactory { constructor(signer?: Signer) { diff --git a/typescript/src/typechain/optics-xapps/factories/XAppConnectionManager__factory.ts b/typescript/src/typechain/optics-xapps/factories/XAppConnectionManager__factory.ts index dc6b0388d..7c95f0746 100644 --- a/typescript/src/typechain/optics-xapps/factories/XAppConnectionManager__factory.ts +++ b/typescript/src/typechain/optics-xapps/factories/XAppConnectionManager__factory.ts @@ -349,7 +349,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6114fd8061007d6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063b9cff16211610066578063b9cff162146102f7578063e0e7a9131461031a578063f2fde38b146103d2578063f31faefb14610405576100f5565b80638da5cb5b146102445780638f5d90e014610275578063916c3470146102a85780639fa92f9d146102ef576100f5565b80635f8b1dba116100d35780635f8b1dba146101b35780636ef0f37f146101ff578063715018a6146102345780638d3638f41461023c576100f5565b80632f54bf6e146100fa578063427ebef5146101415780635190bc5314610180575b600080fd5b61012d6004803603602081101561011057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610444565b604080519115158252519081900360200190f35b61012d6004803603604081101561015757600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16610483565b61012d6004803603602081101561019657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104c3565b6101e6600480360360208110156101c957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104f3565b6040805163ffffffff9092168252519081900360200190f35b6102326004803603602081101561021557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661050b565b005b6102326105fa565b6101e6610711565b61024c6107ad565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102326004803603602081101561028b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166107c9565b610232600480360360608110156102be57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169063ffffffff6020820135169060400135151561087d565b61024c6109cb565b61024c6004803603602081101561030d57600080fd5b503563ffffffff166109e7565b6102326004803603606081101561033057600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561035d57600080fd5b82018360208201111561036f57600080fd5b8035906020019184600183028401116401000000008311171561039157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a0f945050505050565b610232600480360360208110156103e857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c88565b6102326004803603604081101561041b57600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16610e29565b600061044e6107ad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020908152604080832063ffffffff8516845290915290205460ff1692915050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205463ffffffff16151590565b60016020526000908152604090205463ffffffff1681565b610513610f9d565b73ffffffffffffffffffffffffffffffffffffffff166105316107ad565b73ffffffffffffffffffffffffffffffffffffffff16146105b357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610602610f9d565b73ffffffffffffffffffffffffffffffffffffffff166106206107ad565b73ffffffffffffffffffffffffffffffffffffffff16146106a257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600354604080517f8d3638f4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638d3638f4916004808301926020929190829003018186803b15801561077c57600080fd5b505afa158015610790573d6000803e3d6000fd5b505050506040513d60208110156107a657600080fd5b5051905090565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6107d1610f9d565b73ffffffffffffffffffffffffffffffffffffffff166107ef6107ad565b73ffffffffffffffffffffffffffffffffffffffff161461087157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61087a81610fa1565b50565b610885610f9d565b73ffffffffffffffffffffffffffffffffffffffff166108a36107ad565b73ffffffffffffffffffffffffffffffffffffffff161461092557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600081815260046020908152604080832063ffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815194855291840191909152805191927f517de16b526853f481451c5151e87484e1b251ec7d0302efa1019c2ece179c2c929081900390910190a2505050565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b63ffffffff831660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610aa757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f217265706c696361206578697374730000000000000000000000000000000000604482015290519081900360640190fd5b610ab083611069565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663df034cd06040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0c57600080fd5b505afa158015610b20573d6000803e3d6000fd5b505050506040513d6020811015610b3657600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614610bba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f2163757272656e74207570646174657200000000000000000000000000000000604482015290519081900360640190fd5b6000610bd085610bc98461106c565b8686611085565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020908152604080832063ffffffff8a16845290915290205490915060ff16610c7857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f2176616c69642077617463686572000000000000000000000000000000000000604482015290519081900360640190fd5b610c8182610fa1565b5050505050565b610c90610f9d565b73ffffffffffffffffffffffffffffffffffffffff16610cae6107ad565b73ffffffffffffffffffffffffffffffffffffffff1614610d3057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610d9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061145e6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610e31610f9d565b73ffffffffffffffffffffffffffffffffffffffff16610e4f6107ad565b73ffffffffffffffffffffffffffffffffffffffff1614610ed157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610eda82610fa1565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff8716908117909155808452600283529281902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168517905580519384525191927f8440df9bf8a8542634a9eb196da1735b786ed9aa2fc12b080ac34c5fa81a9234929081900390910190a25050565b3390565b73ffffffffffffffffffffffffffffffffffffffff81166000818152600160208181526040808420805463ffffffff168086526002845282862080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559486905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001690925581519384529051919283927fce1533133fb359ace801d3176bbad25ace030d714aed35e38a6293c8a60b115b929181900390910190a25050565b90565b73ffffffffffffffffffffffffffffffffffffffff1690565b60008061109185611069565b73ffffffffffffffffffffffffffffffffffffffff166345630b1a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110d657600080fd5b505afa1580156110ea573d6000803e3d6000fd5b505050506040513d602081101561110057600080fd5b50516040805160208181018490527fffffffff0000000000000000000000000000000000000000000000000000000060e08b901b1682840152604480830189905283518084039091018152606490920190925280519101209091506111648161117b565b905061117081856111cc565b979650505050505050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461123e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61125c86828585611266565b9695505050505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156112e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114846022913960400191505060405180910390fd5b8360ff16601b14806112f657508360ff16601c145b61134b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114a66022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156113a7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661145457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b9594505050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c7565a264697066735822122015cfae8fbac3c2bcf96ffbee521cd794721721f5923447636a3f7ff2e9ed82e164736f6c63430007060033"; + "0x608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6114fd8061007d6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063b9cff16211610066578063b9cff162146102f7578063e0e7a9131461031a578063f2fde38b146103d2578063f31faefb14610405576100f5565b80638da5cb5b146102445780638f5d90e014610275578063916c3470146102a85780639fa92f9d146102ef576100f5565b80635f8b1dba116100d35780635f8b1dba146101b35780636ef0f37f146101ff578063715018a6146102345780638d3638f41461023c576100f5565b80632f54bf6e146100fa578063427ebef5146101415780635190bc5314610180575b600080fd5b61012d6004803603602081101561011057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610444565b604080519115158252519081900360200190f35b61012d6004803603604081101561015757600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16610483565b61012d6004803603602081101561019657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104c3565b6101e6600480360360208110156101c957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104f3565b6040805163ffffffff9092168252519081900360200190f35b6102326004803603602081101561021557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661050b565b005b6102326105fa565b6101e6610711565b61024c6107ad565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102326004803603602081101561028b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166107c9565b610232600480360360608110156102be57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169063ffffffff6020820135169060400135151561087d565b61024c6109cb565b61024c6004803603602081101561030d57600080fd5b503563ffffffff166109e7565b6102326004803603606081101561033057600080fd5b63ffffffff8235169160208101359181019060608101604082013564010000000081111561035d57600080fd5b82018360208201111561036f57600080fd5b8035906020019184600183028401116401000000008311171561039157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a0f945050505050565b610232600480360360208110156103e857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c88565b6102326004803603604081101561041b57600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013563ffffffff16610e29565b600061044e6107ad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020908152604080832063ffffffff8516845290915290205460ff1692915050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205463ffffffff16151590565b60016020526000908152604090205463ffffffff1681565b610513610f9d565b73ffffffffffffffffffffffffffffffffffffffff166105316107ad565b73ffffffffffffffffffffffffffffffffffffffff16146105b357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610602610f9d565b73ffffffffffffffffffffffffffffffffffffffff166106206107ad565b73ffffffffffffffffffffffffffffffffffffffff16146106a257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600354604080517f8d3638f4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638d3638f4916004808301926020929190829003018186803b15801561077c57600080fd5b505afa158015610790573d6000803e3d6000fd5b505050506040513d60208110156107a657600080fd5b5051905090565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6107d1610f9d565b73ffffffffffffffffffffffffffffffffffffffff166107ef6107ad565b73ffffffffffffffffffffffffffffffffffffffff161461087157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61087a81610fa1565b50565b610885610f9d565b73ffffffffffffffffffffffffffffffffffffffff166108a36107ad565b73ffffffffffffffffffffffffffffffffffffffff161461092557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600081815260046020908152604080832063ffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815194855291840191909152805191927f517de16b526853f481451c5151e87484e1b251ec7d0302efa1019c2ece179c2c929081900390910190a2505050565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b63ffffffff831660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610aa757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f217265706c696361206578697374730000000000000000000000000000000000604482015290519081900360640190fd5b610ab083611069565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663df034cd06040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0c57600080fd5b505afa158015610b20573d6000803e3d6000fd5b505050506040513d6020811015610b3657600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614610bba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f2163757272656e74207570646174657200000000000000000000000000000000604482015290519081900360640190fd5b6000610bd085610bc98461106c565b8686611085565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020908152604080832063ffffffff8a16845290915290205490915060ff16610c7857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f2176616c69642077617463686572000000000000000000000000000000000000604482015290519081900360640190fd5b610c8182610fa1565b5050505050565b610c90610f9d565b73ffffffffffffffffffffffffffffffffffffffff16610cae6107ad565b73ffffffffffffffffffffffffffffffffffffffff1614610d3057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610d9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061145e6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610e31610f9d565b73ffffffffffffffffffffffffffffffffffffffff16610e4f6107ad565b73ffffffffffffffffffffffffffffffffffffffff1614610ed157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610eda82610fa1565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff8716908117909155808452600283529281902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168517905580519384525191927f8440df9bf8a8542634a9eb196da1735b786ed9aa2fc12b080ac34c5fa81a9234929081900390910190a25050565b3390565b73ffffffffffffffffffffffffffffffffffffffff81166000818152600160208181526040808420805463ffffffff168086526002845282862080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559486905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001690925581519384529051919283927fce1533133fb359ace801d3176bbad25ace030d714aed35e38a6293c8a60b115b929181900390910190a25050565b90565b73ffffffffffffffffffffffffffffffffffffffff1690565b60008061109185611069565b73ffffffffffffffffffffffffffffffffffffffff166345630b1a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110d657600080fd5b505afa1580156110ea573d6000803e3d6000fd5b505050506040513d602081101561110057600080fd5b50516040805160208181018490527fffffffff0000000000000000000000000000000000000000000000000000000060e08b901b1682840152604480830189905283518084039091018152606490920190925280519101209091506111648161117b565b905061117081856111cc565b979650505050505050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461123e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61125c86828585611266565b9695505050505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156112e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114846022913960400191505060405180910390fd5b8360ff16601b14806112f657508360ff16601c145b61134b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114a66022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156113a7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661145457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b9594505050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c7565a26469706673582212200da03116b2e6dce30fdb5a4689455c4b029f8f9f0e5708185589a741bddf3b4264736f6c63430007060033"; export class XAppConnectionManager__factory extends ContractFactory { constructor(signer?: Signer) {