@aztec/l1-artifacts 4.0.0-nightly.20260118 → 4.0.0-nightly.20260120

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"abi":[{"type":"constructor","inputs":[{"name":"_rollup","type":"address","internalType":"address"},{"name":"_bondToken","type":"address","internalType":"address"},{"name":"_bondSize","type":"uint96","internalType":"uint96"},{"name":"_withdrawalTax","type":"uint96","internalType":"uint96"},{"name":"_failedHatchPunishment","type":"uint96","internalType":"uint96"},{"name":"_frequency","type":"uint256","internalType":"uint256"},{"name":"_activeDuration","type":"uint256","internalType":"uint256"},{"name":"_lagInHatches","type":"uint256","internalType":"uint256"},{"name":"_proposingExitDelay","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"LAG_IN_EPOCHS_FOR_RANDAO","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"LAG_IN_EPOCHS_FOR_SET_SIZE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getActiveDuration","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBondSize","inputs":[],"outputs":[{"name":"","type":"uint96","internalType":"uint96"}],"stateMutability":"view"},{"type":"function","name":"getBondToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCandidateAtIndex","inputs":[{"name":"_index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCandidateAtIndexForHatch","inputs":[{"name":"_index","type":"uint256","internalType":"uint256"},{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCandidateCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCandidateCountForHatch","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCandidateInfo","inputs":[{"name":"_candidate","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CandidateInfo","components":[{"name":"status","type":"uint8","internalType":"enum Status"},{"name":"amount","type":"uint96","internalType":"uint96"},{"name":"exitableAt","type":"uint32","internalType":"uint32"},{"name":"lastCheckpointNumber","type":"uint32","internalType":"uint32"},{"name":"lastSubmittedArchive","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getCurrentHatch","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"Hatch"}],"stateMutability":"view"},{"type":"function","name":"getDesignatedProposer","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getFailedHatchPunishment","inputs":[],"outputs":[{"name":"","type":"uint96","internalType":"uint96"}],"stateMutability":"view"},{"type":"function","name":"getFirstEpoch","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint256","internalType":"Epoch"}],"stateMutability":"view"},{"type":"function","name":"getFrequency","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getHatch","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"}],"outputs":[{"name":"","type":"uint256","internalType":"Hatch"}],"stateMutability":"view"},{"type":"function","name":"getLagInHatches","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposingExitDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRollup","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSeedTimestamp","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getSetTimestamp","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getWithdrawalTax","inputs":[],"outputs":[{"name":"","type":"uint96","internalType":"uint96"}],"stateMutability":"view"},{"type":"function","name":"initiateExit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCandidate","inputs":[{"name":"_candidate","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isHatchOpen","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"}],"outputs":[{"name":"isOpen","type":"bool","internalType":"bool"},{"name":"proposer","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isHatchPrepared","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isHatchValidated","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"joinCandidateSet","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"leaveCandidateSet","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"selectCandidates","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateSubmittedArchive","inputs":[{"name":"_proposer","type":"address","internalType":"address"},{"name":"_checkpointNumber","type":"uint128","internalType":"uint128"},{"name":"_archive","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validateProofSubmission","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ArchiveUpdated","inputs":[{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"checkpointNumber","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"archive","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"CandidateExitInitiated","inputs":[{"name":"candidate","type":"address","indexed":true,"internalType":"address"},{"name":"exitableAt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CandidateExited","inputs":[{"name":"candidate","type":"address","indexed":true,"internalType":"address"},{"name":"amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CandidateJoined","inputs":[{"name":"candidate","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CandidateSelected","inputs":[{"name":"hatch","type":"uint256","indexed":true,"internalType":"Hatch"},{"name":"candidate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProofValidated","inputs":[{"name":"hatch","type":"uint256","indexed":true,"internalType":"Hatch"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"punishment","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressSnapshotLib__CannotAddAddressZero","inputs":[]},{"type":"error","name":"AddressSnapshotLib__IndexOutOfBounds","inputs":[{"name":"index","type":"uint256","internalType":"uint256"},{"name":"size","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"EscapeHatch__AlreadyInCandidateSet","inputs":[{"name":"candidate","type":"address","internalType":"address"}]},{"type":"error","name":"EscapeHatch__AlreadyValidated","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"EscapeHatch__InvalidConfiguration","inputs":[]},{"type":"error","name":"EscapeHatch__InvalidStatus","inputs":[{"name":"expected","type":"uint8","internalType":"enum Status"},{"name":"actual","type":"uint8","internalType":"enum Status"}]},{"type":"error","name":"EscapeHatch__NoDesignatedProposer","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"EscapeHatch__NotExitableYet","inputs":[{"name":"exitableAt","type":"uint256","internalType":"uint256"},{"name":"currentTime","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"EscapeHatch__NotInCandidateSet","inputs":[{"name":"candidate","type":"address","internalType":"address"}]},{"type":"error","name":"EscapeHatch__OnlyRollup","inputs":[{"name":"caller","type":"address","internalType":"address"},{"name":"rollup","type":"address","internalType":"address"}]},{"type":"error","name":"EscapeHatch__SetUnstable","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x6101a0604052348015610010575f5ffd5b5060405161270638038061270683398101604081905261002f91610226565b60018210156100515760405163734638c160e11b815260040160405180910390fd5b5f896001600160a01b03166325b223666040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100b291906102af565b90506100bf8160016102c6565b8410156100df5760405163734638c160e11b815260040160405180910390fd5b600285116101005760405163734638c160e11b815260040160405180910390fd5b8385116101205760405163734638c160e11b815260040160405180910390fd5b876001600160601b0316866001600160601b031611156101535760405163734638c160e11b815260040160405180910390fd5b876001600160601b0316876001600160601b031611156101865760405163734638c160e11b815260040160405180910390fd5b62278d008211156101aa5760405163734638c160e11b815260040160405180910390fd5b506001600160a01b039889166080529690971660c0526001600160601b0394851660e05292841661010052921661012052610140919091526101605260a091909152610180526102eb565b80516001600160a01b038116811461020b575f5ffd5b919050565b80516001600160601b038116811461020b575f5ffd5b5f5f5f5f5f5f5f5f5f6101208a8c03121561023f575f5ffd5b6102488a6101f5565b985061025660208b016101f5565b975061026460408b01610210565b965061027260608b01610210565b955061028060808b01610210565b60a08b015160c08c015160e08d0151610100909d01519b9e9a9d50989b979a9199909897965090945092505050565b5f602082840312156102bf575f5ffd5b5051919050565b808201808211156102e557634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c05160e05161010051610120516101405161016051610180516123006104065f395f81816103070152610cb101525f818161050a015281816108420152610c0101525f81816101ed0152818161081901528181611797015261188a01525f8181610245015261167f01525f81816104a301528181610e7c0152610eb001525f818161036e015281816112bf015261134401525f81816103fe01528181610f1c015261130d01525f818161045a0152818161057301528181610721015281816109b7015261105601525f8181610434015281816105c801528181610784015281816108a401528181610ac801528181610c2701528181610cd2015281816111450152818161153e01526115f801526123005ff3fe608060405234801561000f575f5ffd5b50600436106101e7575f3560e01c80637a27d3a311610109578063c504312a1161009e578063d7c4ccf51161006e578063d7c4ccf5146104e2578063eeacfa8c146104f5578063ef9e36e514610508578063ff549fe11461052e575f5ffd5b8063c504312a14610499578063d0e4f574146104a1578063d51b9e93146104c7578063d6f1c601146104da575f5ffd5b8063a4d2342a116100d9578063a4d2342a14610432578063ad7c132114610458578063ae40f1bf1461047e578063ba4f6a7814610486575f5ffd5b80637a27d3a3146103f457806383d6f7f1146103fc5780638a35146c1461042257806390f722731461042a575f5ffd5b80633349b59f1161017f5780633a30aefe1161014f5780633a30aefe1461039257806346c32618146103c45780636fb9935c146103d9578063735b69b6146103e1575f5ffd5b80633349b59f1461033357806333fac65e14610346578063359346d51461035957806337722a7f1461036c575f5ffd5b806319db12d2116101ba57806319db12d2146102a557806328bde1e1146102e55780632a2629f61461030557806330a563471461032b575f5ffd5b80630a42f86f146101eb578063147d97bd14610220578063181803d914610243578063182cad591461027d575b5f5ffd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020015b60405180910390f35b61023361022e366004612075565b610541565b6040519015158152602001610217565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160601b039091168152602001610217565b61029061028b366004612075565b610565565b60405163ffffffff9091168152602001610217565b6102cd6102b3366004612075565b5f908152600660205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610217565b6102f86102f33660046120a7565b61063e565b60405161021791906120f4565b7f000000000000000000000000000000000000000000000000000000000000000061020d565b61020d6106fd565b6102cd610341366004612075565b61070d565b610290610354366004612075565b610719565b6102cd610367366004612149565b6107bc565b7f0000000000000000000000000000000000000000000000000000000000000000610265565b6103a56103a0366004612075565b610811565b6040805192151583526001600160a01b03909116602083015201610217565b6103d76103d2366004612169565b6108a1565b005b6103d76109a5565b61020d6103ef366004612075565b610dc9565b61020d600181565b7f00000000000000000000000000000000000000000000000000000000000000006102cd565b6103d7610dd3565b6103d7610f8b565b7f00000000000000000000000000000000000000000000000000000000000000006102cd565b7f000000000000000000000000000000000000000000000000000000000000000061020d565b61020d61113f565b610233610494366004612075565b6111c8565b61020d600281565b7f0000000000000000000000000000000000000000000000000000000000000000610265565b6102336104d53660046120a7565b6111ed565b6103d761120d565b61020d6104f0366004612075565b6113a2565b6103d7610503366004612075565b6113e5565b7f000000000000000000000000000000000000000000000000000000000000000061020d565b61020d61053c366004612075565b61177c565b600881901c5f90815260208190526040812054600160ff84161b1615155b92915050565b5f5f6105a361059c610597857f0000000000000000000000000000000000000000000000000000000000000000611786565b611791565b6002611786565b604051639724931760e01b815260048101829052909150610637906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397249317906024015b602060405180830381865afa15801561060e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063291906121b0565b6117bc565b9392505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526001600160a01b0382165f9081526005602052604090819020815160a081019092528054829060ff1660038111156106a2576106a26120c0565b60038111156106b3576106b36120c0565b815281546001600160601b03610100820416602083015263ffffffff600160681b820481166040840152600160881b90910416606082015260019091015460809091015292915050565b5f61070860026117f0565b905090565b5f61055f600283611803565b5f5f610745837f0000000000000000000000000000000000000000000000000000000000000000611786565b90505f61075182611791565b90505f61075f826001611786565b604051639724931760e01b8152600481018290529091506107b3906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397249317906024016105f3565b95945050505050565b5f5f6107c783610565565b9050824263ffffffff8316106107fc5760405163a6f5b7d760e01b81526004016107f391815260200190565b60405180910390fd5b5061080960028583611812565b949350505050565b5f808061083e7f0000000000000000000000000000000000000000000000000000000000000000856121db565b90507f0000000000000000000000000000000000000000000000000000000000000000811061087257505f93849350915050565b5f61087c85611884565b5f908152600660205260409020546001600160a01b0316801515969095509350505050565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03811682146108ff57604051632c0d7ee360e21b81526001600160a01b039283166004820152911660248201526044016107f3565b50506001600160a01b0383165f90815260056020526040902061092a6001600160801b0384166117bc565b815463ffffffff91909116600160881b0263ffffffff60881b1990911617815560018101829055604080516001600160801b0385168152602081018490526001600160a01b038616917f06ce34f26493be3a32c7dbec4418362d0135f3e197942f5dd02b5836e537018391015b60405180910390a250505050565b5f6109ae61113f565b90505f6109db827f00000000000000000000000000000000000000000000000000000000000000006118af565b600881901c5f90815260208190526040902054909150600160ff83161b1615610a02575050565b600881901c5f9081526020819052604081208054600160ff85161b179055610a2982610565565b9050814263ffffffff831610610a555760405163a6f5b7d760e01b81526004016107f391815260200190565b505f610a626002836118ba565b9050805f03610a715750505050565b5f610a8061028b8560016118af565b90508063ffffffff164210610a96575050505050565b5f610aa085610719565b604051630f5fdda560e31b815263ffffffff821660048201529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637afeed2890602401602060405180830381865afa158015610b0d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3191906121b0565b90505f848783604051602001610b51929190918252602082015260400190565b604051602081830303815290604052805190602001205f1c610b7391906121db565b90505f610b8260028389611812565b5f89815260066020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558352600590915290209091506003815460ff166003811115610bd257610bd26120c0565b14610be457610be26002836118d5565b505b805460ff191660021781555f610caa610c25610bff8c611791565b7f00000000000000000000000000000000000000000000000000000000000000006118af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166325b223666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c81573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca591906121b0565b6118af565b9050610d677f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397249317846040518263ffffffff1660e01b8152600401610d1e91815260200190565b602060405180830381865afa158015610d39573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5d91906121b0565b6106329190612202565b825463ffffffff91909116600160681b0263ffffffff60681b199091161782556040516001600160a01b038416908b907f481f68776206fa08da4a36697c67062a4d9d4b25f92abc91063615d270d0f560905f90a35050505050505050505050565b5f61055f82611791565b335f8181526005602052604090206003815460ff166003811115610df957610df96120c0565b825460039260ff9091169114610e245760405163ce807b6f60e01b81526004016107f3929190612215565b50508054600160681b900463ffffffff164281811015610e6557604051636a9f844960e11b815263ffffffff909216600483015260248201526044016107f3565b505080546001600160601b036101009091048116907f000000000000000000000000000000000000000000000000000000000000000016811115610edd57610ed66001600160601b037f00000000000000000000000000000000000000000000000000000000000000001682612230565b9050610ee0565b505f5b6001600160a01b0383165f90815260056020526040812080546001600160a81b0319168155600101558015610f4357610f436001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483611936565b826001600160a01b03167f9df2bec405429ed33f4542a6139ece7fdb731660929172a6b1e5f2d90a13a2db82604051610f7e91815260200190565b60405180910390a2505050565b610f936109a5565b335f8181526004602052604090205460ff168190610fd0576040516361adc4e760e01b81526001600160a01b0390911660048201526024016107f3565b506001600160a01b0381165f9081526005602052604090206001815460ff166003811115611000576110006120c0565b825460019260ff909116911461102b5760405163ce807b6f60e01b81526004016107f3929190612215565b5061103990506002836118d5565b50805460ff191660031781555f61107c61105161113f565b610ca57f00000000000000000000000000000000000000000000000000000000000000006001612202565b90505f61108882610565565b90508063ffffffff164210156110c6576110a1426117bc565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783556110f5565b6110d461028b8360016118af565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783555b8254604051600160681b90910463ffffffff1681526001600160a01b038516907f227e18a64ffa660621b0096f4e95531b0718897a3a403451ce02a3dc8e57fed390602001610997565b5f6107087f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561119f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c391906121b0565b611884565b600881901c5f90815260016020819052604082205460ff84169190911b16151561055f565b6001600160a01b0381165f9081526004602052604081205460ff1661055f565b335f8181526004602052604090205460ff1615819061124b576040516332e5ace360e01b81526001600160a01b0390911660048201526024016107f3565b506001600160a01b0381165f90815260056020526040812090815460ff16600381111561127a5761127a6120c0565b82545f9260ff90911691146112a45760405163ce807b6f60e01b81526004016107f3929190612215565b506112b2905060028361199a565b5080546001600160601b037f00000000000000000000000000000000000000000000000000000000000000001661010081026cffffffffffffffffffffffffff19909216919091176001178255611337906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169084903090611ad4565b6040516001600160601b037f00000000000000000000000000000000000000000000000000000000000000001681526001600160a01b038316907fa85ae5d22893f1618b98a1bc730da98cfa4714590a39ea541e1c57f21a10fec39060200160405180910390a25050565b5f5f6113ad83610565565b9050824263ffffffff8316106113d95760405163a6f5b7d760e01b81526004016107f391815260200190565b506106376002826118ba565b600881901c5f90815260016020819052604090912054829160ff83161b1615611424576040516381db3b0b60e01b81526004016107f391815260200190565b505f818152600660205260409020546001600160a01b0316818161145e5760405163ed2c70ef60e01b81526004016107f391815260200190565b506001600160a01b0381165f9081526005602052604090206002815460ff16600381111561148e5761148e6120c0565b825460029260ff90911691146114b95760405163ce807b6f60e01b81526004016107f3929190612215565b50508054600160681b900463ffffffff1642818110156114fa57604051636a9f844960e11b815263ffffffff909216600483015260248201526044016107f3565b505080546001905f90600160881b900463ffffffff16810361151a575f91505b8180156115be5750825f0160119054906101000a900463ffffffff1663ffffffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f8352e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611598573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115bc91906121b0565b105b156115c7575f91505b81801561166c575060018301548354604051633777e86360e01b8152600160881b90910463ffffffff1660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633777e86390602401602060405180830381865afa158015611645573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061166991906121b0565b14155b15611675575f91505b816116e5575081547f00000000000000000000000000000000000000000000000000000000000000006001600160601b038181169285916001916116c0918591610100900416612243565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505b825474ffffffff00000000000000000000000000000000ff191660031783555f6001808501829055600887901c825260208190526040909120805460ff88169290921b9091179055604080518315158152602081018390526001600160a01b0386169187917f8243e7a61fc3cbd138f8616c79a1be14bec1d636b4b5260e45cab85fb1e3b8db910160405180910390a35050505050565b5f61055f82611884565b5f6106378284612230565b5f61055f7f000000000000000000000000000000000000000000000000000000000000000083612262565b5f63ffffffff8211156117ec576040516306dfcc6560e41b815260206004820152602481018390526044016107f3565b5090565b5f61055f826117fe426117bc565b6118ba565b5f6106378383611812426117bc565b5f5f61181e85846118ba565b9050838180821061184b57604051636bc4db8d60e11b8152600481019290925260248201526044016107f3565b50505f84815260018601602052604081206118669085611b13565b905061187a816001600160e01b0316611b69565b9695505050505050565b5f61055f7f000000000000000000000000000000000000000000000000000000000000000083612279565b5f6106378284612202565b5f6118c58383611b13565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b03169282019290925290611927575f91505061055f565b61080984826020015185611b9c565b6040516001600160a01b0383811660248301526044820183905261199591859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611dc7565b505050565b5f6001600160a01b0382166119c15760405162979f6d60e11b815260040160405180910390fd5b6001600160a01b0382165f90815260028401602052604090205460ff16156119ea57505f61055f565b5f6119f484611e33565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611a64426117bc565b9050611a9c81611a7c866001600160a01b0316611e6b565b6001600160e01b0385165f90815260018901602052604090209190611e9e565b50611ac7905081611abf611ab185600161228c565b6001600160e01b0316611e6b565b879190611e9e565b5060019695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611b0d9186918216906323b872dd90608401611963565b50505050565b81545f9081611b2485858385611eb8565b90508015611b5f57611b4885611b3b600184612230565b5f91825260209091200190565b5464010000000090046001600160e01b03166107b3565b5f95945050505050565b5f6001600160a01b038211156117ec576040516306dfcc6560e41b815260a06004820152602481018390526044016107f3565b5f80611ba785611e33565b9050806001600160e01b0316846001600160e01b031610611bee57604051636bc4db8d60e11b81526001600160e01b038086166004830152821660248201526044016107f3565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055611c5d6001836122ab565b90505f611c69426117bc565b9050856001600160e01b0316826001600160e01b031614611d74576001600160e01b0382165f9081526001880160205260408120611cb890611caa90611e33565b6001600160e01b0316611b69565b90506040518060400160405280600115158152602001611ce0896001600160e01b0316611e6b565b6001600160e01b039081169091526001600160a01b0383165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b031990941693909317929092179055611d70908390611d5090611e6b565b6001600160e01b038a165f90815260018c01602052604090209190611e9e565b5050505b6001600160e01b0382165f9081526001880160205260408120611d98918390611e9e565b5050611db881611db0846001600160e01b0316611e6b565b899190611e9e565b50600198975050505050505050565b5f5f60205f8451602086015f885af180611de6576040513d5f823e3d81fd5b50505f513d91508115611dfd578060011415611e0a565b6001600160a01b0384163b155b15611b0d57604051635274afe760e01b81526001600160a01b03851660048201526024016107f3565b80545f908015611e6357611e4c83611b3b600184612230565b5464010000000090046001600160e01b0316610637565b5f9392505050565b5f6001600160e01b038211156117ec576040516306dfcc6560e41b815260e06004820152602481018390526044016107f3565b5f80611eab858585611f13565b915091505b935093915050565b5f5b81831015611f0b575f611ecd848461205b565b5f8781526020902090915063ffffffff86169082015463ffffffff161115611ef757809250611f05565b611f02816001612202565b93505b50611eba565b509392505050565b82545f9081908015612002575f611f2f87611b3b600185612230565b805490915063ffffffff8082169164010000000090046001600160e01b0316908816821115611f7157604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff1603611fa557825463ffffffff166401000000006001600160e01b03891602178355611ff4565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216640100000000029216919091179101555b9450859350611eb092505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316640100000000029190931617920191909155905081611eb0565b5f6120696002848418612279565b61063790848416612202565b5f60208284031215612085575f5ffd5b5035919050565b80356001600160a01b03811681146120a2575f5ffd5b919050565b5f602082840312156120b7575f5ffd5b6106378261208c565b634e487b7160e01b5f52602160045260245ffd5b600481106120f057634e487b7160e01b5f52602160045260245ffd5b9052565b5f60a0820190506121068284516120d4565b6001600160601b03602084015116602083015263ffffffff604084015116604083015263ffffffff60608401511660608301526080830151608083015292915050565b5f5f6040838503121561215a575f5ffd5b50508035926020909101359150565b5f5f5f6060848603121561217b575f5ffd5b6121848461208c565b925060208401356001600160801b038116811461219f575f5ffd5b929592945050506040919091013590565b5f602082840312156121c0575f5ffd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826121e9576121e96121c7565b500690565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561055f5761055f6121ee565b6040810161222382856120d4565b61063760208301846120d4565b8181038181111561055f5761055f6121ee565b6001600160601b03828116828216039081111561055f5761055f6121ee565b808202811582820484141761055f5761055f6121ee565b5f82612287576122876121c7565b500490565b6001600160e01b03818116838216019081111561055f5761055f6121ee565b6001600160e01b03828116828216039081111561055f5761055f6121ee56fea2646970667358221220ffcf5b2cbca15ac27928086148ff93438073368e72b75a9ad6a7a2788fbf641664736f6c634300081e0033","sourceMap":"1551:22429:28:-:0;;;3371:2113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3928:1;3911:13;:18;;3903:71;;;;-1:-1:-1;;;3903:71:28;;;;;;;;;;;;4120:29;4162:7;-1:-1:-1;;;;;4152:43:28;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4120:77;-1:-1:-1;4230:25:28;4120:77;4254:1;4230:25;:::i;:::-;4211:15;:44;;4203:97;;;;-1:-1:-1;;;4203:97:28;;;;;;;;;;;;1965:1;4546:10;:39;4538:92;;;;-1:-1:-1;;;4538:92:28;;;;;;;;;;;;4658:15;4645:10;:28;4637:81;;;;-1:-1:-1;;;4637:81:28;;;;;;;;;;;;4830:9;-1:-1:-1;;;;;4804:35:28;:22;-1:-1:-1;;;;;4804:35:28;;;4796:88;;;;-1:-1:-1;;;4796:88:28;;;;;;;;;;;;4995:9;-1:-1:-1;;;;;4977:27:28;:14;-1:-1:-1;;;;;4977:27:28;;;4969:80;;;;-1:-1:-1;;;4969:80:28;;;;;;;;;;;;5087:7;5064:19;:30;;5056:83;;;;-1:-1:-1;;;5056:83:28;;;;;;;;;;;;-1:-1:-1;;;;;;5146:27:28;;;;;5179:31;;;;;;-1:-1:-1;;;;;5216:21:28;;;;;5243:31;;;;;5280:48;;;;5334:22;;;;;5362:33;;5401:30;;;;;5437:42;;1551:22429;;14:177:96;93:13;;-1:-1:-1;;;;;135:31:96;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:175::-;274:13;;-1:-1:-1;;;;;316:30:96;;306:41;;296:69;;361:1;358;351:12;376:994;515:6;523;531;539;547;555;563;571;579;632:3;620:9;611:7;607:23;603:33;600:53;;;649:1;646;639:12;600:53;672:40;702:9;672:40;:::i;:::-;662:50;;731:49;776:2;765:9;761:18;731:49;:::i;:::-;721:59;;799:48;843:2;832:9;828:18;799:48;:::i;:::-;789:58;;866:48;910:2;899:9;895:18;866:48;:::i;:::-;856:58;;933:49;977:3;966:9;962:19;933:49;:::i;:::-;1044:3;1029:19;;1023:26;1139:3;1124:19;;1118:26;1236:3;1221:19;;1215:26;1333:3;1318:19;;;1312:26;376:994;;;;-1:-1:-1;376:994:96;;;;923:59;;1023:26;;1118;1215;-1:-1:-1;1312:26:96;;-1:-1:-1;376:994:96;-1:-1:-1;;;376:994:96:o;1375:230::-;1445:6;1498:2;1486:9;1477:7;1473:23;1469:32;1466:52;;;1514:1;1511;1504:12;1466:52;-1:-1:-1;1559:16:96;;1375:230;-1:-1:-1;1375:230:96:o;1610:222::-;1675:9;;;1696:10;;;1693:133;;;1748:10;1743:3;1739:20;1736:1;1729:31;1783:4;1780:1;1773:15;1811:4;1808:1;1801:15;1693:133;1610:222;;;;:::o;:::-;1551:22429:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b50600436106101e7575f3560e01c80637a27d3a311610109578063c504312a1161009e578063d7c4ccf51161006e578063d7c4ccf5146104e2578063eeacfa8c146104f5578063ef9e36e514610508578063ff549fe11461052e575f5ffd5b8063c504312a14610499578063d0e4f574146104a1578063d51b9e93146104c7578063d6f1c601146104da575f5ffd5b8063a4d2342a116100d9578063a4d2342a14610432578063ad7c132114610458578063ae40f1bf1461047e578063ba4f6a7814610486575f5ffd5b80637a27d3a3146103f457806383d6f7f1146103fc5780638a35146c1461042257806390f722731461042a575f5ffd5b80633349b59f1161017f5780633a30aefe1161014f5780633a30aefe1461039257806346c32618146103c45780636fb9935c146103d9578063735b69b6146103e1575f5ffd5b80633349b59f1461033357806333fac65e14610346578063359346d51461035957806337722a7f1461036c575f5ffd5b806319db12d2116101ba57806319db12d2146102a557806328bde1e1146102e55780632a2629f61461030557806330a563471461032b575f5ffd5b80630a42f86f146101eb578063147d97bd14610220578063181803d914610243578063182cad591461027d575b5f5ffd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020015b60405180910390f35b61023361022e366004612075565b610541565b6040519015158152602001610217565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160601b039091168152602001610217565b61029061028b366004612075565b610565565b60405163ffffffff9091168152602001610217565b6102cd6102b3366004612075565b5f908152600660205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610217565b6102f86102f33660046120a7565b61063e565b60405161021791906120f4565b7f000000000000000000000000000000000000000000000000000000000000000061020d565b61020d6106fd565b6102cd610341366004612075565b61070d565b610290610354366004612075565b610719565b6102cd610367366004612149565b6107bc565b7f0000000000000000000000000000000000000000000000000000000000000000610265565b6103a56103a0366004612075565b610811565b6040805192151583526001600160a01b03909116602083015201610217565b6103d76103d2366004612169565b6108a1565b005b6103d76109a5565b61020d6103ef366004612075565b610dc9565b61020d600181565b7f00000000000000000000000000000000000000000000000000000000000000006102cd565b6103d7610dd3565b6103d7610f8b565b7f00000000000000000000000000000000000000000000000000000000000000006102cd565b7f000000000000000000000000000000000000000000000000000000000000000061020d565b61020d61113f565b610233610494366004612075565b6111c8565b61020d600281565b7f0000000000000000000000000000000000000000000000000000000000000000610265565b6102336104d53660046120a7565b6111ed565b6103d761120d565b61020d6104f0366004612075565b6113a2565b6103d7610503366004612075565b6113e5565b7f000000000000000000000000000000000000000000000000000000000000000061020d565b61020d61053c366004612075565b61177c565b600881901c5f90815260208190526040812054600160ff84161b1615155b92915050565b5f5f6105a361059c610597857f0000000000000000000000000000000000000000000000000000000000000000611786565b611791565b6002611786565b604051639724931760e01b815260048101829052909150610637906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397249317906024015b602060405180830381865afa15801561060e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063291906121b0565b6117bc565b9392505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526001600160a01b0382165f9081526005602052604090819020815160a081019092528054829060ff1660038111156106a2576106a26120c0565b60038111156106b3576106b36120c0565b815281546001600160601b03610100820416602083015263ffffffff600160681b820481166040840152600160881b90910416606082015260019091015460809091015292915050565b5f61070860026117f0565b905090565b5f61055f600283611803565b5f5f610745837f0000000000000000000000000000000000000000000000000000000000000000611786565b90505f61075182611791565b90505f61075f826001611786565b604051639724931760e01b8152600481018290529091506107b3906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397249317906024016105f3565b95945050505050565b5f5f6107c783610565565b9050824263ffffffff8316106107fc5760405163a6f5b7d760e01b81526004016107f391815260200190565b60405180910390fd5b5061080960028583611812565b949350505050565b5f808061083e7f0000000000000000000000000000000000000000000000000000000000000000856121db565b90507f0000000000000000000000000000000000000000000000000000000000000000811061087257505f93849350915050565b5f61087c85611884565b5f908152600660205260409020546001600160a01b0316801515969095509350505050565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03811682146108ff57604051632c0d7ee360e21b81526001600160a01b039283166004820152911660248201526044016107f3565b50506001600160a01b0383165f90815260056020526040902061092a6001600160801b0384166117bc565b815463ffffffff91909116600160881b0263ffffffff60881b1990911617815560018101829055604080516001600160801b0385168152602081018490526001600160a01b038616917f06ce34f26493be3a32c7dbec4418362d0135f3e197942f5dd02b5836e537018391015b60405180910390a250505050565b5f6109ae61113f565b90505f6109db827f00000000000000000000000000000000000000000000000000000000000000006118af565b600881901c5f90815260208190526040902054909150600160ff83161b1615610a02575050565b600881901c5f9081526020819052604081208054600160ff85161b179055610a2982610565565b9050814263ffffffff831610610a555760405163a6f5b7d760e01b81526004016107f391815260200190565b505f610a626002836118ba565b9050805f03610a715750505050565b5f610a8061028b8560016118af565b90508063ffffffff164210610a96575050505050565b5f610aa085610719565b604051630f5fdda560e31b815263ffffffff821660048201529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637afeed2890602401602060405180830381865afa158015610b0d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3191906121b0565b90505f848783604051602001610b51929190918252602082015260400190565b604051602081830303815290604052805190602001205f1c610b7391906121db565b90505f610b8260028389611812565b5f89815260066020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558352600590915290209091506003815460ff166003811115610bd257610bd26120c0565b14610be457610be26002836118d5565b505b805460ff191660021781555f610caa610c25610bff8c611791565b7f00000000000000000000000000000000000000000000000000000000000000006118af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166325b223666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c81573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca591906121b0565b6118af565b9050610d677f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397249317846040518263ffffffff1660e01b8152600401610d1e91815260200190565b602060405180830381865afa158015610d39573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5d91906121b0565b6106329190612202565b825463ffffffff91909116600160681b0263ffffffff60681b199091161782556040516001600160a01b038416908b907f481f68776206fa08da4a36697c67062a4d9d4b25f92abc91063615d270d0f560905f90a35050505050505050505050565b5f61055f82611791565b335f8181526005602052604090206003815460ff166003811115610df957610df96120c0565b825460039260ff9091169114610e245760405163ce807b6f60e01b81526004016107f3929190612215565b50508054600160681b900463ffffffff164281811015610e6557604051636a9f844960e11b815263ffffffff909216600483015260248201526044016107f3565b505080546001600160601b036101009091048116907f000000000000000000000000000000000000000000000000000000000000000016811115610edd57610ed66001600160601b037f00000000000000000000000000000000000000000000000000000000000000001682612230565b9050610ee0565b505f5b6001600160a01b0383165f90815260056020526040812080546001600160a81b0319168155600101558015610f4357610f436001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483611936565b826001600160a01b03167f9df2bec405429ed33f4542a6139ece7fdb731660929172a6b1e5f2d90a13a2db82604051610f7e91815260200190565b60405180910390a2505050565b610f936109a5565b335f8181526004602052604090205460ff168190610fd0576040516361adc4e760e01b81526001600160a01b0390911660048201526024016107f3565b506001600160a01b0381165f9081526005602052604090206001815460ff166003811115611000576110006120c0565b825460019260ff909116911461102b5760405163ce807b6f60e01b81526004016107f3929190612215565b5061103990506002836118d5565b50805460ff191660031781555f61107c61105161113f565b610ca57f00000000000000000000000000000000000000000000000000000000000000006001612202565b90505f61108882610565565b90508063ffffffff164210156110c6576110a1426117bc565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783556110f5565b6110d461028b8360016118af565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783555b8254604051600160681b90910463ffffffff1681526001600160a01b038516907f227e18a64ffa660621b0096f4e95531b0718897a3a403451ce02a3dc8e57fed390602001610997565b5f6107087f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561119f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c391906121b0565b611884565b600881901c5f90815260016020819052604082205460ff84169190911b16151561055f565b6001600160a01b0381165f9081526004602052604081205460ff1661055f565b335f8181526004602052604090205460ff1615819061124b576040516332e5ace360e01b81526001600160a01b0390911660048201526024016107f3565b506001600160a01b0381165f90815260056020526040812090815460ff16600381111561127a5761127a6120c0565b82545f9260ff90911691146112a45760405163ce807b6f60e01b81526004016107f3929190612215565b506112b2905060028361199a565b5080546001600160601b037f00000000000000000000000000000000000000000000000000000000000000001661010081026cffffffffffffffffffffffffff19909216919091176001178255611337906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169084903090611ad4565b6040516001600160601b037f00000000000000000000000000000000000000000000000000000000000000001681526001600160a01b038316907fa85ae5d22893f1618b98a1bc730da98cfa4714590a39ea541e1c57f21a10fec39060200160405180910390a25050565b5f5f6113ad83610565565b9050824263ffffffff8316106113d95760405163a6f5b7d760e01b81526004016107f391815260200190565b506106376002826118ba565b600881901c5f90815260016020819052604090912054829160ff83161b1615611424576040516381db3b0b60e01b81526004016107f391815260200190565b505f818152600660205260409020546001600160a01b0316818161145e5760405163ed2c70ef60e01b81526004016107f391815260200190565b506001600160a01b0381165f9081526005602052604090206002815460ff16600381111561148e5761148e6120c0565b825460029260ff90911691146114b95760405163ce807b6f60e01b81526004016107f3929190612215565b50508054600160681b900463ffffffff1642818110156114fa57604051636a9f844960e11b815263ffffffff909216600483015260248201526044016107f3565b505080546001905f90600160881b900463ffffffff16810361151a575f91505b8180156115be5750825f0160119054906101000a900463ffffffff1663ffffffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f8352e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611598573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115bc91906121b0565b105b156115c7575f91505b81801561166c575060018301548354604051633777e86360e01b8152600160881b90910463ffffffff1660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633777e86390602401602060405180830381865afa158015611645573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061166991906121b0565b14155b15611675575f91505b816116e5575081547f00000000000000000000000000000000000000000000000000000000000000006001600160601b038181169285916001916116c0918591610100900416612243565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505b825474ffffffff00000000000000000000000000000000ff191660031783555f6001808501829055600887901c825260208190526040909120805460ff88169290921b9091179055604080518315158152602081018390526001600160a01b0386169187917f8243e7a61fc3cbd138f8616c79a1be14bec1d636b4b5260e45cab85fb1e3b8db910160405180910390a35050505050565b5f61055f82611884565b5f6106378284612230565b5f61055f7f000000000000000000000000000000000000000000000000000000000000000083612262565b5f63ffffffff8211156117ec576040516306dfcc6560e41b815260206004820152602481018390526044016107f3565b5090565b5f61055f826117fe426117bc565b6118ba565b5f6106378383611812426117bc565b5f5f61181e85846118ba565b9050838180821061184b57604051636bc4db8d60e11b8152600481019290925260248201526044016107f3565b50505f84815260018601602052604081206118669085611b13565b905061187a816001600160e01b0316611b69565b9695505050505050565b5f61055f7f000000000000000000000000000000000000000000000000000000000000000083612279565b5f6106378284612202565b5f6118c58383611b13565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b03169282019290925290611927575f91505061055f565b61080984826020015185611b9c565b6040516001600160a01b0383811660248301526044820183905261199591859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611dc7565b505050565b5f6001600160a01b0382166119c15760405162979f6d60e11b815260040160405180910390fd5b6001600160a01b0382165f90815260028401602052604090205460ff16156119ea57505f61055f565b5f6119f484611e33565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611a64426117bc565b9050611a9c81611a7c866001600160a01b0316611e6b565b6001600160e01b0385165f90815260018901602052604090209190611e9e565b50611ac7905081611abf611ab185600161228c565b6001600160e01b0316611e6b565b879190611e9e565b5060019695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611b0d9186918216906323b872dd90608401611963565b50505050565b81545f9081611b2485858385611eb8565b90508015611b5f57611b4885611b3b600184612230565b5f91825260209091200190565b5464010000000090046001600160e01b03166107b3565b5f95945050505050565b5f6001600160a01b038211156117ec576040516306dfcc6560e41b815260a06004820152602481018390526044016107f3565b5f80611ba785611e33565b9050806001600160e01b0316846001600160e01b031610611bee57604051636bc4db8d60e11b81526001600160e01b038086166004830152821660248201526044016107f3565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055611c5d6001836122ab565b90505f611c69426117bc565b9050856001600160e01b0316826001600160e01b031614611d74576001600160e01b0382165f9081526001880160205260408120611cb890611caa90611e33565b6001600160e01b0316611b69565b90506040518060400160405280600115158152602001611ce0896001600160e01b0316611e6b565b6001600160e01b039081169091526001600160a01b0383165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b031990941693909317929092179055611d70908390611d5090611e6b565b6001600160e01b038a165f90815260018c01602052604090209190611e9e565b5050505b6001600160e01b0382165f9081526001880160205260408120611d98918390611e9e565b5050611db881611db0846001600160e01b0316611e6b565b899190611e9e565b50600198975050505050505050565b5f5f60205f8451602086015f885af180611de6576040513d5f823e3d81fd5b50505f513d91508115611dfd578060011415611e0a565b6001600160a01b0384163b155b15611b0d57604051635274afe760e01b81526001600160a01b03851660048201526024016107f3565b80545f908015611e6357611e4c83611b3b600184612230565b5464010000000090046001600160e01b0316610637565b5f9392505050565b5f6001600160e01b038211156117ec576040516306dfcc6560e41b815260e06004820152602481018390526044016107f3565b5f80611eab858585611f13565b915091505b935093915050565b5f5b81831015611f0b575f611ecd848461205b565b5f8781526020902090915063ffffffff86169082015463ffffffff161115611ef757809250611f05565b611f02816001612202565b93505b50611eba565b509392505050565b82545f9081908015612002575f611f2f87611b3b600185612230565b805490915063ffffffff8082169164010000000090046001600160e01b0316908816821115611f7157604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff1603611fa557825463ffffffff166401000000006001600160e01b03891602178355611ff4565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216640100000000029216919091179101555b9450859350611eb092505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316640100000000029190931617920191909155905081611eb0565b5f6120696002848418612279565b61063790848416612202565b5f60208284031215612085575f5ffd5b5035919050565b80356001600160a01b03811681146120a2575f5ffd5b919050565b5f602082840312156120b7575f5ffd5b6106378261208c565b634e487b7160e01b5f52602160045260245ffd5b600481106120f057634e487b7160e01b5f52602160045260245ffd5b9052565b5f60a0820190506121068284516120d4565b6001600160601b03602084015116602083015263ffffffff604084015116604083015263ffffffff60608401511660608301526080830151608083015292915050565b5f5f6040838503121561215a575f5ffd5b50508035926020909101359150565b5f5f5f6060848603121561217b575f5ffd5b6121848461208c565b925060208401356001600160801b038116811461219f575f5ffd5b929592945050506040919091013590565b5f602082840312156121c0575f5ffd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826121e9576121e96121c7565b500690565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561055f5761055f6121ee565b6040810161222382856120d4565b61063760208301846120d4565b8181038181111561055f5761055f6121ee565b6001600160601b03828116828216039081111561055f5761055f6121ee565b808202811582820484141761055f5761055f6121ee565b5f82612287576122876121c7565b500490565b6001600160e01b03818116838216019081111561055f5761055f6121ee565b6001600160e01b03828116828216039081111561055f5761055f6121ee56fea2646970667358221220ffcf5b2cbca15ac27928086148ff93438073368e72b75a9ad6a7a2788fbf641664736f6c634300081e0033","sourceMap":"1551:22429:28:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18201:106;18293:9;18201:106;;;160:25:96;;;148:2;133:18;18201:106:28;;;;;;;;13893:151;;;;;;:::i;:::-;;:::i;:::-;;;619:14:96;;612:22;594:41;;582:2;567:18;13893:151:28;454:187:96;17927:131:28;18030:23;17927:131;;;-1:-1:-1;;;;;808:39:96;;;790:58;;778:2;763:18;17927:131:28;646:208:96;22616:296:28;;;;;;:::i;:::-;;:::i;:::-;;;1033:10:96;1021:23;;;1003:42;;991:2;976:18;22616:296:28;859:192:96;13589:145:28;;;;;;:::i;:::-;13680:7;13702:27;;;:19;:27;;;;;;-1:-1:-1;;;;;13702:27:28;;13589:145;;;;-1:-1:-1;;;;;1220:32:96;;;1202:51;;1190:2;1175:18;13589:145:28;1056:203:96;14517:159:28;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;19009:126::-;19110:20;19009:126;;14810:128;;;:::i;15692:146::-;;;;;;:::i;:::-;;:::i;23298:367::-;;;;;;:::i;:::-;;:::i;16144:353::-;;;;;;:::i;:::-;;:::i;17429:104::-;17519:9;17429:104;;12471:390;;;;;;:::i;:::-;;:::i;:::-;;;;3653:14:96;;3646:22;3628:41;;-1:-1:-1;;;;;3705:32:96;;;3700:2;3685:18;;3678:60;3601:18;12471:390:28;3460:284:96;9457:484:28;;;;;;:::i;:::-;;:::i;:::-;;19474:2499;;;:::i;13278:130::-;;;;;;:::i;:::-;;:::i;2061:52::-;;2112:1;2061:52;;17168:116;17268:10;17168:116;;8348:709;;;:::i;6758:1259::-;;;:::i;16944:109::-;17041:6;16944:109;;18726:114;18821:14;18726:114;;22094:131;;;:::i;14205:153::-;;;;;;:::i;:::-;;:::i;1912:54::-;;1965:1;1912:54;;17662:114;17757:14;17662:114;;16688:149;;;;;;:::i;:::-;;:::i;5822:599::-;;;:::i;15184:296::-;;;;;;:::i;:::-;;:::i;10602:1561::-;;;;;;:::i;:::-;;:::i;18459:117::-;18556:15;18459:117;;13010:120;;;;;;:::i;:::-;;:::i;13893:151::-;1144:1:25;1135:10;;;13978:4:28;1206:20:25;;;;;;;;;;;1170:1;1184:4;1176:12;;1170:19;1206:27;:32;;13997:42:28;13990:49;13893:151;-1:-1:-1;;13893:151:28:o;22616:296::-;22699:6;22713:17;22733:92;:51;22748:35;:6;22768:14;22748:35;:::i;:::-;22733:14;:51::i;:::-;1965:1;22733:92;:::i;:::-;22855:40;;-1:-1:-1;;;22855:40:28;;;;;160:25:96;;;22713:112:28;;-1:-1:-1;22838:69:28;;-1:-1:-1;;;;;22855:6:28;:27;;;;133:18:96;;22855:40:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22838:67;:69::i;:::-;22831:76;22616:296;-1:-1:-1;;;22616:296:28:o;14517:159::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14644:27:28;;;;;;:15;:27;;;;;;;14637:34;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;14637:34:28;;;;;;;;;-1:-1:-1;;;14637:34:28;;;;;;;;-1:-1:-1;;;14637:34:28;;;;;;;;;;;;;;;;;;;14517:159;-1:-1:-1;;14517:159:28:o;14810:128::-;14885:7;14907:26;:17;:24;:26::i;:::-;14900:33;;14810:128;:::o;15692:146::-;15783:7;15805:28;:17;15826:6;15805:20;:28::i;23298:367::-;23382:6;23396:19;23418:35;:6;23438:14;23418:35;:::i;:::-;23396:57;;23459:16;23478:29;23493:13;23478:14;:29::i;:::-;23459:48;;23513:15;23531:49;:10;2112:1;23531:49;:::i;:::-;23610:38;;-1:-1:-1;;;23610:38:28;;;;;160:25:96;;;23513:67:28;;-1:-1:-1;23593:67:28;;-1:-1:-1;;;;;23610:6:28;:27;;;;133:18:96;;23610:38:28;14:177:96;23593:67:28;23586:74;23298:367;-1:-1:-1;;;;;23298:367:28:o;16144:353::-;16273:7;16290:15;16308:23;16324:6;16308:15;:23::i;:::-;16290:41;-1:-1:-1;16405:6:28;16356:15;16345:26;;;;16337:76;;;;-1:-1:-1;;;16337:76:28;;;;;;160:25:96;;148:2;133:18;;14:177;16337:76:28;;;;;;;;;-1:-1:-1;16426:66:28;:17;16475:6;16483:8;16426:48;:66::i;:::-;16419:73;16144:353;-1:-1:-1;;;;16144:353:28:o;12471:390::-;12552:11;;;12612:32;12635:9;12625:6;12612:32;:::i;:::-;12589:55;;12670:15;12654:12;:31;12650:78;;-1:-1:-1;12703:5:28;;;;-1:-1:-1;12471:390:28;-1:-1:-1;;12471:390:28:o;12650:78::-;12734:11;12748:17;12758:6;12748:9;:17::i;:::-;12782:26;;;;:19;:26;;;;;;-1:-1:-1;;;;;12782:26:28;12823:22;;;;12782:26;;-1:-1:-1;12471:390:28;-1:-1:-1;;;;12471:390:28:o;9457:484::-;9613:10;9635:6;-1:-1:-1;;;;;9613:29:28;;;;9605:99;;;;-1:-1:-1;;;9605:99:28;;-1:-1:-1;;;;;5322:32:96;;;9605:99:28;;;5304:51:96;5391:32;;5371:18;;;5364:60;5277:18;;9605:99:28;5130:300:96;9605:99:28;-1:-1:-1;;;;;;;9740:26:28;;9711;9740;;;:15;:26;;;;;9800:28;-1:-1:-1;;;;;9800:26:28;;;:28::i;:::-;9772:56;;;;;;;-1:-1:-1;;;9772:56:28;-1:-1:-1;;;;9772:56:28;;;;;;-1:-1:-1;9834:25:28;;:36;;;9882:54;;;-1:-1:-1;;;;;5627:47:96;;5609:66;;5706:2;5691:18;;5684:34;;;-1:-1:-1;;;;;9882:54:28;;;;;5582:18:96;9882:54:28;;;;;;;;9599:342;9457:484;;;:::o;19474:2499::-;19542:18;19563:17;:15;:17::i;:::-;19542:38;;19586:17;19606:41;:12;19632:14;19606:41;:::i;:::-;1144:1:25;1135:10;;;19658:16:28;1206:20:25;;;;;;;;;;;19586:61:28;;-1:-1:-1;1170:1:25;1184:4;1176:12;;1170:19;1206:27;:32;19654:74:28;;19715:7;;19474:2499::o;19654:74::-;1677:1:25;1668:10;;;19734:16:28;1732:20:25;;;;;;;;;;:28;;1703:1;1717:4;1709:12;;1703:19;1732:28;;;19896::28;1668:10:25;19896:15:28;:28::i;:::-;19878:46;-1:-1:-1;20062:11:28;20013:15;20002:26;;;;19994:81;;;;-1:-1:-1;;;19994:81:28;;;;;;160:25:96;;148:2;133:18;;14:177;19994:81:28;-1:-1:-1;20082:15:28;20100:45;:17;20136:8;20100:35;:45::i;:::-;20082:63;;20155:7;20166:1;20155:12;20151:39;;20177:7;;;;19474:2499::o;20151:39::-;20574:19;20596:44;20612:27;:11;20637:1;20612:27;:::i;20596:44::-;20574:66;;20669:12;20650:31;;:15;:31;20646:58;;20691:7;;;;;19474:2499::o;20646:58::-;20758:13;20774:29;20791:11;20774:16;:29::i;:::-;20824:46;;-1:-1:-1;;;20824:46:28;;20847:22;;;20824:46;;;160:25:96;20758:45:28;;-1:-1:-1;20809:12:28;;-1:-1:-1;;;;;20824:6:28;:22;;;;133:18:96;;20824:46:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20809:61;;20876:13;20944:7;20921:11;20934:4;20910:29;;;;;;;;6378:25:96;;;6434:2;6419:18;;6412:34;6366:2;6351:18;;6177:275;20910:29:28;;;;;;;;;;;;;20900:40;;;;;;20892:49;;:59;;;;:::i;:::-;20876:75;-1:-1:-1;20957:16:28;20976:65;:17;20876:75;21032:8;20976:48;:65::i;:::-;21048:32;;;;:19;:32;;;;;;;;:43;;-1:-1:-1;;;;;;21048:43:28;-1:-1:-1;;;;;21048:43:28;;;;;;;;21127:25;;:15;:25;;;;;21048:43;;-1:-1:-1;21467:14:28;21452:11;;;;:29;;;;;;;;:::i;:::-;;21448:84;;21491:34;:17;21516:8;21491:24;:34::i;:::-;;21448:84;21538:30;;-1:-1:-1;;21538:30:28;21552:16;21538:30;;;-1:-1:-1;21691:105:28;:57;:27;21706:11;21691:14;:27::i;:::-;21732:15;21691:57;:::i;:::-;21762:6;-1:-1:-1;;;;;21762:31:28;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21691:105;:::i;:::-;21665:131;;21820:96;21884:20;21838:6;-1:-1:-1;;;;;21838:27:28;;21866:13;21838:42;;;;;;;;;;;;;160:25:96;;148:2;133:18;;14:177;21838:42:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21821:83;;;;:::i;21820:96::-;21802:114;;;;;;;-1:-1:-1;;;21802:114:28;-1:-1:-1;;;;21802:114:28;;;;;;21928:40;;-1:-1:-1;;;;;21928:40:28;;;21946:11;;21928:40;;21802:15;;21928:40;19536:2437;;;;;;;;;;;19474:2499::o;13278:130::-;13361:5;13381:22;13396:6;13381:14;:22::i;8348:709::-;8439:10;8419:17;8484:26;;;:15;:26;;;;;8540:14;8525:11;;;;:29;;;;;;;;:::i;:::-;8606:11;;8590:14;;8606:11;;;;;8525:29;8517:102;;;;-1:-1:-1;;;8517:102:28;;;;;;;;;:::i;:::-;-1:-1:-1;;8653:15:28;;-1:-1:-1;;;8653:15:28;;;;8634;:34;;;;8626:113;;;;-1:-1:-1;;;8626:113:28;;7227:10:96;7215:23;;;8626:113:28;;;7197:42:96;7255:18;;;7248:34;7170:18;;8626:113:28;7024:264:96;8626:113:28;-1:-1:-1;;8771:11:28;;-1:-1:-1;;;;;8771:11:28;;;;;;;8802:14;8793:23;;;8789:99;;;8826:24;-1:-1:-1;;;;;8836:14:28;8826:24;;;:::i;:::-;;;8789:99;;;-1:-1:-1;8880:1:28;8789:99;-1:-1:-1;;;;;8901:26:28;;;;;;:15;:26;;;;;8894:33;;-1:-1:-1;;;;;;8894:33:28;;;;;;8938:10;;8934:73;;8958:42;-1:-1:-1;;;;;8958:10:28;:23;8982:9;8993:6;8958:23;:42::i;:::-;9034:9;-1:-1:-1;;;;;9018:34:28;;9045:6;9018:34;;;;160:25:96;;148:2;133:18;;14:177;9018:34:28;;;;;;;;8413:644;;;8348:709::o;6758:1259::-;6926:18;:16;:18::i;:::-;6971:10;9762:4:75;9781:37;;;:27;:37;;;;;:44;;;7072:9:28;6987:96;;;;;-1:-1:-1;;;6987:96:28;;-1:-1:-1;;;;;1220:32:96;;;6987:96:28;;;1202:51:96;1175:18;;6987:96:28;1056:203:96;6987:96:28;-1:-1:-1;;;;;;7119:26:28;;7090;7119;;;:15;:26;;;;;7174:13;7159:11;;;;:28;;;;;;;;:::i;:::-;7238:11;;7223:13;;7238:11;;;;;7159:28;7151:100;;;;-1:-1:-1;;;7151:100:28;;;;;;;;;:::i;:::-;-1:-1:-1;7258:35:28;;-1:-1:-1;7258:17:28;7283:9;7258:24;:35::i;:::-;-1:-1:-1;7299:28:28;;-1:-1:-1;;7299:28:28;7313:14;7299:28;;;-1:-1:-1;7652:50:28;:17;:15;:17::i;:::-;7683:18;7687:14;7683:1;:18;:::i;7652:50::-;7628:74;;7708:19;7730:32;7746:15;7730;:32::i;:::-;7708:54;;7791:12;7773:30;;:15;:30;7769:182;;;7831:26;:15;:24;:26::i;:::-;7813:44;;;;;;;-1:-1:-1;;;7813:44:28;-1:-1:-1;;;;7813:44:28;;;;;;7769:182;;;7896:48;7912:31;:15;7941:1;7912:31;:::i;7896:48::-;7878:66;;;;;;;-1:-1:-1;;;7878:66:28;-1:-1:-1;;;;7878:66:28;;;;;;7769:182;7996:15;;7962:50;;-1:-1:-1;;;7996:15:28;;;;;1003:42:96;;-1:-1:-1;;;;;7962:50:28;;;;;991:2:96;976:18;7962:50:28;859:192:96;22094:131:28;22165:5;22185:35;22195:6;-1:-1:-1;;;;;22195:22:28;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22185:9;:35::i;14205:153::-;1144:1:25;1135:10;;;14291:4:28;1206:20:25;;;14310:17:28;1206:20:25;;;;;;;;1184:4;1176:12;;1170:19;;;;1206:27;:32;;14310:43:28;1028:217:25;16688:149:28;-1:-1:-1;;;;;9781:37:75;;16775:4:28;9781:37:75;;;:27;:37;;;;;:44;;;16794:38:28;9666:164:75;5822:599:28;5912:10;9762:4:75;9781:37;;;:27;:37;;;;;:44;;;5937:38:28;6019:9;5929:101;;;;;-1:-1:-1;;;5929:101:28;;-1:-1:-1;;;;;1220:32:96;;;5929:101:28;;;1202:51:96;1175:18;;5929:101:28;1056:203:96;5929:101:28;-1:-1:-1;;;;;;6066:26:28;;6037;6066;;;:15;:26;;;;;;6106:11;;;;:26;;;;;;;;:::i;:::-;6181:11;;6168;;6181;;;;;6106:26;6098:96;;;;-1:-1:-1;;;6098:96:28;;;;;;;;;:::i;:::-;-1:-1:-1;6201:32:28;;-1:-1:-1;6201:17:28;6223:9;6201:21;:32::i;:::-;-1:-1:-1;6240:27:28;;-1:-1:-1;;;;;6287:9:28;6273:23;;;;-1:-1:-1;;6273:23:28;;;;;;;6254:13;6273:23;;;6303:64;;-1:-1:-1;;;;;6303:10:28;:27;;6331:9;;6350:4;;6303:27;:64::i;:::-;6379:37;;-1:-1:-1;;;;;6406:9:28;808:39:96;790:58;;-1:-1:-1;;;;;6379:37:28;;;;;778:2:96;763:18;6379:37:28;;;;;;;5886:535;;5822:599::o;15184:296::-;15279:7;15294:15;15312:23;15328:6;15312:15;:23::i;:::-;15294:41;-1:-1:-1;15409:6:28;15360:15;15349:26;;;;15341:76;;;;-1:-1:-1;;;15341:76:28;;;;;;160:25:96;;148:2;133:18;;14:177;15341:76:28;-1:-1:-1;15430:45:28;:17;15466:8;15430:35;:45::i;10602:1561::-;1144:1:25;1135:10;;;1102:4;1206:20;;;10700:17:28;1206:20:25;;;;;;;;;1135:10;;1184:4;1176:12;;1170:19;1206:27;:32;10691:99:28;;;;-1:-1:-1;;;10691:99:28;;;;;;160:25:96;;148:2;133:18;;14:177;10691:99:28;-1:-1:-1;10797:16:28;10816:27;;;:19;:27;;;;;;-1:-1:-1;;;;;10816:27:28;10836:6;10857:22;10849:81;;;;-1:-1:-1;;;10849:81:28;;;;;;160:25:96;;148:2;133:18;;14:177;10849:81:28;-1:-1:-1;;;;;;10966:25:28;;10937:26;10966:25;;;:15;:25;;;;;11020:16;11005:11;;;;:31;;;;;;;;:::i;:::-;11090:11;;11072:16;;11090:11;;;;;11005:31;10997:106;;;;-1:-1:-1;;;10997:106:28;;;;;;;;;:::i;:::-;-1:-1:-1;;11137:15:28;;-1:-1:-1;;;11137:15:28;;;;11118;:34;;;;11110:113;;;;-1:-1:-1;;;11110:113:28;;7227:10:96;7215:23;;;11110:113:28;;;7197:42:96;7255:18;;;7248:34;7170:18;;11110:113:28;7024:264:96;11110:113:28;-1:-1:-1;;11365:25:28;;11245:4;;11230:12;;-1:-1:-1;;;11365:25:28;;;;:30;;11361:66;;11415:5;11405:15;;11361:66;11510:7;:73;;;;;11558:4;:25;;;;;;;;;;;;11521:62;;:6;-1:-1:-1;;;;;11521:32:28;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:62;11510:73;11506:109;;;11603:5;11593:15;;11506:109;11698:7;:83;;;;-1:-1:-1;11756:25:28;;;;11726;;11709:43;;-1:-1:-1;;;11709:43:28;;-1:-1:-1;;;11726:25:28;;;;;11709:43;;;1003:42:96;11709:6:28;-1:-1:-1;;;;;11709:16:28;;;;976:18:96;;11709:43:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;;11698:83;11694:119;;;11801:5;11791:15;;11694:119;11824:7;11819:111;;-1:-1:-1;11885:38:28;;11854:23;-1:-1:-1;;;;;11841:36:28;;;;11885:38;;:11;;:38;;11854:23;;11885:38;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;11885:38:28;;;;;-1:-1:-1;;;;;11885:38:28;;;;;;11819:111;11936:28;;-1:-1:-1;;11970:29:28;11950:14;11970:29;;;-1:-1:-1;11936:28:28;12005:25;;;:38;;;1677:1:25;1668:10;;;1732:20;;;;;;;;;;:28;;1717:4;1709:12;;1703:19;;;;1732:28;;;;;12105:53:28;;;8705:14:96;;8698:22;8680:41;;8752:2;8737:18;;8730:34;;;-1:-1:-1;;;;;12105:53:28;;;12120:6;;12105:53;;8653:18:96;12105:53:28;;;;;;;10685:1478;;;;10602:1561;:::o;13010:120::-;13088:5;13108:17;13118:6;13108:9;:17::i;398:120:42:-;450:5;479:35;511:2;492;479:35;:::i;23848:130:28:-;23909:5;23940:32;23963:9;23953:6;23940:32;:::i;15296:213:23:-;15352:6;15382:16;15374:24;;15370:103;;;15421:41;;-1:-1:-1;;;15421:41:23;;15452:2;15421:41;;;9129:36:96;9181:18;;;9174:34;;;9102:18;;15421:41:23;8948:266:96;15370:103:23;-1:-1:-1;15496:5:23;15296:213::o;7731:155:75:-;7807:7;7829:52;7847:5;7854:26;:15;:24;:26::i;:::-;7829:17;:52::i;5787:188::-;5875:7;5897:73;5928:5;5935:6;5943:26;:15;:24;:26::i;:::-;6403:7;6420:12;6435:36;6453:5;6460:10;6435:17;:36::i;:::-;6420:51;-1:-1:-1;6485:6:75;6420:51;6485:13;;;6477:74;;;;-1:-1:-1;;;6477:74:75;;;;;6378:25:96;;;;6419:18;;;6412:34;6351:18;;6477:74:75;6177:275:96;6477:74:75;-1:-1:-1;;6676:12:75;6691:35;;;:27;;;:35;;;;;:59;;6739:10;6691:47;:59::i;:::-;6676:74;;6771:16;:4;-1:-1:-1;;;;;6771:14:75;;:16::i;:::-;6756:32;6256:537;-1:-1:-1;;;;;;6256:537:75:o;23719:125:28:-;23775:5;23806:32;23829:9;23819:6;23806:32;:::i;276:120:42:-;328:5;357:35;389:2;370;357:35;:::i;8247:167:75:-;8353:7;8375:34;:5;8398:10;8375:22;:34::i;:::-;-1:-1:-1;;;;;8368:41:75;;8247:167;-1:-1:-1;;;8247:167:75:o;3008:266::-;-1:-1:-1;;;;;3130:37:75;;3097:4;3130:37;;;:27;;;:37;;;;;;;;3109:58;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3109:58:75;;;;;;;;;3173:46;;3207:5;3200:12;;;;;3173:46;3232:37;3240:5;3247;:11;;;3260:8;3232:7;:37::i;1219:160:10:-;1328:43;;-1:-1:-1;;;;;9789:32:96;;;1328:43:10;;;9771:51:96;9838:18;;;9831:34;;;1301:71:10;;1321:5;;1343:14;;;;;9744:18:96;;1328:43:10;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1328:43:10;;;;;;;;;;;1301:19;:71::i;:::-;1219:160;;;:::o;2127:620:75:-;2213:4;-1:-1:-1;;;;;2233:22:75;;2225:75;;;;-1:-1:-1;;;2225:75:75;;;;;;;;;;;;-1:-1:-1;;;;;2350:37:75;;;;;;:27;;;:37;;;;;:44;;;2346:77;;;-1:-1:-1;2411:5:75;2404:12;;2346:77;2429:13;2445:19;:5;:17;:19::i;:::-;2510:35;;;;;;;;2525:4;2510:35;;-1:-1:-1;;;;;2510:35:75;;;;;;;;;;-1:-1:-1;;;;;2470:37:75;;-1:-1:-1;2470:37:75;;;:27;;;:37;;;;;;:75;;;;;;-1:-1:-1;;;;;;2470:75:75;;;;;;-1:-1:-1;;;;;;2470:75:75;;;;;;;;;;;2510:35;;-1:-1:-1;2565:26:75;:15;:24;:26::i;:::-;2552:39;;2598:75;2638:3;2643:29;2651:8;-1:-1:-1;;;;;2643:27:75;;:29::i;:::-;-1:-1:-1;;;;;2598:34:75;;;;;;:27;;;:34;;;;;;:75;:39;:75::i;:::-;-1:-1:-1;2679:45:75;;-1:-1:-1;2695:3:75;2700:23;2701:9;:5;2709:1;2701:9;:::i;:::-;-1:-1:-1;;;;;2700:21:75;;:23::i;:::-;2679:5;;:45;:15;:45::i;:::-;-1:-1:-1;2738:4:75;;2127:620;-1:-1:-1;;;;;;2127:620:75:o;1618:188:10:-;1745:53;;-1:-1:-1;;;;;10296:32:96;;;1745:53:10;;;10278:51:96;10365:32;;;10345:18;;;10338:60;10414:18;;;10407:34;;;1718:81:10;;1738:5;;1760:18;;;;;10251::96;;1745:53:10;10076:371:96;1718:81:10;1618:188;;;;:::o;2114:297:26:-;2226:24;;2193:7;;;2274:50;2226:4;2312:3;2193:7;2226:24;2274:18;:50::i;:::-;2260:64;-1:-1:-1;2341:8:26;;:63;;2356:41;2370:4;2389:7;2395:1;2389:3;:7;:::i;:::-;7531:28;7594:20;;;7659:4;7646:18;;;7642:28;;7421:265;2356:41;:48;;;;-1:-1:-1;;;;;2356:48:26;2341:63;;;2352:1;2334:70;2114:297;-1:-1:-1;;;;;2114:297:26:o;7228:218:23:-;7285:7;-1:-1:-1;;;;;7308:25:23;;7304:105;;;7356:42;;-1:-1:-1;;;7356:42:23;;7387:3;7356:42;;;9129:36:96;9181:18;;;9174:34;;;9102:18;;7356:42:23;8948:266:96;4039:1503:75;4145:4;;4179:19;:5;:17;:19::i;:::-;4157:41;;4218:11;-1:-1:-1;;;;;4208:21:75;:6;-1:-1:-1;;;;;4208:21:75;;4204:106;;4246:57;;-1:-1:-1;;;4246:57:75;;-1:-1:-1;;;;;10916:32:96;;;4246:57:75;;;10898:51:96;10985:32;;10965:18;;;10958:60;10871:18;;4246:57:75;10724:300:96;4204:106:75;4406:32;;;;;;;;-1:-1:-1;4406:32:75;;;;;;;;;;-1:-1:-1;;;;;4366:37:75;;;;:27;;;:37;;;;;;:72;;;;;;-1:-1:-1;;;;;;4366:72:75;;;;;;-1:-1:-1;;;;;;4366:72:75;;;-1:-1:-1;;;;;4366:72:75;;;;;;;;;;;;;4773:15;-1:-1:-1;4773:11:75;:15;:::i;:::-;4753:35;;4794:10;4807:26;:15;:24;:26::i;:::-;4794:39;;4955:6;-1:-1:-1;;;;;4942:19:75;:9;-1:-1:-1;;;;;4942:19:75;;4938:323;;-1:-1:-1;;;;;5003:38:75;;4971:21;5003:38;;;:27;;;:38;;;;;:59;;:47;;:45;:47::i;:::-;-1:-1:-1;;;;;5003:57:75;;:59::i;:::-;4971:92;;5117:48;;;;;;;;5132:4;5117:48;;;;;;5145:18;:6;-1:-1:-1;;;;;5145:16:75;;:18::i;:::-;-1:-1:-1;;;;;5117:48:75;;;;;;-1:-1:-1;;;;;5072:42:75;;;;;;:27;;;:42;;;;;;;;:93;;;;;;;;;;;;;;-1:-1:-1;;;;;;5072:93:75;;;;;;;-1:-1:-1;;;;;;5072:93:75;;;;;;;;;;;;;5173:81;;5214:3;;5219:34;;:32;:34::i;:::-;-1:-1:-1;;;;;5173:35:75;;;;;;:27;;;:35;;;;;;:81;:40;:81::i;:::-;;;4963:298;4938:323;-1:-1:-1;;;;;5337:38:75;;5394:1;5337:38;;;:27;;;:38;;;;;:60;;5381:3;;5337:43;:60::i;:::-;;;5475:45;5491:3;5496:23;5497:9;-1:-1:-1;;;;;5496:21:75;;:23::i;:::-;5475:5;;:45;:15;:45::i;:::-;-1:-1:-1;5533:4:75;;4039:1503;-1:-1:-1;;;;;;;;4039:1503:75:o;7686:720:10:-;7766:18;7794:19;7932:4;7929:1;7922:4;7916:11;7909:4;7903;7899:15;7896:1;7889:5;7882;7877:60;7989:7;7979:176;;8033:4;8027:11;8078:16;8075:1;8070:3;8055:40;8124:16;8119:3;8112:29;7979:176;-1:-1:-1;;8232:1:10;8226:8;8182:16;;-1:-1:-1;8258:15:10;;:68;;8310:11;8325:1;8310:16;;8258:68;;;-1:-1:-1;;;;;8276:26:10;;;:31;8258:68;8254:146;;;8349:40;;-1:-1:-1;;;8349:40:10;;-1:-1:-1;;;;;1220:32:96;;8349:40:10;;;1202:51:96;1175:18;;8349:40:10;1056:203:96;3442:206:26;3537:24;;3504:7;;3578:8;;:63;;3593:41;3607:4;3626:7;3632:1;3626:3;:7;:::i;3593:41::-;:48;;;;-1:-1:-1;;;;;3593:48:26;3578:63;;;3589:1;3571:70;3442:206;-1:-1:-1;;;3442:206:26:o;3156:218:23:-;3213:7;-1:-1:-1;;;;;3236:25:23;;3232:105;;;3284:42;;-1:-1:-1;;;3284:42:23;;3315:3;3284:42;;;9129:36:96;9181:18;;;9174:34;;;9102:18;;3284:42:23;8948:266:96;1277:210:26;1389:16;;1442:38;1450:4;1469:3;1474:5;1442:7;:38::i;:::-;1435:45;;;;1277:210;;;;;;;:::o;6061:433::-;6218:7;6237:230;6250:4;6244:3;:10;6237:230;;;6270:11;6284:23;6297:3;6302:4;6284:12;:23::i;:::-;7531:28;7594:20;;;7659:4;7646:18;;6270:37;;-1:-1:-1;6325:35:26;;;;7642:28;;6325:29;;;:35;6321:136;;;6387:3;6380:10;;6321:136;;;6435:7;:3;6441:1;6435:7;:::i;:::-;6429:13;;6321:136;6256:211;6237:230;;;-1:-1:-1;6483:4:26;6061:433;-1:-1:-1;;;6061:433:26:o;4789:922::-;4970:11;;4910:16;;;;4996:7;;4992:713;;5019:26;5048:28;5062:4;5068:7;5074:1;5068:3;:7;:::i;5048:28::-;5107:9;;;;-1:-1:-1;5107:9:26;;;;;5150:11;;;-1:-1:-1;;;;;5150:11:26;;5235:13;;;;5231:89;;;5275:30;;-1:-1:-1;;;5275:30:26;;;;;;;;;;;5231:89;5394:3;5383:14;;:7;:14;;;5379:163;;5417:19;;;;;-1:-1:-1;;;;;5417:19:26;;;;;;5379:163;;;5485:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;5485:41:26;;;;;;;;;;5475:52;;;;;;;-1:-1:-1;5475:52:26;;;;;;;;;;;;;;;;;;;;;;;;;5379:163;5563:9;-1:-1:-1;5574:5:26;;-1:-1:-1;5555:25:26;;-1:-1:-1;;;5555:25:26;4992:713;-1:-1:-1;;5621:41:26;;;;;;;;;;;;;;;-1:-1:-1;;;;;5621:41:26;;;;;;;;;;5611:52;;;;;;;-1:-1:-1;5611:52:26;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5655:5:26;5677:17;;3595:153:22;3657:7;3730:11;3740:1;3731:5;;;3730:11;:::i;:::-;3720:21;;3721:5;;;3720:21;:::i;196:253:96:-;282:6;335:2;323:9;314:7;310:23;306:32;303:52;;;351:1;348;341:12;303:52;-1:-1:-1;396:23:96;;196:253;-1:-1:-1;196:253:96:o;1264:173::-;1332:20;;-1:-1:-1;;;;;1381:31:96;;1371:42;;1361:70;;1427:1;1424;1417:12;1361:70;1264:173;;;:::o;1442:186::-;1501:6;1554:2;1542:9;1533:7;1529:23;1525:32;1522:52;;;1570:1;1567;1560:12;1522:52;1593:29;1612:9;1593:29;:::i;1633:127::-;1694:10;1689:3;1685:20;1682:1;1675:31;1725:4;1722:1;1715:15;1749:4;1746:1;1739:15;1765:234;1843:1;1836:5;1833:12;1823:143;;1888:10;1883:3;1879:20;1876:1;1869:31;1923:4;1920:1;1913:15;1951:4;1948:1;1941:15;1823:143;1975:18;;1765:234::o;2004:584::-;2160:4;2202:3;2191:9;2187:19;2179:27;;2215:48;2253:9;2244:6;2238:13;2215:48;:::i;:::-;-1:-1:-1;;;;;2323:4:96;2315:6;2311:17;2305:24;2301:57;2294:4;2283:9;2279:20;2272:87;2427:10;2419:4;2411:6;2407:17;2401:24;2397:41;2390:4;2379:9;2375:20;2368:71;2507:10;2499:4;2491:6;2487:17;2481:24;2477:41;2470:4;2459:9;2455:20;2448:71;2575:4;2567:6;2563:17;2557:24;2550:4;2539:9;2535:20;2528:54;2004:584;;;;:::o;2824:373::-;2919:6;2927;2980:2;2968:9;2959:7;2955:23;2951:32;2948:52;;;2996:1;2993;2986:12;2948:52;-1:-1:-1;;3041:23:96;;;3161:2;3146:18;;;3133:32;;-1:-1:-1;2824:373:96:o;3749:443::-;3826:6;3834;3842;3895:2;3883:9;3874:7;3870:23;3866:32;3863:52;;;3911:1;3908;3901:12;3863:52;3934:29;3953:9;3934:29;:::i;:::-;3924:39;;4013:2;4002:9;3998:18;3985:32;-1:-1:-1;;;;;4050:5:96;4046:46;4039:5;4036:57;4026:85;;4107:1;4104;4097:12;4026:85;3749:443;;4130:5;;-1:-1:-1;;;4182:2:96;4167:18;;;;4154:32;;3749:443::o;4615:261::-;4716:6;4769:2;4757:9;4748:7;4744:23;4740:32;4737:52;;;4785:1;4782;4775:12;4737:52;-1:-1:-1;4830:16:96;;4615:261;-1:-1:-1;4615:261:96:o;4881:127::-;4942:10;4937:3;4933:20;4930:1;4923:31;4973:4;4970:1;4963:15;4997:4;4994:1;4987:15;5013:112;5045:1;5071;5061:35;;5076:18;;:::i;:::-;-1:-1:-1;5110:9:96;;5013:112::o;6457:127::-;6518:10;6513:3;6509:20;6506:1;6499:31;6549:4;6546:1;6539:15;6573:4;6570:1;6563:15;6589:125;6654:9;;;6675:10;;;6672:36;;;6688:18;;:::i;6719:300::-;6901:2;6886:18;;6913:41;6890:9;6936:6;6913:41;:::i;:::-;6963:50;7009:2;6998:9;6994:18;6986:6;6963:50;:::i;7293:128::-;7360:9;;;7381:11;;;7378:37;;;7395:18;;:::i;8289:218::-;-1:-1:-1;;;;;8395:34:96;;;8359;;;8355:75;;8442:36;;8439:62;;;8481:18;;:::i;8775:168::-;8848:9;;;8879;;8896:15;;;8890:22;;8876:37;8866:71;;8917:18;;:::i;9472:120::-;9512:1;9538;9528:35;;9543:18;;:::i;:::-;-1:-1:-1;9577:9:96;;9472:120::o;9876:195::-;-1:-1:-1;;;;;9945:27:96;;;9974;;;9941:61;;10014:28;;10011:54;;;10045:18;;:::i;11029:198::-;-1:-1:-1;;;;;11129:27:96;;;11100;;;11096:61;;11169:29;;11166:55;;;11201:18;;:::i","linkReferences":{},"immutableReferences":{"9774":[{"start":1076,"length":32},{"start":1480,"length":32},{"start":1924,"length":32},{"start":2212,"length":32},{"start":2760,"length":32},{"start":3111,"length":32},{"start":3282,"length":32},{"start":4421,"length":32},{"start":5438,"length":32},{"start":5624,"length":32}],"9776":[{"start":1114,"length":32},{"start":1395,"length":32},{"start":1825,"length":32},{"start":2487,"length":32},{"start":4182,"length":32}],"9779":[{"start":1022,"length":32},{"start":3868,"length":32},{"start":4877,"length":32}],"9781":[{"start":878,"length":32},{"start":4799,"length":32},{"start":4932,"length":32}],"9783":[{"start":1187,"length":32},{"start":3708,"length":32},{"start":3760,"length":32}],"9785":[{"start":581,"length":32},{"start":5759,"length":32}],"9787":[{"start":493,"length":32},{"start":2073,"length":32},{"start":6039,"length":32},{"start":6282,"length":32}],"9789":[{"start":1290,"length":32},{"start":2114,"length":32},{"start":3073,"length":32}],"9791":[{"start":775,"length":32},{"start":3249,"length":32}]}},"methodIdentifiers":{"LAG_IN_EPOCHS_FOR_RANDAO()":"7a27d3a3","LAG_IN_EPOCHS_FOR_SET_SIZE()":"c504312a","getActiveDuration()":"ef9e36e5","getBondSize()":"37722a7f","getBondToken()":"83d6f7f1","getCandidateAtIndex(uint256)":"3349b59f","getCandidateAtIndexForHatch(uint256,uint256)":"359346d5","getCandidateCount()":"30a56347","getCandidateCountForHatch(uint256)":"d7c4ccf5","getCandidateInfo(address)":"28bde1e1","getCurrentHatch()":"ae40f1bf","getDesignatedProposer(uint256)":"19db12d2","getFailedHatchPunishment()":"181803d9","getFirstEpoch(uint256)":"735b69b6","getFrequency()":"0a42f86f","getHatch(uint256)":"ff549fe1","getLagInHatches()":"ad7c1321","getProposingExitDelay()":"2a2629f6","getRollup()":"a4d2342a","getSeedTimestamp(uint256)":"33fac65e","getSetTimestamp(uint256)":"182cad59","getWithdrawalTax()":"d0e4f574","initiateExit()":"90f72273","isCandidate(address)":"d51b9e93","isHatchOpen(uint256)":"3a30aefe","isHatchPrepared(uint256)":"147d97bd","isHatchValidated(uint256)":"ba4f6a78","joinCandidateSet()":"d6f1c601","leaveCandidateSet()":"8a35146c","selectCandidates()":"6fb9935c","updateSubmittedArchive(address,uint128,bytes32)":"46c32618","validateProofSubmission(uint256)":"eeacfa8c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rollup\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_bondToken\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"_bondSize\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"_withdrawalTax\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"_failedHatchPunishment\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"_frequency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_activeDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lagInHatches\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_proposingExitDelay\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AddressSnapshotLib__CannotAddAddressZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"AddressSnapshotLib__IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"EscapeHatch__AlreadyInCandidateSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__AlreadyValidated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EscapeHatch__InvalidConfiguration\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enum Status\",\"name\":\"expected\",\"type\":\"uint8\"},{\"internalType\":\"enum Status\",\"name\":\"actual\",\"type\":\"uint8\"}],\"name\":\"EscapeHatch__InvalidStatus\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__NoDesignatedProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"exitableAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTime\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__NotExitableYet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"EscapeHatch__NotInCandidateSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rollup\",\"type\":\"address\"}],\"name\":\"EscapeHatch__OnlyRollup\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__SetUnstable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"checkpointNumber\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"archive\",\"type\":\"bytes32\"}],\"name\":\"ArchiveUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"exitableAt\",\"type\":\"uint256\"}],\"name\":\"CandidateExitInitiated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountReturned\",\"type\":\"uint256\"}],\"name\":\"CandidateExited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CandidateJoined\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"CandidateSelected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"punishment\",\"type\":\"uint256\"}],\"name\":\"ProofValidated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"LAG_IN_EPOCHS_FOR_RANDAO\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAG_IN_EPOCHS_FOR_SET_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBondSize\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBondToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getCandidateAtIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"},{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getCandidateAtIndexForHatch\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCandidateCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getCandidateCountForHatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_candidate\",\"type\":\"address\"}],\"name\":\"getCandidateInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Status\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"},{\"internalType\":\"uint32\",\"name\":\"exitableAt\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"lastCheckpointNumber\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"lastSubmittedArchive\",\"type\":\"bytes32\"}],\"internalType\":\"struct CandidateInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentHatch\",\"outputs\":[{\"internalType\":\"Hatch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getDesignatedProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFailedHatchPunishment\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getFirstEpoch\",\"outputs\":[{\"internalType\":\"Epoch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFrequency\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"getHatch\",\"outputs\":[{\"internalType\":\"Hatch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLagInHatches\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProposingExitDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRollup\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getSeedTimestamp\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getSetTimestamp\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWithdrawalTax\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initiateExit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_candidate\",\"type\":\"address\"}],\"name\":\"isCandidate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"isHatchOpen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOpen\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"isHatchPrepared\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"isHatchValidated\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"joinCandidateSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"leaveCandidateSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"selectCandidates\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_checkpointNumber\",\"type\":\"uint128\"},{\"internalType\":\"bytes32\",\"name\":\"_archive\",\"type\":\"bytes32\"}],\"name\":\"updateSubmittedArchive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"validateProofSubmission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Aztec Labs\",\"details\":\"The escape hatch opens for ACTIVE_DURATION epochs every FREQUENCY epochs. A candidate is randomly selected from a bonded candidate set using snapshotted data to prevent bias. Key security properties: - Candidates must post a significant bond (BOND_SIZE) - Candidates are punished if they fail to propose or prove (FAILED_HATCH_PUNISHMENT) - All exits incur a tax (WITHDRAWAL_TAX) - Candidate set is snapshotted before RANDAO to prevent manipulation - Candidate does NOT receive access to governance\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{\"getActiveDuration()\":{\"returns\":{\"_0\":\"The number of epochs an escape hatch remains open\"}},\"getBondSize()\":{\"returns\":{\"_0\":\"The amount of tokens required to join the candidate set\"}},\"getBondToken()\":{\"returns\":{\"_0\":\"The ERC20 token used for candidate bonds\"}},\"getCandidateAtIndex(uint256)\":{\"params\":{\"_index\":\"The index in the candidate set\"},\"returns\":{\"_0\":\"The candidate address at the given index\"}},\"getCandidateAtIndexForHatch(uint256,uint256)\":{\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\",\"_index\":\"The index in the snapshot\"},\"returns\":{\"_0\":\"The candidate address at the given index in the snapshot\"}},\"getCandidateCount()\":{\"returns\":{\"_0\":\"The number of candidates in the active set\"}},\"getCandidateCountForHatch(uint256)\":{\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\"},\"returns\":{\"_0\":\"The number of candidates in the snapshot for this hatch\"}},\"getCandidateInfo(address)\":{\"params\":{\"_candidate\":\"The candidate address\"},\"returns\":{\"_0\":\"The candidate's information\"}},\"getCurrentHatch()\":{\"returns\":{\"_0\":\"The current hatch number\"}},\"getDesignatedProposer(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"The designated proposer address (address(0) if none)\"}},\"getFailedHatchPunishment()\":{\"returns\":{\"_0\":\"The amount deducted from bond on failed hatch\"}},\"getFirstEpoch(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"The first epoch of the hatch\"}},\"getFrequency()\":{\"returns\":{\"_0\":\"The number of epochs between escape hatch windows\"}},\"getHatch(uint256)\":{\"params\":{\"_epoch\":\"The epoch\"},\"returns\":{\"_0\":\"The hatch number\"}},\"getLagInHatches()\":{\"returns\":{\"_0\":\"The number of hatches ahead candidates are selected for\"}},\"getProposingExitDelay()\":{\"returns\":{\"_0\":\"The additional seconds a proposer must wait after hatch ends before exiting\"}},\"getRollup()\":{\"returns\":{\"_0\":\"The rollup contract address\"}},\"getSeedTimestamp(uint256)\":{\"details\":\"This is after the freeze timestamp to prevent manipulation of the candidate set based on known RANDAO values.\",\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\"},\"returns\":{\"_0\":\"The timestamp at which the RANDAO seed is sampled for this hatch\"}},\"getSetTimestamp(uint256)\":{\"details\":\"The snapshot taken at this timestamp determines who was eligible to be selected as proposer for this hatch.\",\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\"},\"returns\":{\"_0\":\"The timestamp at which the candidate set was frozen for this hatch\"}},\"getWithdrawalTax()\":{\"returns\":{\"_0\":\"The amount deducted from bond on exit\"}},\"initiateExit()\":{\"custom:reverts\":\"EscapeHatch__NotInCandidateSet if caller is not in the candidate setEscapeHatch__InvalidStatus if caller's status is not ACTIVE\",\"details\":\"The exit may be immediate or delayed depending on timing relative to next hatch\"},\"isCandidate(address)\":{\"params\":{\"_candidate\":\"The address to check\"},\"returns\":{\"_0\":\"True if the address is in the active candidate set\"}},\"isHatchOpen(uint256)\":{\"params\":{\"_epoch\":\"The epoch to check\"},\"returns\":{\"isOpen\":\"True if the epoch is within the escape hatch active duration\",\"proposer\":\"The designated proposer for this hatch (address(0) if none or not open)\"}},\"isHatchPrepared(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"True if the hatch has been prepared\"}},\"isHatchValidated(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"True if the hatch has been validated\"}},\"joinCandidateSet()\":{\"custom:reverts\":\"EscapeHatch__AlreadyInCandidateSet if caller is already in the candidate setEscapeHatch__InvalidStatus if caller has a non-NONE status\",\"details\":\"Transfers BOND_SIZE tokens from the caller\"},\"leaveCandidateSet()\":{\"custom:reverts\":\"EscapeHatch__InvalidStatus if caller's status is not EXITINGEscapeHatch__NotExitableYet if exitableAt has not been reached\",\"details\":\"Only callable after exitableAt timestamp has passed\"},\"selectCandidates()\":{\"custom:reverts\":\"EscapeHatch__SetUnstable if called before the freeze timestamp (defense in depth)\",\"details\":\"Called permissionlessly to set up the next hatch. Uses snapshotted candidate set and RANDAO for unbiased selection.\"},\"updateSubmittedArchive(address,uint128,bytes32)\":{\"custom:reverts\":\"EscapeHatch__OnlyRollup if caller is not the Rollup contract\",\"params\":{\"_archive\":\"The archive root of the proposed checkpoint\",\"_checkpointNumber\":\"The checkpoint number being proposed, safely downcasted to 32 bits\",\"_proposer\":\"The escape hatch proposer\"}},\"validateProofSubmission(uint256)\":{\"custom:reverts\":\"EscapeHatch__AlreadyValidated if the hatch has already been validatedEscapeHatch__NoDesignatedProposer if no proposer was designated for the hatchEscapeHatch__InvalidStatus if proposer's status is not PROPOSINGEscapeHatch__NotExitableYet if called before exitableAt timestamp\",\"details\":\"Checks that blocks were proposed and proven. Applies punishment if not. This is the ONLY way to transition from PROPOSING to EXITING.\",\"params\":{\"_hatch\":\"The hatch to validate\"}}},\"title\":\"EscapeHatch\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"LAG_IN_EPOCHS_FOR_RANDAO()\":{\"notice\":\"Number of epochs to look back from the START of the hatch for stable RANDAO\"},\"LAG_IN_EPOCHS_FOR_SET_SIZE()\":{\"notice\":\"Number of epochs to look back from the START of the hatch for stable candidate set\"},\"getActiveDuration()\":{\"notice\":\"Get the active duration of each escape hatch in epochs\"},\"getBondSize()\":{\"notice\":\"Get the required bond size for candidates\"},\"getBondToken()\":{\"notice\":\"Get the bond token address\"},\"getCandidateAtIndex(uint256)\":{\"notice\":\"Get the candidate address at a given index in the current active set\"},\"getCandidateAtIndexForHatch(uint256,uint256)\":{\"notice\":\"Get the candidate address at a given index in the snapshot for a target hatch\"},\"getCandidateCount()\":{\"notice\":\"Get the current number of active candidates\"},\"getCandidateCountForHatch(uint256)\":{\"notice\":\"Get the number of candidates in the snapshot for a target hatch\"},\"getCandidateInfo(address)\":{\"notice\":\"Get information about a candidate\"},\"getCurrentHatch()\":{\"notice\":\"Get the current hatch based on the current epoch\"},\"getDesignatedProposer(uint256)\":{\"notice\":\"Get the designated proposer for a hatch\"},\"getFailedHatchPunishment()\":{\"notice\":\"Get the punishment for failing to fulfill proposer duties\"},\"getFirstEpoch(uint256)\":{\"notice\":\"Get the first epoch of a hatch\"},\"getFrequency()\":{\"notice\":\"Get the frequency of escape hatches in epochs\"},\"getHatch(uint256)\":{\"notice\":\"Convert an epoch to its corresponding hatch number\"},\"getLagInHatches()\":{\"notice\":\"Get the lag in hatches for candidate selection\"},\"getProposingExitDelay()\":{\"notice\":\"Get the additional exit delay after proposing\"},\"getRollup()\":{\"notice\":\"Get the rollup contract address\"},\"getSeedTimestamp(uint256)\":{\"notice\":\"Get the seed timestamp for a target hatch's RANDAO sampling\"},\"getSetTimestamp(uint256)\":{\"notice\":\"Get the freeze timestamp for a target hatch's candidate snapshot\"},\"getWithdrawalTax()\":{\"notice\":\"Get the withdrawal tax applied when exiting\"},\"initiateExit()\":{\"notice\":\"Initiate exit from the candidate set\"},\"isCandidate(address)\":{\"notice\":\"Check if an address is in the candidate set\"},\"isHatchOpen(uint256)\":{\"notice\":\"Check if an epoch is within an open escape hatch period\"},\"isHatchPrepared(uint256)\":{\"notice\":\"Check if a hatch has been prepared\"},\"isHatchValidated(uint256)\":{\"notice\":\"Check if a hatch has been validated\"},\"joinCandidateSet()\":{\"notice\":\"Join the escape hatch candidate set by depositing the required bond\"},\"leaveCandidateSet()\":{\"notice\":\"Complete exit from the candidate set and reclaim bond minus tax\"},\"selectCandidates()\":{\"notice\":\"Prepare the designated proposer for an upcoming escape hatch\"},\"updateSubmittedArchive(address,uint128,bytes32)\":{\"notice\":\"Update the last submitted archive for a proposer during escape hatch\"},\"validateProofSubmission(uint256)\":{\"notice\":\"Validate that the designated proposer fulfilled their duty\"}},\"notice\":\"The escape hatch provides censorship resistance by allowing a designated proposer to bypass the committee and propose blocks during periodic \\\"escape hatch\\\" windows.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/EscapeHatch.sol\":\"EscapeHatch\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@aztec-blob-lib/=src/mock/libraries/\",\":@aztec/=src/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@oz/=lib/openzeppelin-contracts/contracts/\",\":@test/=test/\",\":@zkpassport-test/=lib/circuits/src/solidity/test/\",\":@zkpassport/=lib/circuits/src/solidity/src/\",\":circuits/=lib/circuits/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x4251fed1ac036ad28996501522371736318527d7bf2bf7d66fbd2769d6c4771b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2df261bd4de240f54c5829faeaf0ffc919a01f1497cf7ffd8a9a544bdec8fca\",\"dweb:/ipfs/Qmb9ndUuv9RZPKJXZGzjVuhmNuoizxuGRn4QMBmdmLcxS3\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb\",\"dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x9e82c00fb176503860139c6bbf593b1a954ee7ff97ab2969656571382b9b58a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34b4eb157b44d4441315db65561ba7cf0fe909dc598c2cfd7080d203077d5b57\",\"dweb:/ipfs/QmcNdvK3kDUAUr48urHxoeHd1TqVDya4YfZTM66i4goEJn\"]},\"lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x2c33f654cefbbe80a9b436b5792cfe8bda2e87f139f110073c99762558db252f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc7ebd80046a52f28978cf46a24ff3e4c8568264ab6bb138038951c75d576167\",\"dweb:/ipfs/QmQQjXVr4CbDR3DXd8GHEqn3JSJYTnbBHMJp9tvc29yXrc\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol\":{\"keccak256\":\"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e\",\"dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"src/core/EscapeHatch.sol\":{\"keccak256\":\"0x8baf5684efe89c864e22115a988420ffe485eb8d1f581b58658bd90d93a9bf93\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://667734ab1dd831a17f11be00f5ef7d69c3ff8b1e089d4ed44c64dab65a7ffad3\",\"dweb:/ipfs/QmNyJh6ryJu2HjCToeMM4wiuQCZca5twzVTSN5oRFDLv1j\"]},\"src/core/interfaces/IEscapeHatch.sol\":{\"keccak256\":\"0x2f25d826b72d6d4de7beace10c776622bd453ca30aa48811c17a31cb2486cec1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3f9ea0408b5aec10c7842d54949587707ae03ba0fed73cf8b0e965f4eb5bfd47\",\"dweb:/ipfs/QmNSgjTSdLLa9AQgbg9T9XuJccsbAmtiBhxUqo7bAy2i3X\"]},\"src/core/interfaces/IFeeJuicePortal.sol\":{\"keccak256\":\"0xce84c8907395b4c11cc6dd8035d8e14560153450f9d88340cfb8abb914c66639\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f5eb389f1a6e9adbb2f24dad7a6c0bc706d49decad82ba9b582c288e12eddda6\",\"dweb:/ipfs/QmNM3uQmJYn9B6RAHSMUT3TZMR6R75okjJErUEsuRjxGXt\"]},\"src/core/interfaces/IInstance.sol\":{\"keccak256\":\"0xa533299c53255b83b8e1b655781f36ba5bbe168849db712fb4a9312f57f9f1bb\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc593975d89f7b465c6822a5a79621d559ea12b24498b9c503019ad80cd89550\",\"dweb:/ipfs/QmdtJZ3fvL6RfYLBkJBYUMSU6u2e2kREK59w6LQpr68CVS\"]},\"src/core/interfaces/IRollup.sol\":{\"keccak256\":\"0x2e40eed59a33f6de63d8b5772b608a0a448f07f9d507d30b4b2c97b071cdf812\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5d4cea18f1e5493c31e5c1edbe4e69a11a9fb2420f02115b59d83fd261849d17\",\"dweb:/ipfs/QmXzEuSiGSN8xbe6vgRwgym4TFHn47mpKTj1DTXNiyvp9g\"]},\"src/core/interfaces/ISlasher.sol\":{\"keccak256\":\"0x3ced9a9f08a8e5deb94b87759248f0d9bfe515117092df50707582d7dd1dd46b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c999bb8f58ab19f88bec4e1cf73c36daeece958fa05e2dc3ea4e4e730f473f63\",\"dweb:/ipfs/QmXKrqwd4LVj7g8d9qjmx6DLSCD5UNuySHNvk532nFgsxw\"]},\"src/core/interfaces/IStaking.sol\":{\"keccak256\":\"0x9b0611d6374ed3a4adbe4266d94646ac7b0636d182882e7bfe23ef02a8ceaba0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d58c7a83a531bfeffb9e2d0bef537736b04ae212c451477a67b66e913db8c647\",\"dweb:/ipfs/QmXe8MxZMyxcKsr4FoJHhDdGhax9CKpFZxrNXukvjWBXC1\"]},\"src/core/interfaces/IValidatorSelection.sol\":{\"keccak256\":\"0x13d66fe5c01bb3678843b38356a35eab714f6566f4bde58e361010414ed6c2e6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6952c57e64757fbb92d65856f3cde1bb30d62b0ffcea0303a59956852dc8e4ed\",\"dweb:/ipfs/QmbFMP1YqnLFr8TNu3J6Rj3CDYVDCrSqmhdfpEzF8CtMPH\"]},\"src/core/interfaces/IVerifier.sol\":{\"keccak256\":\"0xf5b6025ff3d59b8922bb45fb05786764e74109b4a349d206b8a7979f46484c55\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://98ec47ac3e15b1d8f2c80854ed6fd83e655e9e96341bb827f3be8e6b47f4c7fb\",\"dweb:/ipfs/QmcmUkLgM7fb7mEaJTiWJWrZTW2kAWtRcYS6imBfmueALe\"]},\"src/core/interfaces/messagebridge/IInbox.sol\":{\"keccak256\":\"0xe35d2fa0af9ce35b36d8a0093b9f2456f35f62ad457bee84ead9144695556990\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://18353dd7ebffcec377bb820395309df7c48b99f46f76b2fd9432a4e19c387e2e\",\"dweb:/ipfs/QmPFeVuB3LsCMLVZuezgaUwav4PsPnheDf4ovR3apD13uW\"]},\"src/core/interfaces/messagebridge/IOutbox.sol\":{\"keccak256\":\"0x72bc82e9c9afced01c565dcb630339fbb4507d13c0bd88c26f62efb5d8391919\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b8693d5f385aa40db8b19940fe845feceea431f70626168fcc38d72fd4682699\",\"dweb:/ipfs/QmTquAwAEmDZ9CGcKTRsi3ti2z1sPnfrGRWGpqsyDnFt1R\"]},\"src/core/libraries/ConstantsGen.sol\":{\"keccak256\":\"0x046163842ee37e465e8fb1d2fd629429b01078113b552bd3fb536b9a2222a1a9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6b827da391a4b03b6659988e5fdeda510ad1d891066ad614eff5ee4257c5896c\",\"dweb:/ipfs/QmYsvNRze6Mk8kfXsPgNzmCQtAZmaDfBCqowQGM8B6VZWE\"]},\"src/core/libraries/DataStructures.sol\":{\"keccak256\":\"0x5ea9d1097f0b53eafbd72332d4c5c517307e5a056266befe5b46f5f43ee3d83c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1a742311dc3c5ead2d5361549f017d20f46c40a4e74e879823ac168cf5b572d4\",\"dweb:/ipfs/QmTNDc1fiPti41QqJTJQoV9uduB6eXaQhbfq1hfVVjVNvS\"]},\"src/core/libraries/Errors.sol\":{\"keccak256\":\"0xb3df9024b0b1a89963b0d9580d54f304b1bd07d3c08e0068ec2a3238cbfa47f4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://37d805b2aa067b147a2b62c8d369e6ecd2f180c17d4fcf5020e88bfe09b0386e\",\"dweb:/ipfs/QmXEqq1M9QzdgmvXtdgddvpjRNAHGG1QAG7PmdjfcdqWYR\"]},\"src/core/libraries/HatchMath.sol\":{\"keccak256\":\"0xca787b2889e281c8db132043312aa9513315669782981689824344c910833fe4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://77ec2f6b5919d53d3a7128f6006155f2566a84e7a56cd26e9d5e6d1514ccd7a2\",\"dweb:/ipfs/Qmc3Z2quujEwxQU1JBfrxhkiULaczspBsTMjXibqXCjFyd\"]},\"src/core/libraries/SlashRoundLib.sol\":{\"keccak256\":\"0x6773eea1fa593e5c1e16fcd3a8341b537bf5ed7ee2f10472649dfd542e3ade8e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://756bdaa3facd4034149eeb3553ae99777b646c3e16abf8d41f9558e74249baa6\",\"dweb:/ipfs/QmNpb62diGKNKf5pcynejjhNex9c6PTkZnVUeuLvJ2qCZ9\"]},\"src/core/libraries/StakingQueue.sol\":{\"keccak256\":\"0xbbeafda1659a92be14ec5b77838952a089f075cc1d0c5f348b6ff336ea6a1a98\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f3c8bdb1de77dab697ef4442f72fa4830c757059f8d948d2f3aeb7f6983aa64f\",\"dweb:/ipfs/QmSDYdTnFo8nx34q3fdJCKpy8DCnKBQ4isxr49o4sY5T6T\"]},\"src/core/libraries/TimeLib.sol\":{\"keccak256\":\"0x8e97dd7227578af6d5483a56164076f065007abe421247cfce4e693bf6c5be06\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7bc004dac3dc9e920061135c3c9eb9986935cc7b2715d3e5f0b787d4ab07a2b0\",\"dweb:/ipfs/QmUPmvvwTCdFzxd6n8cpX3otgfFGMPaaD8bCed6B1Z4euH\"]},\"src/core/libraries/compressed-data/CheckpointLog.sol\":{\"keccak256\":\"0x15a6af93a142210201d8ed71c8e7a507f2316b030f22582567a8026aabf8f081\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://2f7133944a2fc8deefe97544f659fb01aefd22a0124bb9416ce168f1c860545a\",\"dweb:/ipfs/QmaNHSorjRndPDuxxvuNyfPJtS27meUK6Sf4rmJUF9ruWr\"]},\"src/core/libraries/compressed-data/StakingQueueConfig.sol\":{\"keccak256\":\"0x32b00fd08e1754d9d9c9b377ae0a0ea887ace519db0ec6d252e1b2216891068e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4ecea0a1ff8536819d37d3800b2915249b5c854d9dc611e91aae81df6acf7d76\",\"dweb:/ipfs/Qmf3FgXCf1MP78p5B76kQnwx8yXFXncutVzQhV2fteBvVn\"]},\"src/core/libraries/compressed-data/Tips.sol\":{\"keccak256\":\"0xdf872f54470e59b86349871e2c12075e8daaad85894f90e64f92538daf5f4008\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://493e4bc02c6e9acbb5bfaa68f19bf4defb409211b701784e43d2ca6cbc11ccd1\",\"dweb:/ipfs/QmSUahndZ78LBx6WdozXWL6QkqxZXzrXpHna2kGwCqgy34\"]},\"src/core/libraries/compressed-data/fees/FeeConfig.sol\":{\"keccak256\":\"0x483176bf56f20b48e86b3f35adb063f73cd0b475ffde7f32a67b6d6f4acafed9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3e6a360d83832f65432c3e10afa029593b4988c0fea347ebeddadbf9d382aaec\",\"dweb:/ipfs/QmUZZqYXsdzznfuwM8N5MHbFK5GAjZTXqsYj8YHn8kVuNF\"]},\"src/core/libraries/compressed-data/fees/FeeStructs.sol\":{\"keccak256\":\"0xa051bd0fbba07e5f66077e26082c5e19a83cb20d6bb7efb516a38d4bc4f4c244\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://915a5c621123624e51d9925d77d940334930b17628a7959d13a60eb3abc45462\",\"dweb:/ipfs/QmeF2TaMbwvA9AFDiMB7rNBbFViDvmGiAk7mp49dRMbrpt\"]},\"src/core/libraries/crypto/Hash.sol\":{\"keccak256\":\"0x8d712593cc9ee681716dbe725ad7a0f73e28d48f854973f84e586010bbe3bec6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5966c1b8bd29cae0c99442de7b271160aa9b9db326712610c60d12007c51051a\",\"dweb:/ipfs/QmSdtUU5EyA76vzB786bJcPTuJYEJRzfAV2XEpZf7NSU4i\"]},\"src/core/libraries/crypto/SampleLib.sol\":{\"keccak256\":\"0x59e87e7d6a1e966c0f73bd919825ff7d81dc898625fe9fd20e6786e10b43783e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a931d31192faf6d9d9c82fc7099a776b5886d90dd0a2a9ee8093cc680dfdef70\",\"dweb:/ipfs/QmbQjTTf96tr2WSiuoWK8k984dGuXKooZWZ5o9EL7wEPhv\"]},\"src/core/libraries/rollup/AttestationLib.sol\":{\"keccak256\":\"0xb5bf4bf1996a3e9e17a662dcb805fec075fa6ef1ce1d15c959ce7903b156d552\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ee776eef1dc3cb02b49c56fdb8917392cbfa75d386357a09ad650b8e1fe8091f\",\"dweb:/ipfs/QmXBcSNdqeDVNbZkpG1iQr1ahabrBieWzBoEbZeF4VN967\"]},\"src/core/libraries/rollup/BlobLib.sol\":{\"keccak256\":\"0x40be24c3f297efce26b76cf2f674454344a20ba8b8fde7cdfd4c7ecfe339a507\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6c37144509a9269c3fe0f0791649ef4f74e5db0b54d8b27c68a1558be2ccd350\",\"dweb:/ipfs/QmT4Fc8um96XkUWd1kJrdnHKvwqKouJtJW8zUaig5nVFQx\"]},\"src/core/libraries/rollup/FeeLib.sol\":{\"keccak256\":\"0x2060a7c826871fec743c2f04771a01800e2881a90b32c33fb4215b73a8227c44\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://818ce0ae57ed4fa3823f78715efd44c1729f9292092ba146eeff256e64e8ea01\",\"dweb:/ipfs/QmZjpd6sZtxcCbEB46kxPo3f7yg4XuDKAHYGCTggfFSvMR\"]},\"src/core/libraries/rollup/ProposeLib.sol\":{\"keccak256\":\"0xa4483749d4f477171427c9fac6d0abf8d5198d4dd9dd46b88399a2a78bfced3a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://723e1dae067b035c6e587599eb55c8e7bacba3be4e17ea4e090ee4367bbb3889\",\"dweb:/ipfs/QmbFDJsD1ad3gpvCH5ced9HF7sUDp1o9ZM7UKyGaYzbkYS\"]},\"src/core/libraries/rollup/ProposedHeaderLib.sol\":{\"keccak256\":\"0x2e27def9ee3992c1c69ea5c30c5e91a886a6d9ee1580e8e9187b99d5e63b8a34\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f35436a3bd2ad063d02240a63768e9f358b2b800910824763e571e6092aef0f0\",\"dweb:/ipfs/QmZfsZ4CLTg7aGjgMd9Hj3Uu1wYGFmAXLvcXiCyVhxEWeh\"]},\"src/core/libraries/rollup/RewardLib.sol\":{\"keccak256\":\"0xf184ce5d7d099a79ca888d4f9af56407ca62ea5341232a03061a3c195ee840b4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://115622750be936670769cfbe74c6ed84ec052527ce7622d085098f063701140c\",\"dweb:/ipfs/QmfHeiEBjC9gcpwyiqi7cFuv3WBZ6ixng3uoWpBqX9Nt2X\"]},\"src/core/libraries/rollup/STFLib.sol\":{\"keccak256\":\"0xb96994e4db0431c14ffde9000e5fc0653f3055e566665b5bb250f4f1651f48d7\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bf7d33ed26dbfc9d6bf7e1a22e1a5bfa83de64b2c9ab0ba0e2025b0dffc007c9\",\"dweb:/ipfs/QmZsxV1oY4YuzK1GkY7zqjcZmmLvYstGT7CJN7Zw8cYwu5\"]},\"src/core/libraries/rollup/StakingLib.sol\":{\"keccak256\":\"0x1ece6784f7a3b59c913f74287be4c913579642c7d1d111f47bda85cd9945b2c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://33c205133d7015f67f4397efb27a9656ae97190d4699605507027a1102324a28\",\"dweb:/ipfs/QmbexoP2SZAngqKGtrS8y1dUjRwDC2jZ8cqqK58svyA67i\"]},\"src/core/libraries/rollup/ValidatorSelectionLib.sol\":{\"keccak256\":\"0xe51a65e258ecf8bf2c6f45fa6ec8058840cc71030a2f364ec5d78c8120a6d493\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1aeabf22967ba3e71ea423b077aaba27d13b4d2d4914a1ad7b0cced3d77c0d4d\",\"dweb:/ipfs/QmeGfNWe4WrmpvpTRwYX43XYgb43KkoPeSRvSNonLYMo2n\"]},\"src/core/reward-boost/RewardBooster.sol\":{\"keccak256\":\"0x2e36fb83cdfd01416fc504e1ad20cf2890544a819dfd43d06e33509883fbc70f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7b9fa97befd572a5dc21d8a0290194b750424c473b4eb7f12cd7b7225cf593fa\",\"dweb:/ipfs/QmVDFXEuNJj4vmhR29HAZnB9TRXvEWtugEQpQfXPCcTU4W\"]},\"src/governance/Bn254LibWrapper.sol\":{\"keccak256\":\"0xea39571de45fe0fec82d9e760998677eb2432e08c6cdb00c41efa58caf56e607\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1e470b821f3d87fa0c988c5f23a8deed3849bffd2527b3b4ee137a90e0c1264c\",\"dweb:/ipfs/QmW3M4HyRLDruV5AYXCKicFCiiczmwnSTtnwVKUnQSm7a8\"]},\"src/governance/GSE.sol\":{\"keccak256\":\"0xc19fa4868d78030e2411dd5cef6d0da09645ade1d1ea0c4374b284a89feb722a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d06396c249566d0e9de5d34eade2bf27c4d583005c0129787bf6c413dcd9e273\",\"dweb:/ipfs/QmcimKKiV9KqobS5wzPsKYzyYu5WezCF3gyHkekf5tjrUU\"]},\"src/governance/GSEPayload.sol\":{\"keccak256\":\"0x40e5385b008f0335b50e066c647bb906685511c9fef206ce90a3391468558bae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a129e87e1d57cf0813b14108cbdbcdd4c114b20f3f2d67477302d6d050120c7e\",\"dweb:/ipfs/QmRcQQkeDhkrmQha3nkA8qvXnGmF6nLhZMKAhMx61A7a5y\"]},\"src/governance/Governance.sol\":{\"keccak256\":\"0x07770c3d80369adae51be8e361f63a2aa5ec489b354b10c8590be1e294dfe2e5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7219becf3467ea8368dba0bd093ba932b165cf3f214e7286f652e2730bf42eaf\",\"dweb:/ipfs/QmTSCDhSQBTKhzGUk12phxhqohSba6yopYMzF5T5XPFUWw\"]},\"src/governance/interfaces/IBn254LibWrapper.sol\":{\"keccak256\":\"0xdd0a3de8b8ff67cf2bf090d04b4a37aa6d604f402db3328387d2466d2354464a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://daef0234547509cd7ae3a7babf0e50a8d1ca2894f1817e3e2409a50fd32947b9\",\"dweb:/ipfs/QmbwSedqnBfsqRnUq8XcXzoeoyhZTXJWJ9rpJn61BAJfej\"]},\"src/governance/interfaces/IEmpire.sol\":{\"keccak256\":\"0xe6a8a8c3fef8e6f9f5118bd40c63e951b13a59d5f885bbb979d38745ef760ed3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://940c1fe4138d7364ccdb7d5635ea90bafa1da274f680039b0b54ee8c2a275a9a\",\"dweb:/ipfs/QmX2EeoVyES18BMgcbKVDb36MCq8ooDVR98m2RmnmZjEAo\"]},\"src/governance/interfaces/IGovernance.sol\":{\"keccak256\":\"0xe420d305fbe7c35f4620cd1e0f05f9f4c5a91532621d21a64ea553a3d9a3c005\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1900ac41f945aa692d5228f134ae63840081d284bf89fdd2a06b45424fe359ff\",\"dweb:/ipfs/QmePFZ1xv5qfftJVDLc98XUVFsrpuKAbKZiro7MoMDTpoa\"]},\"src/governance/interfaces/IGovernanceProposer.sol\":{\"keccak256\":\"0x2be820a5452c481ffd329d68c46d0af6a286934963f26b36d363cd34fb0e5817\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f58839d1504e11e7da42b7f5a03fb9b9d8cc39ab4c16cfb86fa44c4de08df76f\",\"dweb:/ipfs/QmR6jUJozP9tfpZuSduk66E8n7WuL3zzsR3WHZ7BR2ZBX2\"]},\"src/governance/interfaces/IPayload.sol\":{\"keccak256\":\"0x5844ea725ce56ac8adeb20b2d37aa431ca087f68a65a7ca91f981be7458737c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5ea670db51b2ccfac05a684b95458ecc015c9d12a6567c3f73d473386533f58c\",\"dweb:/ipfs/QmRUB8mckkGQ4nNsErRhnKMsD9SSkokRSpnr5XZC9dZdin\"]},\"src/governance/interfaces/IProposerPayload.sol\":{\"keccak256\":\"0x89068dd464c0bfb7d447c0e99728277e03c7c4b864208ead20321f0590187248\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4d1d9ba5f8b7da374d773acde9514ca6607ad31a3e83950caa097bdb8b0f9167\",\"dweb:/ipfs/Qmd7tWAD2Ubz434zZPJvuyAGsHYpXBHvVhVefLFzUudD2o\"]},\"src/governance/interfaces/IRegistry.sol\":{\"keccak256\":\"0xc3678c04c0945d3dc1d8007df3dc7f8b25d8108b0b25134842ffc5169f996ce8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://71e4e401f1a6f561262755cc2e1c347cd3aa79e67d2e52ca547864f49de01724\",\"dweb:/ipfs/QmPvoKFEDTb41DSC3MmDMqtM3trj5oZb1Jj2jtQSnNfHBn\"]},\"src/governance/interfaces/IRewardDistributor.sol\":{\"keccak256\":\"0x7bf74c234bbe5dd7a4510ea6b8e4a6a0c28d56f5dfe5773d477eec7fb4653817\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://0c1799da536555e007ed8068b27a364cc225d7a5a06740a2097679fd6bce6d25\",\"dweb:/ipfs/QmPsHy6E4S1W16TrFLaBarDyVTicEv79HQZV8aQupSW7rj\"]},\"src/governance/libraries/AddressSnapshotLib.sol\":{\"keccak256\":\"0x1006e58059e0a1f0fef102f2f11f5649dffc7f2eb066fce51845e65a064f4210\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://de385ab9eb3bb66d7be1218b49ae9bba7d88797bcb375b9a7481a209d303a402\",\"dweb:/ipfs/QmZe6DTv3cACfdXNSMhbMhoefg31LW3uLxHLDC7nZhb4Yp\"]},\"src/governance/libraries/CheckpointedUintLib.sol\":{\"keccak256\":\"0xcd73cf7a62e4ac5cc79f7f8df8b35d5c5e4df5b8a3478bcbc2b29c9aa89ea4b4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f56f37060d39d3c9276f23c96be7f6b1ea44676312dbaa1ab16ab3bff6acebf1\",\"dweb:/ipfs/QmPDUEEgdbpTTs9r3fvdMYJo9akCRsWcJXyarBhQgcKb5q\"]},\"src/governance/libraries/ConfigurationLib.sol\":{\"keccak256\":\"0x9479ac3e2d2b268007fa2eb0262c9f5d55b5f5abd7a4f2a64d7e396d71d5b43b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f3d0db3ecad23789181abfc761f5b4710bcafa0c454fd62e768f419712cafe5c\",\"dweb:/ipfs/Qmcxr9PMvwwC2sazq1SGBkbmEgxbyobrXWNZ7yp8UcYf6d\"]},\"src/governance/libraries/DepositDelegationLib.sol\":{\"keccak256\":\"0x37fbca65ccabec9d901bd71d684dceec7c59fa5a05438fd209ea0d5e16e764c0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e42f2622978abc3ac84223a6b206201898d0269d20bf81539636c0999a0db9eb\",\"dweb:/ipfs/QmW4BgTjR6BuPxwxreKarUeK1u8gx3p9yFdDD4EsC5hkyb\"]},\"src/governance/libraries/Errors.sol\":{\"keccak256\":\"0x10969348c5c4fe013e3193377131c0c347df148d9ffce7957290b0305c14c996\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9c96d1f13e931a0cc1949739e76d32a7fa92692e52543c5d27d0f30d7f792468\",\"dweb:/ipfs/QmY1uEwJ8mfcUw3LAcsEsxULkruATGpKzqZ8kxXXZ1ncgr\"]},\"src/governance/libraries/ProposalLib.sol\":{\"keccak256\":\"0x616ffbb24c4454ca9e223e85ff01e8dca139723d5cd312d5d6f6111d79782a90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://192f9be3355a7a94d19ae4e5b397e5db19dde64ccc671e149da06dfaa2577192\",\"dweb:/ipfs/QmTDcm7XEFLe7o5cXUmuu5wQDyprU78AVMymiWvrmP4tHT\"]},\"src/governance/libraries/compressed-data/Ballot.sol\":{\"keccak256\":\"0xca07dc8cf36ac2beae7674804af144b34b3c5848153351c17d996e9b3293cd5d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6911cc49f1d6977c12f652063c14891697c1ffe49fdf36903c32a8ad73cbd012\",\"dweb:/ipfs/QmQBEZARCAAj1ZLcswkH6FwP1RP8uuNjYTHqthmE9Z5RnM\"]},\"src/governance/libraries/compressed-data/Configuration.sol\":{\"keccak256\":\"0x40744f275af22d33c38fd9c6a7b822292c9c87b17ac2c78abbef4eb8356fd9f9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://73c685be7e934516207827a59cbbeb7fc1164e7659dd3ec857a91cfea765b482\",\"dweb:/ipfs/QmQfudRpSSQnG9u4XV8iA2UAyDzQPFqWzpZy5NZbaD6htv\"]},\"src/governance/libraries/compressed-data/Proposal.sol\":{\"keccak256\":\"0x72cf619a21c8e95875c63d4361cbe1a815d9d67f36f3fe32b6c9ca4d9ab0d33a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d80f47beb3f91da3cc68264c86fc8fb8f0e4abaf9d92243ab3206407fceed5c6\",\"dweb:/ipfs/QmYyrBTDMfkTBu6EcKcSMR7JyfphZ5xH1VCQ8EHMQUvsoN\"]},\"src/governance/proposer/EmpireBase.sol\":{\"keccak256\":\"0xfeb86311b0d6c5f37db2593ec7e303cde08bd331c1a6595260abe07c5e5e633a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1fe05eb878ce4e0fc3e40f93c3f2fc9a01bb6e1e8860ec3f91dbc291d3292b3e\",\"dweb:/ipfs/Qma8myMw5anMPJ4D7s9y4Eh8SHf1dpz98WBLU5bzax6cUV\"]},\"src/governance/proposer/GovernanceProposer.sol\":{\"keccak256\":\"0xa2829df5b65856c9f1d6bf490fb50616f14402ff8eece2e32b63828b8b9337c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://8ad52830a7a3aed3477bf55f92c3d68cb1c16a5cf1d636227ab76a306c846607\",\"dweb:/ipfs/QmRonyZQZj5D1e2g4Y6Tmj2AEUnekL4pGmgdMT4ycRAM8m\"]},\"src/mock/libraries/BlobLib.sol\":{\"keccak256\":\"0xa1b19239c5c64ba1b0c9f83ec0a30059f10ded12bf40d5d7c3f65974752b3121\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cbce7d0dd0096232d60ec5c6920f211ffcaa46c8675b1129c1f939a1ee84837\",\"dweb:/ipfs/QmSS2qUhzUuZY1qHDjWUGvHuMqMG3cjHoHeDVvgWsjMdA9\"]},\"src/shared/libraries/BN254Lib.sol\":{\"keccak256\":\"0x0c3a5b7dabde2f5c81f19e1a4a212308a8636b5bb4a16bb1a518d58ef4feb6f5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://870be6219c7081ed081cee2fa9ad1e7f3efff623ae1a59aed966f2bdcee65b7a\",\"dweb:/ipfs/QmNzohb1TazCgaT1e55CMDuuG7AHdGrGA6jvT4wzxdAM52\"]},\"src/shared/libraries/CompressedTimeMath.sol\":{\"keccak256\":\"0x361023cf30593e7e27417c91af3702e75235fcab251e4ad5ac2e47306a730ec1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b192242472b3126c97a4a4e4fa792809a6bf20b548a57e677f5260c0dbf3ad3\",\"dweb:/ipfs/QmfK4WAucepcqzMLu11rs68HJazwfegVsgK5tTco82SooB\"]},\"src/shared/libraries/SignatureLib.sol\":{\"keccak256\":\"0xb69989f57384383341d1bb4693fb1e6ce31a2ab6c0fadb48bf088078a332a56a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f199be27853a14d746c567c5e3a473f474e84cfd3d119a6404e6ceff4e986e5c\",\"dweb:/ipfs/QmWsLozeiKLQbTSEUDVZK2ASEX3EodKxT4DdA9BA6bD6N2\"]},\"src/shared/libraries/TimeMath.sol\":{\"keccak256\":\"0x8da20dc8b4ce296b7c11f117a3381bfe5cd611a3512a74a500e2e54e0353417f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://18c74be98a4e31e8a16356e573514f639a8fc43928e741f6ead81dd755e9a914\",\"dweb:/ipfs/QmPDEdYYEj3DhXjrCDPuudJbhsBaNj1sK6hH94Z86168Q3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_rollup","type":"address"},{"internalType":"address","name":"_bondToken","type":"address"},{"internalType":"uint96","name":"_bondSize","type":"uint96"},{"internalType":"uint96","name":"_withdrawalTax","type":"uint96"},{"internalType":"uint96","name":"_failedHatchPunishment","type":"uint96"},{"internalType":"uint256","name":"_frequency","type":"uint256"},{"internalType":"uint256","name":"_activeDuration","type":"uint256"},{"internalType":"uint256","name":"_lagInHatches","type":"uint256"},{"internalType":"uint256","name":"_proposingExitDelay","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AddressSnapshotLib__CannotAddAddressZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"type":"error","name":"AddressSnapshotLib__IndexOutOfBounds"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[{"internalType":"address","name":"candidate","type":"address"}],"type":"error","name":"EscapeHatch__AlreadyInCandidateSet"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__AlreadyValidated"},{"inputs":[],"type":"error","name":"EscapeHatch__InvalidConfiguration"},{"inputs":[{"internalType":"enum Status","name":"expected","type":"uint8"},{"internalType":"enum Status","name":"actual","type":"uint8"}],"type":"error","name":"EscapeHatch__InvalidStatus"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__NoDesignatedProposer"},{"inputs":[{"internalType":"uint256","name":"exitableAt","type":"uint256"},{"internalType":"uint256","name":"currentTime","type":"uint256"}],"type":"error","name":"EscapeHatch__NotExitableYet"},{"inputs":[{"internalType":"address","name":"candidate","type":"address"}],"type":"error","name":"EscapeHatch__NotInCandidateSet"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"rollup","type":"address"}],"type":"error","name":"EscapeHatch__OnlyRollup"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__SetUnstable"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"address","name":"proposer","type":"address","indexed":true},{"internalType":"uint128","name":"checkpointNumber","type":"uint128","indexed":false},{"internalType":"bytes32","name":"archive","type":"bytes32","indexed":false}],"type":"event","name":"ArchiveUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"candidate","type":"address","indexed":true},{"internalType":"uint256","name":"exitableAt","type":"uint256","indexed":false}],"type":"event","name":"CandidateExitInitiated","anonymous":false},{"inputs":[{"internalType":"address","name":"candidate","type":"address","indexed":true},{"internalType":"uint256","name":"amountReturned","type":"uint256","indexed":false}],"type":"event","name":"CandidateExited","anonymous":false},{"inputs":[{"internalType":"address","name":"candidate","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"CandidateJoined","anonymous":false},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256","indexed":true},{"internalType":"address","name":"candidate","type":"address","indexed":true}],"type":"event","name":"CandidateSelected","anonymous":false},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256","indexed":true},{"internalType":"address","name":"proposer","type":"address","indexed":true},{"internalType":"bool","name":"success","type":"bool","indexed":false},{"internalType":"uint256","name":"punishment","type":"uint256","indexed":false}],"type":"event","name":"ProofValidated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"LAG_IN_EPOCHS_FOR_RANDAO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LAG_IN_EPOCHS_FOR_SET_SIZE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getActiveDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBondSize","outputs":[{"internalType":"uint96","name":"","type":"uint96"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBondToken","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCandidateAtIndex","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCandidateAtIndexForHatch","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCandidateCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCandidateCountForHatch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_candidate","type":"address"}],"stateMutability":"view","type":"function","name":"getCandidateInfo","outputs":[{"internalType":"struct CandidateInfo","name":"","type":"tuple","components":[{"internalType":"enum Status","name":"status","type":"uint8"},{"internalType":"uint96","name":"amount","type":"uint96"},{"internalType":"uint32","name":"exitableAt","type":"uint32"},{"internalType":"uint32","name":"lastCheckpointNumber","type":"uint32"},{"internalType":"bytes32","name":"lastSubmittedArchive","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentHatch","outputs":[{"internalType":"Hatch","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDesignatedProposer","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFailedHatchPunishment","outputs":[{"internalType":"uint96","name":"","type":"uint96"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getFirstEpoch","outputs":[{"internalType":"Epoch","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getHatch","outputs":[{"internalType":"Hatch","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLagInHatches","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getProposingExitDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRollup","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSeedTimestamp","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSetTimestamp","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getWithdrawalTax","outputs":[{"internalType":"uint96","name":"","type":"uint96"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initiateExit"},{"inputs":[{"internalType":"address","name":"_candidate","type":"address"}],"stateMutability":"view","type":"function","name":"isCandidate","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"isHatchOpen","outputs":[{"internalType":"bool","name":"isOpen","type":"bool"},{"internalType":"address","name":"proposer","type":"address"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"isHatchPrepared","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"isHatchValidated","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"joinCandidateSet"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"leaveCandidateSet"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"selectCandidates"},{"inputs":[{"internalType":"address","name":"_proposer","type":"address"},{"internalType":"uint128","name":"_checkpointNumber","type":"uint128"},{"internalType":"bytes32","name":"_archive","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"updateSubmittedArchive"},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"validateProofSubmission"}],"devdoc":{"kind":"dev","methods":{"getActiveDuration()":{"returns":{"_0":"The number of epochs an escape hatch remains open"}},"getBondSize()":{"returns":{"_0":"The amount of tokens required to join the candidate set"}},"getBondToken()":{"returns":{"_0":"The ERC20 token used for candidate bonds"}},"getCandidateAtIndex(uint256)":{"params":{"_index":"The index in the candidate set"},"returns":{"_0":"The candidate address at the given index"}},"getCandidateAtIndexForHatch(uint256,uint256)":{"params":{"_hatch":"The target hatch (the one being prepared/proposed for)","_index":"The index in the snapshot"},"returns":{"_0":"The candidate address at the given index in the snapshot"}},"getCandidateCount()":{"returns":{"_0":"The number of candidates in the active set"}},"getCandidateCountForHatch(uint256)":{"params":{"_hatch":"The target hatch (the one being prepared/proposed for)"},"returns":{"_0":"The number of candidates in the snapshot for this hatch"}},"getCandidateInfo(address)":{"params":{"_candidate":"The candidate address"},"returns":{"_0":"The candidate's information"}},"getCurrentHatch()":{"returns":{"_0":"The current hatch number"}},"getDesignatedProposer(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"The designated proposer address (address(0) if none)"}},"getFailedHatchPunishment()":{"returns":{"_0":"The amount deducted from bond on failed hatch"}},"getFirstEpoch(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"The first epoch of the hatch"}},"getFrequency()":{"returns":{"_0":"The number of epochs between escape hatch windows"}},"getHatch(uint256)":{"params":{"_epoch":"The epoch"},"returns":{"_0":"The hatch number"}},"getLagInHatches()":{"returns":{"_0":"The number of hatches ahead candidates are selected for"}},"getProposingExitDelay()":{"returns":{"_0":"The additional seconds a proposer must wait after hatch ends before exiting"}},"getRollup()":{"returns":{"_0":"The rollup contract address"}},"getSeedTimestamp(uint256)":{"details":"This is after the freeze timestamp to prevent manipulation of the candidate set based on known RANDAO values.","params":{"_hatch":"The target hatch (the one being prepared/proposed for)"},"returns":{"_0":"The timestamp at which the RANDAO seed is sampled for this hatch"}},"getSetTimestamp(uint256)":{"details":"The snapshot taken at this timestamp determines who was eligible to be selected as proposer for this hatch.","params":{"_hatch":"The target hatch (the one being prepared/proposed for)"},"returns":{"_0":"The timestamp at which the candidate set was frozen for this hatch"}},"getWithdrawalTax()":{"returns":{"_0":"The amount deducted from bond on exit"}},"initiateExit()":{"custom:reverts":"EscapeHatch__NotInCandidateSet if caller is not in the candidate setEscapeHatch__InvalidStatus if caller's status is not ACTIVE","details":"The exit may be immediate or delayed depending on timing relative to next hatch"},"isCandidate(address)":{"params":{"_candidate":"The address to check"},"returns":{"_0":"True if the address is in the active candidate set"}},"isHatchOpen(uint256)":{"params":{"_epoch":"The epoch to check"},"returns":{"isOpen":"True if the epoch is within the escape hatch active duration","proposer":"The designated proposer for this hatch (address(0) if none or not open)"}},"isHatchPrepared(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"True if the hatch has been prepared"}},"isHatchValidated(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"True if the hatch has been validated"}},"joinCandidateSet()":{"custom:reverts":"EscapeHatch__AlreadyInCandidateSet if caller is already in the candidate setEscapeHatch__InvalidStatus if caller has a non-NONE status","details":"Transfers BOND_SIZE tokens from the caller"},"leaveCandidateSet()":{"custom:reverts":"EscapeHatch__InvalidStatus if caller's status is not EXITINGEscapeHatch__NotExitableYet if exitableAt has not been reached","details":"Only callable after exitableAt timestamp has passed"},"selectCandidates()":{"custom:reverts":"EscapeHatch__SetUnstable if called before the freeze timestamp (defense in depth)","details":"Called permissionlessly to set up the next hatch. Uses snapshotted candidate set and RANDAO for unbiased selection."},"updateSubmittedArchive(address,uint128,bytes32)":{"custom:reverts":"EscapeHatch__OnlyRollup if caller is not the Rollup contract","params":{"_archive":"The archive root of the proposed checkpoint","_checkpointNumber":"The checkpoint number being proposed, safely downcasted to 32 bits","_proposer":"The escape hatch proposer"}},"validateProofSubmission(uint256)":{"custom:reverts":"EscapeHatch__AlreadyValidated if the hatch has already been validatedEscapeHatch__NoDesignatedProposer if no proposer was designated for the hatchEscapeHatch__InvalidStatus if proposer's status is not PROPOSINGEscapeHatch__NotExitableYet if called before exitableAt timestamp","details":"Checks that blocks were proposed and proven. Applies punishment if not. This is the ONLY way to transition from PROPOSING to EXITING.","params":{"_hatch":"The hatch to validate"}}},"version":1},"userdoc":{"kind":"user","methods":{"LAG_IN_EPOCHS_FOR_RANDAO()":{"notice":"Number of epochs to look back from the START of the hatch for stable RANDAO"},"LAG_IN_EPOCHS_FOR_SET_SIZE()":{"notice":"Number of epochs to look back from the START of the hatch for stable candidate set"},"getActiveDuration()":{"notice":"Get the active duration of each escape hatch in epochs"},"getBondSize()":{"notice":"Get the required bond size for candidates"},"getBondToken()":{"notice":"Get the bond token address"},"getCandidateAtIndex(uint256)":{"notice":"Get the candidate address at a given index in the current active set"},"getCandidateAtIndexForHatch(uint256,uint256)":{"notice":"Get the candidate address at a given index in the snapshot for a target hatch"},"getCandidateCount()":{"notice":"Get the current number of active candidates"},"getCandidateCountForHatch(uint256)":{"notice":"Get the number of candidates in the snapshot for a target hatch"},"getCandidateInfo(address)":{"notice":"Get information about a candidate"},"getCurrentHatch()":{"notice":"Get the current hatch based on the current epoch"},"getDesignatedProposer(uint256)":{"notice":"Get the designated proposer for a hatch"},"getFailedHatchPunishment()":{"notice":"Get the punishment for failing to fulfill proposer duties"},"getFirstEpoch(uint256)":{"notice":"Get the first epoch of a hatch"},"getFrequency()":{"notice":"Get the frequency of escape hatches in epochs"},"getHatch(uint256)":{"notice":"Convert an epoch to its corresponding hatch number"},"getLagInHatches()":{"notice":"Get the lag in hatches for candidate selection"},"getProposingExitDelay()":{"notice":"Get the additional exit delay after proposing"},"getRollup()":{"notice":"Get the rollup contract address"},"getSeedTimestamp(uint256)":{"notice":"Get the seed timestamp for a target hatch's RANDAO sampling"},"getSetTimestamp(uint256)":{"notice":"Get the freeze timestamp for a target hatch's candidate snapshot"},"getWithdrawalTax()":{"notice":"Get the withdrawal tax applied when exiting"},"initiateExit()":{"notice":"Initiate exit from the candidate set"},"isCandidate(address)":{"notice":"Check if an address is in the candidate set"},"isHatchOpen(uint256)":{"notice":"Check if an epoch is within an open escape hatch period"},"isHatchPrepared(uint256)":{"notice":"Check if a hatch has been prepared"},"isHatchValidated(uint256)":{"notice":"Check if a hatch has been validated"},"joinCandidateSet()":{"notice":"Join the escape hatch candidate set by depositing the required bond"},"leaveCandidateSet()":{"notice":"Complete exit from the candidate set and reclaim bond minus tax"},"selectCandidates()":{"notice":"Prepare the designated proposer for an upcoming escape hatch"},"updateSubmittedArchive(address,uint128,bytes32)":{"notice":"Update the last submitted archive for a proposer during escape hatch"},"validateProofSubmission(uint256)":{"notice":"Validate that the designated proposer fulfilled their duty"}},"version":1}},"settings":{"remappings":["@aztec-blob-lib/=src/mock/libraries/","@aztec/=src/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@oz/=lib/openzeppelin-contracts/contracts/","@test/=test/","@zkpassport-test/=lib/circuits/src/solidity/test/","@zkpassport/=lib/circuits/src/solidity/src/","circuits/=lib/circuits/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/EscapeHatch.sol":"EscapeHatch"},"evmVersion":"prague","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x4251fed1ac036ad28996501522371736318527d7bf2bf7d66fbd2769d6c4771b","urls":["bzz-raw://b2df261bd4de240f54c5829faeaf0ffc919a01f1497cf7ffd8a9a544bdec8fca","dweb:/ipfs/Qmb9ndUuv9RZPKJXZGzjVuhmNuoizxuGRn4QMBmdmLcxS3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"keccak256":"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618","urls":["bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb","dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x9e82c00fb176503860139c6bbf593b1a954ee7ff97ab2969656571382b9b58a2","urls":["bzz-raw://34b4eb157b44d4441315db65561ba7cf0fe909dc598c2cfd7080d203077d5b57","dweb:/ipfs/QmcNdvK3kDUAUr48urHxoeHd1TqVDya4YfZTM66i4goEJn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0x2c33f654cefbbe80a9b436b5792cfe8bda2e87f139f110073c99762558db252f","urls":["bzz-raw://dc7ebd80046a52f28978cf46a24ff3e4c8568264ab6bb138038951c75d576167","dweb:/ipfs/QmQQjXVr4CbDR3DXd8GHEqn3JSJYTnbBHMJp9tvc29yXrc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol":{"keccak256":"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b","urls":["bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e","dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"src/core/EscapeHatch.sol":{"keccak256":"0x8baf5684efe89c864e22115a988420ffe485eb8d1f581b58658bd90d93a9bf93","urls":["bzz-raw://667734ab1dd831a17f11be00f5ef7d69c3ff8b1e089d4ed44c64dab65a7ffad3","dweb:/ipfs/QmNyJh6ryJu2HjCToeMM4wiuQCZca5twzVTSN5oRFDLv1j"],"license":"Apache-2.0"},"src/core/interfaces/IEscapeHatch.sol":{"keccak256":"0x2f25d826b72d6d4de7beace10c776622bd453ca30aa48811c17a31cb2486cec1","urls":["bzz-raw://3f9ea0408b5aec10c7842d54949587707ae03ba0fed73cf8b0e965f4eb5bfd47","dweb:/ipfs/QmNSgjTSdLLa9AQgbg9T9XuJccsbAmtiBhxUqo7bAy2i3X"],"license":"Apache-2.0"},"src/core/interfaces/IFeeJuicePortal.sol":{"keccak256":"0xce84c8907395b4c11cc6dd8035d8e14560153450f9d88340cfb8abb914c66639","urls":["bzz-raw://f5eb389f1a6e9adbb2f24dad7a6c0bc706d49decad82ba9b582c288e12eddda6","dweb:/ipfs/QmNM3uQmJYn9B6RAHSMUT3TZMR6R75okjJErUEsuRjxGXt"],"license":"Apache-2.0"},"src/core/interfaces/IInstance.sol":{"keccak256":"0xa533299c53255b83b8e1b655781f36ba5bbe168849db712fb4a9312f57f9f1bb","urls":["bzz-raw://fc593975d89f7b465c6822a5a79621d559ea12b24498b9c503019ad80cd89550","dweb:/ipfs/QmdtJZ3fvL6RfYLBkJBYUMSU6u2e2kREK59w6LQpr68CVS"],"license":"Apache-2.0"},"src/core/interfaces/IRollup.sol":{"keccak256":"0x2e40eed59a33f6de63d8b5772b608a0a448f07f9d507d30b4b2c97b071cdf812","urls":["bzz-raw://5d4cea18f1e5493c31e5c1edbe4e69a11a9fb2420f02115b59d83fd261849d17","dweb:/ipfs/QmXzEuSiGSN8xbe6vgRwgym4TFHn47mpKTj1DTXNiyvp9g"],"license":"Apache-2.0"},"src/core/interfaces/ISlasher.sol":{"keccak256":"0x3ced9a9f08a8e5deb94b87759248f0d9bfe515117092df50707582d7dd1dd46b","urls":["bzz-raw://c999bb8f58ab19f88bec4e1cf73c36daeece958fa05e2dc3ea4e4e730f473f63","dweb:/ipfs/QmXKrqwd4LVj7g8d9qjmx6DLSCD5UNuySHNvk532nFgsxw"],"license":"Apache-2.0"},"src/core/interfaces/IStaking.sol":{"keccak256":"0x9b0611d6374ed3a4adbe4266d94646ac7b0636d182882e7bfe23ef02a8ceaba0","urls":["bzz-raw://d58c7a83a531bfeffb9e2d0bef537736b04ae212c451477a67b66e913db8c647","dweb:/ipfs/QmXe8MxZMyxcKsr4FoJHhDdGhax9CKpFZxrNXukvjWBXC1"],"license":"Apache-2.0"},"src/core/interfaces/IValidatorSelection.sol":{"keccak256":"0x13d66fe5c01bb3678843b38356a35eab714f6566f4bde58e361010414ed6c2e6","urls":["bzz-raw://6952c57e64757fbb92d65856f3cde1bb30d62b0ffcea0303a59956852dc8e4ed","dweb:/ipfs/QmbFMP1YqnLFr8TNu3J6Rj3CDYVDCrSqmhdfpEzF8CtMPH"],"license":"Apache-2.0"},"src/core/interfaces/IVerifier.sol":{"keccak256":"0xf5b6025ff3d59b8922bb45fb05786764e74109b4a349d206b8a7979f46484c55","urls":["bzz-raw://98ec47ac3e15b1d8f2c80854ed6fd83e655e9e96341bb827f3be8e6b47f4c7fb","dweb:/ipfs/QmcmUkLgM7fb7mEaJTiWJWrZTW2kAWtRcYS6imBfmueALe"],"license":"Apache-2.0"},"src/core/interfaces/messagebridge/IInbox.sol":{"keccak256":"0xe35d2fa0af9ce35b36d8a0093b9f2456f35f62ad457bee84ead9144695556990","urls":["bzz-raw://18353dd7ebffcec377bb820395309df7c48b99f46f76b2fd9432a4e19c387e2e","dweb:/ipfs/QmPFeVuB3LsCMLVZuezgaUwav4PsPnheDf4ovR3apD13uW"],"license":"Apache-2.0"},"src/core/interfaces/messagebridge/IOutbox.sol":{"keccak256":"0x72bc82e9c9afced01c565dcb630339fbb4507d13c0bd88c26f62efb5d8391919","urls":["bzz-raw://b8693d5f385aa40db8b19940fe845feceea431f70626168fcc38d72fd4682699","dweb:/ipfs/QmTquAwAEmDZ9CGcKTRsi3ti2z1sPnfrGRWGpqsyDnFt1R"],"license":"Apache-2.0"},"src/core/libraries/ConstantsGen.sol":{"keccak256":"0x046163842ee37e465e8fb1d2fd629429b01078113b552bd3fb536b9a2222a1a9","urls":["bzz-raw://6b827da391a4b03b6659988e5fdeda510ad1d891066ad614eff5ee4257c5896c","dweb:/ipfs/QmYsvNRze6Mk8kfXsPgNzmCQtAZmaDfBCqowQGM8B6VZWE"],"license":"Apache-2.0"},"src/core/libraries/DataStructures.sol":{"keccak256":"0x5ea9d1097f0b53eafbd72332d4c5c517307e5a056266befe5b46f5f43ee3d83c","urls":["bzz-raw://1a742311dc3c5ead2d5361549f017d20f46c40a4e74e879823ac168cf5b572d4","dweb:/ipfs/QmTNDc1fiPti41QqJTJQoV9uduB6eXaQhbfq1hfVVjVNvS"],"license":"Apache-2.0"},"src/core/libraries/Errors.sol":{"keccak256":"0xb3df9024b0b1a89963b0d9580d54f304b1bd07d3c08e0068ec2a3238cbfa47f4","urls":["bzz-raw://37d805b2aa067b147a2b62c8d369e6ecd2f180c17d4fcf5020e88bfe09b0386e","dweb:/ipfs/QmXEqq1M9QzdgmvXtdgddvpjRNAHGG1QAG7PmdjfcdqWYR"],"license":"Apache-2.0"},"src/core/libraries/HatchMath.sol":{"keccak256":"0xca787b2889e281c8db132043312aa9513315669782981689824344c910833fe4","urls":["bzz-raw://77ec2f6b5919d53d3a7128f6006155f2566a84e7a56cd26e9d5e6d1514ccd7a2","dweb:/ipfs/Qmc3Z2quujEwxQU1JBfrxhkiULaczspBsTMjXibqXCjFyd"],"license":"Apache-2.0"},"src/core/libraries/SlashRoundLib.sol":{"keccak256":"0x6773eea1fa593e5c1e16fcd3a8341b537bf5ed7ee2f10472649dfd542e3ade8e","urls":["bzz-raw://756bdaa3facd4034149eeb3553ae99777b646c3e16abf8d41f9558e74249baa6","dweb:/ipfs/QmNpb62diGKNKf5pcynejjhNex9c6PTkZnVUeuLvJ2qCZ9"],"license":"Apache-2.0"},"src/core/libraries/StakingQueue.sol":{"keccak256":"0xbbeafda1659a92be14ec5b77838952a089f075cc1d0c5f348b6ff336ea6a1a98","urls":["bzz-raw://f3c8bdb1de77dab697ef4442f72fa4830c757059f8d948d2f3aeb7f6983aa64f","dweb:/ipfs/QmSDYdTnFo8nx34q3fdJCKpy8DCnKBQ4isxr49o4sY5T6T"],"license":"Apache-2.0"},"src/core/libraries/TimeLib.sol":{"keccak256":"0x8e97dd7227578af6d5483a56164076f065007abe421247cfce4e693bf6c5be06","urls":["bzz-raw://7bc004dac3dc9e920061135c3c9eb9986935cc7b2715d3e5f0b787d4ab07a2b0","dweb:/ipfs/QmUPmvvwTCdFzxd6n8cpX3otgfFGMPaaD8bCed6B1Z4euH"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/CheckpointLog.sol":{"keccak256":"0x15a6af93a142210201d8ed71c8e7a507f2316b030f22582567a8026aabf8f081","urls":["bzz-raw://2f7133944a2fc8deefe97544f659fb01aefd22a0124bb9416ce168f1c860545a","dweb:/ipfs/QmaNHSorjRndPDuxxvuNyfPJtS27meUK6Sf4rmJUF9ruWr"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/StakingQueueConfig.sol":{"keccak256":"0x32b00fd08e1754d9d9c9b377ae0a0ea887ace519db0ec6d252e1b2216891068e","urls":["bzz-raw://4ecea0a1ff8536819d37d3800b2915249b5c854d9dc611e91aae81df6acf7d76","dweb:/ipfs/Qmf3FgXCf1MP78p5B76kQnwx8yXFXncutVzQhV2fteBvVn"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/Tips.sol":{"keccak256":"0xdf872f54470e59b86349871e2c12075e8daaad85894f90e64f92538daf5f4008","urls":["bzz-raw://493e4bc02c6e9acbb5bfaa68f19bf4defb409211b701784e43d2ca6cbc11ccd1","dweb:/ipfs/QmSUahndZ78LBx6WdozXWL6QkqxZXzrXpHna2kGwCqgy34"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/fees/FeeConfig.sol":{"keccak256":"0x483176bf56f20b48e86b3f35adb063f73cd0b475ffde7f32a67b6d6f4acafed9","urls":["bzz-raw://3e6a360d83832f65432c3e10afa029593b4988c0fea347ebeddadbf9d382aaec","dweb:/ipfs/QmUZZqYXsdzznfuwM8N5MHbFK5GAjZTXqsYj8YHn8kVuNF"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/fees/FeeStructs.sol":{"keccak256":"0xa051bd0fbba07e5f66077e26082c5e19a83cb20d6bb7efb516a38d4bc4f4c244","urls":["bzz-raw://915a5c621123624e51d9925d77d940334930b17628a7959d13a60eb3abc45462","dweb:/ipfs/QmeF2TaMbwvA9AFDiMB7rNBbFViDvmGiAk7mp49dRMbrpt"],"license":"Apache-2.0"},"src/core/libraries/crypto/Hash.sol":{"keccak256":"0x8d712593cc9ee681716dbe725ad7a0f73e28d48f854973f84e586010bbe3bec6","urls":["bzz-raw://5966c1b8bd29cae0c99442de7b271160aa9b9db326712610c60d12007c51051a","dweb:/ipfs/QmSdtUU5EyA76vzB786bJcPTuJYEJRzfAV2XEpZf7NSU4i"],"license":"Apache-2.0"},"src/core/libraries/crypto/SampleLib.sol":{"keccak256":"0x59e87e7d6a1e966c0f73bd919825ff7d81dc898625fe9fd20e6786e10b43783e","urls":["bzz-raw://a931d31192faf6d9d9c82fc7099a776b5886d90dd0a2a9ee8093cc680dfdef70","dweb:/ipfs/QmbQjTTf96tr2WSiuoWK8k984dGuXKooZWZ5o9EL7wEPhv"],"license":"Apache-2.0"},"src/core/libraries/rollup/AttestationLib.sol":{"keccak256":"0xb5bf4bf1996a3e9e17a662dcb805fec075fa6ef1ce1d15c959ce7903b156d552","urls":["bzz-raw://ee776eef1dc3cb02b49c56fdb8917392cbfa75d386357a09ad650b8e1fe8091f","dweb:/ipfs/QmXBcSNdqeDVNbZkpG1iQr1ahabrBieWzBoEbZeF4VN967"],"license":"Apache-2.0"},"src/core/libraries/rollup/BlobLib.sol":{"keccak256":"0x40be24c3f297efce26b76cf2f674454344a20ba8b8fde7cdfd4c7ecfe339a507","urls":["bzz-raw://6c37144509a9269c3fe0f0791649ef4f74e5db0b54d8b27c68a1558be2ccd350","dweb:/ipfs/QmT4Fc8um96XkUWd1kJrdnHKvwqKouJtJW8zUaig5nVFQx"],"license":"Apache-2.0"},"src/core/libraries/rollup/FeeLib.sol":{"keccak256":"0x2060a7c826871fec743c2f04771a01800e2881a90b32c33fb4215b73a8227c44","urls":["bzz-raw://818ce0ae57ed4fa3823f78715efd44c1729f9292092ba146eeff256e64e8ea01","dweb:/ipfs/QmZjpd6sZtxcCbEB46kxPo3f7yg4XuDKAHYGCTggfFSvMR"],"license":"Apache-2.0"},"src/core/libraries/rollup/ProposeLib.sol":{"keccak256":"0xa4483749d4f477171427c9fac6d0abf8d5198d4dd9dd46b88399a2a78bfced3a","urls":["bzz-raw://723e1dae067b035c6e587599eb55c8e7bacba3be4e17ea4e090ee4367bbb3889","dweb:/ipfs/QmbFDJsD1ad3gpvCH5ced9HF7sUDp1o9ZM7UKyGaYzbkYS"],"license":"Apache-2.0"},"src/core/libraries/rollup/ProposedHeaderLib.sol":{"keccak256":"0x2e27def9ee3992c1c69ea5c30c5e91a886a6d9ee1580e8e9187b99d5e63b8a34","urls":["bzz-raw://f35436a3bd2ad063d02240a63768e9f358b2b800910824763e571e6092aef0f0","dweb:/ipfs/QmZfsZ4CLTg7aGjgMd9Hj3Uu1wYGFmAXLvcXiCyVhxEWeh"],"license":"Apache-2.0"},"src/core/libraries/rollup/RewardLib.sol":{"keccak256":"0xf184ce5d7d099a79ca888d4f9af56407ca62ea5341232a03061a3c195ee840b4","urls":["bzz-raw://115622750be936670769cfbe74c6ed84ec052527ce7622d085098f063701140c","dweb:/ipfs/QmfHeiEBjC9gcpwyiqi7cFuv3WBZ6ixng3uoWpBqX9Nt2X"],"license":"Apache-2.0"},"src/core/libraries/rollup/STFLib.sol":{"keccak256":"0xb96994e4db0431c14ffde9000e5fc0653f3055e566665b5bb250f4f1651f48d7","urls":["bzz-raw://bf7d33ed26dbfc9d6bf7e1a22e1a5bfa83de64b2c9ab0ba0e2025b0dffc007c9","dweb:/ipfs/QmZsxV1oY4YuzK1GkY7zqjcZmmLvYstGT7CJN7Zw8cYwu5"],"license":"Apache-2.0"},"src/core/libraries/rollup/StakingLib.sol":{"keccak256":"0x1ece6784f7a3b59c913f74287be4c913579642c7d1d111f47bda85cd9945b2c3","urls":["bzz-raw://33c205133d7015f67f4397efb27a9656ae97190d4699605507027a1102324a28","dweb:/ipfs/QmbexoP2SZAngqKGtrS8y1dUjRwDC2jZ8cqqK58svyA67i"],"license":"Apache-2.0"},"src/core/libraries/rollup/ValidatorSelectionLib.sol":{"keccak256":"0xe51a65e258ecf8bf2c6f45fa6ec8058840cc71030a2f364ec5d78c8120a6d493","urls":["bzz-raw://1aeabf22967ba3e71ea423b077aaba27d13b4d2d4914a1ad7b0cced3d77c0d4d","dweb:/ipfs/QmeGfNWe4WrmpvpTRwYX43XYgb43KkoPeSRvSNonLYMo2n"],"license":"Apache-2.0"},"src/core/reward-boost/RewardBooster.sol":{"keccak256":"0x2e36fb83cdfd01416fc504e1ad20cf2890544a819dfd43d06e33509883fbc70f","urls":["bzz-raw://7b9fa97befd572a5dc21d8a0290194b750424c473b4eb7f12cd7b7225cf593fa","dweb:/ipfs/QmVDFXEuNJj4vmhR29HAZnB9TRXvEWtugEQpQfXPCcTU4W"],"license":"Apache-2.0"},"src/governance/Bn254LibWrapper.sol":{"keccak256":"0xea39571de45fe0fec82d9e760998677eb2432e08c6cdb00c41efa58caf56e607","urls":["bzz-raw://1e470b821f3d87fa0c988c5f23a8deed3849bffd2527b3b4ee137a90e0c1264c","dweb:/ipfs/QmW3M4HyRLDruV5AYXCKicFCiiczmwnSTtnwVKUnQSm7a8"],"license":"Apache-2.0"},"src/governance/GSE.sol":{"keccak256":"0xc19fa4868d78030e2411dd5cef6d0da09645ade1d1ea0c4374b284a89feb722a","urls":["bzz-raw://d06396c249566d0e9de5d34eade2bf27c4d583005c0129787bf6c413dcd9e273","dweb:/ipfs/QmcimKKiV9KqobS5wzPsKYzyYu5WezCF3gyHkekf5tjrUU"],"license":"Apache-2.0"},"src/governance/GSEPayload.sol":{"keccak256":"0x40e5385b008f0335b50e066c647bb906685511c9fef206ce90a3391468558bae","urls":["bzz-raw://a129e87e1d57cf0813b14108cbdbcdd4c114b20f3f2d67477302d6d050120c7e","dweb:/ipfs/QmRcQQkeDhkrmQha3nkA8qvXnGmF6nLhZMKAhMx61A7a5y"],"license":"Apache-2.0"},"src/governance/Governance.sol":{"keccak256":"0x07770c3d80369adae51be8e361f63a2aa5ec489b354b10c8590be1e294dfe2e5","urls":["bzz-raw://7219becf3467ea8368dba0bd093ba932b165cf3f214e7286f652e2730bf42eaf","dweb:/ipfs/QmTSCDhSQBTKhzGUk12phxhqohSba6yopYMzF5T5XPFUWw"],"license":"Apache-2.0"},"src/governance/interfaces/IBn254LibWrapper.sol":{"keccak256":"0xdd0a3de8b8ff67cf2bf090d04b4a37aa6d604f402db3328387d2466d2354464a","urls":["bzz-raw://daef0234547509cd7ae3a7babf0e50a8d1ca2894f1817e3e2409a50fd32947b9","dweb:/ipfs/QmbwSedqnBfsqRnUq8XcXzoeoyhZTXJWJ9rpJn61BAJfej"],"license":"Apache-2.0"},"src/governance/interfaces/IEmpire.sol":{"keccak256":"0xe6a8a8c3fef8e6f9f5118bd40c63e951b13a59d5f885bbb979d38745ef760ed3","urls":["bzz-raw://940c1fe4138d7364ccdb7d5635ea90bafa1da274f680039b0b54ee8c2a275a9a","dweb:/ipfs/QmX2EeoVyES18BMgcbKVDb36MCq8ooDVR98m2RmnmZjEAo"],"license":"Apache-2.0"},"src/governance/interfaces/IGovernance.sol":{"keccak256":"0xe420d305fbe7c35f4620cd1e0f05f9f4c5a91532621d21a64ea553a3d9a3c005","urls":["bzz-raw://1900ac41f945aa692d5228f134ae63840081d284bf89fdd2a06b45424fe359ff","dweb:/ipfs/QmePFZ1xv5qfftJVDLc98XUVFsrpuKAbKZiro7MoMDTpoa"],"license":"Apache-2.0"},"src/governance/interfaces/IGovernanceProposer.sol":{"keccak256":"0x2be820a5452c481ffd329d68c46d0af6a286934963f26b36d363cd34fb0e5817","urls":["bzz-raw://f58839d1504e11e7da42b7f5a03fb9b9d8cc39ab4c16cfb86fa44c4de08df76f","dweb:/ipfs/QmR6jUJozP9tfpZuSduk66E8n7WuL3zzsR3WHZ7BR2ZBX2"],"license":"Apache-2.0"},"src/governance/interfaces/IPayload.sol":{"keccak256":"0x5844ea725ce56ac8adeb20b2d37aa431ca087f68a65a7ca91f981be7458737c3","urls":["bzz-raw://5ea670db51b2ccfac05a684b95458ecc015c9d12a6567c3f73d473386533f58c","dweb:/ipfs/QmRUB8mckkGQ4nNsErRhnKMsD9SSkokRSpnr5XZC9dZdin"],"license":"Apache-2.0"},"src/governance/interfaces/IProposerPayload.sol":{"keccak256":"0x89068dd464c0bfb7d447c0e99728277e03c7c4b864208ead20321f0590187248","urls":["bzz-raw://4d1d9ba5f8b7da374d773acde9514ca6607ad31a3e83950caa097bdb8b0f9167","dweb:/ipfs/Qmd7tWAD2Ubz434zZPJvuyAGsHYpXBHvVhVefLFzUudD2o"],"license":"Apache-2.0"},"src/governance/interfaces/IRegistry.sol":{"keccak256":"0xc3678c04c0945d3dc1d8007df3dc7f8b25d8108b0b25134842ffc5169f996ce8","urls":["bzz-raw://71e4e401f1a6f561262755cc2e1c347cd3aa79e67d2e52ca547864f49de01724","dweb:/ipfs/QmPvoKFEDTb41DSC3MmDMqtM3trj5oZb1Jj2jtQSnNfHBn"],"license":"Apache-2.0"},"src/governance/interfaces/IRewardDistributor.sol":{"keccak256":"0x7bf74c234bbe5dd7a4510ea6b8e4a6a0c28d56f5dfe5773d477eec7fb4653817","urls":["bzz-raw://0c1799da536555e007ed8068b27a364cc225d7a5a06740a2097679fd6bce6d25","dweb:/ipfs/QmPsHy6E4S1W16TrFLaBarDyVTicEv79HQZV8aQupSW7rj"],"license":"Apache-2.0"},"src/governance/libraries/AddressSnapshotLib.sol":{"keccak256":"0x1006e58059e0a1f0fef102f2f11f5649dffc7f2eb066fce51845e65a064f4210","urls":["bzz-raw://de385ab9eb3bb66d7be1218b49ae9bba7d88797bcb375b9a7481a209d303a402","dweb:/ipfs/QmZe6DTv3cACfdXNSMhbMhoefg31LW3uLxHLDC7nZhb4Yp"],"license":"Apache-2.0"},"src/governance/libraries/CheckpointedUintLib.sol":{"keccak256":"0xcd73cf7a62e4ac5cc79f7f8df8b35d5c5e4df5b8a3478bcbc2b29c9aa89ea4b4","urls":["bzz-raw://f56f37060d39d3c9276f23c96be7f6b1ea44676312dbaa1ab16ab3bff6acebf1","dweb:/ipfs/QmPDUEEgdbpTTs9r3fvdMYJo9akCRsWcJXyarBhQgcKb5q"],"license":"Apache-2.0"},"src/governance/libraries/ConfigurationLib.sol":{"keccak256":"0x9479ac3e2d2b268007fa2eb0262c9f5d55b5f5abd7a4f2a64d7e396d71d5b43b","urls":["bzz-raw://f3d0db3ecad23789181abfc761f5b4710bcafa0c454fd62e768f419712cafe5c","dweb:/ipfs/Qmcxr9PMvwwC2sazq1SGBkbmEgxbyobrXWNZ7yp8UcYf6d"],"license":"Apache-2.0"},"src/governance/libraries/DepositDelegationLib.sol":{"keccak256":"0x37fbca65ccabec9d901bd71d684dceec7c59fa5a05438fd209ea0d5e16e764c0","urls":["bzz-raw://e42f2622978abc3ac84223a6b206201898d0269d20bf81539636c0999a0db9eb","dweb:/ipfs/QmW4BgTjR6BuPxwxreKarUeK1u8gx3p9yFdDD4EsC5hkyb"],"license":"Apache-2.0"},"src/governance/libraries/Errors.sol":{"keccak256":"0x10969348c5c4fe013e3193377131c0c347df148d9ffce7957290b0305c14c996","urls":["bzz-raw://9c96d1f13e931a0cc1949739e76d32a7fa92692e52543c5d27d0f30d7f792468","dweb:/ipfs/QmY1uEwJ8mfcUw3LAcsEsxULkruATGpKzqZ8kxXXZ1ncgr"],"license":"Apache-2.0"},"src/governance/libraries/ProposalLib.sol":{"keccak256":"0x616ffbb24c4454ca9e223e85ff01e8dca139723d5cd312d5d6f6111d79782a90","urls":["bzz-raw://192f9be3355a7a94d19ae4e5b397e5db19dde64ccc671e149da06dfaa2577192","dweb:/ipfs/QmTDcm7XEFLe7o5cXUmuu5wQDyprU78AVMymiWvrmP4tHT"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Ballot.sol":{"keccak256":"0xca07dc8cf36ac2beae7674804af144b34b3c5848153351c17d996e9b3293cd5d","urls":["bzz-raw://6911cc49f1d6977c12f652063c14891697c1ffe49fdf36903c32a8ad73cbd012","dweb:/ipfs/QmQBEZARCAAj1ZLcswkH6FwP1RP8uuNjYTHqthmE9Z5RnM"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Configuration.sol":{"keccak256":"0x40744f275af22d33c38fd9c6a7b822292c9c87b17ac2c78abbef4eb8356fd9f9","urls":["bzz-raw://73c685be7e934516207827a59cbbeb7fc1164e7659dd3ec857a91cfea765b482","dweb:/ipfs/QmQfudRpSSQnG9u4XV8iA2UAyDzQPFqWzpZy5NZbaD6htv"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Proposal.sol":{"keccak256":"0x72cf619a21c8e95875c63d4361cbe1a815d9d67f36f3fe32b6c9ca4d9ab0d33a","urls":["bzz-raw://d80f47beb3f91da3cc68264c86fc8fb8f0e4abaf9d92243ab3206407fceed5c6","dweb:/ipfs/QmYyrBTDMfkTBu6EcKcSMR7JyfphZ5xH1VCQ8EHMQUvsoN"],"license":"Apache-2.0"},"src/governance/proposer/EmpireBase.sol":{"keccak256":"0xfeb86311b0d6c5f37db2593ec7e303cde08bd331c1a6595260abe07c5e5e633a","urls":["bzz-raw://1fe05eb878ce4e0fc3e40f93c3f2fc9a01bb6e1e8860ec3f91dbc291d3292b3e","dweb:/ipfs/Qma8myMw5anMPJ4D7s9y4Eh8SHf1dpz98WBLU5bzax6cUV"],"license":"Apache-2.0"},"src/governance/proposer/GovernanceProposer.sol":{"keccak256":"0xa2829df5b65856c9f1d6bf490fb50616f14402ff8eece2e32b63828b8b9337c3","urls":["bzz-raw://8ad52830a7a3aed3477bf55f92c3d68cb1c16a5cf1d636227ab76a306c846607","dweb:/ipfs/QmRonyZQZj5D1e2g4Y6Tmj2AEUnekL4pGmgdMT4ycRAM8m"],"license":"Apache-2.0"},"src/mock/libraries/BlobLib.sol":{"keccak256":"0xa1b19239c5c64ba1b0c9f83ec0a30059f10ded12bf40d5d7c3f65974752b3121","urls":["bzz-raw://5cbce7d0dd0096232d60ec5c6920f211ffcaa46c8675b1129c1f939a1ee84837","dweb:/ipfs/QmSS2qUhzUuZY1qHDjWUGvHuMqMG3cjHoHeDVvgWsjMdA9"],"license":"Apache-2.0"},"src/shared/libraries/BN254Lib.sol":{"keccak256":"0x0c3a5b7dabde2f5c81f19e1a4a212308a8636b5bb4a16bb1a518d58ef4feb6f5","urls":["bzz-raw://870be6219c7081ed081cee2fa9ad1e7f3efff623ae1a59aed966f2bdcee65b7a","dweb:/ipfs/QmNzohb1TazCgaT1e55CMDuuG7AHdGrGA6jvT4wzxdAM52"],"license":"Apache-2.0"},"src/shared/libraries/CompressedTimeMath.sol":{"keccak256":"0x361023cf30593e7e27417c91af3702e75235fcab251e4ad5ac2e47306a730ec1","urls":["bzz-raw://9b192242472b3126c97a4a4e4fa792809a6bf20b548a57e677f5260c0dbf3ad3","dweb:/ipfs/QmfK4WAucepcqzMLu11rs68HJazwfegVsgK5tTco82SooB"],"license":"Apache-2.0"},"src/shared/libraries/SignatureLib.sol":{"keccak256":"0xb69989f57384383341d1bb4693fb1e6ce31a2ab6c0fadb48bf088078a332a56a","urls":["bzz-raw://f199be27853a14d746c567c5e3a473f474e84cfd3d119a6404e6ceff4e986e5c","dweb:/ipfs/QmWsLozeiKLQbTSEUDVZK2ASEX3EodKxT4DdA9BA6bD6N2"],"license":"Apache-2.0"},"src/shared/libraries/TimeMath.sol":{"keccak256":"0x8da20dc8b4ce296b7c11f117a3381bfe5cd611a3512a74a500e2e54e0353417f","urls":["bzz-raw://18c74be98a4e31e8a16356e573514f639a8fc43928e741f6ead81dd755e9a914","dweb:/ipfs/QmPDEdYYEj3DhXjrCDPuudJbhsBaNj1sK6hH94Z86168Q3"],"license":"Apache-2.0"}},"version":1},"id":28}
1
+ {"abi":[{"type":"constructor","inputs":[{"name":"_rollup","type":"address","internalType":"address"},{"name":"_bondToken","type":"address","internalType":"address"},{"name":"_bondSize","type":"uint96","internalType":"uint96"},{"name":"_withdrawalTax","type":"uint96","internalType":"uint96"},{"name":"_failedHatchPunishment","type":"uint96","internalType":"uint96"},{"name":"_frequency","type":"uint256","internalType":"uint256"},{"name":"_activeDuration","type":"uint256","internalType":"uint256"},{"name":"_lagInHatches","type":"uint256","internalType":"uint256"},{"name":"_proposingExitDelay","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"LAG_IN_EPOCHS_FOR_RANDAO","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"LAG_IN_EPOCHS_FOR_SET_SIZE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getActiveDuration","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBondSize","inputs":[],"outputs":[{"name":"","type":"uint96","internalType":"uint96"}],"stateMutability":"view"},{"type":"function","name":"getBondToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCandidateAtIndex","inputs":[{"name":"_index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCandidateAtIndexForHatch","inputs":[{"name":"_index","type":"uint256","internalType":"uint256"},{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCandidateCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCandidateCountForHatch","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCandidateInfo","inputs":[{"name":"_candidate","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CandidateInfo","components":[{"name":"status","type":"uint8","internalType":"enum Status"},{"name":"amount","type":"uint96","internalType":"uint96"},{"name":"exitableAt","type":"uint32","internalType":"uint32"},{"name":"lastCheckpointNumber","type":"uint32","internalType":"uint32"},{"name":"lastSubmittedArchive","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getCurrentHatch","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"Hatch"}],"stateMutability":"view"},{"type":"function","name":"getDesignatedProposer","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getFailedHatchPunishment","inputs":[],"outputs":[{"name":"","type":"uint96","internalType":"uint96"}],"stateMutability":"view"},{"type":"function","name":"getFirstEpoch","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint256","internalType":"Epoch"}],"stateMutability":"view"},{"type":"function","name":"getFrequency","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getHatch","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"}],"outputs":[{"name":"","type":"uint256","internalType":"Hatch"}],"stateMutability":"view"},{"type":"function","name":"getLagInHatches","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposingExitDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRollup","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSeedTimestamp","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getSetTimestamp","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getWithdrawalTax","inputs":[],"outputs":[{"name":"","type":"uint96","internalType":"uint96"}],"stateMutability":"view"},{"type":"function","name":"initiateExit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCandidate","inputs":[{"name":"_candidate","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isHatchOpen","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"}],"outputs":[{"name":"isOpen","type":"bool","internalType":"bool"},{"name":"proposer","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isHatchPrepared","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isHatchValidated","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"joinCandidateSet","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"leaveCandidateSet","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"selectCandidates","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateSubmittedArchive","inputs":[{"name":"_proposer","type":"address","internalType":"address"},{"name":"_checkpointNumber","type":"uint128","internalType":"uint128"},{"name":"_archive","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validateProofSubmission","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ArchiveUpdated","inputs":[{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"checkpointNumber","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"archive","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"CandidateExitInitiated","inputs":[{"name":"candidate","type":"address","indexed":true,"internalType":"address"},{"name":"exitableAt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CandidateExited","inputs":[{"name":"candidate","type":"address","indexed":true,"internalType":"address"},{"name":"amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CandidateJoined","inputs":[{"name":"candidate","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CandidateSelected","inputs":[{"name":"hatch","type":"uint256","indexed":true,"internalType":"Hatch"},{"name":"candidate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProofValidated","inputs":[{"name":"hatch","type":"uint256","indexed":true,"internalType":"Hatch"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"punishment","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressSnapshotLib__CannotAddAddressZero","inputs":[]},{"type":"error","name":"AddressSnapshotLib__IndexOutOfBounds","inputs":[{"name":"index","type":"uint256","internalType":"uint256"},{"name":"size","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"EscapeHatch__AlreadyInCandidateSet","inputs":[{"name":"candidate","type":"address","internalType":"address"}]},{"type":"error","name":"EscapeHatch__AlreadyValidated","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"EscapeHatch__InvalidConfiguration","inputs":[]},{"type":"error","name":"EscapeHatch__InvalidStatus","inputs":[{"name":"expected","type":"uint8","internalType":"enum Status"},{"name":"actual","type":"uint8","internalType":"enum Status"}]},{"type":"error","name":"EscapeHatch__NoDesignatedProposer","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"EscapeHatch__NotExitableYet","inputs":[{"name":"exitableAt","type":"uint256","internalType":"uint256"},{"name":"currentTime","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"EscapeHatch__NotInCandidateSet","inputs":[{"name":"candidate","type":"address","internalType":"address"}]},{"type":"error","name":"EscapeHatch__OnlyRollup","inputs":[{"name":"caller","type":"address","internalType":"address"},{"name":"rollup","type":"address","internalType":"address"}]},{"type":"error","name":"EscapeHatch__SetUnstable","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x6101a0604052348015610010575f5ffd5b5060405161270638038061270683398101604081905261002f91610226565b60018210156100515760405163734638c160e11b815260040160405180910390fd5b5f896001600160a01b03166325b223666040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100b291906102af565b90506100bf8160016102c6565b8410156100df5760405163734638c160e11b815260040160405180910390fd5b600285116101005760405163734638c160e11b815260040160405180910390fd5b8385116101205760405163734638c160e11b815260040160405180910390fd5b876001600160601b0316866001600160601b031611156101535760405163734638c160e11b815260040160405180910390fd5b876001600160601b0316876001600160601b031611156101865760405163734638c160e11b815260040160405180910390fd5b62278d008211156101aa5760405163734638c160e11b815260040160405180910390fd5b506001600160a01b039889166080529690971660c0526001600160601b0394851660e05292841661010052921661012052610140919091526101605260a091909152610180526102eb565b80516001600160a01b038116811461020b575f5ffd5b919050565b80516001600160601b038116811461020b575f5ffd5b5f5f5f5f5f5f5f5f5f6101208a8c03121561023f575f5ffd5b6102488a6101f5565b985061025660208b016101f5565b975061026460408b01610210565b965061027260608b01610210565b955061028060808b01610210565b60a08b015160c08c015160e08d0151610100909d01519b9e9a9d50989b979a9199909897965090945092505050565b5f602082840312156102bf575f5ffd5b5051919050565b808201808211156102e557634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c05160e05161010051610120516101405161016051610180516123006104065f395f81816103070152610cb101525f818161050a015281816108420152610c0101525f81816101ed0152818161081901528181611797015261188a01525f8181610245015261167f01525f81816104a301528181610e7c0152610eb001525f818161036e015281816112bf015261134401525f81816103fe01528181610f1c015261130d01525f818161045a0152818161057301528181610721015281816109b7015261105601525f8181610434015281816105c801528181610784015281816108a401528181610ac801528181610c2701528181610cd2015281816111450152818161153e01526115f801526123005ff3fe608060405234801561000f575f5ffd5b50600436106101e7575f3560e01c80637a27d3a311610109578063c504312a1161009e578063d7c4ccf51161006e578063d7c4ccf5146104e2578063eeacfa8c146104f5578063ef9e36e514610508578063ff549fe11461052e575f5ffd5b8063c504312a14610499578063d0e4f574146104a1578063d51b9e93146104c7578063d6f1c601146104da575f5ffd5b8063a4d2342a116100d9578063a4d2342a14610432578063ad7c132114610458578063ae40f1bf1461047e578063ba4f6a7814610486575f5ffd5b80637a27d3a3146103f457806383d6f7f1146103fc5780638a35146c1461042257806390f722731461042a575f5ffd5b80633349b59f1161017f5780633a30aefe1161014f5780633a30aefe1461039257806346c32618146103c45780636fb9935c146103d9578063735b69b6146103e1575f5ffd5b80633349b59f1461033357806333fac65e14610346578063359346d51461035957806337722a7f1461036c575f5ffd5b806319db12d2116101ba57806319db12d2146102a557806328bde1e1146102e55780632a2629f61461030557806330a563471461032b575f5ffd5b80630a42f86f146101eb578063147d97bd14610220578063181803d914610243578063182cad591461027d575b5f5ffd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020015b60405180910390f35b61023361022e366004612075565b610541565b6040519015158152602001610217565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160601b039091168152602001610217565b61029061028b366004612075565b610565565b60405163ffffffff9091168152602001610217565b6102cd6102b3366004612075565b5f908152600660205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610217565b6102f86102f33660046120a7565b61063e565b60405161021791906120f4565b7f000000000000000000000000000000000000000000000000000000000000000061020d565b61020d6106fd565b6102cd610341366004612075565b61070d565b610290610354366004612075565b610719565b6102cd610367366004612149565b6107bc565b7f0000000000000000000000000000000000000000000000000000000000000000610265565b6103a56103a0366004612075565b610811565b6040805192151583526001600160a01b03909116602083015201610217565b6103d76103d2366004612169565b6108a1565b005b6103d76109a5565b61020d6103ef366004612075565b610dc9565b61020d600181565b7f00000000000000000000000000000000000000000000000000000000000000006102cd565b6103d7610dd3565b6103d7610f8b565b7f00000000000000000000000000000000000000000000000000000000000000006102cd565b7f000000000000000000000000000000000000000000000000000000000000000061020d565b61020d61113f565b610233610494366004612075565b6111c8565b61020d600281565b7f0000000000000000000000000000000000000000000000000000000000000000610265565b6102336104d53660046120a7565b6111ed565b6103d761120d565b61020d6104f0366004612075565b6113a2565b6103d7610503366004612075565b6113e5565b7f000000000000000000000000000000000000000000000000000000000000000061020d565b61020d61053c366004612075565b61177c565b600881901c5f90815260208190526040812054600160ff84161b1615155b92915050565b5f5f6105a361059c610597857f0000000000000000000000000000000000000000000000000000000000000000611786565b611791565b6002611786565b604051639724931760e01b815260048101829052909150610637906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397249317906024015b602060405180830381865afa15801561060e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063291906121b0565b6117bc565b9392505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526001600160a01b0382165f9081526005602052604090819020815160a081019092528054829060ff1660038111156106a2576106a26120c0565b60038111156106b3576106b36120c0565b815281546001600160601b03610100820416602083015263ffffffff600160681b820481166040840152600160881b90910416606082015260019091015460809091015292915050565b5f61070860026117f0565b905090565b5f61055f600283611803565b5f5f610745837f0000000000000000000000000000000000000000000000000000000000000000611786565b90505f61075182611791565b90505f61075f826001611786565b604051639724931760e01b8152600481018290529091506107b3906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397249317906024016105f3565b95945050505050565b5f5f6107c783610565565b9050824263ffffffff8316106107fc5760405163a6f5b7d760e01b81526004016107f391815260200190565b60405180910390fd5b5061080960028583611812565b949350505050565b5f808061083e7f0000000000000000000000000000000000000000000000000000000000000000856121db565b90507f0000000000000000000000000000000000000000000000000000000000000000811061087257505f93849350915050565b5f61087c85611884565b5f908152600660205260409020546001600160a01b0316801515969095509350505050565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03811682146108ff57604051632c0d7ee360e21b81526001600160a01b039283166004820152911660248201526044016107f3565b50506001600160a01b0383165f90815260056020526040902061092a6001600160801b0384166117bc565b815463ffffffff91909116600160881b0263ffffffff60881b1990911617815560018101829055604080516001600160801b0385168152602081018490526001600160a01b038616917f06ce34f26493be3a32c7dbec4418362d0135f3e197942f5dd02b5836e537018391015b60405180910390a250505050565b5f6109ae61113f565b90505f6109db827f00000000000000000000000000000000000000000000000000000000000000006118af565b600881901c5f90815260208190526040902054909150600160ff83161b1615610a02575050565b600881901c5f9081526020819052604081208054600160ff85161b179055610a2982610565565b9050814263ffffffff831610610a555760405163a6f5b7d760e01b81526004016107f391815260200190565b505f610a626002836118ba565b9050805f03610a715750505050565b5f610a8061028b8560016118af565b90508063ffffffff164210610a96575050505050565b5f610aa085610719565b604051630f5fdda560e31b815263ffffffff821660048201529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637afeed2890602401602060405180830381865afa158015610b0d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3191906121b0565b90505f848783604051602001610b51929190918252602082015260400190565b604051602081830303815290604052805190602001205f1c610b7391906121db565b90505f610b8260028389611812565b5f89815260066020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558352600590915290209091506003815460ff166003811115610bd257610bd26120c0565b14610be457610be26002836118d5565b505b805460ff191660021781555f610caa610c25610bff8c611791565b7f00000000000000000000000000000000000000000000000000000000000000006118af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166325b223666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c81573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca591906121b0565b6118af565b9050610d677f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397249317846040518263ffffffff1660e01b8152600401610d1e91815260200190565b602060405180830381865afa158015610d39573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5d91906121b0565b6106329190612202565b825463ffffffff91909116600160681b0263ffffffff60681b199091161782556040516001600160a01b038416908b907f481f68776206fa08da4a36697c67062a4d9d4b25f92abc91063615d270d0f560905f90a35050505050505050505050565b5f61055f82611791565b335f8181526005602052604090206003815460ff166003811115610df957610df96120c0565b825460039260ff9091169114610e245760405163ce807b6f60e01b81526004016107f3929190612215565b50508054600160681b900463ffffffff164281811015610e6557604051636a9f844960e11b815263ffffffff909216600483015260248201526044016107f3565b505080546001600160601b036101009091048116907f000000000000000000000000000000000000000000000000000000000000000016811115610edd57610ed66001600160601b037f00000000000000000000000000000000000000000000000000000000000000001682612230565b9050610ee0565b505f5b6001600160a01b0383165f90815260056020526040812080546001600160a81b0319168155600101558015610f4357610f436001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483611936565b826001600160a01b03167f9df2bec405429ed33f4542a6139ece7fdb731660929172a6b1e5f2d90a13a2db82604051610f7e91815260200190565b60405180910390a2505050565b610f936109a5565b335f8181526004602052604090205460ff168190610fd0576040516361adc4e760e01b81526001600160a01b0390911660048201526024016107f3565b506001600160a01b0381165f9081526005602052604090206001815460ff166003811115611000576110006120c0565b825460019260ff909116911461102b5760405163ce807b6f60e01b81526004016107f3929190612215565b5061103990506002836118d5565b50805460ff191660031781555f61107c61105161113f565b610ca57f00000000000000000000000000000000000000000000000000000000000000006001612202565b90505f61108882610565565b90508063ffffffff164210156110c6576110a1426117bc565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783556110f5565b6110d461028b8360016118af565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783555b8254604051600160681b90910463ffffffff1681526001600160a01b038516907f227e18a64ffa660621b0096f4e95531b0718897a3a403451ce02a3dc8e57fed390602001610997565b5f6107087f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561119f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c391906121b0565b611884565b600881901c5f90815260016020819052604082205460ff84169190911b16151561055f565b6001600160a01b0381165f9081526004602052604081205460ff1661055f565b335f8181526004602052604090205460ff1615819061124b576040516332e5ace360e01b81526001600160a01b0390911660048201526024016107f3565b506001600160a01b0381165f90815260056020526040812090815460ff16600381111561127a5761127a6120c0565b82545f9260ff90911691146112a45760405163ce807b6f60e01b81526004016107f3929190612215565b506112b2905060028361199a565b5080546001600160601b037f00000000000000000000000000000000000000000000000000000000000000001661010081026cffffffffffffffffffffffffff19909216919091176001178255611337906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169084903090611ad4565b6040516001600160601b037f00000000000000000000000000000000000000000000000000000000000000001681526001600160a01b038316907fa85ae5d22893f1618b98a1bc730da98cfa4714590a39ea541e1c57f21a10fec39060200160405180910390a25050565b5f5f6113ad83610565565b9050824263ffffffff8316106113d95760405163a6f5b7d760e01b81526004016107f391815260200190565b506106376002826118ba565b600881901c5f90815260016020819052604090912054829160ff83161b1615611424576040516381db3b0b60e01b81526004016107f391815260200190565b505f818152600660205260409020546001600160a01b0316818161145e5760405163ed2c70ef60e01b81526004016107f391815260200190565b506001600160a01b0381165f9081526005602052604090206002815460ff16600381111561148e5761148e6120c0565b825460029260ff90911691146114b95760405163ce807b6f60e01b81526004016107f3929190612215565b50508054600160681b900463ffffffff1642818110156114fa57604051636a9f844960e11b815263ffffffff909216600483015260248201526044016107f3565b505080546001905f90600160881b900463ffffffff16810361151a575f91505b8180156115be5750825f0160119054906101000a900463ffffffff1663ffffffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f8352e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611598573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115bc91906121b0565b105b156115c7575f91505b81801561166c575060018301548354604051633777e86360e01b8152600160881b90910463ffffffff1660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633777e86390602401602060405180830381865afa158015611645573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061166991906121b0565b14155b15611675575f91505b816116e5575081547f00000000000000000000000000000000000000000000000000000000000000006001600160601b038181169285916001916116c0918591610100900416612243565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505b825474ffffffff00000000000000000000000000000000ff191660031783555f6001808501829055600887901c825260208190526040909120805460ff88169290921b9091179055604080518315158152602081018390526001600160a01b0386169187917f8243e7a61fc3cbd138f8616c79a1be14bec1d636b4b5260e45cab85fb1e3b8db910160405180910390a35050505050565b5f61055f82611884565b5f6106378284612230565b5f61055f7f000000000000000000000000000000000000000000000000000000000000000083612262565b5f63ffffffff8211156117ec576040516306dfcc6560e41b815260206004820152602481018390526044016107f3565b5090565b5f61055f826117fe426117bc565b6118ba565b5f6106378383611812426117bc565b5f5f61181e85846118ba565b9050838180821061184b57604051636bc4db8d60e11b8152600481019290925260248201526044016107f3565b50505f84815260018601602052604081206118669085611b13565b905061187a816001600160e01b0316611b69565b9695505050505050565b5f61055f7f000000000000000000000000000000000000000000000000000000000000000083612279565b5f6106378284612202565b5f6118c58383611b13565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b03169282019290925290611927575f91505061055f565b61080984826020015185611b9c565b6040516001600160a01b0383811660248301526044820183905261199591859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611dc7565b505050565b5f6001600160a01b0382166119c15760405162979f6d60e11b815260040160405180910390fd5b6001600160a01b0382165f90815260028401602052604090205460ff16156119ea57505f61055f565b5f6119f484611e33565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611a64426117bc565b9050611a9c81611a7c866001600160a01b0316611e6b565b6001600160e01b0385165f90815260018901602052604090209190611e9e565b50611ac7905081611abf611ab185600161228c565b6001600160e01b0316611e6b565b879190611e9e565b5060019695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611b0d9186918216906323b872dd90608401611963565b50505050565b81545f9081611b2485858385611eb8565b90508015611b5f57611b4885611b3b600184612230565b5f91825260209091200190565b5464010000000090046001600160e01b03166107b3565b5f95945050505050565b5f6001600160a01b038211156117ec576040516306dfcc6560e41b815260a06004820152602481018390526044016107f3565b5f80611ba785611e33565b9050806001600160e01b0316846001600160e01b031610611bee57604051636bc4db8d60e11b81526001600160e01b038086166004830152821660248201526044016107f3565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055611c5d6001836122ab565b90505f611c69426117bc565b9050856001600160e01b0316826001600160e01b031614611d74576001600160e01b0382165f9081526001880160205260408120611cb890611caa90611e33565b6001600160e01b0316611b69565b90506040518060400160405280600115158152602001611ce0896001600160e01b0316611e6b565b6001600160e01b039081169091526001600160a01b0383165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b031990941693909317929092179055611d70908390611d5090611e6b565b6001600160e01b038a165f90815260018c01602052604090209190611e9e565b5050505b6001600160e01b0382165f9081526001880160205260408120611d98918390611e9e565b5050611db881611db0846001600160e01b0316611e6b565b899190611e9e565b50600198975050505050505050565b5f5f60205f8451602086015f885af180611de6576040513d5f823e3d81fd5b50505f513d91508115611dfd578060011415611e0a565b6001600160a01b0384163b155b15611b0d57604051635274afe760e01b81526001600160a01b03851660048201526024016107f3565b80545f908015611e6357611e4c83611b3b600184612230565b5464010000000090046001600160e01b0316610637565b5f9392505050565b5f6001600160e01b038211156117ec576040516306dfcc6560e41b815260e06004820152602481018390526044016107f3565b5f80611eab858585611f13565b915091505b935093915050565b5f5b81831015611f0b575f611ecd848461205b565b5f8781526020902090915063ffffffff86169082015463ffffffff161115611ef757809250611f05565b611f02816001612202565b93505b50611eba565b509392505050565b82545f9081908015612002575f611f2f87611b3b600185612230565b805490915063ffffffff8082169164010000000090046001600160e01b0316908816821115611f7157604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff1603611fa557825463ffffffff166401000000006001600160e01b03891602178355611ff4565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216640100000000029216919091179101555b9450859350611eb092505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316640100000000029190931617920191909155905081611eb0565b5f6120696002848418612279565b61063790848416612202565b5f60208284031215612085575f5ffd5b5035919050565b80356001600160a01b03811681146120a2575f5ffd5b919050565b5f602082840312156120b7575f5ffd5b6106378261208c565b634e487b7160e01b5f52602160045260245ffd5b600481106120f057634e487b7160e01b5f52602160045260245ffd5b9052565b5f60a0820190506121068284516120d4565b6001600160601b03602084015116602083015263ffffffff604084015116604083015263ffffffff60608401511660608301526080830151608083015292915050565b5f5f6040838503121561215a575f5ffd5b50508035926020909101359150565b5f5f5f6060848603121561217b575f5ffd5b6121848461208c565b925060208401356001600160801b038116811461219f575f5ffd5b929592945050506040919091013590565b5f602082840312156121c0575f5ffd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826121e9576121e96121c7565b500690565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561055f5761055f6121ee565b6040810161222382856120d4565b61063760208301846120d4565b8181038181111561055f5761055f6121ee565b6001600160601b03828116828216039081111561055f5761055f6121ee565b808202811582820484141761055f5761055f6121ee565b5f82612287576122876121c7565b500490565b6001600160e01b03818116838216019081111561055f5761055f6121ee565b6001600160e01b03828116828216039081111561055f5761055f6121ee56fea2646970667358221220ffcf5b2cbca15ac27928086148ff93438073368e72b75a9ad6a7a2788fbf641664736f6c634300081e0033","sourceMap":"1551:22429:24:-:0;;;3371:2113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3928:1;3911:13;:18;;3903:71;;;;-1:-1:-1;;;3903:71:24;;;;;;;;;;;;4120:29;4162:7;-1:-1:-1;;;;;4152:43:24;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4120:77;-1:-1:-1;4230:25:24;4120:77;4254:1;4230:25;:::i;:::-;4211:15;:44;;4203:97;;;;-1:-1:-1;;;4203:97:24;;;;;;;;;;;;1965:1;4546:10;:39;4538:92;;;;-1:-1:-1;;;4538:92:24;;;;;;;;;;;;4658:15;4645:10;:28;4637:81;;;;-1:-1:-1;;;4637:81:24;;;;;;;;;;;;4830:9;-1:-1:-1;;;;;4804:35:24;:22;-1:-1:-1;;;;;4804:35:24;;;4796:88;;;;-1:-1:-1;;;4796:88:24;;;;;;;;;;;;4995:9;-1:-1:-1;;;;;4977:27:24;:14;-1:-1:-1;;;;;4977:27:24;;;4969:80;;;;-1:-1:-1;;;4969:80:24;;;;;;;;;;;;5087:7;5064:19;:30;;5056:83;;;;-1:-1:-1;;;5056:83:24;;;;;;;;;;;;-1:-1:-1;;;;;;5146:27:24;;;;;5179:31;;;;;;-1:-1:-1;;;;;5216:21:24;;;;;5243:31;;;;;5280:48;;;;5334:22;;;;;5362:33;;5401:30;;;;;5437:42;;1551:22429;;14:177:87;93:13;;-1:-1:-1;;;;;135:31:87;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:175::-;274:13;;-1:-1:-1;;;;;316:30:87;;306:41;;296:69;;361:1;358;351:12;376:994;515:6;523;531;539;547;555;563;571;579;632:3;620:9;611:7;607:23;603:33;600:53;;;649:1;646;639:12;600:53;672:40;702:9;672:40;:::i;:::-;662:50;;731:49;776:2;765:9;761:18;731:49;:::i;:::-;721:59;;799:48;843:2;832:9;828:18;799:48;:::i;:::-;789:58;;866:48;910:2;899:9;895:18;866:48;:::i;:::-;856:58;;933:49;977:3;966:9;962:19;933:49;:::i;:::-;1044:3;1029:19;;1023:26;1139:3;1124:19;;1118:26;1236:3;1221:19;;1215:26;1333:3;1318:19;;;1312:26;376:994;;;;-1:-1:-1;376:994:87;;;;923:59;;1023:26;;1118;1215;-1:-1:-1;1312:26:87;;-1:-1:-1;376:994:87;-1:-1:-1;;;376:994:87:o;1375:230::-;1445:6;1498:2;1486:9;1477:7;1473:23;1469:32;1466:52;;;1514:1;1511;1504:12;1466:52;-1:-1:-1;1559:16:87;;1375:230;-1:-1:-1;1375:230:87:o;1610:222::-;1675:9;;;1696:10;;;1693:133;;;1748:10;1743:3;1739:20;1736:1;1729:31;1783:4;1780:1;1773:15;1811:4;1808:1;1801:15;1693:133;1610:222;;;;:::o;:::-;1551:22429:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b50600436106101e7575f3560e01c80637a27d3a311610109578063c504312a1161009e578063d7c4ccf51161006e578063d7c4ccf5146104e2578063eeacfa8c146104f5578063ef9e36e514610508578063ff549fe11461052e575f5ffd5b8063c504312a14610499578063d0e4f574146104a1578063d51b9e93146104c7578063d6f1c601146104da575f5ffd5b8063a4d2342a116100d9578063a4d2342a14610432578063ad7c132114610458578063ae40f1bf1461047e578063ba4f6a7814610486575f5ffd5b80637a27d3a3146103f457806383d6f7f1146103fc5780638a35146c1461042257806390f722731461042a575f5ffd5b80633349b59f1161017f5780633a30aefe1161014f5780633a30aefe1461039257806346c32618146103c45780636fb9935c146103d9578063735b69b6146103e1575f5ffd5b80633349b59f1461033357806333fac65e14610346578063359346d51461035957806337722a7f1461036c575f5ffd5b806319db12d2116101ba57806319db12d2146102a557806328bde1e1146102e55780632a2629f61461030557806330a563471461032b575f5ffd5b80630a42f86f146101eb578063147d97bd14610220578063181803d914610243578063182cad591461027d575b5f5ffd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020015b60405180910390f35b61023361022e366004612075565b610541565b6040519015158152602001610217565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160601b039091168152602001610217565b61029061028b366004612075565b610565565b60405163ffffffff9091168152602001610217565b6102cd6102b3366004612075565b5f908152600660205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610217565b6102f86102f33660046120a7565b61063e565b60405161021791906120f4565b7f000000000000000000000000000000000000000000000000000000000000000061020d565b61020d6106fd565b6102cd610341366004612075565b61070d565b610290610354366004612075565b610719565b6102cd610367366004612149565b6107bc565b7f0000000000000000000000000000000000000000000000000000000000000000610265565b6103a56103a0366004612075565b610811565b6040805192151583526001600160a01b03909116602083015201610217565b6103d76103d2366004612169565b6108a1565b005b6103d76109a5565b61020d6103ef366004612075565b610dc9565b61020d600181565b7f00000000000000000000000000000000000000000000000000000000000000006102cd565b6103d7610dd3565b6103d7610f8b565b7f00000000000000000000000000000000000000000000000000000000000000006102cd565b7f000000000000000000000000000000000000000000000000000000000000000061020d565b61020d61113f565b610233610494366004612075565b6111c8565b61020d600281565b7f0000000000000000000000000000000000000000000000000000000000000000610265565b6102336104d53660046120a7565b6111ed565b6103d761120d565b61020d6104f0366004612075565b6113a2565b6103d7610503366004612075565b6113e5565b7f000000000000000000000000000000000000000000000000000000000000000061020d565b61020d61053c366004612075565b61177c565b600881901c5f90815260208190526040812054600160ff84161b1615155b92915050565b5f5f6105a361059c610597857f0000000000000000000000000000000000000000000000000000000000000000611786565b611791565b6002611786565b604051639724931760e01b815260048101829052909150610637906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397249317906024015b602060405180830381865afa15801561060e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063291906121b0565b6117bc565b9392505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526001600160a01b0382165f9081526005602052604090819020815160a081019092528054829060ff1660038111156106a2576106a26120c0565b60038111156106b3576106b36120c0565b815281546001600160601b03610100820416602083015263ffffffff600160681b820481166040840152600160881b90910416606082015260019091015460809091015292915050565b5f61070860026117f0565b905090565b5f61055f600283611803565b5f5f610745837f0000000000000000000000000000000000000000000000000000000000000000611786565b90505f61075182611791565b90505f61075f826001611786565b604051639724931760e01b8152600481018290529091506107b3906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397249317906024016105f3565b95945050505050565b5f5f6107c783610565565b9050824263ffffffff8316106107fc5760405163a6f5b7d760e01b81526004016107f391815260200190565b60405180910390fd5b5061080960028583611812565b949350505050565b5f808061083e7f0000000000000000000000000000000000000000000000000000000000000000856121db565b90507f0000000000000000000000000000000000000000000000000000000000000000811061087257505f93849350915050565b5f61087c85611884565b5f908152600660205260409020546001600160a01b0316801515969095509350505050565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03811682146108ff57604051632c0d7ee360e21b81526001600160a01b039283166004820152911660248201526044016107f3565b50506001600160a01b0383165f90815260056020526040902061092a6001600160801b0384166117bc565b815463ffffffff91909116600160881b0263ffffffff60881b1990911617815560018101829055604080516001600160801b0385168152602081018490526001600160a01b038616917f06ce34f26493be3a32c7dbec4418362d0135f3e197942f5dd02b5836e537018391015b60405180910390a250505050565b5f6109ae61113f565b90505f6109db827f00000000000000000000000000000000000000000000000000000000000000006118af565b600881901c5f90815260208190526040902054909150600160ff83161b1615610a02575050565b600881901c5f9081526020819052604081208054600160ff85161b179055610a2982610565565b9050814263ffffffff831610610a555760405163a6f5b7d760e01b81526004016107f391815260200190565b505f610a626002836118ba565b9050805f03610a715750505050565b5f610a8061028b8560016118af565b90508063ffffffff164210610a96575050505050565b5f610aa085610719565b604051630f5fdda560e31b815263ffffffff821660048201529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637afeed2890602401602060405180830381865afa158015610b0d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3191906121b0565b90505f848783604051602001610b51929190918252602082015260400190565b604051602081830303815290604052805190602001205f1c610b7391906121db565b90505f610b8260028389611812565b5f89815260066020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558352600590915290209091506003815460ff166003811115610bd257610bd26120c0565b14610be457610be26002836118d5565b505b805460ff191660021781555f610caa610c25610bff8c611791565b7f00000000000000000000000000000000000000000000000000000000000000006118af565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166325b223666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c81573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca591906121b0565b6118af565b9050610d677f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397249317846040518263ffffffff1660e01b8152600401610d1e91815260200190565b602060405180830381865afa158015610d39573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5d91906121b0565b6106329190612202565b825463ffffffff91909116600160681b0263ffffffff60681b199091161782556040516001600160a01b038416908b907f481f68776206fa08da4a36697c67062a4d9d4b25f92abc91063615d270d0f560905f90a35050505050505050505050565b5f61055f82611791565b335f8181526005602052604090206003815460ff166003811115610df957610df96120c0565b825460039260ff9091169114610e245760405163ce807b6f60e01b81526004016107f3929190612215565b50508054600160681b900463ffffffff164281811015610e6557604051636a9f844960e11b815263ffffffff909216600483015260248201526044016107f3565b505080546001600160601b036101009091048116907f000000000000000000000000000000000000000000000000000000000000000016811115610edd57610ed66001600160601b037f00000000000000000000000000000000000000000000000000000000000000001682612230565b9050610ee0565b505f5b6001600160a01b0383165f90815260056020526040812080546001600160a81b0319168155600101558015610f4357610f436001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483611936565b826001600160a01b03167f9df2bec405429ed33f4542a6139ece7fdb731660929172a6b1e5f2d90a13a2db82604051610f7e91815260200190565b60405180910390a2505050565b610f936109a5565b335f8181526004602052604090205460ff168190610fd0576040516361adc4e760e01b81526001600160a01b0390911660048201526024016107f3565b506001600160a01b0381165f9081526005602052604090206001815460ff166003811115611000576110006120c0565b825460019260ff909116911461102b5760405163ce807b6f60e01b81526004016107f3929190612215565b5061103990506002836118d5565b50805460ff191660031781555f61107c61105161113f565b610ca57f00000000000000000000000000000000000000000000000000000000000000006001612202565b90505f61108882610565565b90508063ffffffff164210156110c6576110a1426117bc565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783556110f5565b6110d461028b8360016118af565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783555b8254604051600160681b90910463ffffffff1681526001600160a01b038516907f227e18a64ffa660621b0096f4e95531b0718897a3a403451ce02a3dc8e57fed390602001610997565b5f6107087f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561119f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c391906121b0565b611884565b600881901c5f90815260016020819052604082205460ff84169190911b16151561055f565b6001600160a01b0381165f9081526004602052604081205460ff1661055f565b335f8181526004602052604090205460ff1615819061124b576040516332e5ace360e01b81526001600160a01b0390911660048201526024016107f3565b506001600160a01b0381165f90815260056020526040812090815460ff16600381111561127a5761127a6120c0565b82545f9260ff90911691146112a45760405163ce807b6f60e01b81526004016107f3929190612215565b506112b2905060028361199a565b5080546001600160601b037f00000000000000000000000000000000000000000000000000000000000000001661010081026cffffffffffffffffffffffffff19909216919091176001178255611337906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169084903090611ad4565b6040516001600160601b037f00000000000000000000000000000000000000000000000000000000000000001681526001600160a01b038316907fa85ae5d22893f1618b98a1bc730da98cfa4714590a39ea541e1c57f21a10fec39060200160405180910390a25050565b5f5f6113ad83610565565b9050824263ffffffff8316106113d95760405163a6f5b7d760e01b81526004016107f391815260200190565b506106376002826118ba565b600881901c5f90815260016020819052604090912054829160ff83161b1615611424576040516381db3b0b60e01b81526004016107f391815260200190565b505f818152600660205260409020546001600160a01b0316818161145e5760405163ed2c70ef60e01b81526004016107f391815260200190565b506001600160a01b0381165f9081526005602052604090206002815460ff16600381111561148e5761148e6120c0565b825460029260ff90911691146114b95760405163ce807b6f60e01b81526004016107f3929190612215565b50508054600160681b900463ffffffff1642818110156114fa57604051636a9f844960e11b815263ffffffff909216600483015260248201526044016107f3565b505080546001905f90600160881b900463ffffffff16810361151a575f91505b8180156115be5750825f0160119054906101000a900463ffffffff1663ffffffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f8352e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611598573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115bc91906121b0565b105b156115c7575f91505b81801561166c575060018301548354604051633777e86360e01b8152600160881b90910463ffffffff1660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633777e86390602401602060405180830381865afa158015611645573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061166991906121b0565b14155b15611675575f91505b816116e5575081547f00000000000000000000000000000000000000000000000000000000000000006001600160601b038181169285916001916116c0918591610100900416612243565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505b825474ffffffff00000000000000000000000000000000ff191660031783555f6001808501829055600887901c825260208190526040909120805460ff88169290921b9091179055604080518315158152602081018390526001600160a01b0386169187917f8243e7a61fc3cbd138f8616c79a1be14bec1d636b4b5260e45cab85fb1e3b8db910160405180910390a35050505050565b5f61055f82611884565b5f6106378284612230565b5f61055f7f000000000000000000000000000000000000000000000000000000000000000083612262565b5f63ffffffff8211156117ec576040516306dfcc6560e41b815260206004820152602481018390526044016107f3565b5090565b5f61055f826117fe426117bc565b6118ba565b5f6106378383611812426117bc565b5f5f61181e85846118ba565b9050838180821061184b57604051636bc4db8d60e11b8152600481019290925260248201526044016107f3565b50505f84815260018601602052604081206118669085611b13565b905061187a816001600160e01b0316611b69565b9695505050505050565b5f61055f7f000000000000000000000000000000000000000000000000000000000000000083612279565b5f6106378284612202565b5f6118c58383611b13565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b03169282019290925290611927575f91505061055f565b61080984826020015185611b9c565b6040516001600160a01b0383811660248301526044820183905261199591859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611dc7565b505050565b5f6001600160a01b0382166119c15760405162979f6d60e11b815260040160405180910390fd5b6001600160a01b0382165f90815260028401602052604090205460ff16156119ea57505f61055f565b5f6119f484611e33565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611a64426117bc565b9050611a9c81611a7c866001600160a01b0316611e6b565b6001600160e01b0385165f90815260018901602052604090209190611e9e565b50611ac7905081611abf611ab185600161228c565b6001600160e01b0316611e6b565b879190611e9e565b5060019695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611b0d9186918216906323b872dd90608401611963565b50505050565b81545f9081611b2485858385611eb8565b90508015611b5f57611b4885611b3b600184612230565b5f91825260209091200190565b5464010000000090046001600160e01b03166107b3565b5f95945050505050565b5f6001600160a01b038211156117ec576040516306dfcc6560e41b815260a06004820152602481018390526044016107f3565b5f80611ba785611e33565b9050806001600160e01b0316846001600160e01b031610611bee57604051636bc4db8d60e11b81526001600160e01b038086166004830152821660248201526044016107f3565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055611c5d6001836122ab565b90505f611c69426117bc565b9050856001600160e01b0316826001600160e01b031614611d74576001600160e01b0382165f9081526001880160205260408120611cb890611caa90611e33565b6001600160e01b0316611b69565b90506040518060400160405280600115158152602001611ce0896001600160e01b0316611e6b565b6001600160e01b039081169091526001600160a01b0383165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b031990941693909317929092179055611d70908390611d5090611e6b565b6001600160e01b038a165f90815260018c01602052604090209190611e9e565b5050505b6001600160e01b0382165f9081526001880160205260408120611d98918390611e9e565b5050611db881611db0846001600160e01b0316611e6b565b899190611e9e565b50600198975050505050505050565b5f5f60205f8451602086015f885af180611de6576040513d5f823e3d81fd5b50505f513d91508115611dfd578060011415611e0a565b6001600160a01b0384163b155b15611b0d57604051635274afe760e01b81526001600160a01b03851660048201526024016107f3565b80545f908015611e6357611e4c83611b3b600184612230565b5464010000000090046001600160e01b0316610637565b5f9392505050565b5f6001600160e01b038211156117ec576040516306dfcc6560e41b815260e06004820152602481018390526044016107f3565b5f80611eab858585611f13565b915091505b935093915050565b5f5b81831015611f0b575f611ecd848461205b565b5f8781526020902090915063ffffffff86169082015463ffffffff161115611ef757809250611f05565b611f02816001612202565b93505b50611eba565b509392505050565b82545f9081908015612002575f611f2f87611b3b600185612230565b805490915063ffffffff8082169164010000000090046001600160e01b0316908816821115611f7157604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff1603611fa557825463ffffffff166401000000006001600160e01b03891602178355611ff4565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216640100000000029216919091179101555b9450859350611eb092505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316640100000000029190931617920191909155905081611eb0565b5f6120696002848418612279565b61063790848416612202565b5f60208284031215612085575f5ffd5b5035919050565b80356001600160a01b03811681146120a2575f5ffd5b919050565b5f602082840312156120b7575f5ffd5b6106378261208c565b634e487b7160e01b5f52602160045260245ffd5b600481106120f057634e487b7160e01b5f52602160045260245ffd5b9052565b5f60a0820190506121068284516120d4565b6001600160601b03602084015116602083015263ffffffff604084015116604083015263ffffffff60608401511660608301526080830151608083015292915050565b5f5f6040838503121561215a575f5ffd5b50508035926020909101359150565b5f5f5f6060848603121561217b575f5ffd5b6121848461208c565b925060208401356001600160801b038116811461219f575f5ffd5b929592945050506040919091013590565b5f602082840312156121c0575f5ffd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826121e9576121e96121c7565b500690565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561055f5761055f6121ee565b6040810161222382856120d4565b61063760208301846120d4565b8181038181111561055f5761055f6121ee565b6001600160601b03828116828216039081111561055f5761055f6121ee565b808202811582820484141761055f5761055f6121ee565b5f82612287576122876121c7565b500490565b6001600160e01b03818116838216019081111561055f5761055f6121ee565b6001600160e01b03828116828216039081111561055f5761055f6121ee56fea2646970667358221220ffcf5b2cbca15ac27928086148ff93438073368e72b75a9ad6a7a2788fbf641664736f6c634300081e0033","sourceMap":"1551:22429:24:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18201:106;18293:9;18201:106;;;160:25:87;;;148:2;133:18;18201:106:24;;;;;;;;13893:151;;;;;;:::i;:::-;;:::i;:::-;;;619:14:87;;612:22;594:41;;582:2;567:18;13893:151:24;454:187:87;17927:131:24;18030:23;17927:131;;;-1:-1:-1;;;;;808:39:87;;;790:58;;778:2;763:18;17927:131:24;646:208:87;22616:296:24;;;;;;:::i;:::-;;:::i;:::-;;;1033:10:87;1021:23;;;1003:42;;991:2;976:18;22616:296:24;859:192:87;13589:145:24;;;;;;:::i;:::-;13680:7;13702:27;;;:19;:27;;;;;;-1:-1:-1;;;;;13702:27:24;;13589:145;;;;-1:-1:-1;;;;;1220:32:87;;;1202:51;;1190:2;1175:18;13589:145:24;1056:203:87;14517:159:24;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;19009:126::-;19110:20;19009:126;;14810:128;;;:::i;15692:146::-;;;;;;:::i;:::-;;:::i;23298:367::-;;;;;;:::i;:::-;;:::i;16144:353::-;;;;;;:::i;:::-;;:::i;17429:104::-;17519:9;17429:104;;12471:390;;;;;;:::i;:::-;;:::i;:::-;;;;3653:14:87;;3646:22;3628:41;;-1:-1:-1;;;;;3705:32:87;;;3700:2;3685:18;;3678:60;3601:18;12471:390:24;3460:284:87;9457:484:24;;;;;;:::i;:::-;;:::i;:::-;;19474:2499;;;:::i;13278:130::-;;;;;;:::i;:::-;;:::i;2061:52::-;;2112:1;2061:52;;17168:116;17268:10;17168:116;;8348:709;;;:::i;6758:1259::-;;;:::i;16944:109::-;17041:6;16944:109;;18726:114;18821:14;18726:114;;22094:131;;;:::i;14205:153::-;;;;;;:::i;:::-;;:::i;1912:54::-;;1965:1;1912:54;;17662:114;17757:14;17662:114;;16688:149;;;;;;:::i;:::-;;:::i;5822:599::-;;;:::i;15184:296::-;;;;;;:::i;:::-;;:::i;10602:1561::-;;;;;;:::i;:::-;;:::i;18459:117::-;18556:15;18459:117;;13010:120;;;;;;:::i;:::-;;:::i;13893:151::-;1144:1:21;1135:10;;;13978:4:24;1206:20:21;;;;;;;;;;;1170:1;1184:4;1176:12;;1170:19;1206:27;:32;;13997:42:24;13990:49;13893:151;-1:-1:-1;;13893:151:24:o;22616:296::-;22699:6;22713:17;22733:92;:51;22748:35;:6;22768:14;22748:35;:::i;:::-;22733:14;:51::i;:::-;1965:1;22733:92;:::i;:::-;22855:40;;-1:-1:-1;;;22855:40:24;;;;;160:25:87;;;22713:112:24;;-1:-1:-1;22838:69:24;;-1:-1:-1;;;;;22855:6:24;:27;;;;133:18:87;;22855:40:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22838:67;:69::i;:::-;22831:76;22616:296;-1:-1:-1;;;22616:296:24:o;14517:159::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14644:27:24;;;;;;:15;:27;;;;;;;14637:34;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;14637:34:24;;;;;;;;;-1:-1:-1;;;14637:34:24;;;;;;;;-1:-1:-1;;;14637:34:24;;;;;;;;;;;;;;;;;;;14517:159;-1:-1:-1;;14517:159:24:o;14810:128::-;14885:7;14907:26;:17;:24;:26::i;:::-;14900:33;;14810:128;:::o;15692:146::-;15783:7;15805:28;:17;15826:6;15805:20;:28::i;23298:367::-;23382:6;23396:19;23418:35;:6;23438:14;23418:35;:::i;:::-;23396:57;;23459:16;23478:29;23493:13;23478:14;:29::i;:::-;23459:48;;23513:15;23531:49;:10;2112:1;23531:49;:::i;:::-;23610:38;;-1:-1:-1;;;23610:38:24;;;;;160:25:87;;;23513:67:24;;-1:-1:-1;23593:67:24;;-1:-1:-1;;;;;23610:6:24;:27;;;;133:18:87;;23610:38:24;14:177:87;23593:67:24;23586:74;23298:367;-1:-1:-1;;;;;23298:367:24:o;16144:353::-;16273:7;16290:15;16308:23;16324:6;16308:15;:23::i;:::-;16290:41;-1:-1:-1;16405:6:24;16356:15;16345:26;;;;16337:76;;;;-1:-1:-1;;;16337:76:24;;;;;;160:25:87;;148:2;133:18;;14:177;16337:76:24;;;;;;;;;-1:-1:-1;16426:66:24;:17;16475:6;16483:8;16426:48;:66::i;:::-;16419:73;16144:353;-1:-1:-1;;;;16144:353:24:o;12471:390::-;12552:11;;;12612:32;12635:9;12625:6;12612:32;:::i;:::-;12589:55;;12670:15;12654:12;:31;12650:78;;-1:-1:-1;12703:5:24;;;;-1:-1:-1;12471:390:24;-1:-1:-1;;12471:390:24:o;12650:78::-;12734:11;12748:17;12758:6;12748:9;:17::i;:::-;12782:26;;;;:19;:26;;;;;;-1:-1:-1;;;;;12782:26:24;12823:22;;;;12782:26;;-1:-1:-1;12471:390:24;-1:-1:-1;;;;12471:390:24:o;9457:484::-;9613:10;9635:6;-1:-1:-1;;;;;9613:29:24;;;;9605:99;;;;-1:-1:-1;;;9605:99:24;;-1:-1:-1;;;;;5322:32:87;;;9605:99:24;;;5304:51:87;5391:32;;5371:18;;;5364:60;5277:18;;9605:99:24;5130:300:87;9605:99:24;-1:-1:-1;;;;;;;9740:26:24;;9711;9740;;;:15;:26;;;;;9800:28;-1:-1:-1;;;;;9800:26:24;;;:28::i;:::-;9772:56;;;;;;;-1:-1:-1;;;9772:56:24;-1:-1:-1;;;;9772:56:24;;;;;;-1:-1:-1;9834:25:24;;:36;;;9882:54;;;-1:-1:-1;;;;;5627:47:87;;5609:66;;5706:2;5691:18;;5684:34;;;-1:-1:-1;;;;;9882:54:24;;;;;5582:18:87;9882:54:24;;;;;;;;9599:342;9457:484;;;:::o;19474:2499::-;19542:18;19563:17;:15;:17::i;:::-;19542:38;;19586:17;19606:41;:12;19632:14;19606:41;:::i;:::-;1144:1:21;1135:10;;;19658:16:24;1206:20:21;;;;;;;;;;;19586:61:24;;-1:-1:-1;1170:1:21;1184:4;1176:12;;1170:19;1206:27;:32;19654:74:24;;19715:7;;19474:2499::o;19654:74::-;1677:1:21;1668:10;;;19734:16:24;1732:20:21;;;;;;;;;;:28;;1703:1;1717:4;1709:12;;1703:19;1732:28;;;19896::24;1668:10:21;19896:15:24;:28::i;:::-;19878:46;-1:-1:-1;20062:11:24;20013:15;20002:26;;;;19994:81;;;;-1:-1:-1;;;19994:81:24;;;;;;160:25:87;;148:2;133:18;;14:177;19994:81:24;-1:-1:-1;20082:15:24;20100:45;:17;20136:8;20100:35;:45::i;:::-;20082:63;;20155:7;20166:1;20155:12;20151:39;;20177:7;;;;19474:2499::o;20151:39::-;20574:19;20596:44;20612:27;:11;20637:1;20612:27;:::i;20596:44::-;20574:66;;20669:12;20650:31;;:15;:31;20646:58;;20691:7;;;;;19474:2499::o;20646:58::-;20758:13;20774:29;20791:11;20774:16;:29::i;:::-;20824:46;;-1:-1:-1;;;20824:46:24;;20847:22;;;20824:46;;;160:25:87;20758:45:24;;-1:-1:-1;20809:12:24;;-1:-1:-1;;;;;20824:6:24;:22;;;;133:18:87;;20824:46:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20809:61;;20876:13;20944:7;20921:11;20934:4;20910:29;;;;;;;;6378:25:87;;;6434:2;6419:18;;6412:34;6366:2;6351:18;;6177:275;20910:29:24;;;;;;;;;;;;;20900:40;;;;;;20892:49;;:59;;;;:::i;:::-;20876:75;-1:-1:-1;20957:16:24;20976:65;:17;20876:75;21032:8;20976:48;:65::i;:::-;21048:32;;;;:19;:32;;;;;;;;:43;;-1:-1:-1;;;;;;21048:43:24;-1:-1:-1;;;;;21048:43:24;;;;;;;;21127:25;;:15;:25;;;;;21048:43;;-1:-1:-1;21467:14:24;21452:11;;;;:29;;;;;;;;:::i;:::-;;21448:84;;21491:34;:17;21516:8;21491:24;:34::i;:::-;;21448:84;21538:30;;-1:-1:-1;;21538:30:24;21552:16;21538:30;;;-1:-1:-1;21691:105:24;:57;:27;21706:11;21691:14;:27::i;:::-;21732:15;21691:57;:::i;:::-;21762:6;-1:-1:-1;;;;;21762:31:24;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21691:105;:::i;:::-;21665:131;;21820:96;21884:20;21838:6;-1:-1:-1;;;;;21838:27:24;;21866:13;21838:42;;;;;;;;;;;;;160:25:87;;148:2;133:18;;14:177;21838:42:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21821:83;;;;:::i;21820:96::-;21802:114;;;;;;;-1:-1:-1;;;21802:114:24;-1:-1:-1;;;;21802:114:24;;;;;;21928:40;;-1:-1:-1;;;;;21928:40:24;;;21946:11;;21928:40;;21802:15;;21928:40;19536:2437;;;;;;;;;;;19474:2499::o;13278:130::-;13361:5;13381:22;13396:6;13381:14;:22::i;8348:709::-;8439:10;8419:17;8484:26;;;:15;:26;;;;;8540:14;8525:11;;;;:29;;;;;;;;:::i;:::-;8606:11;;8590:14;;8606:11;;;;;8525:29;8517:102;;;;-1:-1:-1;;;8517:102:24;;;;;;;;;:::i;:::-;-1:-1:-1;;8653:15:24;;-1:-1:-1;;;8653:15:24;;;;8634;:34;;;;8626:113;;;;-1:-1:-1;;;8626:113:24;;7227:10:87;7215:23;;;8626:113:24;;;7197:42:87;7255:18;;;7248:34;7170:18;;8626:113:24;7024:264:87;8626:113:24;-1:-1:-1;;8771:11:24;;-1:-1:-1;;;;;8771:11:24;;;;;;;8802:14;8793:23;;;8789:99;;;8826:24;-1:-1:-1;;;;;8836:14:24;8826:24;;;:::i;:::-;;;8789:99;;;-1:-1:-1;8880:1:24;8789:99;-1:-1:-1;;;;;8901:26:24;;;;;;:15;:26;;;;;8894:33;;-1:-1:-1;;;;;;8894:33:24;;;;;;8938:10;;8934:73;;8958:42;-1:-1:-1;;;;;8958:10:24;:23;8982:9;8993:6;8958:23;:42::i;:::-;9034:9;-1:-1:-1;;;;;9018:34:24;;9045:6;9018:34;;;;160:25:87;;148:2;133:18;;14:177;9018:34:24;;;;;;;;8413:644;;;8348:709::o;6758:1259::-;6926:18;:16;:18::i;:::-;6971:10;9762:4:71;9781:37;;;:27;:37;;;;;:44;;;7072:9:24;6987:96;;;;;-1:-1:-1;;;6987:96:24;;-1:-1:-1;;;;;1220:32:87;;;6987:96:24;;;1202:51:87;1175:18;;6987:96:24;1056:203:87;6987:96:24;-1:-1:-1;;;;;;7119:26:24;;7090;7119;;;:15;:26;;;;;7174:13;7159:11;;;;:28;;;;;;;;:::i;:::-;7238:11;;7223:13;;7238:11;;;;;7159:28;7151:100;;;;-1:-1:-1;;;7151:100:24;;;;;;;;;:::i;:::-;-1:-1:-1;7258:35:24;;-1:-1:-1;7258:17:24;7283:9;7258:24;:35::i;:::-;-1:-1:-1;7299:28:24;;-1:-1:-1;;7299:28:24;7313:14;7299:28;;;-1:-1:-1;7652:50:24;:17;:15;:17::i;:::-;7683:18;7687:14;7683:1;:18;:::i;7652:50::-;7628:74;;7708:19;7730:32;7746:15;7730;:32::i;:::-;7708:54;;7791:12;7773:30;;:15;:30;7769:182;;;7831:26;:15;:24;:26::i;:::-;7813:44;;;;;;;-1:-1:-1;;;7813:44:24;-1:-1:-1;;;;7813:44:24;;;;;;7769:182;;;7896:48;7912:31;:15;7941:1;7912:31;:::i;7896:48::-;7878:66;;;;;;;-1:-1:-1;;;7878:66:24;-1:-1:-1;;;;7878:66:24;;;;;;7769:182;7996:15;;7962:50;;-1:-1:-1;;;7996:15:24;;;;;1003:42:87;;-1:-1:-1;;;;;7962:50:24;;;;;991:2:87;976:18;7962:50:24;859:192:87;22094:131:24;22165:5;22185:35;22195:6;-1:-1:-1;;;;;22195:22:24;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22185:9;:35::i;14205:153::-;1144:1:21;1135:10;;;14291:4:24;1206:20:21;;;14310:17:24;1206:20:21;;;;;;;;1184:4;1176:12;;1170:19;;;;1206:27;:32;;14310:43:24;1028:217:21;16688:149:24;-1:-1:-1;;;;;9781:37:71;;16775:4:24;9781:37:71;;;:27;:37;;;;;:44;;;16794:38:24;9666:164:71;5822:599:24;5912:10;9762:4:71;9781:37;;;:27;:37;;;;;:44;;;5937:38:24;6019:9;5929:101;;;;;-1:-1:-1;;;5929:101:24;;-1:-1:-1;;;;;1220:32:87;;;5929:101:24;;;1202:51:87;1175:18;;5929:101:24;1056:203:87;5929:101:24;-1:-1:-1;;;;;;6066:26:24;;6037;6066;;;:15;:26;;;;;;6106:11;;;;:26;;;;;;;;:::i;:::-;6181:11;;6168;;6181;;;;;6106:26;6098:96;;;;-1:-1:-1;;;6098:96:24;;;;;;;;;:::i;:::-;-1:-1:-1;6201:32:24;;-1:-1:-1;6201:17:24;6223:9;6201:21;:32::i;:::-;-1:-1:-1;6240:27:24;;-1:-1:-1;;;;;6287:9:24;6273:23;;;;-1:-1:-1;;6273:23:24;;;;;;;6254:13;6273:23;;;6303:64;;-1:-1:-1;;;;;6303:10:24;:27;;6331:9;;6350:4;;6303:27;:64::i;:::-;6379:37;;-1:-1:-1;;;;;6406:9:24;808:39:87;790:58;;-1:-1:-1;;;;;6379:37:24;;;;;778:2:87;763:18;6379:37:24;;;;;;;5886:535;;5822:599::o;15184:296::-;15279:7;15294:15;15312:23;15328:6;15312:15;:23::i;:::-;15294:41;-1:-1:-1;15409:6:24;15360:15;15349:26;;;;15341:76;;;;-1:-1:-1;;;15341:76:24;;;;;;160:25:87;;148:2;133:18;;14:177;15341:76:24;-1:-1:-1;15430:45:24;:17;15466:8;15430:35;:45::i;10602:1561::-;1144:1:21;1135:10;;;1102:4;1206:20;;;10700:17:24;1206:20:21;;;;;;;;;1135:10;;1184:4;1176:12;;1170:19;1206:27;:32;10691:99:24;;;;-1:-1:-1;;;10691:99:24;;;;;;160:25:87;;148:2;133:18;;14:177;10691:99:24;-1:-1:-1;10797:16:24;10816:27;;;:19;:27;;;;;;-1:-1:-1;;;;;10816:27:24;10836:6;10857:22;10849:81;;;;-1:-1:-1;;;10849:81:24;;;;;;160:25:87;;148:2;133:18;;14:177;10849:81:24;-1:-1:-1;;;;;;10966:25:24;;10937:26;10966:25;;;:15;:25;;;;;11020:16;11005:11;;;;:31;;;;;;;;:::i;:::-;11090:11;;11072:16;;11090:11;;;;;11005:31;10997:106;;;;-1:-1:-1;;;10997:106:24;;;;;;;;;:::i;:::-;-1:-1:-1;;11137:15:24;;-1:-1:-1;;;11137:15:24;;;;11118;:34;;;;11110:113;;;;-1:-1:-1;;;11110:113:24;;7227:10:87;7215:23;;;11110:113:24;;;7197:42:87;7255:18;;;7248:34;7170:18;;11110:113:24;7024:264:87;11110:113:24;-1:-1:-1;;11365:25:24;;11245:4;;11230:12;;-1:-1:-1;;;11365:25:24;;;;:30;;11361:66;;11415:5;11405:15;;11361:66;11510:7;:73;;;;;11558:4;:25;;;;;;;;;;;;11521:62;;:6;-1:-1:-1;;;;;11521:32:24;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:62;11510:73;11506:109;;;11603:5;11593:15;;11506:109;11698:7;:83;;;;-1:-1:-1;11756:25:24;;;;11726;;11709:43;;-1:-1:-1;;;11709:43:24;;-1:-1:-1;;;11726:25:24;;;;;11709:43;;;1003:42:87;11709:6:24;-1:-1:-1;;;;;11709:16:24;;;;976:18:87;;11709:43:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;;11698:83;11694:119;;;11801:5;11791:15;;11694:119;11824:7;11819:111;;-1:-1:-1;11885:38:24;;11854:23;-1:-1:-1;;;;;11841:36:24;;;;11885:38;;:11;;:38;;11854:23;;11885:38;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;11885:38:24;;;;;-1:-1:-1;;;;;11885:38:24;;;;;;11819:111;11936:28;;-1:-1:-1;;11970:29:24;11950:14;11970:29;;;-1:-1:-1;11936:28:24;12005:25;;;:38;;;1677:1:21;1668:10;;;1732:20;;;;;;;;;;:28;;1717:4;1709:12;;1703:19;;;;1732:28;;;;;12105:53:24;;;8705:14:87;;8698:22;8680:41;;8752:2;8737:18;;8730:34;;;-1:-1:-1;;;;;12105:53:24;;;12120:6;;12105:53;;8653:18:87;12105:53:24;;;;;;;10685:1478;;;;10602:1561;:::o;13010:120::-;13088:5;13108:17;13118:6;13108:9;:17::i;398:120:38:-;450:5;479:35;511:2;492;479:35;:::i;23848:130:24:-;23909:5;23940:32;23963:9;23953:6;23940:32;:::i;15296:213:19:-;15352:6;15382:16;15374:24;;15370:103;;;15421:41;;-1:-1:-1;;;15421:41:19;;15452:2;15421:41;;;9129:36:87;9181:18;;;9174:34;;;9102:18;;15421:41:19;8948:266:87;15370:103:19;-1:-1:-1;15496:5:19;15296:213::o;7731:155:71:-;7807:7;7829:52;7847:5;7854:26;:15;:24;:26::i;:::-;7829:17;:52::i;5787:188::-;5875:7;5897:73;5928:5;5935:6;5943:26;:15;:24;:26::i;:::-;6403:7;6420:12;6435:36;6453:5;6460:10;6435:17;:36::i;:::-;6420:51;-1:-1:-1;6485:6:71;6420:51;6485:13;;;6477:74;;;;-1:-1:-1;;;6477:74:71;;;;;6378:25:87;;;;6419:18;;;6412:34;6351:18;;6477:74:71;6177:275:87;6477:74:71;-1:-1:-1;;6676:12:71;6691:35;;;:27;;;:35;;;;;:59;;6739:10;6691:47;:59::i;:::-;6676:74;;6771:16;:4;-1:-1:-1;;;;;6771:14:71;;:16::i;:::-;6756:32;6256:537;-1:-1:-1;;;;;;6256:537:71:o;23719:125:24:-;23775:5;23806:32;23829:9;23819:6;23806:32;:::i;276:120:38:-;328:5;357:35;389:2;370;357:35;:::i;8247:167:71:-;8353:7;8375:34;:5;8398:10;8375:22;:34::i;:::-;-1:-1:-1;;;;;8368:41:71;;8247:167;-1:-1:-1;;;8247:167:71:o;3008:266::-;-1:-1:-1;;;;;3130:37:71;;3097:4;3130:37;;;:27;;;:37;;;;;;;;3109:58;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3109:58:71;;;;;;;;;3173:46;;3207:5;3200:12;;;;;3173:46;3232:37;3240:5;3247;:11;;;3260:8;3232:7;:37::i;1219:160:6:-;1328:43;;-1:-1:-1;;;;;9789:32:87;;;1328:43:6;;;9771:51:87;9838:18;;;9831:34;;;1301:71:6;;1321:5;;1343:14;;;;;9744:18:87;;1328:43:6;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1328:43:6;;;;;;;;;;;1301:19;:71::i;:::-;1219:160;;;:::o;2127:620:71:-;2213:4;-1:-1:-1;;;;;2233:22:71;;2225:75;;;;-1:-1:-1;;;2225:75:71;;;;;;;;;;;;-1:-1:-1;;;;;2350:37:71;;;;;;:27;;;:37;;;;;:44;;;2346:77;;;-1:-1:-1;2411:5:71;2404:12;;2346:77;2429:13;2445:19;:5;:17;:19::i;:::-;2510:35;;;;;;;;2525:4;2510:35;;-1:-1:-1;;;;;2510:35:71;;;;;;;;;;-1:-1:-1;;;;;2470:37:71;;-1:-1:-1;2470:37:71;;;:27;;;:37;;;;;;:75;;;;;;-1:-1:-1;;;;;;2470:75:71;;;;;;-1:-1:-1;;;;;;2470:75:71;;;;;;;;;;;2510:35;;-1:-1:-1;2565:26:71;:15;:24;:26::i;:::-;2552:39;;2598:75;2638:3;2643:29;2651:8;-1:-1:-1;;;;;2643:27:71;;:29::i;:::-;-1:-1:-1;;;;;2598:34:71;;;;;;:27;;;:34;;;;;;:75;:39;:75::i;:::-;-1:-1:-1;2679:45:71;;-1:-1:-1;2695:3:71;2700:23;2701:9;:5;2709:1;2701:9;:::i;:::-;-1:-1:-1;;;;;2700:21:71;;:23::i;:::-;2679:5;;:45;:15;:45::i;:::-;-1:-1:-1;2738:4:71;;2127:620;-1:-1:-1;;;;;;2127:620:71:o;1618:188:6:-;1745:53;;-1:-1:-1;;;;;10296:32:87;;;1745:53:6;;;10278:51:87;10365:32;;;10345:18;;;10338:60;10414:18;;;10407:34;;;1718:81:6;;1738:5;;1760:18;;;;;10251::87;;1745:53:6;10076:371:87;1718:81:6;1618:188;;;;:::o;2114:297:22:-;2226:24;;2193:7;;;2274:50;2226:4;2312:3;2193:7;2226:24;2274:18;:50::i;:::-;2260:64;-1:-1:-1;2341:8:22;;:63;;2356:41;2370:4;2389:7;2395:1;2389:3;:7;:::i;:::-;7531:28;7594:20;;;7659:4;7646:18;;;7642:28;;7421:265;2356:41;:48;;;;-1:-1:-1;;;;;2356:48:22;2341:63;;;2352:1;2334:70;2114:297;-1:-1:-1;;;;;2114:297:22:o;7228:218:19:-;7285:7;-1:-1:-1;;;;;7308:25:19;;7304:105;;;7356:42;;-1:-1:-1;;;7356:42:19;;7387:3;7356:42;;;9129:36:87;9181:18;;;9174:34;;;9102:18;;7356:42:19;8948:266:87;4039:1503:71;4145:4;;4179:19;:5;:17;:19::i;:::-;4157:41;;4218:11;-1:-1:-1;;;;;4208:21:71;:6;-1:-1:-1;;;;;4208:21:71;;4204:106;;4246:57;;-1:-1:-1;;;4246:57:71;;-1:-1:-1;;;;;10916:32:87;;;4246:57:71;;;10898:51:87;10985:32;;10965:18;;;10958:60;10871:18;;4246:57:71;10724:300:87;4204:106:71;4406:32;;;;;;;;-1:-1:-1;4406:32:71;;;;;;;;;;-1:-1:-1;;;;;4366:37:71;;;;:27;;;:37;;;;;;:72;;;;;;-1:-1:-1;;;;;;4366:72:71;;;;;;-1:-1:-1;;;;;;4366:72:71;;;-1:-1:-1;;;;;4366:72:71;;;;;;;;;;;;;4773:15;-1:-1:-1;4773:11:71;:15;:::i;:::-;4753:35;;4794:10;4807:26;:15;:24;:26::i;:::-;4794:39;;4955:6;-1:-1:-1;;;;;4942:19:71;:9;-1:-1:-1;;;;;4942:19:71;;4938:323;;-1:-1:-1;;;;;5003:38:71;;4971:21;5003:38;;;:27;;;:38;;;;;:59;;:47;;:45;:47::i;:::-;-1:-1:-1;;;;;5003:57:71;;:59::i;:::-;4971:92;;5117:48;;;;;;;;5132:4;5117:48;;;;;;5145:18;:6;-1:-1:-1;;;;;5145:16:71;;:18::i;:::-;-1:-1:-1;;;;;5117:48:71;;;;;;-1:-1:-1;;;;;5072:42:71;;;;;;:27;;;:42;;;;;;;;:93;;;;;;;;;;;;;;-1:-1:-1;;;;;;5072:93:71;;;;;;;-1:-1:-1;;;;;;5072:93:71;;;;;;;;;;;;;5173:81;;5214:3;;5219:34;;:32;:34::i;:::-;-1:-1:-1;;;;;5173:35:71;;;;;;:27;;;:35;;;;;;:81;:40;:81::i;:::-;;;4963:298;4938:323;-1:-1:-1;;;;;5337:38:71;;5394:1;5337:38;;;:27;;;:38;;;;;:60;;5381:3;;5337:43;:60::i;:::-;;;5475:45;5491:3;5496:23;5497:9;-1:-1:-1;;;;;5496:21:71;;:23::i;:::-;5475:5;;:45;:15;:45::i;:::-;-1:-1:-1;5533:4:71;;4039:1503;-1:-1:-1;;;;;;;;4039:1503:71:o;7686:720:6:-;7766:18;7794:19;7932:4;7929:1;7922:4;7916:11;7909:4;7903;7899:15;7896:1;7889:5;7882;7877:60;7989:7;7979:176;;8033:4;8027:11;8078:16;8075:1;8070:3;8055:40;8124:16;8119:3;8112:29;7979:176;-1:-1:-1;;8232:1:6;8226:8;8182:16;;-1:-1:-1;8258:15:6;;:68;;8310:11;8325:1;8310:16;;8258:68;;;-1:-1:-1;;;;;8276:26:6;;;:31;8258:68;8254:146;;;8349:40;;-1:-1:-1;;;8349:40:6;;-1:-1:-1;;;;;1220:32:87;;8349:40:6;;;1202:51:87;1175:18;;8349:40:6;1056:203:87;3442:206:22;3537:24;;3504:7;;3578:8;;:63;;3593:41;3607:4;3626:7;3632:1;3626:3;:7;:::i;3593:41::-;:48;;;;-1:-1:-1;;;;;3593:48:22;3578:63;;;3589:1;3571:70;3442:206;-1:-1:-1;;;3442:206:22:o;3156:218:19:-;3213:7;-1:-1:-1;;;;;3236:25:19;;3232:105;;;3284:42;;-1:-1:-1;;;3284:42:19;;3315:3;3284:42;;;9129:36:87;9181:18;;;9174:34;;;9102:18;;3284:42:19;8948:266:87;1277:210:22;1389:16;;1442:38;1450:4;1469:3;1474:5;1442:7;:38::i;:::-;1435:45;;;;1277:210;;;;;;;:::o;6061:433::-;6218:7;6237:230;6250:4;6244:3;:10;6237:230;;;6270:11;6284:23;6297:3;6302:4;6284:12;:23::i;:::-;7531:28;7594:20;;;7659:4;7646:18;;6270:37;;-1:-1:-1;6325:35:22;;;;7642:28;;6325:29;;;:35;6321:136;;;6387:3;6380:10;;6321:136;;;6435:7;:3;6441:1;6435:7;:::i;:::-;6429:13;;6321:136;6256:211;6237:230;;;-1:-1:-1;6483:4:22;6061:433;-1:-1:-1;;;6061:433:22:o;4789:922::-;4970:11;;4910:16;;;;4996:7;;4992:713;;5019:26;5048:28;5062:4;5068:7;5074:1;5068:3;:7;:::i;5048:28::-;5107:9;;;;-1:-1:-1;5107:9:22;;;;;5150:11;;;-1:-1:-1;;;;;5150:11:22;;5235:13;;;;5231:89;;;5275:30;;-1:-1:-1;;;5275:30:22;;;;;;;;;;;5231:89;5394:3;5383:14;;:7;:14;;;5379:163;;5417:19;;;;;-1:-1:-1;;;;;5417:19:22;;;;;;5379:163;;;5485:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;5485:41:22;;;;;;;;;;5475:52;;;;;;;-1:-1:-1;5475:52:22;;;;;;;;;;;;;;;;;;;;;;;;;5379:163;5563:9;-1:-1:-1;5574:5:22;;-1:-1:-1;5555:25:22;;-1:-1:-1;;;5555:25:22;4992:713;-1:-1:-1;;5621:41:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;5621:41:22;;;;;;;;;;5611:52;;;;;;;-1:-1:-1;5611:52:22;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5655:5:22;5677:17;;3595:153:18;3657:7;3730:11;3740:1;3731:5;;;3730:11;:::i;:::-;3720:21;;3721:5;;;3720:21;:::i;196:253:87:-;282:6;335:2;323:9;314:7;310:23;306:32;303:52;;;351:1;348;341:12;303:52;-1:-1:-1;396:23:87;;196:253;-1:-1:-1;196:253:87:o;1264:173::-;1332:20;;-1:-1:-1;;;;;1381:31:87;;1371:42;;1361:70;;1427:1;1424;1417:12;1361:70;1264:173;;;:::o;1442:186::-;1501:6;1554:2;1542:9;1533:7;1529:23;1525:32;1522:52;;;1570:1;1567;1560:12;1522:52;1593:29;1612:9;1593:29;:::i;1633:127::-;1694:10;1689:3;1685:20;1682:1;1675:31;1725:4;1722:1;1715:15;1749:4;1746:1;1739:15;1765:234;1843:1;1836:5;1833:12;1823:143;;1888:10;1883:3;1879:20;1876:1;1869:31;1923:4;1920:1;1913:15;1951:4;1948:1;1941:15;1823:143;1975:18;;1765:234::o;2004:584::-;2160:4;2202:3;2191:9;2187:19;2179:27;;2215:48;2253:9;2244:6;2238:13;2215:48;:::i;:::-;-1:-1:-1;;;;;2323:4:87;2315:6;2311:17;2305:24;2301:57;2294:4;2283:9;2279:20;2272:87;2427:10;2419:4;2411:6;2407:17;2401:24;2397:41;2390:4;2379:9;2375:20;2368:71;2507:10;2499:4;2491:6;2487:17;2481:24;2477:41;2470:4;2459:9;2455:20;2448:71;2575:4;2567:6;2563:17;2557:24;2550:4;2539:9;2535:20;2528:54;2004:584;;;;:::o;2824:373::-;2919:6;2927;2980:2;2968:9;2959:7;2955:23;2951:32;2948:52;;;2996:1;2993;2986:12;2948:52;-1:-1:-1;;3041:23:87;;;3161:2;3146:18;;;3133:32;;-1:-1:-1;2824:373:87:o;3749:443::-;3826:6;3834;3842;3895:2;3883:9;3874:7;3870:23;3866:32;3863:52;;;3911:1;3908;3901:12;3863:52;3934:29;3953:9;3934:29;:::i;:::-;3924:39;;4013:2;4002:9;3998:18;3985:32;-1:-1:-1;;;;;4050:5:87;4046:46;4039:5;4036:57;4026:85;;4107:1;4104;4097:12;4026:85;3749:443;;4130:5;;-1:-1:-1;;;4182:2:87;4167:18;;;;4154:32;;3749:443::o;4615:261::-;4716:6;4769:2;4757:9;4748:7;4744:23;4740:32;4737:52;;;4785:1;4782;4775:12;4737:52;-1:-1:-1;4830:16:87;;4615:261;-1:-1:-1;4615:261:87:o;4881:127::-;4942:10;4937:3;4933:20;4930:1;4923:31;4973:4;4970:1;4963:15;4997:4;4994:1;4987:15;5013:112;5045:1;5071;5061:35;;5076:18;;:::i;:::-;-1:-1:-1;5110:9:87;;5013:112::o;6457:127::-;6518:10;6513:3;6509:20;6506:1;6499:31;6549:4;6546:1;6539:15;6573:4;6570:1;6563:15;6589:125;6654:9;;;6675:10;;;6672:36;;;6688:18;;:::i;6719:300::-;6901:2;6886:18;;6913:41;6890:9;6936:6;6913:41;:::i;:::-;6963:50;7009:2;6998:9;6994:18;6986:6;6963:50;:::i;7293:128::-;7360:9;;;7381:11;;;7378:37;;;7395:18;;:::i;8289:218::-;-1:-1:-1;;;;;8395:34:87;;;8359;;;8355:75;;8442:36;;8439:62;;;8481:18;;:::i;8775:168::-;8848:9;;;8879;;8896:15;;;8890:22;;8876:37;8866:71;;8917:18;;:::i;9472:120::-;9512:1;9538;9528:35;;9543:18;;:::i;:::-;-1:-1:-1;9577:9:87;;9472:120::o;9876:195::-;-1:-1:-1;;;;;9945:27:87;;;9974;;;9941:61;;10014:28;;10011:54;;;10045:18;;:::i;11029:198::-;-1:-1:-1;;;;;11129:27:87;;;11100;;;11096:61;;11169:29;;11166:55;;;11201:18;;:::i","linkReferences":{},"immutableReferences":{"9010":[{"start":1076,"length":32},{"start":1480,"length":32},{"start":1924,"length":32},{"start":2212,"length":32},{"start":2760,"length":32},{"start":3111,"length":32},{"start":3282,"length":32},{"start":4421,"length":32},{"start":5438,"length":32},{"start":5624,"length":32}],"9012":[{"start":1114,"length":32},{"start":1395,"length":32},{"start":1825,"length":32},{"start":2487,"length":32},{"start":4182,"length":32}],"9015":[{"start":1022,"length":32},{"start":3868,"length":32},{"start":4877,"length":32}],"9017":[{"start":878,"length":32},{"start":4799,"length":32},{"start":4932,"length":32}],"9019":[{"start":1187,"length":32},{"start":3708,"length":32},{"start":3760,"length":32}],"9021":[{"start":581,"length":32},{"start":5759,"length":32}],"9023":[{"start":493,"length":32},{"start":2073,"length":32},{"start":6039,"length":32},{"start":6282,"length":32}],"9025":[{"start":1290,"length":32},{"start":2114,"length":32},{"start":3073,"length":32}],"9027":[{"start":775,"length":32},{"start":3249,"length":32}]}},"methodIdentifiers":{"LAG_IN_EPOCHS_FOR_RANDAO()":"7a27d3a3","LAG_IN_EPOCHS_FOR_SET_SIZE()":"c504312a","getActiveDuration()":"ef9e36e5","getBondSize()":"37722a7f","getBondToken()":"83d6f7f1","getCandidateAtIndex(uint256)":"3349b59f","getCandidateAtIndexForHatch(uint256,uint256)":"359346d5","getCandidateCount()":"30a56347","getCandidateCountForHatch(uint256)":"d7c4ccf5","getCandidateInfo(address)":"28bde1e1","getCurrentHatch()":"ae40f1bf","getDesignatedProposer(uint256)":"19db12d2","getFailedHatchPunishment()":"181803d9","getFirstEpoch(uint256)":"735b69b6","getFrequency()":"0a42f86f","getHatch(uint256)":"ff549fe1","getLagInHatches()":"ad7c1321","getProposingExitDelay()":"2a2629f6","getRollup()":"a4d2342a","getSeedTimestamp(uint256)":"33fac65e","getSetTimestamp(uint256)":"182cad59","getWithdrawalTax()":"d0e4f574","initiateExit()":"90f72273","isCandidate(address)":"d51b9e93","isHatchOpen(uint256)":"3a30aefe","isHatchPrepared(uint256)":"147d97bd","isHatchValidated(uint256)":"ba4f6a78","joinCandidateSet()":"d6f1c601","leaveCandidateSet()":"8a35146c","selectCandidates()":"6fb9935c","updateSubmittedArchive(address,uint128,bytes32)":"46c32618","validateProofSubmission(uint256)":"eeacfa8c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rollup\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_bondToken\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"_bondSize\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"_withdrawalTax\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"_failedHatchPunishment\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"_frequency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_activeDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lagInHatches\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_proposingExitDelay\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AddressSnapshotLib__CannotAddAddressZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"AddressSnapshotLib__IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"EscapeHatch__AlreadyInCandidateSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__AlreadyValidated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EscapeHatch__InvalidConfiguration\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enum Status\",\"name\":\"expected\",\"type\":\"uint8\"},{\"internalType\":\"enum Status\",\"name\":\"actual\",\"type\":\"uint8\"}],\"name\":\"EscapeHatch__InvalidStatus\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__NoDesignatedProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"exitableAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTime\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__NotExitableYet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"EscapeHatch__NotInCandidateSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rollup\",\"type\":\"address\"}],\"name\":\"EscapeHatch__OnlyRollup\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__SetUnstable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"checkpointNumber\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"archive\",\"type\":\"bytes32\"}],\"name\":\"ArchiveUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"exitableAt\",\"type\":\"uint256\"}],\"name\":\"CandidateExitInitiated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountReturned\",\"type\":\"uint256\"}],\"name\":\"CandidateExited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CandidateJoined\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"CandidateSelected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"punishment\",\"type\":\"uint256\"}],\"name\":\"ProofValidated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"LAG_IN_EPOCHS_FOR_RANDAO\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAG_IN_EPOCHS_FOR_SET_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBondSize\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBondToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getCandidateAtIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"},{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getCandidateAtIndexForHatch\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCandidateCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getCandidateCountForHatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_candidate\",\"type\":\"address\"}],\"name\":\"getCandidateInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Status\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"},{\"internalType\":\"uint32\",\"name\":\"exitableAt\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"lastCheckpointNumber\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"lastSubmittedArchive\",\"type\":\"bytes32\"}],\"internalType\":\"struct CandidateInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentHatch\",\"outputs\":[{\"internalType\":\"Hatch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getDesignatedProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFailedHatchPunishment\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getFirstEpoch\",\"outputs\":[{\"internalType\":\"Epoch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFrequency\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"getHatch\",\"outputs\":[{\"internalType\":\"Hatch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLagInHatches\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProposingExitDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRollup\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getSeedTimestamp\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getSetTimestamp\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWithdrawalTax\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initiateExit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_candidate\",\"type\":\"address\"}],\"name\":\"isCandidate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"isHatchOpen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOpen\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"isHatchPrepared\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"isHatchValidated\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"joinCandidateSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"leaveCandidateSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"selectCandidates\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_checkpointNumber\",\"type\":\"uint128\"},{\"internalType\":\"bytes32\",\"name\":\"_archive\",\"type\":\"bytes32\"}],\"name\":\"updateSubmittedArchive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"validateProofSubmission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Aztec Labs\",\"details\":\"The escape hatch opens for ACTIVE_DURATION epochs every FREQUENCY epochs. A candidate is randomly selected from a bonded candidate set using snapshotted data to prevent bias. Key security properties: - Candidates must post a significant bond (BOND_SIZE) - Candidates are punished if they fail to propose or prove (FAILED_HATCH_PUNISHMENT) - All exits incur a tax (WITHDRAWAL_TAX) - Candidate set is snapshotted before RANDAO to prevent manipulation - Candidate does NOT receive access to governance\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{\"getActiveDuration()\":{\"returns\":{\"_0\":\"The number of epochs an escape hatch remains open\"}},\"getBondSize()\":{\"returns\":{\"_0\":\"The amount of tokens required to join the candidate set\"}},\"getBondToken()\":{\"returns\":{\"_0\":\"The ERC20 token used for candidate bonds\"}},\"getCandidateAtIndex(uint256)\":{\"params\":{\"_index\":\"The index in the candidate set\"},\"returns\":{\"_0\":\"The candidate address at the given index\"}},\"getCandidateAtIndexForHatch(uint256,uint256)\":{\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\",\"_index\":\"The index in the snapshot\"},\"returns\":{\"_0\":\"The candidate address at the given index in the snapshot\"}},\"getCandidateCount()\":{\"returns\":{\"_0\":\"The number of candidates in the active set\"}},\"getCandidateCountForHatch(uint256)\":{\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\"},\"returns\":{\"_0\":\"The number of candidates in the snapshot for this hatch\"}},\"getCandidateInfo(address)\":{\"params\":{\"_candidate\":\"The candidate address\"},\"returns\":{\"_0\":\"The candidate's information\"}},\"getCurrentHatch()\":{\"returns\":{\"_0\":\"The current hatch number\"}},\"getDesignatedProposer(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"The designated proposer address (address(0) if none)\"}},\"getFailedHatchPunishment()\":{\"returns\":{\"_0\":\"The amount deducted from bond on failed hatch\"}},\"getFirstEpoch(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"The first epoch of the hatch\"}},\"getFrequency()\":{\"returns\":{\"_0\":\"The number of epochs between escape hatch windows\"}},\"getHatch(uint256)\":{\"params\":{\"_epoch\":\"The epoch\"},\"returns\":{\"_0\":\"The hatch number\"}},\"getLagInHatches()\":{\"returns\":{\"_0\":\"The number of hatches ahead candidates are selected for\"}},\"getProposingExitDelay()\":{\"returns\":{\"_0\":\"The additional seconds a proposer must wait after hatch ends before exiting\"}},\"getRollup()\":{\"returns\":{\"_0\":\"The rollup contract address\"}},\"getSeedTimestamp(uint256)\":{\"details\":\"This is after the freeze timestamp to prevent manipulation of the candidate set based on known RANDAO values.\",\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\"},\"returns\":{\"_0\":\"The timestamp at which the RANDAO seed is sampled for this hatch\"}},\"getSetTimestamp(uint256)\":{\"details\":\"The snapshot taken at this timestamp determines who was eligible to be selected as proposer for this hatch.\",\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\"},\"returns\":{\"_0\":\"The timestamp at which the candidate set was frozen for this hatch\"}},\"getWithdrawalTax()\":{\"returns\":{\"_0\":\"The amount deducted from bond on exit\"}},\"initiateExit()\":{\"custom:reverts\":\"EscapeHatch__NotInCandidateSet if caller is not in the candidate setEscapeHatch__InvalidStatus if caller's status is not ACTIVE\",\"details\":\"The exit may be immediate or delayed depending on timing relative to next hatch\"},\"isCandidate(address)\":{\"params\":{\"_candidate\":\"The address to check\"},\"returns\":{\"_0\":\"True if the address is in the active candidate set\"}},\"isHatchOpen(uint256)\":{\"params\":{\"_epoch\":\"The epoch to check\"},\"returns\":{\"isOpen\":\"True if the epoch is within the escape hatch active duration\",\"proposer\":\"The designated proposer for this hatch (address(0) if none or not open)\"}},\"isHatchPrepared(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"True if the hatch has been prepared\"}},\"isHatchValidated(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"True if the hatch has been validated\"}},\"joinCandidateSet()\":{\"custom:reverts\":\"EscapeHatch__AlreadyInCandidateSet if caller is already in the candidate setEscapeHatch__InvalidStatus if caller has a non-NONE status\",\"details\":\"Transfers BOND_SIZE tokens from the caller\"},\"leaveCandidateSet()\":{\"custom:reverts\":\"EscapeHatch__InvalidStatus if caller's status is not EXITINGEscapeHatch__NotExitableYet if exitableAt has not been reached\",\"details\":\"Only callable after exitableAt timestamp has passed\"},\"selectCandidates()\":{\"custom:reverts\":\"EscapeHatch__SetUnstable if called before the freeze timestamp (defense in depth)\",\"details\":\"Called permissionlessly to set up the next hatch. Uses snapshotted candidate set and RANDAO for unbiased selection.\"},\"updateSubmittedArchive(address,uint128,bytes32)\":{\"custom:reverts\":\"EscapeHatch__OnlyRollup if caller is not the Rollup contract\",\"params\":{\"_archive\":\"The archive root of the proposed checkpoint\",\"_checkpointNumber\":\"The checkpoint number being proposed, safely downcasted to 32 bits\",\"_proposer\":\"The escape hatch proposer\"}},\"validateProofSubmission(uint256)\":{\"custom:reverts\":\"EscapeHatch__AlreadyValidated if the hatch has already been validatedEscapeHatch__NoDesignatedProposer if no proposer was designated for the hatchEscapeHatch__InvalidStatus if proposer's status is not PROPOSINGEscapeHatch__NotExitableYet if called before exitableAt timestamp\",\"details\":\"Checks that blocks were proposed and proven. Applies punishment if not. This is the ONLY way to transition from PROPOSING to EXITING.\",\"params\":{\"_hatch\":\"The hatch to validate\"}}},\"title\":\"EscapeHatch\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"LAG_IN_EPOCHS_FOR_RANDAO()\":{\"notice\":\"Number of epochs to look back from the START of the hatch for stable RANDAO\"},\"LAG_IN_EPOCHS_FOR_SET_SIZE()\":{\"notice\":\"Number of epochs to look back from the START of the hatch for stable candidate set\"},\"getActiveDuration()\":{\"notice\":\"Get the active duration of each escape hatch in epochs\"},\"getBondSize()\":{\"notice\":\"Get the required bond size for candidates\"},\"getBondToken()\":{\"notice\":\"Get the bond token address\"},\"getCandidateAtIndex(uint256)\":{\"notice\":\"Get the candidate address at a given index in the current active set\"},\"getCandidateAtIndexForHatch(uint256,uint256)\":{\"notice\":\"Get the candidate address at a given index in the snapshot for a target hatch\"},\"getCandidateCount()\":{\"notice\":\"Get the current number of active candidates\"},\"getCandidateCountForHatch(uint256)\":{\"notice\":\"Get the number of candidates in the snapshot for a target hatch\"},\"getCandidateInfo(address)\":{\"notice\":\"Get information about a candidate\"},\"getCurrentHatch()\":{\"notice\":\"Get the current hatch based on the current epoch\"},\"getDesignatedProposer(uint256)\":{\"notice\":\"Get the designated proposer for a hatch\"},\"getFailedHatchPunishment()\":{\"notice\":\"Get the punishment for failing to fulfill proposer duties\"},\"getFirstEpoch(uint256)\":{\"notice\":\"Get the first epoch of a hatch\"},\"getFrequency()\":{\"notice\":\"Get the frequency of escape hatches in epochs\"},\"getHatch(uint256)\":{\"notice\":\"Convert an epoch to its corresponding hatch number\"},\"getLagInHatches()\":{\"notice\":\"Get the lag in hatches for candidate selection\"},\"getProposingExitDelay()\":{\"notice\":\"Get the additional exit delay after proposing\"},\"getRollup()\":{\"notice\":\"Get the rollup contract address\"},\"getSeedTimestamp(uint256)\":{\"notice\":\"Get the seed timestamp for a target hatch's RANDAO sampling\"},\"getSetTimestamp(uint256)\":{\"notice\":\"Get the freeze timestamp for a target hatch's candidate snapshot\"},\"getWithdrawalTax()\":{\"notice\":\"Get the withdrawal tax applied when exiting\"},\"initiateExit()\":{\"notice\":\"Initiate exit from the candidate set\"},\"isCandidate(address)\":{\"notice\":\"Check if an address is in the candidate set\"},\"isHatchOpen(uint256)\":{\"notice\":\"Check if an epoch is within an open escape hatch period\"},\"isHatchPrepared(uint256)\":{\"notice\":\"Check if a hatch has been prepared\"},\"isHatchValidated(uint256)\":{\"notice\":\"Check if a hatch has been validated\"},\"joinCandidateSet()\":{\"notice\":\"Join the escape hatch candidate set by depositing the required bond\"},\"leaveCandidateSet()\":{\"notice\":\"Complete exit from the candidate set and reclaim bond minus tax\"},\"selectCandidates()\":{\"notice\":\"Prepare the designated proposer for an upcoming escape hatch\"},\"updateSubmittedArchive(address,uint128,bytes32)\":{\"notice\":\"Update the last submitted archive for a proposer during escape hatch\"},\"validateProofSubmission(uint256)\":{\"notice\":\"Validate that the designated proposer fulfilled their duty\"}},\"notice\":\"The escape hatch provides censorship resistance by allowing a designated proposer to bypass the committee and propose blocks during periodic \\\"escape hatch\\\" windows.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/EscapeHatch.sol\":\"EscapeHatch\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@aztec-blob-lib/=src/mock/libraries/\",\":@aztec/=src/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@oz/=lib/openzeppelin-contracts/contracts/\",\":@test/=test/\",\":@zkpassport-test/=lib/circuits/src/solidity/test/\",\":@zkpassport/=lib/circuits/src/solidity/src/\",\":circuits/=lib/circuits/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x4251fed1ac036ad28996501522371736318527d7bf2bf7d66fbd2769d6c4771b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2df261bd4de240f54c5829faeaf0ffc919a01f1497cf7ffd8a9a544bdec8fca\",\"dweb:/ipfs/Qmb9ndUuv9RZPKJXZGzjVuhmNuoizxuGRn4QMBmdmLcxS3\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb\",\"dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x9e82c00fb176503860139c6bbf593b1a954ee7ff97ab2969656571382b9b58a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34b4eb157b44d4441315db65561ba7cf0fe909dc598c2cfd7080d203077d5b57\",\"dweb:/ipfs/QmcNdvK3kDUAUr48urHxoeHd1TqVDya4YfZTM66i4goEJn\"]},\"lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x2c33f654cefbbe80a9b436b5792cfe8bda2e87f139f110073c99762558db252f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc7ebd80046a52f28978cf46a24ff3e4c8568264ab6bb138038951c75d576167\",\"dweb:/ipfs/QmQQjXVr4CbDR3DXd8GHEqn3JSJYTnbBHMJp9tvc29yXrc\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol\":{\"keccak256\":\"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e\",\"dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"src/core/EscapeHatch.sol\":{\"keccak256\":\"0x8baf5684efe89c864e22115a988420ffe485eb8d1f581b58658bd90d93a9bf93\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://667734ab1dd831a17f11be00f5ef7d69c3ff8b1e089d4ed44c64dab65a7ffad3\",\"dweb:/ipfs/QmNyJh6ryJu2HjCToeMM4wiuQCZca5twzVTSN5oRFDLv1j\"]},\"src/core/interfaces/IEscapeHatch.sol\":{\"keccak256\":\"0x2f25d826b72d6d4de7beace10c776622bd453ca30aa48811c17a31cb2486cec1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3f9ea0408b5aec10c7842d54949587707ae03ba0fed73cf8b0e965f4eb5bfd47\",\"dweb:/ipfs/QmNSgjTSdLLa9AQgbg9T9XuJccsbAmtiBhxUqo7bAy2i3X\"]},\"src/core/interfaces/IFeeJuicePortal.sol\":{\"keccak256\":\"0xce84c8907395b4c11cc6dd8035d8e14560153450f9d88340cfb8abb914c66639\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f5eb389f1a6e9adbb2f24dad7a6c0bc706d49decad82ba9b582c288e12eddda6\",\"dweb:/ipfs/QmNM3uQmJYn9B6RAHSMUT3TZMR6R75okjJErUEsuRjxGXt\"]},\"src/core/interfaces/IInstance.sol\":{\"keccak256\":\"0xa533299c53255b83b8e1b655781f36ba5bbe168849db712fb4a9312f57f9f1bb\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc593975d89f7b465c6822a5a79621d559ea12b24498b9c503019ad80cd89550\",\"dweb:/ipfs/QmdtJZ3fvL6RfYLBkJBYUMSU6u2e2kREK59w6LQpr68CVS\"]},\"src/core/interfaces/IRollup.sol\":{\"keccak256\":\"0x2e40eed59a33f6de63d8b5772b608a0a448f07f9d507d30b4b2c97b071cdf812\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5d4cea18f1e5493c31e5c1edbe4e69a11a9fb2420f02115b59d83fd261849d17\",\"dweb:/ipfs/QmXzEuSiGSN8xbe6vgRwgym4TFHn47mpKTj1DTXNiyvp9g\"]},\"src/core/interfaces/ISlasher.sol\":{\"keccak256\":\"0x3ced9a9f08a8e5deb94b87759248f0d9bfe515117092df50707582d7dd1dd46b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c999bb8f58ab19f88bec4e1cf73c36daeece958fa05e2dc3ea4e4e730f473f63\",\"dweb:/ipfs/QmXKrqwd4LVj7g8d9qjmx6DLSCD5UNuySHNvk532nFgsxw\"]},\"src/core/interfaces/IStaking.sol\":{\"keccak256\":\"0x9b0611d6374ed3a4adbe4266d94646ac7b0636d182882e7bfe23ef02a8ceaba0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d58c7a83a531bfeffb9e2d0bef537736b04ae212c451477a67b66e913db8c647\",\"dweb:/ipfs/QmXe8MxZMyxcKsr4FoJHhDdGhax9CKpFZxrNXukvjWBXC1\"]},\"src/core/interfaces/IValidatorSelection.sol\":{\"keccak256\":\"0x13d66fe5c01bb3678843b38356a35eab714f6566f4bde58e361010414ed6c2e6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6952c57e64757fbb92d65856f3cde1bb30d62b0ffcea0303a59956852dc8e4ed\",\"dweb:/ipfs/QmbFMP1YqnLFr8TNu3J6Rj3CDYVDCrSqmhdfpEzF8CtMPH\"]},\"src/core/interfaces/IVerifier.sol\":{\"keccak256\":\"0xf5b6025ff3d59b8922bb45fb05786764e74109b4a349d206b8a7979f46484c55\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://98ec47ac3e15b1d8f2c80854ed6fd83e655e9e96341bb827f3be8e6b47f4c7fb\",\"dweb:/ipfs/QmcmUkLgM7fb7mEaJTiWJWrZTW2kAWtRcYS6imBfmueALe\"]},\"src/core/interfaces/messagebridge/IInbox.sol\":{\"keccak256\":\"0xe35d2fa0af9ce35b36d8a0093b9f2456f35f62ad457bee84ead9144695556990\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://18353dd7ebffcec377bb820395309df7c48b99f46f76b2fd9432a4e19c387e2e\",\"dweb:/ipfs/QmPFeVuB3LsCMLVZuezgaUwav4PsPnheDf4ovR3apD13uW\"]},\"src/core/interfaces/messagebridge/IOutbox.sol\":{\"keccak256\":\"0x72bc82e9c9afced01c565dcb630339fbb4507d13c0bd88c26f62efb5d8391919\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b8693d5f385aa40db8b19940fe845feceea431f70626168fcc38d72fd4682699\",\"dweb:/ipfs/QmTquAwAEmDZ9CGcKTRsi3ti2z1sPnfrGRWGpqsyDnFt1R\"]},\"src/core/libraries/ConstantsGen.sol\":{\"keccak256\":\"0x046163842ee37e465e8fb1d2fd629429b01078113b552bd3fb536b9a2222a1a9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6b827da391a4b03b6659988e5fdeda510ad1d891066ad614eff5ee4257c5896c\",\"dweb:/ipfs/QmYsvNRze6Mk8kfXsPgNzmCQtAZmaDfBCqowQGM8B6VZWE\"]},\"src/core/libraries/DataStructures.sol\":{\"keccak256\":\"0x5ea9d1097f0b53eafbd72332d4c5c517307e5a056266befe5b46f5f43ee3d83c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1a742311dc3c5ead2d5361549f017d20f46c40a4e74e879823ac168cf5b572d4\",\"dweb:/ipfs/QmTNDc1fiPti41QqJTJQoV9uduB6eXaQhbfq1hfVVjVNvS\"]},\"src/core/libraries/Errors.sol\":{\"keccak256\":\"0xb3df9024b0b1a89963b0d9580d54f304b1bd07d3c08e0068ec2a3238cbfa47f4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://37d805b2aa067b147a2b62c8d369e6ecd2f180c17d4fcf5020e88bfe09b0386e\",\"dweb:/ipfs/QmXEqq1M9QzdgmvXtdgddvpjRNAHGG1QAG7PmdjfcdqWYR\"]},\"src/core/libraries/HatchMath.sol\":{\"keccak256\":\"0xca787b2889e281c8db132043312aa9513315669782981689824344c910833fe4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://77ec2f6b5919d53d3a7128f6006155f2566a84e7a56cd26e9d5e6d1514ccd7a2\",\"dweb:/ipfs/Qmc3Z2quujEwxQU1JBfrxhkiULaczspBsTMjXibqXCjFyd\"]},\"src/core/libraries/SlashRoundLib.sol\":{\"keccak256\":\"0x6773eea1fa593e5c1e16fcd3a8341b537bf5ed7ee2f10472649dfd542e3ade8e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://756bdaa3facd4034149eeb3553ae99777b646c3e16abf8d41f9558e74249baa6\",\"dweb:/ipfs/QmNpb62diGKNKf5pcynejjhNex9c6PTkZnVUeuLvJ2qCZ9\"]},\"src/core/libraries/StakingQueue.sol\":{\"keccak256\":\"0xbbeafda1659a92be14ec5b77838952a089f075cc1d0c5f348b6ff336ea6a1a98\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f3c8bdb1de77dab697ef4442f72fa4830c757059f8d948d2f3aeb7f6983aa64f\",\"dweb:/ipfs/QmSDYdTnFo8nx34q3fdJCKpy8DCnKBQ4isxr49o4sY5T6T\"]},\"src/core/libraries/TimeLib.sol\":{\"keccak256\":\"0x8e97dd7227578af6d5483a56164076f065007abe421247cfce4e693bf6c5be06\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7bc004dac3dc9e920061135c3c9eb9986935cc7b2715d3e5f0b787d4ab07a2b0\",\"dweb:/ipfs/QmUPmvvwTCdFzxd6n8cpX3otgfFGMPaaD8bCed6B1Z4euH\"]},\"src/core/libraries/compressed-data/CheckpointLog.sol\":{\"keccak256\":\"0x15a6af93a142210201d8ed71c8e7a507f2316b030f22582567a8026aabf8f081\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://2f7133944a2fc8deefe97544f659fb01aefd22a0124bb9416ce168f1c860545a\",\"dweb:/ipfs/QmaNHSorjRndPDuxxvuNyfPJtS27meUK6Sf4rmJUF9ruWr\"]},\"src/core/libraries/compressed-data/StakingQueueConfig.sol\":{\"keccak256\":\"0x32b00fd08e1754d9d9c9b377ae0a0ea887ace519db0ec6d252e1b2216891068e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4ecea0a1ff8536819d37d3800b2915249b5c854d9dc611e91aae81df6acf7d76\",\"dweb:/ipfs/Qmf3FgXCf1MP78p5B76kQnwx8yXFXncutVzQhV2fteBvVn\"]},\"src/core/libraries/compressed-data/Tips.sol\":{\"keccak256\":\"0xdf872f54470e59b86349871e2c12075e8daaad85894f90e64f92538daf5f4008\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://493e4bc02c6e9acbb5bfaa68f19bf4defb409211b701784e43d2ca6cbc11ccd1\",\"dweb:/ipfs/QmSUahndZ78LBx6WdozXWL6QkqxZXzrXpHna2kGwCqgy34\"]},\"src/core/libraries/compressed-data/fees/FeeConfig.sol\":{\"keccak256\":\"0x483176bf56f20b48e86b3f35adb063f73cd0b475ffde7f32a67b6d6f4acafed9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3e6a360d83832f65432c3e10afa029593b4988c0fea347ebeddadbf9d382aaec\",\"dweb:/ipfs/QmUZZqYXsdzznfuwM8N5MHbFK5GAjZTXqsYj8YHn8kVuNF\"]},\"src/core/libraries/compressed-data/fees/FeeStructs.sol\":{\"keccak256\":\"0xa051bd0fbba07e5f66077e26082c5e19a83cb20d6bb7efb516a38d4bc4f4c244\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://915a5c621123624e51d9925d77d940334930b17628a7959d13a60eb3abc45462\",\"dweb:/ipfs/QmeF2TaMbwvA9AFDiMB7rNBbFViDvmGiAk7mp49dRMbrpt\"]},\"src/core/libraries/crypto/Hash.sol\":{\"keccak256\":\"0x8d712593cc9ee681716dbe725ad7a0f73e28d48f854973f84e586010bbe3bec6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5966c1b8bd29cae0c99442de7b271160aa9b9db326712610c60d12007c51051a\",\"dweb:/ipfs/QmSdtUU5EyA76vzB786bJcPTuJYEJRzfAV2XEpZf7NSU4i\"]},\"src/core/libraries/crypto/SampleLib.sol\":{\"keccak256\":\"0x59e87e7d6a1e966c0f73bd919825ff7d81dc898625fe9fd20e6786e10b43783e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a931d31192faf6d9d9c82fc7099a776b5886d90dd0a2a9ee8093cc680dfdef70\",\"dweb:/ipfs/QmbQjTTf96tr2WSiuoWK8k984dGuXKooZWZ5o9EL7wEPhv\"]},\"src/core/libraries/rollup/AttestationLib.sol\":{\"keccak256\":\"0xb5bf4bf1996a3e9e17a662dcb805fec075fa6ef1ce1d15c959ce7903b156d552\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ee776eef1dc3cb02b49c56fdb8917392cbfa75d386357a09ad650b8e1fe8091f\",\"dweb:/ipfs/QmXBcSNdqeDVNbZkpG1iQr1ahabrBieWzBoEbZeF4VN967\"]},\"src/core/libraries/rollup/BlobLib.sol\":{\"keccak256\":\"0x40be24c3f297efce26b76cf2f674454344a20ba8b8fde7cdfd4c7ecfe339a507\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6c37144509a9269c3fe0f0791649ef4f74e5db0b54d8b27c68a1558be2ccd350\",\"dweb:/ipfs/QmT4Fc8um96XkUWd1kJrdnHKvwqKouJtJW8zUaig5nVFQx\"]},\"src/core/libraries/rollup/FeeLib.sol\":{\"keccak256\":\"0x2060a7c826871fec743c2f04771a01800e2881a90b32c33fb4215b73a8227c44\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://818ce0ae57ed4fa3823f78715efd44c1729f9292092ba146eeff256e64e8ea01\",\"dweb:/ipfs/QmZjpd6sZtxcCbEB46kxPo3f7yg4XuDKAHYGCTggfFSvMR\"]},\"src/core/libraries/rollup/ProposeLib.sol\":{\"keccak256\":\"0xa4483749d4f477171427c9fac6d0abf8d5198d4dd9dd46b88399a2a78bfced3a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://723e1dae067b035c6e587599eb55c8e7bacba3be4e17ea4e090ee4367bbb3889\",\"dweb:/ipfs/QmbFDJsD1ad3gpvCH5ced9HF7sUDp1o9ZM7UKyGaYzbkYS\"]},\"src/core/libraries/rollup/ProposedHeaderLib.sol\":{\"keccak256\":\"0x2e27def9ee3992c1c69ea5c30c5e91a886a6d9ee1580e8e9187b99d5e63b8a34\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f35436a3bd2ad063d02240a63768e9f358b2b800910824763e571e6092aef0f0\",\"dweb:/ipfs/QmZfsZ4CLTg7aGjgMd9Hj3Uu1wYGFmAXLvcXiCyVhxEWeh\"]},\"src/core/libraries/rollup/RewardLib.sol\":{\"keccak256\":\"0xf184ce5d7d099a79ca888d4f9af56407ca62ea5341232a03061a3c195ee840b4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://115622750be936670769cfbe74c6ed84ec052527ce7622d085098f063701140c\",\"dweb:/ipfs/QmfHeiEBjC9gcpwyiqi7cFuv3WBZ6ixng3uoWpBqX9Nt2X\"]},\"src/core/libraries/rollup/STFLib.sol\":{\"keccak256\":\"0xb96994e4db0431c14ffde9000e5fc0653f3055e566665b5bb250f4f1651f48d7\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bf7d33ed26dbfc9d6bf7e1a22e1a5bfa83de64b2c9ab0ba0e2025b0dffc007c9\",\"dweb:/ipfs/QmZsxV1oY4YuzK1GkY7zqjcZmmLvYstGT7CJN7Zw8cYwu5\"]},\"src/core/libraries/rollup/StakingLib.sol\":{\"keccak256\":\"0x1ece6784f7a3b59c913f74287be4c913579642c7d1d111f47bda85cd9945b2c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://33c205133d7015f67f4397efb27a9656ae97190d4699605507027a1102324a28\",\"dweb:/ipfs/QmbexoP2SZAngqKGtrS8y1dUjRwDC2jZ8cqqK58svyA67i\"]},\"src/core/libraries/rollup/ValidatorSelectionLib.sol\":{\"keccak256\":\"0xe51a65e258ecf8bf2c6f45fa6ec8058840cc71030a2f364ec5d78c8120a6d493\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1aeabf22967ba3e71ea423b077aaba27d13b4d2d4914a1ad7b0cced3d77c0d4d\",\"dweb:/ipfs/QmeGfNWe4WrmpvpTRwYX43XYgb43KkoPeSRvSNonLYMo2n\"]},\"src/core/reward-boost/RewardBooster.sol\":{\"keccak256\":\"0x2e36fb83cdfd01416fc504e1ad20cf2890544a819dfd43d06e33509883fbc70f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7b9fa97befd572a5dc21d8a0290194b750424c473b4eb7f12cd7b7225cf593fa\",\"dweb:/ipfs/QmVDFXEuNJj4vmhR29HAZnB9TRXvEWtugEQpQfXPCcTU4W\"]},\"src/governance/Bn254LibWrapper.sol\":{\"keccak256\":\"0xea39571de45fe0fec82d9e760998677eb2432e08c6cdb00c41efa58caf56e607\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1e470b821f3d87fa0c988c5f23a8deed3849bffd2527b3b4ee137a90e0c1264c\",\"dweb:/ipfs/QmW3M4HyRLDruV5AYXCKicFCiiczmwnSTtnwVKUnQSm7a8\"]},\"src/governance/GSE.sol\":{\"keccak256\":\"0xc19fa4868d78030e2411dd5cef6d0da09645ade1d1ea0c4374b284a89feb722a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d06396c249566d0e9de5d34eade2bf27c4d583005c0129787bf6c413dcd9e273\",\"dweb:/ipfs/QmcimKKiV9KqobS5wzPsKYzyYu5WezCF3gyHkekf5tjrUU\"]},\"src/governance/GSEPayload.sol\":{\"keccak256\":\"0x40e5385b008f0335b50e066c647bb906685511c9fef206ce90a3391468558bae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a129e87e1d57cf0813b14108cbdbcdd4c114b20f3f2d67477302d6d050120c7e\",\"dweb:/ipfs/QmRcQQkeDhkrmQha3nkA8qvXnGmF6nLhZMKAhMx61A7a5y\"]},\"src/governance/Governance.sol\":{\"keccak256\":\"0x07770c3d80369adae51be8e361f63a2aa5ec489b354b10c8590be1e294dfe2e5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7219becf3467ea8368dba0bd093ba932b165cf3f214e7286f652e2730bf42eaf\",\"dweb:/ipfs/QmTSCDhSQBTKhzGUk12phxhqohSba6yopYMzF5T5XPFUWw\"]},\"src/governance/interfaces/IBn254LibWrapper.sol\":{\"keccak256\":\"0xdd0a3de8b8ff67cf2bf090d04b4a37aa6d604f402db3328387d2466d2354464a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://daef0234547509cd7ae3a7babf0e50a8d1ca2894f1817e3e2409a50fd32947b9\",\"dweb:/ipfs/QmbwSedqnBfsqRnUq8XcXzoeoyhZTXJWJ9rpJn61BAJfej\"]},\"src/governance/interfaces/IEmpire.sol\":{\"keccak256\":\"0xe6a8a8c3fef8e6f9f5118bd40c63e951b13a59d5f885bbb979d38745ef760ed3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://940c1fe4138d7364ccdb7d5635ea90bafa1da274f680039b0b54ee8c2a275a9a\",\"dweb:/ipfs/QmX2EeoVyES18BMgcbKVDb36MCq8ooDVR98m2RmnmZjEAo\"]},\"src/governance/interfaces/IGovernance.sol\":{\"keccak256\":\"0xe420d305fbe7c35f4620cd1e0f05f9f4c5a91532621d21a64ea553a3d9a3c005\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1900ac41f945aa692d5228f134ae63840081d284bf89fdd2a06b45424fe359ff\",\"dweb:/ipfs/QmePFZ1xv5qfftJVDLc98XUVFsrpuKAbKZiro7MoMDTpoa\"]},\"src/governance/interfaces/IGovernanceProposer.sol\":{\"keccak256\":\"0x2be820a5452c481ffd329d68c46d0af6a286934963f26b36d363cd34fb0e5817\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f58839d1504e11e7da42b7f5a03fb9b9d8cc39ab4c16cfb86fa44c4de08df76f\",\"dweb:/ipfs/QmR6jUJozP9tfpZuSduk66E8n7WuL3zzsR3WHZ7BR2ZBX2\"]},\"src/governance/interfaces/IPayload.sol\":{\"keccak256\":\"0x5844ea725ce56ac8adeb20b2d37aa431ca087f68a65a7ca91f981be7458737c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5ea670db51b2ccfac05a684b95458ecc015c9d12a6567c3f73d473386533f58c\",\"dweb:/ipfs/QmRUB8mckkGQ4nNsErRhnKMsD9SSkokRSpnr5XZC9dZdin\"]},\"src/governance/interfaces/IProposerPayload.sol\":{\"keccak256\":\"0x89068dd464c0bfb7d447c0e99728277e03c7c4b864208ead20321f0590187248\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4d1d9ba5f8b7da374d773acde9514ca6607ad31a3e83950caa097bdb8b0f9167\",\"dweb:/ipfs/Qmd7tWAD2Ubz434zZPJvuyAGsHYpXBHvVhVefLFzUudD2o\"]},\"src/governance/interfaces/IRegistry.sol\":{\"keccak256\":\"0xc3678c04c0945d3dc1d8007df3dc7f8b25d8108b0b25134842ffc5169f996ce8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://71e4e401f1a6f561262755cc2e1c347cd3aa79e67d2e52ca547864f49de01724\",\"dweb:/ipfs/QmPvoKFEDTb41DSC3MmDMqtM3trj5oZb1Jj2jtQSnNfHBn\"]},\"src/governance/interfaces/IRewardDistributor.sol\":{\"keccak256\":\"0x7bf74c234bbe5dd7a4510ea6b8e4a6a0c28d56f5dfe5773d477eec7fb4653817\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://0c1799da536555e007ed8068b27a364cc225d7a5a06740a2097679fd6bce6d25\",\"dweb:/ipfs/QmPsHy6E4S1W16TrFLaBarDyVTicEv79HQZV8aQupSW7rj\"]},\"src/governance/libraries/AddressSnapshotLib.sol\":{\"keccak256\":\"0x1006e58059e0a1f0fef102f2f11f5649dffc7f2eb066fce51845e65a064f4210\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://de385ab9eb3bb66d7be1218b49ae9bba7d88797bcb375b9a7481a209d303a402\",\"dweb:/ipfs/QmZe6DTv3cACfdXNSMhbMhoefg31LW3uLxHLDC7nZhb4Yp\"]},\"src/governance/libraries/CheckpointedUintLib.sol\":{\"keccak256\":\"0xcd73cf7a62e4ac5cc79f7f8df8b35d5c5e4df5b8a3478bcbc2b29c9aa89ea4b4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f56f37060d39d3c9276f23c96be7f6b1ea44676312dbaa1ab16ab3bff6acebf1\",\"dweb:/ipfs/QmPDUEEgdbpTTs9r3fvdMYJo9akCRsWcJXyarBhQgcKb5q\"]},\"src/governance/libraries/ConfigurationLib.sol\":{\"keccak256\":\"0x9479ac3e2d2b268007fa2eb0262c9f5d55b5f5abd7a4f2a64d7e396d71d5b43b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f3d0db3ecad23789181abfc761f5b4710bcafa0c454fd62e768f419712cafe5c\",\"dweb:/ipfs/Qmcxr9PMvwwC2sazq1SGBkbmEgxbyobrXWNZ7yp8UcYf6d\"]},\"src/governance/libraries/DepositDelegationLib.sol\":{\"keccak256\":\"0x37fbca65ccabec9d901bd71d684dceec7c59fa5a05438fd209ea0d5e16e764c0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e42f2622978abc3ac84223a6b206201898d0269d20bf81539636c0999a0db9eb\",\"dweb:/ipfs/QmW4BgTjR6BuPxwxreKarUeK1u8gx3p9yFdDD4EsC5hkyb\"]},\"src/governance/libraries/Errors.sol\":{\"keccak256\":\"0x10969348c5c4fe013e3193377131c0c347df148d9ffce7957290b0305c14c996\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9c96d1f13e931a0cc1949739e76d32a7fa92692e52543c5d27d0f30d7f792468\",\"dweb:/ipfs/QmY1uEwJ8mfcUw3LAcsEsxULkruATGpKzqZ8kxXXZ1ncgr\"]},\"src/governance/libraries/ProposalLib.sol\":{\"keccak256\":\"0x616ffbb24c4454ca9e223e85ff01e8dca139723d5cd312d5d6f6111d79782a90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://192f9be3355a7a94d19ae4e5b397e5db19dde64ccc671e149da06dfaa2577192\",\"dweb:/ipfs/QmTDcm7XEFLe7o5cXUmuu5wQDyprU78AVMymiWvrmP4tHT\"]},\"src/governance/libraries/compressed-data/Ballot.sol\":{\"keccak256\":\"0xca07dc8cf36ac2beae7674804af144b34b3c5848153351c17d996e9b3293cd5d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6911cc49f1d6977c12f652063c14891697c1ffe49fdf36903c32a8ad73cbd012\",\"dweb:/ipfs/QmQBEZARCAAj1ZLcswkH6FwP1RP8uuNjYTHqthmE9Z5RnM\"]},\"src/governance/libraries/compressed-data/Configuration.sol\":{\"keccak256\":\"0x40744f275af22d33c38fd9c6a7b822292c9c87b17ac2c78abbef4eb8356fd9f9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://73c685be7e934516207827a59cbbeb7fc1164e7659dd3ec857a91cfea765b482\",\"dweb:/ipfs/QmQfudRpSSQnG9u4XV8iA2UAyDzQPFqWzpZy5NZbaD6htv\"]},\"src/governance/libraries/compressed-data/Proposal.sol\":{\"keccak256\":\"0x72cf619a21c8e95875c63d4361cbe1a815d9d67f36f3fe32b6c9ca4d9ab0d33a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d80f47beb3f91da3cc68264c86fc8fb8f0e4abaf9d92243ab3206407fceed5c6\",\"dweb:/ipfs/QmYyrBTDMfkTBu6EcKcSMR7JyfphZ5xH1VCQ8EHMQUvsoN\"]},\"src/governance/proposer/EmpireBase.sol\":{\"keccak256\":\"0xfeb86311b0d6c5f37db2593ec7e303cde08bd331c1a6595260abe07c5e5e633a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1fe05eb878ce4e0fc3e40f93c3f2fc9a01bb6e1e8860ec3f91dbc291d3292b3e\",\"dweb:/ipfs/Qma8myMw5anMPJ4D7s9y4Eh8SHf1dpz98WBLU5bzax6cUV\"]},\"src/governance/proposer/GovernanceProposer.sol\":{\"keccak256\":\"0xa2829df5b65856c9f1d6bf490fb50616f14402ff8eece2e32b63828b8b9337c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://8ad52830a7a3aed3477bf55f92c3d68cb1c16a5cf1d636227ab76a306c846607\",\"dweb:/ipfs/QmRonyZQZj5D1e2g4Y6Tmj2AEUnekL4pGmgdMT4ycRAM8m\"]},\"src/mock/libraries/BlobLib.sol\":{\"keccak256\":\"0xa1b19239c5c64ba1b0c9f83ec0a30059f10ded12bf40d5d7c3f65974752b3121\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cbce7d0dd0096232d60ec5c6920f211ffcaa46c8675b1129c1f939a1ee84837\",\"dweb:/ipfs/QmSS2qUhzUuZY1qHDjWUGvHuMqMG3cjHoHeDVvgWsjMdA9\"]},\"src/shared/libraries/BN254Lib.sol\":{\"keccak256\":\"0x0c3a5b7dabde2f5c81f19e1a4a212308a8636b5bb4a16bb1a518d58ef4feb6f5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://870be6219c7081ed081cee2fa9ad1e7f3efff623ae1a59aed966f2bdcee65b7a\",\"dweb:/ipfs/QmNzohb1TazCgaT1e55CMDuuG7AHdGrGA6jvT4wzxdAM52\"]},\"src/shared/libraries/CompressedTimeMath.sol\":{\"keccak256\":\"0x361023cf30593e7e27417c91af3702e75235fcab251e4ad5ac2e47306a730ec1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b192242472b3126c97a4a4e4fa792809a6bf20b548a57e677f5260c0dbf3ad3\",\"dweb:/ipfs/QmfK4WAucepcqzMLu11rs68HJazwfegVsgK5tTco82SooB\"]},\"src/shared/libraries/SignatureLib.sol\":{\"keccak256\":\"0xb69989f57384383341d1bb4693fb1e6ce31a2ab6c0fadb48bf088078a332a56a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f199be27853a14d746c567c5e3a473f474e84cfd3d119a6404e6ceff4e986e5c\",\"dweb:/ipfs/QmWsLozeiKLQbTSEUDVZK2ASEX3EodKxT4DdA9BA6bD6N2\"]},\"src/shared/libraries/TimeMath.sol\":{\"keccak256\":\"0x8da20dc8b4ce296b7c11f117a3381bfe5cd611a3512a74a500e2e54e0353417f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://18c74be98a4e31e8a16356e573514f639a8fc43928e741f6ead81dd755e9a914\",\"dweb:/ipfs/QmPDEdYYEj3DhXjrCDPuudJbhsBaNj1sK6hH94Z86168Q3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_rollup","type":"address"},{"internalType":"address","name":"_bondToken","type":"address"},{"internalType":"uint96","name":"_bondSize","type":"uint96"},{"internalType":"uint96","name":"_withdrawalTax","type":"uint96"},{"internalType":"uint96","name":"_failedHatchPunishment","type":"uint96"},{"internalType":"uint256","name":"_frequency","type":"uint256"},{"internalType":"uint256","name":"_activeDuration","type":"uint256"},{"internalType":"uint256","name":"_lagInHatches","type":"uint256"},{"internalType":"uint256","name":"_proposingExitDelay","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AddressSnapshotLib__CannotAddAddressZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"type":"error","name":"AddressSnapshotLib__IndexOutOfBounds"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[{"internalType":"address","name":"candidate","type":"address"}],"type":"error","name":"EscapeHatch__AlreadyInCandidateSet"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__AlreadyValidated"},{"inputs":[],"type":"error","name":"EscapeHatch__InvalidConfiguration"},{"inputs":[{"internalType":"enum Status","name":"expected","type":"uint8"},{"internalType":"enum Status","name":"actual","type":"uint8"}],"type":"error","name":"EscapeHatch__InvalidStatus"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__NoDesignatedProposer"},{"inputs":[{"internalType":"uint256","name":"exitableAt","type":"uint256"},{"internalType":"uint256","name":"currentTime","type":"uint256"}],"type":"error","name":"EscapeHatch__NotExitableYet"},{"inputs":[{"internalType":"address","name":"candidate","type":"address"}],"type":"error","name":"EscapeHatch__NotInCandidateSet"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"rollup","type":"address"}],"type":"error","name":"EscapeHatch__OnlyRollup"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__SetUnstable"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"address","name":"proposer","type":"address","indexed":true},{"internalType":"uint128","name":"checkpointNumber","type":"uint128","indexed":false},{"internalType":"bytes32","name":"archive","type":"bytes32","indexed":false}],"type":"event","name":"ArchiveUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"candidate","type":"address","indexed":true},{"internalType":"uint256","name":"exitableAt","type":"uint256","indexed":false}],"type":"event","name":"CandidateExitInitiated","anonymous":false},{"inputs":[{"internalType":"address","name":"candidate","type":"address","indexed":true},{"internalType":"uint256","name":"amountReturned","type":"uint256","indexed":false}],"type":"event","name":"CandidateExited","anonymous":false},{"inputs":[{"internalType":"address","name":"candidate","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"CandidateJoined","anonymous":false},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256","indexed":true},{"internalType":"address","name":"candidate","type":"address","indexed":true}],"type":"event","name":"CandidateSelected","anonymous":false},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256","indexed":true},{"internalType":"address","name":"proposer","type":"address","indexed":true},{"internalType":"bool","name":"success","type":"bool","indexed":false},{"internalType":"uint256","name":"punishment","type":"uint256","indexed":false}],"type":"event","name":"ProofValidated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"LAG_IN_EPOCHS_FOR_RANDAO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LAG_IN_EPOCHS_FOR_SET_SIZE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getActiveDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBondSize","outputs":[{"internalType":"uint96","name":"","type":"uint96"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBondToken","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCandidateAtIndex","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCandidateAtIndexForHatch","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCandidateCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCandidateCountForHatch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_candidate","type":"address"}],"stateMutability":"view","type":"function","name":"getCandidateInfo","outputs":[{"internalType":"struct CandidateInfo","name":"","type":"tuple","components":[{"internalType":"enum Status","name":"status","type":"uint8"},{"internalType":"uint96","name":"amount","type":"uint96"},{"internalType":"uint32","name":"exitableAt","type":"uint32"},{"internalType":"uint32","name":"lastCheckpointNumber","type":"uint32"},{"internalType":"bytes32","name":"lastSubmittedArchive","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentHatch","outputs":[{"internalType":"Hatch","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDesignatedProposer","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFailedHatchPunishment","outputs":[{"internalType":"uint96","name":"","type":"uint96"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getFirstEpoch","outputs":[{"internalType":"Epoch","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getHatch","outputs":[{"internalType":"Hatch","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLagInHatches","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getProposingExitDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRollup","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSeedTimestamp","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSetTimestamp","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getWithdrawalTax","outputs":[{"internalType":"uint96","name":"","type":"uint96"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initiateExit"},{"inputs":[{"internalType":"address","name":"_candidate","type":"address"}],"stateMutability":"view","type":"function","name":"isCandidate","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"isHatchOpen","outputs":[{"internalType":"bool","name":"isOpen","type":"bool"},{"internalType":"address","name":"proposer","type":"address"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"isHatchPrepared","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"isHatchValidated","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"joinCandidateSet"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"leaveCandidateSet"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"selectCandidates"},{"inputs":[{"internalType":"address","name":"_proposer","type":"address"},{"internalType":"uint128","name":"_checkpointNumber","type":"uint128"},{"internalType":"bytes32","name":"_archive","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"updateSubmittedArchive"},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"validateProofSubmission"}],"devdoc":{"kind":"dev","methods":{"getActiveDuration()":{"returns":{"_0":"The number of epochs an escape hatch remains open"}},"getBondSize()":{"returns":{"_0":"The amount of tokens required to join the candidate set"}},"getBondToken()":{"returns":{"_0":"The ERC20 token used for candidate bonds"}},"getCandidateAtIndex(uint256)":{"params":{"_index":"The index in the candidate set"},"returns":{"_0":"The candidate address at the given index"}},"getCandidateAtIndexForHatch(uint256,uint256)":{"params":{"_hatch":"The target hatch (the one being prepared/proposed for)","_index":"The index in the snapshot"},"returns":{"_0":"The candidate address at the given index in the snapshot"}},"getCandidateCount()":{"returns":{"_0":"The number of candidates in the active set"}},"getCandidateCountForHatch(uint256)":{"params":{"_hatch":"The target hatch (the one being prepared/proposed for)"},"returns":{"_0":"The number of candidates in the snapshot for this hatch"}},"getCandidateInfo(address)":{"params":{"_candidate":"The candidate address"},"returns":{"_0":"The candidate's information"}},"getCurrentHatch()":{"returns":{"_0":"The current hatch number"}},"getDesignatedProposer(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"The designated proposer address (address(0) if none)"}},"getFailedHatchPunishment()":{"returns":{"_0":"The amount deducted from bond on failed hatch"}},"getFirstEpoch(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"The first epoch of the hatch"}},"getFrequency()":{"returns":{"_0":"The number of epochs between escape hatch windows"}},"getHatch(uint256)":{"params":{"_epoch":"The epoch"},"returns":{"_0":"The hatch number"}},"getLagInHatches()":{"returns":{"_0":"The number of hatches ahead candidates are selected for"}},"getProposingExitDelay()":{"returns":{"_0":"The additional seconds a proposer must wait after hatch ends before exiting"}},"getRollup()":{"returns":{"_0":"The rollup contract address"}},"getSeedTimestamp(uint256)":{"details":"This is after the freeze timestamp to prevent manipulation of the candidate set based on known RANDAO values.","params":{"_hatch":"The target hatch (the one being prepared/proposed for)"},"returns":{"_0":"The timestamp at which the RANDAO seed is sampled for this hatch"}},"getSetTimestamp(uint256)":{"details":"The snapshot taken at this timestamp determines who was eligible to be selected as proposer for this hatch.","params":{"_hatch":"The target hatch (the one being prepared/proposed for)"},"returns":{"_0":"The timestamp at which the candidate set was frozen for this hatch"}},"getWithdrawalTax()":{"returns":{"_0":"The amount deducted from bond on exit"}},"initiateExit()":{"custom:reverts":"EscapeHatch__NotInCandidateSet if caller is not in the candidate setEscapeHatch__InvalidStatus if caller's status is not ACTIVE","details":"The exit may be immediate or delayed depending on timing relative to next hatch"},"isCandidate(address)":{"params":{"_candidate":"The address to check"},"returns":{"_0":"True if the address is in the active candidate set"}},"isHatchOpen(uint256)":{"params":{"_epoch":"The epoch to check"},"returns":{"isOpen":"True if the epoch is within the escape hatch active duration","proposer":"The designated proposer for this hatch (address(0) if none or not open)"}},"isHatchPrepared(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"True if the hatch has been prepared"}},"isHatchValidated(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"True if the hatch has been validated"}},"joinCandidateSet()":{"custom:reverts":"EscapeHatch__AlreadyInCandidateSet if caller is already in the candidate setEscapeHatch__InvalidStatus if caller has a non-NONE status","details":"Transfers BOND_SIZE tokens from the caller"},"leaveCandidateSet()":{"custom:reverts":"EscapeHatch__InvalidStatus if caller's status is not EXITINGEscapeHatch__NotExitableYet if exitableAt has not been reached","details":"Only callable after exitableAt timestamp has passed"},"selectCandidates()":{"custom:reverts":"EscapeHatch__SetUnstable if called before the freeze timestamp (defense in depth)","details":"Called permissionlessly to set up the next hatch. Uses snapshotted candidate set and RANDAO for unbiased selection."},"updateSubmittedArchive(address,uint128,bytes32)":{"custom:reverts":"EscapeHatch__OnlyRollup if caller is not the Rollup contract","params":{"_archive":"The archive root of the proposed checkpoint","_checkpointNumber":"The checkpoint number being proposed, safely downcasted to 32 bits","_proposer":"The escape hatch proposer"}},"validateProofSubmission(uint256)":{"custom:reverts":"EscapeHatch__AlreadyValidated if the hatch has already been validatedEscapeHatch__NoDesignatedProposer if no proposer was designated for the hatchEscapeHatch__InvalidStatus if proposer's status is not PROPOSINGEscapeHatch__NotExitableYet if called before exitableAt timestamp","details":"Checks that blocks were proposed and proven. Applies punishment if not. This is the ONLY way to transition from PROPOSING to EXITING.","params":{"_hatch":"The hatch to validate"}}},"version":1},"userdoc":{"kind":"user","methods":{"LAG_IN_EPOCHS_FOR_RANDAO()":{"notice":"Number of epochs to look back from the START of the hatch for stable RANDAO"},"LAG_IN_EPOCHS_FOR_SET_SIZE()":{"notice":"Number of epochs to look back from the START of the hatch for stable candidate set"},"getActiveDuration()":{"notice":"Get the active duration of each escape hatch in epochs"},"getBondSize()":{"notice":"Get the required bond size for candidates"},"getBondToken()":{"notice":"Get the bond token address"},"getCandidateAtIndex(uint256)":{"notice":"Get the candidate address at a given index in the current active set"},"getCandidateAtIndexForHatch(uint256,uint256)":{"notice":"Get the candidate address at a given index in the snapshot for a target hatch"},"getCandidateCount()":{"notice":"Get the current number of active candidates"},"getCandidateCountForHatch(uint256)":{"notice":"Get the number of candidates in the snapshot for a target hatch"},"getCandidateInfo(address)":{"notice":"Get information about a candidate"},"getCurrentHatch()":{"notice":"Get the current hatch based on the current epoch"},"getDesignatedProposer(uint256)":{"notice":"Get the designated proposer for a hatch"},"getFailedHatchPunishment()":{"notice":"Get the punishment for failing to fulfill proposer duties"},"getFirstEpoch(uint256)":{"notice":"Get the first epoch of a hatch"},"getFrequency()":{"notice":"Get the frequency of escape hatches in epochs"},"getHatch(uint256)":{"notice":"Convert an epoch to its corresponding hatch number"},"getLagInHatches()":{"notice":"Get the lag in hatches for candidate selection"},"getProposingExitDelay()":{"notice":"Get the additional exit delay after proposing"},"getRollup()":{"notice":"Get the rollup contract address"},"getSeedTimestamp(uint256)":{"notice":"Get the seed timestamp for a target hatch's RANDAO sampling"},"getSetTimestamp(uint256)":{"notice":"Get the freeze timestamp for a target hatch's candidate snapshot"},"getWithdrawalTax()":{"notice":"Get the withdrawal tax applied when exiting"},"initiateExit()":{"notice":"Initiate exit from the candidate set"},"isCandidate(address)":{"notice":"Check if an address is in the candidate set"},"isHatchOpen(uint256)":{"notice":"Check if an epoch is within an open escape hatch period"},"isHatchPrepared(uint256)":{"notice":"Check if a hatch has been prepared"},"isHatchValidated(uint256)":{"notice":"Check if a hatch has been validated"},"joinCandidateSet()":{"notice":"Join the escape hatch candidate set by depositing the required bond"},"leaveCandidateSet()":{"notice":"Complete exit from the candidate set and reclaim bond minus tax"},"selectCandidates()":{"notice":"Prepare the designated proposer for an upcoming escape hatch"},"updateSubmittedArchive(address,uint128,bytes32)":{"notice":"Update the last submitted archive for a proposer during escape hatch"},"validateProofSubmission(uint256)":{"notice":"Validate that the designated proposer fulfilled their duty"}},"version":1}},"settings":{"remappings":["@aztec-blob-lib/=src/mock/libraries/","@aztec/=src/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@oz/=lib/openzeppelin-contracts/contracts/","@test/=test/","@zkpassport-test/=lib/circuits/src/solidity/test/","@zkpassport/=lib/circuits/src/solidity/src/","circuits/=lib/circuits/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/EscapeHatch.sol":"EscapeHatch"},"evmVersion":"prague","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x4251fed1ac036ad28996501522371736318527d7bf2bf7d66fbd2769d6c4771b","urls":["bzz-raw://b2df261bd4de240f54c5829faeaf0ffc919a01f1497cf7ffd8a9a544bdec8fca","dweb:/ipfs/Qmb9ndUuv9RZPKJXZGzjVuhmNuoizxuGRn4QMBmdmLcxS3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"keccak256":"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618","urls":["bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb","dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x9e82c00fb176503860139c6bbf593b1a954ee7ff97ab2969656571382b9b58a2","urls":["bzz-raw://34b4eb157b44d4441315db65561ba7cf0fe909dc598c2cfd7080d203077d5b57","dweb:/ipfs/QmcNdvK3kDUAUr48urHxoeHd1TqVDya4YfZTM66i4goEJn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0x2c33f654cefbbe80a9b436b5792cfe8bda2e87f139f110073c99762558db252f","urls":["bzz-raw://dc7ebd80046a52f28978cf46a24ff3e4c8568264ab6bb138038951c75d576167","dweb:/ipfs/QmQQjXVr4CbDR3DXd8GHEqn3JSJYTnbBHMJp9tvc29yXrc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol":{"keccak256":"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b","urls":["bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e","dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"src/core/EscapeHatch.sol":{"keccak256":"0x8baf5684efe89c864e22115a988420ffe485eb8d1f581b58658bd90d93a9bf93","urls":["bzz-raw://667734ab1dd831a17f11be00f5ef7d69c3ff8b1e089d4ed44c64dab65a7ffad3","dweb:/ipfs/QmNyJh6ryJu2HjCToeMM4wiuQCZca5twzVTSN5oRFDLv1j"],"license":"Apache-2.0"},"src/core/interfaces/IEscapeHatch.sol":{"keccak256":"0x2f25d826b72d6d4de7beace10c776622bd453ca30aa48811c17a31cb2486cec1","urls":["bzz-raw://3f9ea0408b5aec10c7842d54949587707ae03ba0fed73cf8b0e965f4eb5bfd47","dweb:/ipfs/QmNSgjTSdLLa9AQgbg9T9XuJccsbAmtiBhxUqo7bAy2i3X"],"license":"Apache-2.0"},"src/core/interfaces/IFeeJuicePortal.sol":{"keccak256":"0xce84c8907395b4c11cc6dd8035d8e14560153450f9d88340cfb8abb914c66639","urls":["bzz-raw://f5eb389f1a6e9adbb2f24dad7a6c0bc706d49decad82ba9b582c288e12eddda6","dweb:/ipfs/QmNM3uQmJYn9B6RAHSMUT3TZMR6R75okjJErUEsuRjxGXt"],"license":"Apache-2.0"},"src/core/interfaces/IInstance.sol":{"keccak256":"0xa533299c53255b83b8e1b655781f36ba5bbe168849db712fb4a9312f57f9f1bb","urls":["bzz-raw://fc593975d89f7b465c6822a5a79621d559ea12b24498b9c503019ad80cd89550","dweb:/ipfs/QmdtJZ3fvL6RfYLBkJBYUMSU6u2e2kREK59w6LQpr68CVS"],"license":"Apache-2.0"},"src/core/interfaces/IRollup.sol":{"keccak256":"0x2e40eed59a33f6de63d8b5772b608a0a448f07f9d507d30b4b2c97b071cdf812","urls":["bzz-raw://5d4cea18f1e5493c31e5c1edbe4e69a11a9fb2420f02115b59d83fd261849d17","dweb:/ipfs/QmXzEuSiGSN8xbe6vgRwgym4TFHn47mpKTj1DTXNiyvp9g"],"license":"Apache-2.0"},"src/core/interfaces/ISlasher.sol":{"keccak256":"0x3ced9a9f08a8e5deb94b87759248f0d9bfe515117092df50707582d7dd1dd46b","urls":["bzz-raw://c999bb8f58ab19f88bec4e1cf73c36daeece958fa05e2dc3ea4e4e730f473f63","dweb:/ipfs/QmXKrqwd4LVj7g8d9qjmx6DLSCD5UNuySHNvk532nFgsxw"],"license":"Apache-2.0"},"src/core/interfaces/IStaking.sol":{"keccak256":"0x9b0611d6374ed3a4adbe4266d94646ac7b0636d182882e7bfe23ef02a8ceaba0","urls":["bzz-raw://d58c7a83a531bfeffb9e2d0bef537736b04ae212c451477a67b66e913db8c647","dweb:/ipfs/QmXe8MxZMyxcKsr4FoJHhDdGhax9CKpFZxrNXukvjWBXC1"],"license":"Apache-2.0"},"src/core/interfaces/IValidatorSelection.sol":{"keccak256":"0x13d66fe5c01bb3678843b38356a35eab714f6566f4bde58e361010414ed6c2e6","urls":["bzz-raw://6952c57e64757fbb92d65856f3cde1bb30d62b0ffcea0303a59956852dc8e4ed","dweb:/ipfs/QmbFMP1YqnLFr8TNu3J6Rj3CDYVDCrSqmhdfpEzF8CtMPH"],"license":"Apache-2.0"},"src/core/interfaces/IVerifier.sol":{"keccak256":"0xf5b6025ff3d59b8922bb45fb05786764e74109b4a349d206b8a7979f46484c55","urls":["bzz-raw://98ec47ac3e15b1d8f2c80854ed6fd83e655e9e96341bb827f3be8e6b47f4c7fb","dweb:/ipfs/QmcmUkLgM7fb7mEaJTiWJWrZTW2kAWtRcYS6imBfmueALe"],"license":"Apache-2.0"},"src/core/interfaces/messagebridge/IInbox.sol":{"keccak256":"0xe35d2fa0af9ce35b36d8a0093b9f2456f35f62ad457bee84ead9144695556990","urls":["bzz-raw://18353dd7ebffcec377bb820395309df7c48b99f46f76b2fd9432a4e19c387e2e","dweb:/ipfs/QmPFeVuB3LsCMLVZuezgaUwav4PsPnheDf4ovR3apD13uW"],"license":"Apache-2.0"},"src/core/interfaces/messagebridge/IOutbox.sol":{"keccak256":"0x72bc82e9c9afced01c565dcb630339fbb4507d13c0bd88c26f62efb5d8391919","urls":["bzz-raw://b8693d5f385aa40db8b19940fe845feceea431f70626168fcc38d72fd4682699","dweb:/ipfs/QmTquAwAEmDZ9CGcKTRsi3ti2z1sPnfrGRWGpqsyDnFt1R"],"license":"Apache-2.0"},"src/core/libraries/ConstantsGen.sol":{"keccak256":"0x046163842ee37e465e8fb1d2fd629429b01078113b552bd3fb536b9a2222a1a9","urls":["bzz-raw://6b827da391a4b03b6659988e5fdeda510ad1d891066ad614eff5ee4257c5896c","dweb:/ipfs/QmYsvNRze6Mk8kfXsPgNzmCQtAZmaDfBCqowQGM8B6VZWE"],"license":"Apache-2.0"},"src/core/libraries/DataStructures.sol":{"keccak256":"0x5ea9d1097f0b53eafbd72332d4c5c517307e5a056266befe5b46f5f43ee3d83c","urls":["bzz-raw://1a742311dc3c5ead2d5361549f017d20f46c40a4e74e879823ac168cf5b572d4","dweb:/ipfs/QmTNDc1fiPti41QqJTJQoV9uduB6eXaQhbfq1hfVVjVNvS"],"license":"Apache-2.0"},"src/core/libraries/Errors.sol":{"keccak256":"0xb3df9024b0b1a89963b0d9580d54f304b1bd07d3c08e0068ec2a3238cbfa47f4","urls":["bzz-raw://37d805b2aa067b147a2b62c8d369e6ecd2f180c17d4fcf5020e88bfe09b0386e","dweb:/ipfs/QmXEqq1M9QzdgmvXtdgddvpjRNAHGG1QAG7PmdjfcdqWYR"],"license":"Apache-2.0"},"src/core/libraries/HatchMath.sol":{"keccak256":"0xca787b2889e281c8db132043312aa9513315669782981689824344c910833fe4","urls":["bzz-raw://77ec2f6b5919d53d3a7128f6006155f2566a84e7a56cd26e9d5e6d1514ccd7a2","dweb:/ipfs/Qmc3Z2quujEwxQU1JBfrxhkiULaczspBsTMjXibqXCjFyd"],"license":"Apache-2.0"},"src/core/libraries/SlashRoundLib.sol":{"keccak256":"0x6773eea1fa593e5c1e16fcd3a8341b537bf5ed7ee2f10472649dfd542e3ade8e","urls":["bzz-raw://756bdaa3facd4034149eeb3553ae99777b646c3e16abf8d41f9558e74249baa6","dweb:/ipfs/QmNpb62diGKNKf5pcynejjhNex9c6PTkZnVUeuLvJ2qCZ9"],"license":"Apache-2.0"},"src/core/libraries/StakingQueue.sol":{"keccak256":"0xbbeafda1659a92be14ec5b77838952a089f075cc1d0c5f348b6ff336ea6a1a98","urls":["bzz-raw://f3c8bdb1de77dab697ef4442f72fa4830c757059f8d948d2f3aeb7f6983aa64f","dweb:/ipfs/QmSDYdTnFo8nx34q3fdJCKpy8DCnKBQ4isxr49o4sY5T6T"],"license":"Apache-2.0"},"src/core/libraries/TimeLib.sol":{"keccak256":"0x8e97dd7227578af6d5483a56164076f065007abe421247cfce4e693bf6c5be06","urls":["bzz-raw://7bc004dac3dc9e920061135c3c9eb9986935cc7b2715d3e5f0b787d4ab07a2b0","dweb:/ipfs/QmUPmvvwTCdFzxd6n8cpX3otgfFGMPaaD8bCed6B1Z4euH"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/CheckpointLog.sol":{"keccak256":"0x15a6af93a142210201d8ed71c8e7a507f2316b030f22582567a8026aabf8f081","urls":["bzz-raw://2f7133944a2fc8deefe97544f659fb01aefd22a0124bb9416ce168f1c860545a","dweb:/ipfs/QmaNHSorjRndPDuxxvuNyfPJtS27meUK6Sf4rmJUF9ruWr"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/StakingQueueConfig.sol":{"keccak256":"0x32b00fd08e1754d9d9c9b377ae0a0ea887ace519db0ec6d252e1b2216891068e","urls":["bzz-raw://4ecea0a1ff8536819d37d3800b2915249b5c854d9dc611e91aae81df6acf7d76","dweb:/ipfs/Qmf3FgXCf1MP78p5B76kQnwx8yXFXncutVzQhV2fteBvVn"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/Tips.sol":{"keccak256":"0xdf872f54470e59b86349871e2c12075e8daaad85894f90e64f92538daf5f4008","urls":["bzz-raw://493e4bc02c6e9acbb5bfaa68f19bf4defb409211b701784e43d2ca6cbc11ccd1","dweb:/ipfs/QmSUahndZ78LBx6WdozXWL6QkqxZXzrXpHna2kGwCqgy34"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/fees/FeeConfig.sol":{"keccak256":"0x483176bf56f20b48e86b3f35adb063f73cd0b475ffde7f32a67b6d6f4acafed9","urls":["bzz-raw://3e6a360d83832f65432c3e10afa029593b4988c0fea347ebeddadbf9d382aaec","dweb:/ipfs/QmUZZqYXsdzznfuwM8N5MHbFK5GAjZTXqsYj8YHn8kVuNF"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/fees/FeeStructs.sol":{"keccak256":"0xa051bd0fbba07e5f66077e26082c5e19a83cb20d6bb7efb516a38d4bc4f4c244","urls":["bzz-raw://915a5c621123624e51d9925d77d940334930b17628a7959d13a60eb3abc45462","dweb:/ipfs/QmeF2TaMbwvA9AFDiMB7rNBbFViDvmGiAk7mp49dRMbrpt"],"license":"Apache-2.0"},"src/core/libraries/crypto/Hash.sol":{"keccak256":"0x8d712593cc9ee681716dbe725ad7a0f73e28d48f854973f84e586010bbe3bec6","urls":["bzz-raw://5966c1b8bd29cae0c99442de7b271160aa9b9db326712610c60d12007c51051a","dweb:/ipfs/QmSdtUU5EyA76vzB786bJcPTuJYEJRzfAV2XEpZf7NSU4i"],"license":"Apache-2.0"},"src/core/libraries/crypto/SampleLib.sol":{"keccak256":"0x59e87e7d6a1e966c0f73bd919825ff7d81dc898625fe9fd20e6786e10b43783e","urls":["bzz-raw://a931d31192faf6d9d9c82fc7099a776b5886d90dd0a2a9ee8093cc680dfdef70","dweb:/ipfs/QmbQjTTf96tr2WSiuoWK8k984dGuXKooZWZ5o9EL7wEPhv"],"license":"Apache-2.0"},"src/core/libraries/rollup/AttestationLib.sol":{"keccak256":"0xb5bf4bf1996a3e9e17a662dcb805fec075fa6ef1ce1d15c959ce7903b156d552","urls":["bzz-raw://ee776eef1dc3cb02b49c56fdb8917392cbfa75d386357a09ad650b8e1fe8091f","dweb:/ipfs/QmXBcSNdqeDVNbZkpG1iQr1ahabrBieWzBoEbZeF4VN967"],"license":"Apache-2.0"},"src/core/libraries/rollup/BlobLib.sol":{"keccak256":"0x40be24c3f297efce26b76cf2f674454344a20ba8b8fde7cdfd4c7ecfe339a507","urls":["bzz-raw://6c37144509a9269c3fe0f0791649ef4f74e5db0b54d8b27c68a1558be2ccd350","dweb:/ipfs/QmT4Fc8um96XkUWd1kJrdnHKvwqKouJtJW8zUaig5nVFQx"],"license":"Apache-2.0"},"src/core/libraries/rollup/FeeLib.sol":{"keccak256":"0x2060a7c826871fec743c2f04771a01800e2881a90b32c33fb4215b73a8227c44","urls":["bzz-raw://818ce0ae57ed4fa3823f78715efd44c1729f9292092ba146eeff256e64e8ea01","dweb:/ipfs/QmZjpd6sZtxcCbEB46kxPo3f7yg4XuDKAHYGCTggfFSvMR"],"license":"Apache-2.0"},"src/core/libraries/rollup/ProposeLib.sol":{"keccak256":"0xa4483749d4f477171427c9fac6d0abf8d5198d4dd9dd46b88399a2a78bfced3a","urls":["bzz-raw://723e1dae067b035c6e587599eb55c8e7bacba3be4e17ea4e090ee4367bbb3889","dweb:/ipfs/QmbFDJsD1ad3gpvCH5ced9HF7sUDp1o9ZM7UKyGaYzbkYS"],"license":"Apache-2.0"},"src/core/libraries/rollup/ProposedHeaderLib.sol":{"keccak256":"0x2e27def9ee3992c1c69ea5c30c5e91a886a6d9ee1580e8e9187b99d5e63b8a34","urls":["bzz-raw://f35436a3bd2ad063d02240a63768e9f358b2b800910824763e571e6092aef0f0","dweb:/ipfs/QmZfsZ4CLTg7aGjgMd9Hj3Uu1wYGFmAXLvcXiCyVhxEWeh"],"license":"Apache-2.0"},"src/core/libraries/rollup/RewardLib.sol":{"keccak256":"0xf184ce5d7d099a79ca888d4f9af56407ca62ea5341232a03061a3c195ee840b4","urls":["bzz-raw://115622750be936670769cfbe74c6ed84ec052527ce7622d085098f063701140c","dweb:/ipfs/QmfHeiEBjC9gcpwyiqi7cFuv3WBZ6ixng3uoWpBqX9Nt2X"],"license":"Apache-2.0"},"src/core/libraries/rollup/STFLib.sol":{"keccak256":"0xb96994e4db0431c14ffde9000e5fc0653f3055e566665b5bb250f4f1651f48d7","urls":["bzz-raw://bf7d33ed26dbfc9d6bf7e1a22e1a5bfa83de64b2c9ab0ba0e2025b0dffc007c9","dweb:/ipfs/QmZsxV1oY4YuzK1GkY7zqjcZmmLvYstGT7CJN7Zw8cYwu5"],"license":"Apache-2.0"},"src/core/libraries/rollup/StakingLib.sol":{"keccak256":"0x1ece6784f7a3b59c913f74287be4c913579642c7d1d111f47bda85cd9945b2c3","urls":["bzz-raw://33c205133d7015f67f4397efb27a9656ae97190d4699605507027a1102324a28","dweb:/ipfs/QmbexoP2SZAngqKGtrS8y1dUjRwDC2jZ8cqqK58svyA67i"],"license":"Apache-2.0"},"src/core/libraries/rollup/ValidatorSelectionLib.sol":{"keccak256":"0xe51a65e258ecf8bf2c6f45fa6ec8058840cc71030a2f364ec5d78c8120a6d493","urls":["bzz-raw://1aeabf22967ba3e71ea423b077aaba27d13b4d2d4914a1ad7b0cced3d77c0d4d","dweb:/ipfs/QmeGfNWe4WrmpvpTRwYX43XYgb43KkoPeSRvSNonLYMo2n"],"license":"Apache-2.0"},"src/core/reward-boost/RewardBooster.sol":{"keccak256":"0x2e36fb83cdfd01416fc504e1ad20cf2890544a819dfd43d06e33509883fbc70f","urls":["bzz-raw://7b9fa97befd572a5dc21d8a0290194b750424c473b4eb7f12cd7b7225cf593fa","dweb:/ipfs/QmVDFXEuNJj4vmhR29HAZnB9TRXvEWtugEQpQfXPCcTU4W"],"license":"Apache-2.0"},"src/governance/Bn254LibWrapper.sol":{"keccak256":"0xea39571de45fe0fec82d9e760998677eb2432e08c6cdb00c41efa58caf56e607","urls":["bzz-raw://1e470b821f3d87fa0c988c5f23a8deed3849bffd2527b3b4ee137a90e0c1264c","dweb:/ipfs/QmW3M4HyRLDruV5AYXCKicFCiiczmwnSTtnwVKUnQSm7a8"],"license":"Apache-2.0"},"src/governance/GSE.sol":{"keccak256":"0xc19fa4868d78030e2411dd5cef6d0da09645ade1d1ea0c4374b284a89feb722a","urls":["bzz-raw://d06396c249566d0e9de5d34eade2bf27c4d583005c0129787bf6c413dcd9e273","dweb:/ipfs/QmcimKKiV9KqobS5wzPsKYzyYu5WezCF3gyHkekf5tjrUU"],"license":"Apache-2.0"},"src/governance/GSEPayload.sol":{"keccak256":"0x40e5385b008f0335b50e066c647bb906685511c9fef206ce90a3391468558bae","urls":["bzz-raw://a129e87e1d57cf0813b14108cbdbcdd4c114b20f3f2d67477302d6d050120c7e","dweb:/ipfs/QmRcQQkeDhkrmQha3nkA8qvXnGmF6nLhZMKAhMx61A7a5y"],"license":"Apache-2.0"},"src/governance/Governance.sol":{"keccak256":"0x07770c3d80369adae51be8e361f63a2aa5ec489b354b10c8590be1e294dfe2e5","urls":["bzz-raw://7219becf3467ea8368dba0bd093ba932b165cf3f214e7286f652e2730bf42eaf","dweb:/ipfs/QmTSCDhSQBTKhzGUk12phxhqohSba6yopYMzF5T5XPFUWw"],"license":"Apache-2.0"},"src/governance/interfaces/IBn254LibWrapper.sol":{"keccak256":"0xdd0a3de8b8ff67cf2bf090d04b4a37aa6d604f402db3328387d2466d2354464a","urls":["bzz-raw://daef0234547509cd7ae3a7babf0e50a8d1ca2894f1817e3e2409a50fd32947b9","dweb:/ipfs/QmbwSedqnBfsqRnUq8XcXzoeoyhZTXJWJ9rpJn61BAJfej"],"license":"Apache-2.0"},"src/governance/interfaces/IEmpire.sol":{"keccak256":"0xe6a8a8c3fef8e6f9f5118bd40c63e951b13a59d5f885bbb979d38745ef760ed3","urls":["bzz-raw://940c1fe4138d7364ccdb7d5635ea90bafa1da274f680039b0b54ee8c2a275a9a","dweb:/ipfs/QmX2EeoVyES18BMgcbKVDb36MCq8ooDVR98m2RmnmZjEAo"],"license":"Apache-2.0"},"src/governance/interfaces/IGovernance.sol":{"keccak256":"0xe420d305fbe7c35f4620cd1e0f05f9f4c5a91532621d21a64ea553a3d9a3c005","urls":["bzz-raw://1900ac41f945aa692d5228f134ae63840081d284bf89fdd2a06b45424fe359ff","dweb:/ipfs/QmePFZ1xv5qfftJVDLc98XUVFsrpuKAbKZiro7MoMDTpoa"],"license":"Apache-2.0"},"src/governance/interfaces/IGovernanceProposer.sol":{"keccak256":"0x2be820a5452c481ffd329d68c46d0af6a286934963f26b36d363cd34fb0e5817","urls":["bzz-raw://f58839d1504e11e7da42b7f5a03fb9b9d8cc39ab4c16cfb86fa44c4de08df76f","dweb:/ipfs/QmR6jUJozP9tfpZuSduk66E8n7WuL3zzsR3WHZ7BR2ZBX2"],"license":"Apache-2.0"},"src/governance/interfaces/IPayload.sol":{"keccak256":"0x5844ea725ce56ac8adeb20b2d37aa431ca087f68a65a7ca91f981be7458737c3","urls":["bzz-raw://5ea670db51b2ccfac05a684b95458ecc015c9d12a6567c3f73d473386533f58c","dweb:/ipfs/QmRUB8mckkGQ4nNsErRhnKMsD9SSkokRSpnr5XZC9dZdin"],"license":"Apache-2.0"},"src/governance/interfaces/IProposerPayload.sol":{"keccak256":"0x89068dd464c0bfb7d447c0e99728277e03c7c4b864208ead20321f0590187248","urls":["bzz-raw://4d1d9ba5f8b7da374d773acde9514ca6607ad31a3e83950caa097bdb8b0f9167","dweb:/ipfs/Qmd7tWAD2Ubz434zZPJvuyAGsHYpXBHvVhVefLFzUudD2o"],"license":"Apache-2.0"},"src/governance/interfaces/IRegistry.sol":{"keccak256":"0xc3678c04c0945d3dc1d8007df3dc7f8b25d8108b0b25134842ffc5169f996ce8","urls":["bzz-raw://71e4e401f1a6f561262755cc2e1c347cd3aa79e67d2e52ca547864f49de01724","dweb:/ipfs/QmPvoKFEDTb41DSC3MmDMqtM3trj5oZb1Jj2jtQSnNfHBn"],"license":"Apache-2.0"},"src/governance/interfaces/IRewardDistributor.sol":{"keccak256":"0x7bf74c234bbe5dd7a4510ea6b8e4a6a0c28d56f5dfe5773d477eec7fb4653817","urls":["bzz-raw://0c1799da536555e007ed8068b27a364cc225d7a5a06740a2097679fd6bce6d25","dweb:/ipfs/QmPsHy6E4S1W16TrFLaBarDyVTicEv79HQZV8aQupSW7rj"],"license":"Apache-2.0"},"src/governance/libraries/AddressSnapshotLib.sol":{"keccak256":"0x1006e58059e0a1f0fef102f2f11f5649dffc7f2eb066fce51845e65a064f4210","urls":["bzz-raw://de385ab9eb3bb66d7be1218b49ae9bba7d88797bcb375b9a7481a209d303a402","dweb:/ipfs/QmZe6DTv3cACfdXNSMhbMhoefg31LW3uLxHLDC7nZhb4Yp"],"license":"Apache-2.0"},"src/governance/libraries/CheckpointedUintLib.sol":{"keccak256":"0xcd73cf7a62e4ac5cc79f7f8df8b35d5c5e4df5b8a3478bcbc2b29c9aa89ea4b4","urls":["bzz-raw://f56f37060d39d3c9276f23c96be7f6b1ea44676312dbaa1ab16ab3bff6acebf1","dweb:/ipfs/QmPDUEEgdbpTTs9r3fvdMYJo9akCRsWcJXyarBhQgcKb5q"],"license":"Apache-2.0"},"src/governance/libraries/ConfigurationLib.sol":{"keccak256":"0x9479ac3e2d2b268007fa2eb0262c9f5d55b5f5abd7a4f2a64d7e396d71d5b43b","urls":["bzz-raw://f3d0db3ecad23789181abfc761f5b4710bcafa0c454fd62e768f419712cafe5c","dweb:/ipfs/Qmcxr9PMvwwC2sazq1SGBkbmEgxbyobrXWNZ7yp8UcYf6d"],"license":"Apache-2.0"},"src/governance/libraries/DepositDelegationLib.sol":{"keccak256":"0x37fbca65ccabec9d901bd71d684dceec7c59fa5a05438fd209ea0d5e16e764c0","urls":["bzz-raw://e42f2622978abc3ac84223a6b206201898d0269d20bf81539636c0999a0db9eb","dweb:/ipfs/QmW4BgTjR6BuPxwxreKarUeK1u8gx3p9yFdDD4EsC5hkyb"],"license":"Apache-2.0"},"src/governance/libraries/Errors.sol":{"keccak256":"0x10969348c5c4fe013e3193377131c0c347df148d9ffce7957290b0305c14c996","urls":["bzz-raw://9c96d1f13e931a0cc1949739e76d32a7fa92692e52543c5d27d0f30d7f792468","dweb:/ipfs/QmY1uEwJ8mfcUw3LAcsEsxULkruATGpKzqZ8kxXXZ1ncgr"],"license":"Apache-2.0"},"src/governance/libraries/ProposalLib.sol":{"keccak256":"0x616ffbb24c4454ca9e223e85ff01e8dca139723d5cd312d5d6f6111d79782a90","urls":["bzz-raw://192f9be3355a7a94d19ae4e5b397e5db19dde64ccc671e149da06dfaa2577192","dweb:/ipfs/QmTDcm7XEFLe7o5cXUmuu5wQDyprU78AVMymiWvrmP4tHT"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Ballot.sol":{"keccak256":"0xca07dc8cf36ac2beae7674804af144b34b3c5848153351c17d996e9b3293cd5d","urls":["bzz-raw://6911cc49f1d6977c12f652063c14891697c1ffe49fdf36903c32a8ad73cbd012","dweb:/ipfs/QmQBEZARCAAj1ZLcswkH6FwP1RP8uuNjYTHqthmE9Z5RnM"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Configuration.sol":{"keccak256":"0x40744f275af22d33c38fd9c6a7b822292c9c87b17ac2c78abbef4eb8356fd9f9","urls":["bzz-raw://73c685be7e934516207827a59cbbeb7fc1164e7659dd3ec857a91cfea765b482","dweb:/ipfs/QmQfudRpSSQnG9u4XV8iA2UAyDzQPFqWzpZy5NZbaD6htv"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Proposal.sol":{"keccak256":"0x72cf619a21c8e95875c63d4361cbe1a815d9d67f36f3fe32b6c9ca4d9ab0d33a","urls":["bzz-raw://d80f47beb3f91da3cc68264c86fc8fb8f0e4abaf9d92243ab3206407fceed5c6","dweb:/ipfs/QmYyrBTDMfkTBu6EcKcSMR7JyfphZ5xH1VCQ8EHMQUvsoN"],"license":"Apache-2.0"},"src/governance/proposer/EmpireBase.sol":{"keccak256":"0xfeb86311b0d6c5f37db2593ec7e303cde08bd331c1a6595260abe07c5e5e633a","urls":["bzz-raw://1fe05eb878ce4e0fc3e40f93c3f2fc9a01bb6e1e8860ec3f91dbc291d3292b3e","dweb:/ipfs/Qma8myMw5anMPJ4D7s9y4Eh8SHf1dpz98WBLU5bzax6cUV"],"license":"Apache-2.0"},"src/governance/proposer/GovernanceProposer.sol":{"keccak256":"0xa2829df5b65856c9f1d6bf490fb50616f14402ff8eece2e32b63828b8b9337c3","urls":["bzz-raw://8ad52830a7a3aed3477bf55f92c3d68cb1c16a5cf1d636227ab76a306c846607","dweb:/ipfs/QmRonyZQZj5D1e2g4Y6Tmj2AEUnekL4pGmgdMT4ycRAM8m"],"license":"Apache-2.0"},"src/mock/libraries/BlobLib.sol":{"keccak256":"0xa1b19239c5c64ba1b0c9f83ec0a30059f10ded12bf40d5d7c3f65974752b3121","urls":["bzz-raw://5cbce7d0dd0096232d60ec5c6920f211ffcaa46c8675b1129c1f939a1ee84837","dweb:/ipfs/QmSS2qUhzUuZY1qHDjWUGvHuMqMG3cjHoHeDVvgWsjMdA9"],"license":"Apache-2.0"},"src/shared/libraries/BN254Lib.sol":{"keccak256":"0x0c3a5b7dabde2f5c81f19e1a4a212308a8636b5bb4a16bb1a518d58ef4feb6f5","urls":["bzz-raw://870be6219c7081ed081cee2fa9ad1e7f3efff623ae1a59aed966f2bdcee65b7a","dweb:/ipfs/QmNzohb1TazCgaT1e55CMDuuG7AHdGrGA6jvT4wzxdAM52"],"license":"Apache-2.0"},"src/shared/libraries/CompressedTimeMath.sol":{"keccak256":"0x361023cf30593e7e27417c91af3702e75235fcab251e4ad5ac2e47306a730ec1","urls":["bzz-raw://9b192242472b3126c97a4a4e4fa792809a6bf20b548a57e677f5260c0dbf3ad3","dweb:/ipfs/QmfK4WAucepcqzMLu11rs68HJazwfegVsgK5tTco82SooB"],"license":"Apache-2.0"},"src/shared/libraries/SignatureLib.sol":{"keccak256":"0xb69989f57384383341d1bb4693fb1e6ce31a2ab6c0fadb48bf088078a332a56a","urls":["bzz-raw://f199be27853a14d746c567c5e3a473f474e84cfd3d119a6404e6ceff4e986e5c","dweb:/ipfs/QmWsLozeiKLQbTSEUDVZK2ASEX3EodKxT4DdA9BA6bD6N2"],"license":"Apache-2.0"},"src/shared/libraries/TimeMath.sol":{"keccak256":"0x8da20dc8b4ce296b7c11f117a3381bfe5cd611a3512a74a500e2e54e0353417f","urls":["bzz-raw://18c74be98a4e31e8a16356e573514f639a8fc43928e741f6ead81dd755e9a914","dweb:/ipfs/QmPDEdYYEj3DhXjrCDPuudJbhsBaNj1sK6hH94Z86168Q3"],"license":"Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":9030,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"$isHatchPrepared","offset":0,"slot":"0","type":"t_struct(BitMap)6628_storage"},{"astId":9033,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"$isHatchValidated","offset":0,"slot":"1","type":"t_struct(BitMap)6628_storage"},{"astId":9036,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"$activeCandidates","offset":0,"slot":"2","type":"t_struct(SnapshottedAddressSet)27561_storage"},{"astId":9041,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"$candidateDatas","offset":0,"slot":"5","type":"t_mapping(t_address,t_struct(CandidateInfo)10476_storage)"},{"astId":9046,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"$designatedProposer","offset":0,"slot":"6","type":"t_mapping(t_userDefinedValueType(Hatch)13127,t_address)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_struct(Checkpoint224)6776_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct Checkpoints.Checkpoint224[]","numberOfBytes":"32","base":"t_struct(Checkpoint224)6776_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_enum(Status)10463":{"encoding":"inplace","label":"enum Status","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CandidateInfo)10476_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CandidateInfo)","numberOfBytes":"32","value":"t_struct(CandidateInfo)10476_storage"},"t_mapping(t_address,t_struct(Index)27566_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct Index)","numberOfBytes":"32","value":"t_struct(Index)27566_storage"},"t_mapping(t_uint256,t_struct(Trace224)6771_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct Checkpoints.Trace224)","numberOfBytes":"32","value":"t_struct(Trace224)6771_storage"},"t_mapping(t_uint256,t_uint256)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_userDefinedValueType(Hatch)13127,t_address)":{"encoding":"mapping","key":"t_userDefinedValueType(Hatch)13127","label":"mapping(Hatch => address)","numberOfBytes":"32","value":"t_address"},"t_struct(BitMap)6628_storage":{"encoding":"inplace","label":"struct BitMaps.BitMap","numberOfBytes":"32","members":[{"astId":6627,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"_data","offset":0,"slot":"0","type":"t_mapping(t_uint256,t_uint256)"}]},"t_struct(CandidateInfo)10476_storage":{"encoding":"inplace","label":"struct CandidateInfo","numberOfBytes":"64","members":[{"astId":10467,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"status","offset":0,"slot":"0","type":"t_enum(Status)10463"},{"astId":10469,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"amount","offset":1,"slot":"0","type":"t_uint96"},{"astId":10471,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"exitableAt","offset":13,"slot":"0","type":"t_uint32"},{"astId":10473,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"lastCheckpointNumber","offset":17,"slot":"0","type":"t_uint32"},{"astId":10475,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"lastSubmittedArchive","offset":0,"slot":"1","type":"t_bytes32"}]},"t_struct(Checkpoint224)6776_storage":{"encoding":"inplace","label":"struct Checkpoints.Checkpoint224","numberOfBytes":"32","members":[{"astId":6773,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"_key","offset":0,"slot":"0","type":"t_uint32"},{"astId":6775,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"_value","offset":4,"slot":"0","type":"t_uint224"}]},"t_struct(Index)27566_storage":{"encoding":"inplace","label":"struct Index","numberOfBytes":"32","members":[{"astId":27563,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"exists","offset":0,"slot":"0","type":"t_bool"},{"astId":27565,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"index","offset":1,"slot":"0","type":"t_uint224"}]},"t_struct(SnapshottedAddressSet)27561_storage":{"encoding":"inplace","label":"struct SnapshottedAddressSet","numberOfBytes":"96","members":[{"astId":27550,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"size","offset":0,"slot":"0","type":"t_struct(Trace224)6771_storage"},{"astId":27555,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"indexToAddressHistory","offset":0,"slot":"1","type":"t_mapping(t_uint256,t_struct(Trace224)6771_storage)"},{"astId":27560,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"addressToCurrentIndex","offset":0,"slot":"2","type":"t_mapping(t_address,t_struct(Index)27566_storage)"}]},"t_struct(Trace224)6771_storage":{"encoding":"inplace","label":"struct Checkpoints.Trace224","numberOfBytes":"32","members":[{"astId":6770,"contract":"src/core/EscapeHatch.sol:EscapeHatch","label":"_checkpoints","offset":0,"slot":"0","type":"t_array(t_struct(Checkpoint224)6776_storage)dyn_storage"}]},"t_uint224":{"encoding":"inplace","label":"uint224","numberOfBytes":"28"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint32":{"encoding":"inplace","label":"uint32","numberOfBytes":"4"},"t_uint96":{"encoding":"inplace","label":"uint96","numberOfBytes":"12"},"t_userDefinedValueType(Hatch)13127":{"encoding":"inplace","label":"Hatch","numberOfBytes":"32"}}},"id":24}