UNPKG

@unruggable/gateways

Version:

Trustless Ethereum Multichain CCIP-Read Gateway

1 lines 78.2 kB
{"abi":[{"type":"constructor","inputs":[{"name":"urls","type":"string[]","internalType":"string[]"},{"name":"window","type":"uint256","internalType":"uint256"},{"name":"hooks","type":"address","internalType":"contract IVerifierHooks"},{"name":"rollup12","type":"address","internalType":"address"},{"name":"minAgeBlocks12","type":"uint256","internalType":"uint256"},{"name":"isBoLD12","type":"bool","internalType":"bool"},{"name":"_request","type":"tuple","internalType":"struct GatewayRequest","components":[{"name":"ops","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"gatewayURLs","inputs":[],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"getHooks","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IVerifierHooks"}],"stateMutability":"view"},{"type":"function","name":"getLatestContext","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStorageValues","inputs":[{"name":"context","type":"bytes","internalType":"bytes"},{"name":"req","type":"tuple","internalType":"struct GatewayRequest","components":[{"name":"ops","type":"bytes","internalType":"bytes"}]},{"name":"proof","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"},{"name":"exitCode","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getWindow","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isBoLD","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"minAgeBlocks","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"request","inputs":[],"outputs":[{"name":"ops","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"rollup","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setGatewayURLs","inputs":[{"name":"urls","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"GatewayURLsChanged","inputs":[],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"CommitTooNew","inputs":[{"name":"latest","type":"uint256","internalType":"uint256"},{"name":"got","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"CommitTooOld","inputs":[{"name":"latest","type":"uint256","internalType":"uint256"},{"name":"got","type":"uint256","internalType":"uint256"},{"name":"window","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x610120604052348015610010575f80fd5b50604051611e70380380611e7083398101604081905261002f9161030c565b868686868686858585338061005d57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610066816100c9565b50825161007a906001906020860190610118565b506080919091526001600160a01b0390811660a0529390931660c05260e091909152151561010052505082518392506002915081906100b990826104e4565b50905050505050505050506105a3565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b828054828255905f5260205f2090810192821561015c579160200282015b8281111561015c578251829061014c90826104e4565b5091602001919060010190610136565b5061016892915061016c565b5090565b80821115610168575f61017f8282610188565b5060010161016c565b50805461019490610460565b5f825580601f106101a3575050565b601f0160209004905f5260205f20908101906101bf91906101c2565b50565b5b80821115610168575f81556001016101c3565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715610212576102126101d6565b604052919050565b5f6001600160401b03831115610232576102326101d6565b610245601f8401601f19166020016101ea565b9050828152838383011115610258575f80fd5b8282602083015e5f602084830101529392505050565b80516001600160a01b0381168114610284575f80fd5b919050565b80518015158114610284575f80fd5b5f602082840312156102a8575f80fd5b604051602081016001600160401b0380821183831017156102cb576102cb6101d6565b8160405282935084519150808211156102e2575f80fd5b508301601f810185136102f3575f80fd5b6103028582516020840161021a565b8252505092915050565b5f805f805f805f60e0888a031215610322575f80fd5b87516001600160401b03811115610337575f80fd5b8801601f81018a13610347575f80fd5b80516001600160401b03811115610360576103606101d6565b61036f60208260051b016101ea565b808282526020820191508c60208460051b860101111561038d575f80fd5b602084015b60208460051b8601018110156103ec5780516001600160401b038111156103b7575f80fd5b8e603f82880101126103c7575f80fd5b6103dd8f602083890101516040848a010161021a565b84525060209283019201610392565b50809a5050505050602088015195506104076040890161026e565b94506104156060890161026e565b93506080880151925061042a60a08901610289565b60c08901519092506001600160401b03811115610445575f80fd5b6104518a828b01610298565b91505092959891949750929550565b600181811c9082168061047457607f821691505b60208210810361049257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104df57805f5260205f20601f840160051c810160208510156104bd5750805b601f840160051c820191505b818110156104dc575f81556001016104c9565b50505b505050565b81516001600160401b038111156104fd576104fd6101d6565b6105118161050b8454610460565b84610498565b602080601f831160018114610544575f841561052d5750858301515b5f19600386901b1c1916600185901b17855561059b565b5f85815260208120601f198616915b8281101561057257888601518255948401946001909101908401610553565b508582101561058f57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c05160e051610100516118306106405f395f81816101e0015281816102cc015261099501525f8181610171015281816103400152818161040601528181610a0c0152610ad001525f81816101980152818161031e015281816103e4015281816109ea0152610aae01525f818160fd0152818161065d015261081a01525f818160b301528181610b660152610bae01526118305ff3fe608060405234801561000f575f80fd5b50600436106100ad575f3560e01c80631d80051d146100b1578063338cdca1146100e65780635cd2525e146100fb578063715018a61461012a57806387c484fe146101345780638da5cb5b1461013c5780638e5ea8df14610144578063b50f2fbc14610157578063b56aabe91461016c578063cb23bcb514610193578063e3d1666e146101ba578063e84b525f146101db578063f2fde38b14610212575b5f80fd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020015b60405180910390f35b6100ee610225565b6040516100dd9190610ced565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516100dd9190610d06565b6101326102b5565b005b6100ee6102c8565b61011d610493565b610132610152366004610e2b565b6104a1565b61015f6104e8565b6040516100dd9190610ee7565b6100d37f000000000000000000000000000000000000000000000000000000000000000081565b61011d7f000000000000000000000000000000000000000000000000000000000000000081565b6101cd6101c8366004610f67565b6105bc565b6040516100dd92919061102a565b6102027f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020016100dd565b610132610220366004611098565b6108b3565b600280548190610234906110be565b80601f0160208091040260200160405190810160405280929190818152602001828054610260906110be565b80156102ab5780601f10610282576101008083540402835291602001916102ab565b820191905f5260205f20905b81548152906001019060200180831161028e57829003601f168201915b5050505050905081565b6102bd6108f9565b6102c65f61092b565b565b60607f00000000000000000000000000000000000000000000000000000000000000006103b557604051631b40d77b60e21b815273__$ec550694073df65076548fc5c1176e3255$__90636d035dec90610368907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000906004016110f6565b602060405180830381865af4158015610383573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a7919061112a565b6001600160401b031661046d565b604051631b40d77b60e21b815273__$1d2df7ff0c1011216eeaf379be1cf65d5d$__90636d035dec9061042e907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000906004016110f6565b602060405180830381865af4158015610449573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046d9190611143565b60405160200161047f91815260200190565b604051602081830303815290604052905090565b5f546001600160a01b031690565b6104a96108f9565b80516104bc906001906020840190610c09565b506040517fe621d803a0c96b9bbeea51d136777f6ea8a4ce0c4ac74f6645e18b4342e2fa07905f90a150565b60606001805480602002602001604051908101604052809291908181526020015f905b828210156105b3578382905f5260205f20018054610528906110be565b80601f0160208091040260200160405190810160405280929190818152602001828054610554906110be565b801561059f5780601f106105765761010080835404028352916020019161059f565b820191905f5260205f20905b81548152906001019060200180831161058257829003601f168201915b50505050508152602001906001019061050b565b50505050905090565b60605f80838060200190518101906105d4919061122c565b80519091505f906105e5908861097a565b90505f73__$011ed85421b307e5206de383929e31be73$__6392a201d460026040518060a001604052805f8152602001868152602001875f6002811061062d5761062d61132d565b6020020151602001518152602001875f6002811061064d5761064d61132d565b60200201516040015181526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152506040518363ffffffff1660e01b81526004016106a59291906113ef565b5f60405180830381865af41580156106bf573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526106e69190810190611493565b506020808501515180519293505f9261070592908201810191016114e6565b905073__$ec550694073df65076548fc5c1176e3255$__635b68b71e82846001815181106107355761073561132d565b602002602001015161074690611568565b6040518363ffffffff1660e01b815260040161076392919061158b565b602060405180830381865af415801561077e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a29190611143565b925073__$011ed85421b307e5206de383929e31be73$__6392a201d4896040518060a001604052805f8152602001878152602001886001600281106107e9576107e961132d565b60200201516020015181526020018860016002811061080a5761080a61132d565b60200201516040015181526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152506040518363ffffffff1660e01b81526004016108629291906115d2565b5f60405180830381865af415801561087c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526108a39190810190611493565b9550955050505050935093915050565b6108bb6108f9565b6001600160a01b0381166108ed575f604051631e4fbdf760e01b81526004016108e49190610d06565b60405180910390fd5b6108f68161092b565b50565b33610902610493565b6001600160a01b0316146102c6573360405163118cdaa760e01b81526004016108e49190610d06565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80828060200190518101906109909190611143565b90505f7f000000000000000000000000000000000000000000000000000000000000000015610a7d5784516040516356b357ad60e11b815273__$1d2df7ff0c1011216eeaf379be1cf65d5d$__9163ad66af5a91610a35917f0000000000000000000000000000000000000000000000000000000000000000917f0000000000000000000000000000000000000000000000000000000000000000919060040161160a565b6040805180830381865af4158015610a4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a739190611630565b9093509050610b4e565b8451604051630c31e23360e11b815273__$ec550694073df65076548fc5c1176e3255$__91631863c46691610afb917f0000000000000000000000000000000000000000000000000000000000000000917f000000000000000000000000000000000000000000000000000000000000000091908890600401611652565b606060405180830381865af4158015610b16573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3a9190611691565b9194506001600160401b0390811693501690505b610b588282610b60565b505092915050565b81610b8b7f0000000000000000000000000000000000000000000000000000000000000000836116ca565b1015610bda57604051632a54241d60e21b815260048101839052602481018290527f000000000000000000000000000000000000000000000000000000000000000060448201526064016108e4565b81811115610c055760405163b356ade760e01b815260048101839052602481018290526044016108e4565b5050565b828054828255905f5260205f20908101928215610c4d579160200282015b82811115610c4d5782518290610c3d908261173b565b5091602001919060010190610c27565b50610c59929150610c5d565b5090565b80821115610c59575f610c708282610c79565b50600101610c5d565b508054610c85906110be565b5f825580601f10610c94575050565b601f0160209004905f5260205f20908101906108f691905b80821115610c59575f8155600101610cac565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610cff6020830184610cbf565b9392505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715610d5057610d50610d1a565b60405290565b604051606081016001600160401b0381118282101715610d5057610d50610d1a565b604051601f8201601f191681016001600160401b0381118282101715610da057610da0610d1a565b604052919050565b5f6001600160401b03821115610dc057610dc0610d1a565b5060051b60200190565b5f6001600160401b03821115610de257610de2610d1a565b50601f01601f191660200190565b5f610e02610dfd84610dca565b610d78565b9050828152838383011115610e15575f80fd5b828260208301375f602084830101529392505050565b5f6020808385031215610e3c575f80fd5b82356001600160401b0380821115610e52575f80fd5b818501915085601f830112610e65575f80fd5b8135610e73610dfd82610da8565b81815260059190911b83018401908481019088831115610e91575f80fd5b8585015b83811015610eda57803585811115610eab575f80fd5b8601603f81018b13610ebb575f80fd5b610ecc8b8983013560408401610df0565b845250918601918601610e95565b5098975050505050505050565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b82811015610f3c57603f19888603018452610f2a858351610cbf565b94509285019290850190600101610f0e565b5092979650505050505050565b5f82601f830112610f58575f80fd5b610cff83833560208501610df0565b5f805f60608486031215610f79575f80fd5b83356001600160401b0380821115610f8f575f80fd5b610f9b87838801610f49565b94506020860135915080821115610fb0575f80fd5b9085019060208288031215610fc3575f80fd5b604051602081018181108382111715610fde57610fde610d1a565b604052823582811115610fef575f80fd5b610ffb89828601610f49565b82525093506040860135915080821115611013575f80fd5b5061102086828701610f49565b9150509250925092565b5f604082016040835280855180835260608501915060608160051b860101925060208088015f5b8381101561107f57605f1988870301855261106d868351610cbf565b95509382019390820190600101611051565b50505050508091505060ff831660208301529392505050565b5f602082840312156110a8575f80fd5b81356001600160a01b0381168114610cff575f80fd5b600181811c908216806110d257607f821691505b6020821081036110f057634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160a01b03929092168252602082015260400190565b80516001600160401b0381168114611125575f80fd5b919050565b5f6020828403121561113a575f80fd5b610cff8261110f565b5f60208284031215611153575f80fd5b5051919050565b5f82601f830112611169575f80fd5b8151611177610dfd82610dca565b81815284602083860101111561118b575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f82601f8301126111b6575f80fd5b815160206111c6610dfd83610da8565b82815260059290921b840181019181810190868411156111e4575f80fd5b8286015b848110156112215780516001600160401b03811115611205575f80fd5b6112138986838b010161115a565b8452509183019183016111e8565b509695505050505050565b5f602080838503121561123d575f80fd5b82516001600160401b0380821115611253575f80fd5b818501915085601f830112611266575f80fd5b61126e610d2e565b80604080850189811115611280575f80fd5b855b8181101561131e57805186811115611298575f80fd5b87016060818d0312156112a9575f80fd5b6112b1610d56565b8151888111156112bf575f80fd5b6112cb8e82850161115a565b82525089820151888111156112de575f80fd5b6112ea8e8285016111a7565b8b8301525084820151888111156112ff575f80fd5b61130b8e82850161115a565b8287015250865250938701938701611282565b50919998505050505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f60a08301825184526020808401516020860152604084015160a0604087015282815180855260c08801915060c08160051b89010194506020830192505f5b818110156113ae5760bf1989870301835261139c868551610cbf565b95509284019291840191600101611380565b5050505050606083015184820360608601526113ca8282610cbf565b91505060808301516113e760808601826001600160a01b03169052565b509392505050565b604081525f60208060408401525f8554611408816110be565b806060870152608060018084165f8114611429576001811461144557611472565b60ff19851660808a0152608084151560051b8a01019550611472565b8a5f5260205f205f5b858110156114695781548b820186015290830190880161144e565b8a016080019650505b505050505083810360208501526114898186611341565b9695505050505050565b5f80604083850312156114a4575f80fd5b82516001600160401b038111156114b9575f80fd5b6114c5858286016111a7565b925050602083015160ff811681146114db575f80fd5b809150509250929050565b5f602082840312156114f6575f80fd5b81516001600160401b038082111561150c575f80fd5b908301906060828603121561151f575f80fd5b611527610d56565b6115308361110f565b81526020830151602082015260408301518281111561154d575f80fd5b6115598782860161115a565b60408301525095945050505050565b805160208083015191908110156110f0575f1960209190910360031b1b16919050565b6040815260018060401b038351166040820152602083015160608201525f6040840151606060808401526115c260a0840182610cbf565b9150508260208301529392505050565b604081525f8351602060408401526115ed6060840182610cbf565b905082810360208401526116018185611341565b95945050505050565b60018060a01b0384168152826020820152606060408201525f6116016060830184610cbf565b5f8060408385031215611641575f80fd5b505080516020909101519092909150565b60018060a01b0385168152836020820152608060408201525f6116786080830185610cbf565b905060018060401b038316606083015295945050505050565b5f805f606084860312156116a3575f80fd5b835192506116b36020850161110f565b91506116c16040850161110f565b90509250925092565b808201808211156116e957634e487b7160e01b5f52601160045260245ffd5b92915050565b601f82111561173657805f5260205f20601f840160051c810160208510156117145750805b601f840160051c820191505b81811015611733575f8155600101611720565b50505b505050565b81516001600160401b0381111561175457611754610d1a565b6117688161176284546110be565b846116ef565b602080601f83116001811461179b575f84156117845750858301515b5f19600386901b1c1916600185901b1785556117f2565b5f85815260208120601f198616915b828110156117c9578886015182559484019460019091019084016117aa565b50858210156117e657878501515f19600388901b60f8161c191681555b505060018460011b0185555b50505050505056fea26469706673582212203ca595f2470af0c943136ba0ee274cfe7aaafbeeb05874c331ac1f861e34a1c564736f6c63430008190033","sourceMap":"264:1531:14:-:0;;;358:426;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;619:4;637:6;657:5;676:8;698:14;726:8;619:4;637:6;657:5;566:10:0;;1269:95:48;;1322:31;;-1:-1:-1;;;1322:31:48;;1350:1;1322:31;;;3974:51:65;3947:18;;1322:31:48;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;588:12:0;;::::1;::::0;:5:::1;::::0;:12:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;610:16:0::1;::::0;;;;-1:-1:-1;;;;;636:14:0;;::::1;;::::0;715:16:12;;;::::1;;::::0;741:28:::1;::::0;;;;779:16:::1;;;::::0;-1:-1:-1;;759:18:14;;769:8;;-1:-1:-1;759:7:14::1;::::0;-1:-1:-1;759:7:14;;:18:::1;::::0;:7;:18:::1;:::i;:::-;;;;;358:426:::0;;;;;;;264:1531;;2912:187:48;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:48;;;-1:-1:-1;;;;;;3020:17:48;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;264:1531:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;264:1531:14;;;-1:-1:-1;264:1531:14;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;14:127:65;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:65;247:40;;-1:-1:-1;;;;;302:34:65;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:65:o;426:411::-;502:5;-1:-1:-1;;;;;525:30:65;;522:56;;;558:18;;:::i;:::-;596:57;641:2;620:15;;-1:-1:-1;;616:29:65;647:4;612:40;596:57;:::i;:::-;587:66;;676:6;669:5;662:21;716:3;707:6;702:3;698:16;695:25;692:45;;;733:1;730;723:12;692:45;775:6;770:3;763:4;756:5;752:16;746:36;829:1;822:4;813:6;806:5;802:18;798:29;791:40;426:411;;;;;:::o;842:193::-;937:13;;-1:-1:-1;;;;;979:31:65;;969:42;;959:70;;1025:1;1022;1015:12;959:70;842:193;;;:::o;1040:164::-;1116:13;;1165;;1158:21;1148:32;;1138:60;;1194:1;1191;1184:12;1209:681;1281:5;1329:4;1317:9;1312:3;1308:19;1304:30;1301:50;;;1347:1;1344;1337:12;1301:50;1380:2;1374:9;1422:4;1410:17;;-1:-1:-1;;;;;1479:18:65;;;1499:22;;;1476:46;1473:72;;;1525:18;;:::i;:::-;1565:10;1561:2;1554:22;1594:6;1585:15;;1629:9;1623:16;1609:30;;1662:2;1654:6;1651:14;1648:34;;;1678:1;1675;1668:12;1648:34;-1:-1:-1;1701:22:65;;1754:4;1746:13;;1742:23;-1:-1:-1;1732:51:65;;1779:1;1776;1769:12;1732:51;1807:76;1879:3;1874:2;1868:9;1861:4;1857:2;1853:13;1807:76;:::i;:::-;1799:6;1792:92;;;1209:681;;;;:::o;1895:1928::-;2106:6;2114;2122;2130;2138;2146;2154;2207:3;2195:9;2186:7;2182:23;2178:33;2175:53;;;2224:1;2221;2214:12;2175:53;2251:16;;-1:-1:-1;;;;;2279:30:65;;2276:50;;;2322:1;2319;2312:12;2276:50;2345:22;;2398:4;2390:13;;2386:27;-1:-1:-1;2376:55:65;;2427:1;2424;2417:12;2376:55;2450:9;;-1:-1:-1;;;;;2471:26:65;;2468:52;;;2500:18;;:::i;:::-;2540:38;2572:4;2567:2;2564:1;2560:10;2556:21;2540:38;:::i;:::-;2600:3;2624:2;2619:3;2612:15;2652:4;2647:3;2643:14;2636:21;;2704:7;2697:4;2691:2;2688:1;2684:10;2680:2;2676:19;2672:30;2669:43;2666:63;;;2725:1;2722;2715:12;2666:63;2757:4;2753:2;2749:13;2771:488;2820:4;2814:2;2811:1;2807:10;2803:2;2799:19;2795:30;2790:3;2787:39;2771:488;;;2902:10;;-1:-1:-1;;;;;2928:35:65;;2925:55;;;2976:1;2973;2966:12;2925:55;3038:7;3033:2;3019:11;3015:2;3011:20;3007:29;3003:43;2993:71;;3060:1;3057;3050:12;2993:71;3089:125;3206:7;3198:4;3184:11;3180:2;3176:20;3172:31;3166:38;3161:2;3147:11;3143:2;3139:20;3135:29;3089:125;:::i;:::-;3077:138;;-1:-1:-1;3244:4:65;3235:14;;;;2844;2771:488;;;2775:3;3278:5;3268:15;;;;;;3323:4;3312:9;3308:20;3302:27;3292:37;;3348:65;3409:2;3398:9;3394:18;3348:65;:::i;:::-;3338:75;;3432:65;3493:2;3482:9;3478:18;3432:65;:::i;:::-;3422:75;;3537:3;3526:9;3522:19;3516:26;3506:36;;3561:47;3603:3;3592:9;3588:19;3561:47;:::i;:::-;3654:3;3639:19;;3633:26;3551:57;;-1:-1:-1;;;;;;3671:32:65;;3668:52;;;3716:1;3713;3706:12;3668:52;3739:78;3809:7;3798:8;3787:9;3783:24;3739:78;:::i;:::-;3729:88;;;1895:1928;;;;;;;;;;:::o;4036:380::-;4115:1;4111:12;;;;4158;;;4179:61;;4233:4;4225:6;4221:17;4211:27;;4179:61;4286:2;4278:6;4275:14;4255:18;4252:38;4249:161;;4332:10;4327:3;4323:20;4320:1;4313:31;4367:4;4364:1;4357:15;4395:4;4392:1;4385:15;4249:161;;4036:380;;;:::o;4546:517::-;4647:2;4642:3;4639:11;4636:421;;;4683:5;4680:1;4673:16;4727:4;4724:1;4714:18;4797:2;4785:10;4781:19;4778:1;4774:27;4768:4;4764:38;4833:4;4821:10;4818:20;4815:47;;;-1:-1:-1;4856:4:65;4815:47;4911:2;4906:3;4902:12;4899:1;4895:20;4889:4;4885:31;4875:41;;4966:81;4984:2;4977:5;4974:13;4966:81;;;5043:1;5029:16;;5010:1;4999:13;4966:81;;;4970:3;;4636:421;4546:517;;;:::o;5239:1341::-;5357:10;;-1:-1:-1;;;;;5379:30:65;;5376:56;;;5412:18;;:::i;:::-;5441:96;5530:6;5490:38;5522:4;5516:11;5490:38;:::i;:::-;5484:4;5441:96;:::i;:::-;5592:4;;5649:2;5638:14;;5666:1;5661:662;;;;6367:1;6384:6;6381:89;;;-1:-1:-1;6436:19:65;;;6430:26;6381:89;-1:-1:-1;;5196:1:65;5192:11;;;5188:24;5184:29;5174:40;5220:1;5216:11;;;5171:57;6483:81;;5631:943;;5661:662;4493:1;4486:14;;;4530:4;4517:18;;-1:-1:-1;;5697:20:65;;;5814:236;5828:7;5825:1;5822:14;5814:236;;;5917:19;;;5911:26;5896:42;;6009:27;;;;5977:1;5965:14;;;;5844:19;;5814:236;;;5818:3;6078:6;6069:7;6066:19;6063:201;;;6139:19;;;6133:26;-1:-1:-1;;6222:1:65;6218:14;;;6234:3;6214:24;6210:37;6206:42;6191:58;6176:74;;6063:201;;;6310:1;6301:6;6298:1;6294:14;6290:22;6284:4;6277:36;5631:943;;;;;5239:1341;;:::o;6585:1343::-;264:1531:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{"contracts/GatewayVM.sol":{"GatewayVM":[{"start":3114,"length":20},{"start":3558,"length":20}]},"contracts/arbitrum/BoLDVerifierLib.sol":{"BoLDVerifierLib":[{"start":2564,"length":20},{"start":4106,"length":20}]},"contracts/arbitrum/NitroVerifierLib.sol":{"NitroVerifierLib":[{"start":2366,"length":20},{"start":3401,"length":20},{"start":4302,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b50600436106100ad575f3560e01c80631d80051d146100b1578063338cdca1146100e65780635cd2525e146100fb578063715018a61461012a57806387c484fe146101345780638da5cb5b1461013c5780638e5ea8df14610144578063b50f2fbc14610157578063b56aabe91461016c578063cb23bcb514610193578063e3d1666e146101ba578063e84b525f146101db578063f2fde38b14610212575b5f80fd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020015b60405180910390f35b6100ee610225565b6040516100dd9190610ced565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516100dd9190610d06565b6101326102b5565b005b6100ee6102c8565b61011d610493565b610132610152366004610e2b565b6104a1565b61015f6104e8565b6040516100dd9190610ee7565b6100d37f000000000000000000000000000000000000000000000000000000000000000081565b61011d7f000000000000000000000000000000000000000000000000000000000000000081565b6101cd6101c8366004610f67565b6105bc565b6040516100dd92919061102a565b6102027f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020016100dd565b610132610220366004611098565b6108b3565b600280548190610234906110be565b80601f0160208091040260200160405190810160405280929190818152602001828054610260906110be565b80156102ab5780601f10610282576101008083540402835291602001916102ab565b820191905f5260205f20905b81548152906001019060200180831161028e57829003601f168201915b5050505050905081565b6102bd6108f9565b6102c65f61092b565b565b60607f00000000000000000000000000000000000000000000000000000000000000006103b557604051631b40d77b60e21b815273__$ec550694073df65076548fc5c1176e3255$__90636d035dec90610368907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000906004016110f6565b602060405180830381865af4158015610383573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a7919061112a565b6001600160401b031661046d565b604051631b40d77b60e21b815273__$1d2df7ff0c1011216eeaf379be1cf65d5d$__90636d035dec9061042e907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000906004016110f6565b602060405180830381865af4158015610449573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046d9190611143565b60405160200161047f91815260200190565b604051602081830303815290604052905090565b5f546001600160a01b031690565b6104a96108f9565b80516104bc906001906020840190610c09565b506040517fe621d803a0c96b9bbeea51d136777f6ea8a4ce0c4ac74f6645e18b4342e2fa07905f90a150565b60606001805480602002602001604051908101604052809291908181526020015f905b828210156105b3578382905f5260205f20018054610528906110be565b80601f0160208091040260200160405190810160405280929190818152602001828054610554906110be565b801561059f5780601f106105765761010080835404028352916020019161059f565b820191905f5260205f20905b81548152906001019060200180831161058257829003601f168201915b50505050508152602001906001019061050b565b50505050905090565b60605f80838060200190518101906105d4919061122c565b80519091505f906105e5908861097a565b90505f73__$011ed85421b307e5206de383929e31be73$__6392a201d460026040518060a001604052805f8152602001868152602001875f6002811061062d5761062d61132d565b6020020151602001518152602001875f6002811061064d5761064d61132d565b60200201516040015181526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152506040518363ffffffff1660e01b81526004016106a59291906113ef565b5f60405180830381865af41580156106bf573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526106e69190810190611493565b506020808501515180519293505f9261070592908201810191016114e6565b905073__$ec550694073df65076548fc5c1176e3255$__635b68b71e82846001815181106107355761073561132d565b602002602001015161074690611568565b6040518363ffffffff1660e01b815260040161076392919061158b565b602060405180830381865af415801561077e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a29190611143565b925073__$011ed85421b307e5206de383929e31be73$__6392a201d4896040518060a001604052805f8152602001878152602001886001600281106107e9576107e961132d565b60200201516020015181526020018860016002811061080a5761080a61132d565b60200201516040015181526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152506040518363ffffffff1660e01b81526004016108629291906115d2565b5f60405180830381865af415801561087c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526108a39190810190611493565b9550955050505050935093915050565b6108bb6108f9565b6001600160a01b0381166108ed575f604051631e4fbdf760e01b81526004016108e49190610d06565b60405180910390fd5b6108f68161092b565b50565b33610902610493565b6001600160a01b0316146102c6573360405163118cdaa760e01b81526004016108e49190610d06565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80828060200190518101906109909190611143565b90505f7f000000000000000000000000000000000000000000000000000000000000000015610a7d5784516040516356b357ad60e11b815273__$1d2df7ff0c1011216eeaf379be1cf65d5d$__9163ad66af5a91610a35917f0000000000000000000000000000000000000000000000000000000000000000917f0000000000000000000000000000000000000000000000000000000000000000919060040161160a565b6040805180830381865af4158015610a4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a739190611630565b9093509050610b4e565b8451604051630c31e23360e11b815273__$ec550694073df65076548fc5c1176e3255$__91631863c46691610afb917f0000000000000000000000000000000000000000000000000000000000000000917f000000000000000000000000000000000000000000000000000000000000000091908890600401611652565b606060405180830381865af4158015610b16573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3a9190611691565b9194506001600160401b0390811693501690505b610b588282610b60565b505092915050565b81610b8b7f0000000000000000000000000000000000000000000000000000000000000000836116ca565b1015610bda57604051632a54241d60e21b815260048101839052602481018290527f000000000000000000000000000000000000000000000000000000000000000060448201526064016108e4565b81811115610c055760405163b356ade760e01b815260048101839052602481018290526044016108e4565b5050565b828054828255905f5260205f20908101928215610c4d579160200282015b82811115610c4d5782518290610c3d908261173b565b5091602001919060010190610c27565b50610c59929150610c5d565b5090565b80821115610c59575f610c708282610c79565b50600101610c5d565b508054610c85906110be565b5f825580601f10610c94575050565b601f0160209004905f5260205f20908101906108f691905b80821115610c59575f8155600101610cac565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610cff6020830184610cbf565b9392505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715610d5057610d50610d1a565b60405290565b604051606081016001600160401b0381118282101715610d5057610d50610d1a565b604051601f8201601f191681016001600160401b0381118282101715610da057610da0610d1a565b604052919050565b5f6001600160401b03821115610dc057610dc0610d1a565b5060051b60200190565b5f6001600160401b03821115610de257610de2610d1a565b50601f01601f191660200190565b5f610e02610dfd84610dca565b610d78565b9050828152838383011115610e15575f80fd5b828260208301375f602084830101529392505050565b5f6020808385031215610e3c575f80fd5b82356001600160401b0380821115610e52575f80fd5b818501915085601f830112610e65575f80fd5b8135610e73610dfd82610da8565b81815260059190911b83018401908481019088831115610e91575f80fd5b8585015b83811015610eda57803585811115610eab575f80fd5b8601603f81018b13610ebb575f80fd5b610ecc8b8983013560408401610df0565b845250918601918601610e95565b5098975050505050505050565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b82811015610f3c57603f19888603018452610f2a858351610cbf565b94509285019290850190600101610f0e565b5092979650505050505050565b5f82601f830112610f58575f80fd5b610cff83833560208501610df0565b5f805f60608486031215610f79575f80fd5b83356001600160401b0380821115610f8f575f80fd5b610f9b87838801610f49565b94506020860135915080821115610fb0575f80fd5b9085019060208288031215610fc3575f80fd5b604051602081018181108382111715610fde57610fde610d1a565b604052823582811115610fef575f80fd5b610ffb89828601610f49565b82525093506040860135915080821115611013575f80fd5b5061102086828701610f49565b9150509250925092565b5f604082016040835280855180835260608501915060608160051b860101925060208088015f5b8381101561107f57605f1988870301855261106d868351610cbf565b95509382019390820190600101611051565b50505050508091505060ff831660208301529392505050565b5f602082840312156110a8575f80fd5b81356001600160a01b0381168114610cff575f80fd5b600181811c908216806110d257607f821691505b6020821081036110f057634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160a01b03929092168252602082015260400190565b80516001600160401b0381168114611125575f80fd5b919050565b5f6020828403121561113a575f80fd5b610cff8261110f565b5f60208284031215611153575f80fd5b5051919050565b5f82601f830112611169575f80fd5b8151611177610dfd82610dca565b81815284602083860101111561118b575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f82601f8301126111b6575f80fd5b815160206111c6610dfd83610da8565b82815260059290921b840181019181810190868411156111e4575f80fd5b8286015b848110156112215780516001600160401b03811115611205575f80fd5b6112138986838b010161115a565b8452509183019183016111e8565b509695505050505050565b5f602080838503121561123d575f80fd5b82516001600160401b0380821115611253575f80fd5b818501915085601f830112611266575f80fd5b61126e610d2e565b80604080850189811115611280575f80fd5b855b8181101561131e57805186811115611298575f80fd5b87016060818d0312156112a9575f80fd5b6112b1610d56565b8151888111156112bf575f80fd5b6112cb8e82850161115a565b82525089820151888111156112de575f80fd5b6112ea8e8285016111a7565b8b8301525084820151888111156112ff575f80fd5b61130b8e82850161115a565b8287015250865250938701938701611282565b50919998505050505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f60a08301825184526020808401516020860152604084015160a0604087015282815180855260c08801915060c08160051b89010194506020830192505f5b818110156113ae5760bf1989870301835261139c868551610cbf565b95509284019291840191600101611380565b5050505050606083015184820360608601526113ca8282610cbf565b91505060808301516113e760808601826001600160a01b03169052565b509392505050565b604081525f60208060408401525f8554611408816110be565b806060870152608060018084165f8114611429576001811461144557611472565b60ff19851660808a0152608084151560051b8a01019550611472565b8a5f5260205f205f5b858110156114695781548b820186015290830190880161144e565b8a016080019650505b505050505083810360208501526114898186611341565b9695505050505050565b5f80604083850312156114a4575f80fd5b82516001600160401b038111156114b9575f80fd5b6114c5858286016111a7565b925050602083015160ff811681146114db575f80fd5b809150509250929050565b5f602082840312156114f6575f80fd5b81516001600160401b038082111561150c575f80fd5b908301906060828603121561151f575f80fd5b611527610d56565b6115308361110f565b81526020830151602082015260408301518281111561154d575f80fd5b6115598782860161115a565b60408301525095945050505050565b805160208083015191908110156110f0575f1960209190910360031b1b16919050565b6040815260018060401b038351166040820152602083015160608201525f6040840151606060808401526115c260a0840182610cbf565b9150508260208301529392505050565b604081525f8351602060408401526115ed6060840182610cbf565b905082810360208401526116018185611341565b95945050505050565b60018060a01b0384168152826020820152606060408201525f6116016060830184610cbf565b5f8060408385031215611641575f80fd5b505080516020909101519092909150565b60018060a01b0385168152836020820152608060408201525f6116786080830185610cbf565b905060018060401b038316606083015295945050505050565b5f805f606084860312156116a3575f80fd5b835192506116b36020850161110f565b91506116c16040850161110f565b90509250925092565b808201808211156116e957634e487b7160e01b5f52601160045260245ffd5b92915050565b601f82111561173657805f5260205f20601f840160051c810160208510156117145750805b601f840160051c820191505b81811015611733575f8155600101611720565b50505b505050565b81516001600160401b0381111561175457611754610d1a565b6117688161176284546110be565b846116ef565b602080601f83116001811461179b575f84156117845750858301515b5f19600386901b1c1916600185901b1785556117f2565b5f85815260208120601f198616915b828110156117c9578886015182559484019460019091019084016117aa565b50858210156117e657878501515f19600388901b60f8161c191681555b505060018460011b0185555b50505050505056fea26469706673582212203ca595f2470af0c943136ba0ee274cfe7aaafbeeb05874c331ac1f861e34a1c564736f6c63430008190033","sourceMap":"264:1531:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;896:84:0;966:7;896:84;;;160:25:65;;;148:2;133:18;896:84:0;;;;;;;;322:29:14;;;:::i;:::-;;;;;;;:::i;986:89:0:-;1062:6;986:89;;;;;;;:::i;2293:101:48:-;;;:::i;:::-;;808:294:12;;;:::i;1638:85:48:-;;;:::i;663:129:0:-;;;;;;:::i;:::-;;:::i;798:92::-;;;:::i;:::-;;;;;;;:::i;409:37:12:-;;;;;372:31;;;;;790:1003:14;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;452:28:12:-;;;;;;;;7370:14:65;;7363:22;7345:41;;7333:2;7318:18;452:28:12;7205:187:65;2543:215:48;;;;;;:::i;:::-;;:::i;322:29:14:-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2293:101:48:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;808:294:12:-;859:12;930:6;:151;;1031:50;;-1:-1:-1;;;1031:50:12;;:16;;:28;;:50;;1060:6;;1068:12;;1031:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;930:151:12;;;;959:49;;-1:-1:-1;;;959:49:12;;:15;;:27;;:49;;987:6;;995:12;;959:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;902:193;;;;;;160:25:65;;148:2;133:18;;14:177;902:193:12;;;;;;;;;;;;;883:212;;808:294;:::o;1638:85:48:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:48;;1638:85::o;663:129:0:-;1531:13:48;:11;:13::i;:::-;738:12:0;;::::1;::::0;:5:::1;::::0;:12:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;765:20:0::1;::::0;::::1;::::0;;;::::1;663:129:::0;:::o;798:92::-;844:15;878:5;871:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;798:92;:::o;790:1003:14:-;947:14;963;989:25;1028:5;1017:36;;;;;;;;;;;;:::i;:::-;1097:5;;989:64;;-1:-1:-1;1063:17:14;;1083:29;;1104:7;1083:13;:29::i;:::-;1063:49;;1123:22;1151:9;:21;1186:7;1207:62;;;;;;;;1221:1;1207:62;;;;1224:9;1207:62;;;;1235:2;1238:1;1235:5;;;;;;;:::i;:::-;;;;;:12;;;1207:62;;;;1249:2;1252:1;1249:5;;;;;;;:::i;:::-;;;;;:11;;;1207:62;;;;1262:6;-1:-1:-1;;;;;1207:62:14;;;;1151:128;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1151:128:14;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1472:5:14;;;;;:17;1448:95;;1122:157;;-1:-1:-1;1408:37:14;;1448:95;;;;;;;;;;:::i;:::-;1408:135;;1565:16;:32;1598:1;1609:7;1617:1;1609:10;;;;;;;;:::i;:::-;;;;;;;1601:19;;;:::i;:::-;1565:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1553:68;;1650:9;:21;1689:3;1710:62;;;;;;;;1724:1;1710:62;;;;1727:9;1710:62;;;;1738:2;1741:1;1738:5;;;;;;;:::i;:::-;;;;;:12;;;1710:62;;;;1752:2;1755:1;1752:5;;;;;;;:::i;:::-;;;;;:11;;;1710:62;;;;1765:6;-1:-1:-1;;;;;1710:62:14;;;;1650:136;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1650:136:14;;;;;;;;;;;;:::i;:::-;1631:155;;;;;;;;790:1003;;;;;;:::o;2543:215:48:-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:48;::::1;2623:91;;2700:1;2672:31;;-1:-1:-1::0;;;2672:31:48::1;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;735:10:50;1855:7:48;:5;:7::i;:::-;-1:-1:-1;;;;;1855:23:48;;1851:101;;735:10:50;1901:40:48;;-1:-1:-1;;;1901:40:48;;;;;;;;:::i;2912:187::-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:48;;;-1:-1:-1;;;;;;3020:17:48;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;1213:662:12:-;1326:17;1355:14;1383:7;1372:30;;;;;;;;;;;;:::i;:::-;1355:47;;1412:11;1437:6;1433:401;;;1578:13;;1478:127;;-1:-1:-1;;;1478:127:12;;:15;;:28;;:127;;1524:6;;1548:12;;1578:13;1478:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1459:146;;-1:-1:-1;1459:146:12;-1:-1:-1;1433:401:12;;;1764:13;;1663:160;;-1:-1:-1;;;1663:160:12;;:16;;:29;;:160;;1710:6;;1734:12;;1764:13;1802:6;;1663:160;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1636:187;;-1:-1:-1;;;;;;1636:187:12;;;;-1:-1:-1;1636:187:12;;-1:-1:-1;1433:401:12;1843:25;1856:6;1864:3;1843:12;:25::i;:::-;1345:530;;1213:662;;;;:::o;1081:211:0:-;1176:6;1160:13;1166:7;1160:3;:13;:::i;:::-;:22;1156:69;;;1191:34;;-1:-1:-1;;;1191:34:0;;;;;19349:25:65;;;19390:18;;;19383:34;;;1217:7:0;19433:18:65;;;19426:34;19322:18;;1191:34:0;19147:319:65;1156:69:0;1245:6;1239:3;:12;1235:50;;;1260:25;;-1:-1:-1;;;1260:25:0;;;;;19645::65;;;19686:18;;;19679:34;;;19618:18;;1260:25:0;19471:248:65;1235:50:0;1081:211;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;196:288:65;237:3;275:5;269:12;302:6;297:3;290:19;358:6;351:4;344:5;340:16;333:4;328:3;324:14;318:47;410:1;403:4;394:6;389:3;385:16;381:27;374:38;473:4;466:2;462:7;457:2;449:6;445:15;441:29;436:3;432:39;428:50;421:57;;;196:288;;;;:::o;489:217::-;636:2;625:9;618:21;599:4;656:44;696:2;685:9;681:18;673:6;656:44;:::i;:::-;648:52;489:217;-1:-1:-1;;;489:217:65:o;836:226::-;-1:-1:-1;;;;;1023:32:65;;;;1005:51;;993:2;978:18;;836:226::o;1275:127::-;1336:10;1331:3;1327:20;1324:1;1317:31;1367:4;1364:1;1357:15;1391:4;1388:1;1381:15;1407:251;1479:2;1473:9;;;1509:15;;-1:-1:-1;;;;;1539:34:65;;1575:22;;;1536:62;1533:88;;;1601:18;;:::i;:::-;1637:2;1630:22;1407:251;:::o;1663:253::-;1735:2;1729:9;1777:4;1765:17;;-1:-1:-1;;;;;1797:34:65;;1833:22;;;1794:62;1791:88;;;1859:18;;:::i;1921:275::-;1992:2;1986:9;2057:2;2038:13;;-1:-1:-1;;2034:27:65;2022:40;;-1:-1:-1;;;;;2077:34:65;;2113:22;;;2074:62;2071:88;;;2139:18;;:::i;:::-;2175:2;2168:22;1921:275;;-1:-1:-1;1921:275:65:o;2201:182::-;2260:4;-1:-1:-1;;;;;2282:30:65;;2279:56;;;2315:18;;:::i;:::-;-1:-1:-1;2360:1:65;2356:14;2372:4;2352:25;;2201:182::o;2388:187::-;2437:4;-1:-1:-1;;;;;2459:30:65;;2456:56;;;2492:18;;:::i;:::-;-1:-1:-1;2558:2:65;2537:15;-1:-1:-1;;2533:29:65;2564:4;2529:40;;2388:187::o;2580:338::-;2645:5;2674:53;2690:36;2719:6;2690:36;:::i;:::-;2674:53;:::i;:::-;2665:62;;2750:6;2743:5;2736:21;2790:3;2781:6;2776:3;2772:16;2769:25;2766:45;;;2807:1;2804;2797:12;2766:45;2856:6;2851:3;2844:4;2837:5;2833:16;2820:43;2910:1;2903:4;2894:6;2887:5;2883:18;2879:29;2872:40;2580:338;;;;;:::o;2923:1197::-;3017:6;3048:2;3091;3079:9;3070:7;3066:23;3062:32;3059:52;;;3107:1;3104;3097:12;3059:52;3134:23;;-1:-1:-1;;;;;3206:14:65;;;3203:34;;;3233:1;3230;3223:12;3203:34;3271:6;3260:9;3256:22;3246:32;;3316:7;3309:4;3305:2;3301:13;3297:27;3287:55;;3338:1;3335;3328:12;3287:55;3374:2;3361:16;3397:59;3413:42;3452:2;3413:42;:::i;3397:59::-;3490:15;;;3572:1;3568:10;;;;3560:19;;3556:28;;;3521:12;;;;3596:19;;;3593:39;;;3628:1;3625;3618:12;3593:39;3660:2;3656;3652:11;3672:418;3688:6;3683:3;3680:15;3672:418;;;3774:3;3761:17;3810:2;3797:11;3794:19;3791:39;;;3826:1;3823;3816:12;3791:39;3853:20;;3908:2;3900:11;;3896:25;-1:-1:-1;3886:53:65;;3935:1;3932;3925:12;3886:53;3964:83;4039:7;4033:2;4029;4025:11;4012:25;4007:2;4003;3999:11;3964:83;:::i;:::-;3952:96;;-1:-1:-1;4068:12:65;;;;3705;;3672:418;;;-1:-1:-1;4109:5:65;2923:1197;-1:-1:-1;;;;;;;;2923:1197:65:o;4125:802::-;4287:4;4316:2;4356;4345:9;4341:18;4386:2;4375:9;4368:21;4409:6;4444;4438:13;4475:6;4467;4460:22;4513:2;4502:9;4498:18;4491:25;;4575:2;4565:6;4562:1;4558:14;4547:9;4543:30;4539:39;4525:53;;4613:2;4605:6;4601:15;4634:1;4644:254;4658:6;4655:1;4652:13;4644:254;;;4751:2;4747:7;4735:9;4727:6;4723:22;4719:36;4714:3;4707:49;4779:39;4811:6;4802;4796:13;4779:39;:::i;:::-;4769:49;-1:-1:-1;4876:12:65;;;;4841:15;;;;4680:1;4673:9;4644:254;;;-1:-1:-1;4915:6:65;;4125:802;-1:-1:-1;;;;;;;4125:802:65:o;4932:221::-;4974:5;5027:3;5020:4;5012:6;5008:17;5004:27;4994:55;;5045:1;5042;5035:12;4994:55;5067:80;5143:3;5134:6;5121:20;5114:4;5106:6;5102:17;5067:80;:::i;5158:1153::-;5285:6;5293;5301;5354:2;5342:9;5333:7;5329:23;5325:32;5322:52;;;5370:1;5367;5360:12;5322:52;5397:23;;-1:-1:-1;;;;;5469:14:65;;;5466:34;;;5496:1;5493;5486:12;5466:34;5519:49;5560:7;5551:6;5540:9;5536:22;5519:49;:::i;:::-;5509:59;;5621:2;5610:9;5606:18;5593:32;5577:48;;5650:2;5640:8;5637:16;5634:36;;;5666:1;5663;5656:12;5634:36;5689:24;;;;5747:2;5729:16;;;5725:25;5722:45;;;5763:1;5760;5753:12;5722:45;5796:2;5790:9;5838:2;5830:6;5826:15;5891:6;5879:10;5876:22;5871:2;5859:10;5856:18;5853:46;5850:72;;;5902:18;;:::i;:::-;5938:2;5931:22;5978:16;;6006;;;6003:36;;;6035:1;6032;6025:12;6003:36;6063:44;6099:7;6088:8;6084:2;6080:17;6063:44;:::i;:::-;6048:60;;-1:-1:-1;6055:6:65;-1:-1:-1;6186:2:65;6171:18;;6158:32;;-1:-1:-1;6202:16:65;;;6199:36;;;6231:1;6228;6221:12;6199:36;;6254:51;6297:7;6286:8;6275:9;6271:24;6254:51;:::i;:::-;6244:61;;;5158:1153;;;;;:::o;6316:884::-;6500:4;6548:2;6537:9;6533:18;6578:2;6567:9;6560:21;6601:6;6636;6630:13;6667:6;6659;6652:22;6705:2;6694:9;6690:18;6683:25;;6767:2;6757:6;6754:1;6750:14;6739:9;6735:30;6731:39;6717:53;;6789:4;6828;6820:6;6816:17;6851:1;6861:254;6875:6;6872:1;6869:13;6861:254;;;6968:2;6964:7;6952:9;6944:6;6940:22;6936:36;6931:3;6924:49;6996:39;7028:6;7019;7013:13;6996:39;:::i;:::-;6986:49;-1:-1:-1;7093:12:65;;;;7058:15;;;;6897:1;6890:9;6861:254;;;6865:3;;;;;7132:6;7124:14;;;7188:4;7180:6;7176:17;7169:4;7158:9;7154:20;7147:47;6316:884;;;;;:::o;7397:286::-;7456:6;7509:2;7497:9;7488:7;7484:23;7480:32;7477:52;;;7525:1;7522;7515:12;7477:52;7551:23;;-1:-1:-1;;;;;7603:31:65;;7593:42;;7583:70;;7649:1;7646;7639:12;7688:380;7767:1;7763:12;;;;7810;;;7831:61;;7885:4;7877:6;7873:17;7863:27;;7831:61;7938:2;7930:6;7927:14;7907:18;7904:38;7901:161;;7984:10;7979:3;7975:20;7972:1;7965:31;8019:4;8016:1;8009:15;8047:4;8044:1;8037:15;7901:161;;7688:380;;;:::o;8073:282::-;-1:-1:-1;;;;;8273:32:65;;;;8255:51;;8337:2;8322:18;;8315:34;8243:2;8228:18;;8073:282::o;8360:175::-;8438:13;;-1:-1:-1;;;;;8480:30:65;;8470:41;;8460:69;;8525:1;8522;8515:12;8460:69;8360:175;;;:::o;8540:206::-;8609:6;8662:2;8650:9;8641:7;8637:23;8633:32;8630:52;;;8678:1;8675;8668:12;8630:52;8701:39;8730:9;8701:39;:::i;8751:184::-;8821:6;8874:2;8862:9;8853:7;8849:23;8845:32;8842:52;;;8890:1;8887;8880:12;8842:52;-1:-1:-1;8913:16:65;;8751:184;-1:-1:-1;8751:184:65:o;8940:460::-;8993:5;9046:3;9039:4;9031:6;9027:17;9023:27;9013:55;;9064:1;9061;9054:12;9013:55;9093:6;9087:13;9124:49;9140:32;9169:2;9140:32;:::i;9124:49::-;9198:2;9189:7;9182:19;9244:3;9237:4;9232:2;9224:6;9220:15;9216:26;9213:35;9210:55;;;9261:1;9258;9251:12;9210:55;9319:2;9312:4;9304:6;9300:17;9293:4;9284:7;9280:18;9274:48;9367:1;9342:16;;;9360:4;9338:27;9331:38;;;;9346:7;8940:460;-1:-1:-1;;;8940:460:65:o;9405:823::-;9468:5;9521:3;9514:4;9506:6;9502:17;9498:27;9488:55;;9539:1;9536;9529:12;9488:55;9568:6;9562:13;9594:4;9618:59;9634:42;9673:2;9634:42;:::i;9618:59::-;9711:15;;;9797:1;9793:10;;;;9781:23;;9777:32;;;9742:12;;;;9821:15;;;9818:35;;;9849:1;9846;9839:12;9818:35;9885:2;9877:6;9873:15;9897:302;9913:6;9908:3;9905:15;9897:302;;;9986:10;;-1:-1:-1;;;;;10012:35:65;;10009:55;;;10060:1;10057;10050:12;10009:55;10089:67;10152:3;10147:2;10133:11;10125:6;10121:24;10117:33;10089:67;:::i;:::-;10077:80;;-1:-1:-1;10177:12:65;;;;9930;;9897:302;;;-1:-1:-1;10217:5:65;9405:823;-1:-1:-1;;;;;;9405:823:65:o;10233:1603::-;10356:6;10387:2;10430;10418:9;10409:7;10405:23;10401:32;10398:52;;;10446:1;10443;10436:12;10398:52;10473:16;;-1:-1:-1;;;;;10538:14:65;;;10535:34;;;10565:1;10562;10555:12;10535:34;10603:6;10592:9;10588:22;10578:32;;10648:7;10641:4;10637:2;10633:13;10629:27;10619:55;;10670:1;10667;10660:12;10619:55;10694:22;;:::i;:::-;10738:3;10760:2;10793;10789;10785:11;10819:7;10811:6;10808:19;10805:39;;;10840:1;10837;10830:12;10805:39;10864:2;10875:931;10891:6;10886:3;10883:15;10875:931;;;10970:3;10964:10;11006:2;10993:11;10990:19;10987:39;;;11022:1;11019;11012:12;10987:39;11049:20;;11107:4;11089:16;;;11085:27;11082:47;;;11125:1;11122;11115:12;11082:47;11155:22;;:::i;:::-;11212:2;11206:9;11244:2;11234:8;11231:16;11228:36;;;11260:1;11257;11250:12;11228:36;11291:55;11338:7;11327:8;11323:2;11319:17;11291:55;:::i;:::-;11284:5;11277:70;;11390:2;11386;11382:11;11376:18;11423:2;11413:8;11410:16;11407:36;;;11439:1;11436;11429:12;11407:36;11479:65;11536:7;11525:8;11521:2;11517:17;11479:65;:::i;:::-;11474:2;11467:5;11463:14;11456:89;;11588:2;11584;11580:11;11574:18;11621:2;11611:8;11608:16;11605:36;;;11637:1;11634;11627:12;11605:36;11677:55;11724:7;11713:8;11709:2;11705:17;11677:55;:::i;:::-;11661:14;;;11654:79;-1:-1:-1;11746:18:65;;-1:-1:-1;11784:12:65;;;;10908;;10875:931;;;-1:-1:-1;11825:5:65;;10233:1603;-1:-1:-1;;;;;;;;;10233:1603:65:o;11841:127::-;11902:10;11897:3;11893:20;11890:1;11883:31;11933:4;11930:1;11923:15;11957:4;11954:1;11947:15;12098:1139;12154:3;12193:4;12188:3;12184:14;12225:5;12219:12;12214:3;12207:25;12251:4;12304;12297:5;12293:16;12287:23;12280:4;12275:3;12271:14;12264:47;12357:4;12350:5;12346:16;12340:23;12395:4;12388;12383:3;1