@aztec/l1-artifacts 0.0.1-commit.f146247c → 0.0.1-commit.f1df4d2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/HonkVerifierBytecode.d.ts +2 -2
- package/dest/HonkVerifierBytecode.d.ts.map +1 -1
- package/dest/HonkVerifierBytecode.js +1 -1
- package/l1-contracts/cache/solidity-files-cache.json +1 -1
- package/l1-contracts/foundry.toml +1 -1
- package/l1-contracts/generated/HonkVerifier.sol +65 -70
- package/l1-contracts/out/CoinIssuer.sol/CoinIssuer.json +1 -1
- package/l1-contracts/out/DateGatedRelayer.sol/DateGatedRelayer.json +1 -1
- package/l1-contracts/out/DeployAztecL1Contracts.s.sol/DeployAztecL1Contracts.json +1 -1
- package/l1-contracts/out/DeployAztecL1Contracts.t.sol/DeployAztecL1ContractsTest.json +1 -1
- package/l1-contracts/out/DeployRollupForUpgrade.s.sol/DeployRollupForUpgrade.json +1 -1
- package/l1-contracts/out/DeployRollupForUpgrade.t.sol/DeployRollupForUpgradeTest.json +1 -1
- package/l1-contracts/out/DeployRollupLib.sol/DeployRollupLib.json +1 -1
- package/l1-contracts/out/DeploymentConfiguration.sol/DeploymentConfiguration.json +1 -1
- package/l1-contracts/out/FeeAssetHandler.sol/FeeAssetHandler.json +1 -1
- package/l1-contracts/out/FlushRewarder.sol/FlushRewarder.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/BaseHonkVerifier.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/CommitmentSchemeLib.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/FrLib.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/Honk.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/HonkVerificationKey.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/HonkVerifier.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/IVerifier.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/RelationsLib.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/TranscriptLib.json +1 -1
- package/l1-contracts/out/IDateGatedRelayer.sol/IDateGatedRelayer.json +1 -1
- package/l1-contracts/out/IFlushRewarder.sol/IFlushRewarder.json +1 -1
- package/l1-contracts/out/IMintableERC20.sol/IMintableERC20.json +1 -1
- package/l1-contracts/out/ISlashFactory.sol/ISlashFactory.json +1 -1
- package/l1-contracts/out/InputsExtractor.sol/InputsExtractor.json +1 -1
- package/l1-contracts/out/MockERC20.sol/MockERC20.json +1 -1
- package/l1-contracts/out/MockERC721.sol/MockERC721.json +1 -1
- package/l1-contracts/out/MockFeeJuicePortal.sol/MockFeeJuicePortal.json +1 -1
- package/l1-contracts/out/MockVerifier.sol/MockVerifier.json +1 -1
- package/l1-contracts/out/MockZKPassportVerifier.sol/MockZKPassportVerifier.json +1 -1
- package/l1-contracts/out/MultiAdder.sol/MultiAdder.json +1 -1
- package/l1-contracts/out/RegisterNewRollupVersionPayload.sol/RegisterNewRollupVersionPayload.json +1 -1
- package/l1-contracts/out/Registry.sol/Registry.json +1 -1
- package/l1-contracts/out/RewardDistributor.sol/RewardDistributor.json +1 -1
- package/l1-contracts/out/RollupConfiguration.sol/RollupConfiguration.json +1 -1
- package/l1-contracts/out/SlashFactory.sol/SlashFactory.json +1 -1
- package/l1-contracts/out/SlashPayload.sol/SlashPayload.json +1 -1
- package/l1-contracts/out/StakingAssetHandler.sol/StakingAssetHandler.json +1 -1
- package/l1-contracts/out/StdError.sol/stdError.json +1 -1
- package/l1-contracts/out/TestERC20.sol/TestERC20.json +1 -1
- package/l1-contracts/out/ZKPassportHelper.sol/ZKPassportHelper.json +1 -1
- package/l1-contracts/out/ZKPassportRootVerifier.sol/ZKPassportRootVerifier.json +1 -1
- package/l1-contracts/out/ZKPassportSubVerifier.sol/ZKPassportSubVerifier.json +1 -1
- package/l1-contracts/out/build-info/{bcca871da7c17f8e.json → 6b707081690bc1a6.json} +1 -1
- package/l1-contracts/out/build-info/{33d81a4b1b05e4ba.json → 8103921c6e825236.json} +1 -1
- package/l1-contracts/out/shouting.t.sol/ScreamAndShoutTest.json +1 -1
- package/l1-contracts/script/deploy/DeployRollupForUpgrade.s.sol +17 -1
- package/l1-contracts/test/script/DeployAztecL1Contracts.t.sol +61 -0
- package/l1-contracts/test/script/DeployRollupForUpgrade.t.sol +112 -0
- package/package.json +1 -1
- package/l1-contracts/solc-0.8.30 +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[{"name":"_args","type":"tuple","internalType":"struct StakingAssetHandler.StakingAssetHandlerArgs","components":[{"name":"owner","type":"address","internalType":"address"},{"name":"stakingAsset","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"faucetAmount","type":"uint256","internalType":"uint256"},{"name":"zkPassportVerifier","type":"address","internalType":"contract ZKPassportRootVerifier"},{"name":"unhinged","type":"address[]","internalType":"address[]"},{"name":"domain","type":"string","internalType":"string"},{"name":"scope","type":"string","internalType":"string"},{"name":"skipBindCheck","type":"bool","internalType":"bool"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_FAUCET_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MIN_AGE","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"STAKING_ASSET","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMintableERC20"}],"stateMutability":"view"},{"type":"function","name":"VALIDITY_PERIOD","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"addUnhinged","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToNullifier","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"nullifier","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"claim","inputs":[{"name":"_params","type":"tuple","internalType":"struct ProofVerificationParams","components":[{"name":"version","type":"bytes32","internalType":"bytes32"},{"name":"proofVerificationData","type":"tuple","internalType":"struct ProofVerificationData","components":[{"name":"vkeyHash","type":"bytes32","internalType":"bytes32"},{"name":"proof","type":"bytes","internalType":"bytes"},{"name":"publicInputs","type":"bytes32[]","internalType":"bytes32[]"}]},{"name":"committedInputs","type":"bytes","internalType":"bytes"},{"name":"serviceConfig","type":"tuple","internalType":"struct ServiceConfig","components":[{"name":"validityPeriodInSeconds","type":"uint256","internalType":"uint256"},{"name":"domain","type":"string","internalType":"string"},{"name":"scope","type":"string","internalType":"string"},{"name":"devMode","type":"bool","internalType":"bool"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"faucetAmount","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":"isUnhinged","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"isUnhinged","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"nullifiers","inputs":[{"name":"nullifier","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeUnhinged","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resetNullifier","inputs":[{"name":"_nullifier","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDomain","inputs":[{"name":"_domain","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFaucetAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setScope","inputs":[{"name":"_scope","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSkipBindCheck","inputs":[{"name":"_skipBindCheck","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setZKPassportVerifier","inputs":[{"name":"_zkPassportVerifier","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validDomain","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"validScope","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"zkPassportVerifier","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ZKPassportRootVerifier"}],"stateMutability":"view"},{"type":"event","name":"Claimed","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"nullifier","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"DomainUpdated","inputs":[{"name":"newDomain","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"FaucetAmountUpdated","inputs":[{"name":"newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"NullifierReset","inputs":[{"name":"nullifier","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ScopeUpdated","inputs":[{"name":"newScope","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"SkipBindCheckUpdated","inputs":[{"name":"_skipBindCheck","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"UnhingedAdded","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UnhingedRemoved","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ZKPassportVerifierUpdated","inputs":[{"name":"_verifier","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ExtraDiscloseDataNonZero","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidAge","inputs":[]},{"type":"error","name":"InvalidBoundAddress","inputs":[{"name":"_expected","type":"address","internalType":"address"},{"name":"_received","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidChainId","inputs":[{"name":"_expected","type":"uint256","internalType":"uint256"},{"name":"_received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidCountry","inputs":[]},{"type":"error","name":"InvalidDomain","inputs":[]},{"type":"error","name":"InvalidFaceMatch","inputs":[]},{"type":"error","name":"InvalidProof","inputs":[]},{"type":"error","name":"InvalidScope","inputs":[]},{"type":"error","name":"InvalidValidityPeriod","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"SybilDetected","inputs":[{"name":"_nullifier","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x60c060405234801561000f575f5ffd5b50604051611f12380380611f1283398101604081905261002e91610444565b80516001600160a01b03811661005d57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100668161025f565b5060208101516001600160a01b0390811660805260408201511660a052606081015161009c5769d3c21bcecceda10000006100a2565b80606001515b60058190556040519081527f07b130fc089b6153dc5748b5d744efe6ec1dd025c8c48e5b105e632f6cbd93da9060200160405180910390a15f5b8160a001515181101561018957600160025f8460a00151848151811061010457610104610564565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160a00151818151811061015757610157610564565b60200260200101516001600160a01b03165f516020611ef25f395f51905f5260405160405180910390a26001016100dc565b5080516001600160a01b039081165f90815260026020526040808220805460ff19166001179055835190519216915f516020611ef25f395f51905f529190a26080810151600180546001600160a01b0319166001600160a01b0390921691821790556040517fa45d60f9a04c5d4fa0d11954a836395a6be6f5e6349f49e5a909f47b47556226905f90a260c081015160069061022590826105fc565b5060e081015160079061023890826105fc565b50610100015160018054911515600160a01b0260ff60a01b199092169190911790556106b6565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b03811182821017156102e5576102e56102ae565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610313576103136102ae565b604052919050565b6001600160a01b038116811461032f575f5ffd5b50565b805161033d8161031b565b919050565b5f82601f830112610351575f5ffd5b81516001600160401b0381111561036a5761036a6102ae565b8060051b61037a602082016102eb565b91825260208185018101929081019086841115610395575f5ffd5b6020860192505b838310156103c05782516103af8161031b565b82526020928301929091019061039c565b9695505050505050565b5f82601f8301126103d9575f5ffd5b81516001600160401b038111156103f2576103f26102ae565b610405601f8201601f19166020016102eb565b818152846020838601011115610419575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b8051801515811461033d575f5ffd5b5f60208284031215610454575f5ffd5b81516001600160401b03811115610469575f5ffd5b8201610120818503121561047b575f5ffd5b6104836102c2565b61048c82610332565b815261049a60208301610332565b60208201526104ab60408301610332565b6040820152606082810151908201526104c660808301610332565b608082015260a08201516001600160401b038111156104e3575f5ffd5b6104ef86828501610342565b60a08301525060c08201516001600160401b0381111561050d575f5ffd5b610519868285016103ca565b60c08301525060e08201516001600160401b03811115610537575f5ffd5b610543868285016103ca565b60e0830152506105566101008301610435565b610100820152949350505050565b634e487b7160e01b5f52603260045260245ffd5b600181811c9082168061058c57607f821691505b6020821081036105aa57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156105f757805f5260205f20601f840160051c810160208510156105d55750805b601f840160051c820191505b818110156105f4575f81556001016105e1565b50505b505050565b81516001600160401b03811115610615576106156102ae565b610629816106238454610578565b846105b0565b6020601f82116001811461065b575f83156106445750848201515b5f19600385901b1c1916600184901b1784556105f4565b5f84815260208120601f198516915b8281101561068a578785015182556020948501946001909201910161066a565b50848210156106a757868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a0516117ff6106f35f395f81816101ba015261089601525f818161017601528181610636015281816106fd01526107de01526117ff5ff3fe608060405234801561000f575f5ffd5b506004361061016d575f3560e01c806381d2fd9c116100d9578063c4797ec511610093578063dd71369c1161006e578063dd71369c14610344578063e5eab09614610363578063f2fde38b14610376578063fc67935414610389575f5ffd5b8063c4797ec514610316578063c47ca04c14610329578063c8f832bf14610331575f5ffd5b806381d2fd9c146102be5780638da5cb5b146102d1578063939af6cd146102e15780639c281430146102f4578063a4d2342a146102fd578063bdbf3df514610305575f5ffd5b8063281ab6861161012a578063281ab686146102385780632997e86b1461024b5780632fb60c1a1461027d5780633148bf09146102905780634bc83332146102a3578063715018a6146102b6575f5ffd5b806303c230e31461017157806306433b1b146101b55780630c43cd88146101dc5780631c04beac146101f45780631f4a2f591461020e5780632052e64014610223575b5f5ffd5b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6101e662093a8081565b6040519081526020016101ac565b6101fc601281565b60405160ff90911681526020016101ac565b6102166103ab565b6040516101ac9190610fc3565b610236610231366004610ff0565b610437565b005b610236610246366004610ff0565b610488565b61026d61025936600461100b565b60036020525f908152604090205460ff1681565b60405190151581526020016101ac565b61023661028b36600461100b565b6104db565b61023661029e36600461102f565b610535565b6102366102b13660046110df565b61058a565b6102366105ce565b6102366102cc36600461100b565b6105e1565b5f546001600160a01b0316610198565b6102366102ef366004611159565b61061e565b6101e660055481565b610198610893565b6101e669d3c21bcecceda100000081565b600154610198906001600160a01b031681565b610216610919565b61023661033f366004610ff0565b610926565b6101e6610352366004610ff0565b60046020525f908152604090205481565b6102366103713660046110df565b610976565b610236610384366004610ff0565b6109ba565b61026d610397366004610ff0565b60026020525f908152604090205460ff1681565b600780546103b890611190565b80601f01602080910402602001604051908101604052809291908181526020018280546103e490611190565b801561042f5780601f106104065761010080835404028352916020019161042f565b820191905f5260205f20905b81548152906001019060200180831161041257829003601f168201915b505050505081565b61043f6109fc565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa45d60f9a04c5d4fa0d11954a836395a6be6f5e6349f49e5a909f47b47556226905f90a250565b6104906109fc565b6001600160a01b0381165f81815260026020526040808220805460ff19166001179055517f1a7d1f088493549086cb72318a43863e0a9c0b234d8e3e7f6280eeefecf8271b9190a250565b6104e36109fc565b5f8181526003602052604090819020805460ff19169055517ffc4b8a996e96263e8117c0318ab1f58a505eaf4b902cbd3520254dfc70e55de59061052a9083815260200190565b60405180910390a150565b61053d6109fc565b60018054821515600160a01b0260ff60a01b199091161790556040517f637373a04f9cdebef9e86caa4792cf3aa4ff58364154f47a07d9ad062ec0de179061052a90831515815260200190565b6105926109fc565b600761059e8282611214565b507f8a901a187220633e2a04102348a39ec0ad895a358c69bd739bac4366c5e894e98160405161052a9190610fc3565b6105d66109fc565b6105df5f610a28565b565b6105e96109fc565b60058190556040518181527f07b130fc089b6153dc5748b5d744efe6ec1dd025c8c48e5b105e632f6cbd93da9060200161052a565b6005546040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610683573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a791906112cf565b10156106c657604051631e9acf1760e31b815260040160405180910390fd5b335f9081526002602052604090205460ff16156107b05760055460405163a9059cbb60e01b815233600482015260248101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561074b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076f91906112e6565b50600554604080519182525f602083015233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a250565b5f6107bb3383610a77565b60055460405163a9059cbb60e01b815233600482015260248101919091529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561082c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085091906112e6565b50600554604080519182526020820183905233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a25050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663971b0e6b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109149190611301565b905090565b600680546103b890611190565b61092e6109fc565b6001600160a01b0381165f81815260026020526040808220805460ff19169055517f77fb7b49e433c24c33405358716dab4b3b3a8aee00a916f99e3717debf176ce19190a250565b61097e6109fc565b600661098a8282611214565b507ffe4d94448068b38fa4f90d468459f31695b3816d3b780071c1ae1c8a969ef5438160405161052a9190610fc3565b6109c26109fc565b6001600160a01b0381166109f057604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6109f981610a28565b50565b5f546001600160a01b031633146105df5760405163118cdaa760e01b81523360048201526024016109e7565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610a85606083018361131c565b610a9690608081019060600161102f565b15610ab4576040516309bde33960e01b815260040160405180910390fd5b6006604051610ac3919061133a565b604051908190039020610ad9606084018461131c565b610ae79060208101906113ab565b604051610af59291906113f5565b604051809103902014610b1b576040516375893cc160e11b815260040160405180910390fd5b6007604051610b2a919061133a565b604051908190039020610b40606084018461131c565b610b4e9060408101906113ab565b604051610b5c9291906113f5565b604051809103902014610b825760405163725a844f60e01b815260040160405180910390fd5b62093a80610b93606084018461131c565b3514610bb25760405163b26af78d60e01b815260040160405180910390fd5b60015460405163578bd92160e01b81525f9182916001600160a01b039091169063578bd92190610be69087906004016114fa565b606060405180830381865afa158015610c01573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c25919061161b565b909450909250905081610c4b576040516309bde33960e01b815260040160405180910390fd5b5f83815260036020526040902054839060ff1615610c7f576040516390a3baff60e01b81526004016109e791815260200190565b50600154600160a01b900460ff16610f5c575f6001600160a01b038216630af18ba6610cae60408801886113ab565b6040518363ffffffff1660e01b8152600401610ccb92919061165b565b5f60405180830381865afa158015610ce5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d0c9190810190611676565b8051909150866001600160a01b0382811690821614610d5157604051636e68e5e760e11b81526001600160a01b039283166004820152911660248201526044016109e7565b5050602081015146818114610d8257604051639fba672f60e01b8152600481019290925260248201526044016109e7565b505060408101515115610da85760405163db7eeb0960e01b815260040160405180910390fd5b60408051600480825260a082019092525f91816020015b6060815260200190600190039081610dbf5790505090506040518060400160405280600381526020016221aaa160e91b815250815f81518110610e0457610e0461173d565b60200260200101819052506040518060400160405280600381526020016224a92760e91b81525081600181518110610e3e57610e3e61173d565b60200260200101819052506040518060400160405280600381526020016250524b60e81b81525081600281518110610e7857610e7861173d565b6020026020010181905250604051806040016040528060038152602001622aa5a960e91b81525081600381518110610eb257610eb261173d565b60209081029190910101525f6001600160a01b03841663d3fb610f83610edb60408b018b6113ab565b6040518463ffffffff1660e01b8152600401610ef993929190611751565b602060405180830381865afa158015610f14573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3891906112e6565b905080610f58576040516372917c7360e11b815260040160405180910390fd5b5050505b50505f818152600360209081526040808320805460ff191660011790556001600160a01b03909516825260049052929092208290555090565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610fd56020830184610f95565b9392505050565b6001600160a01b03811681146109f9575f5ffd5b5f60208284031215611000575f5ffd5b8135610fd581610fdc565b5f6020828403121561101b575f5ffd5b5035919050565b80151581146109f9575f5ffd5b5f6020828403121561103f575f5ffd5b8135610fd581611022565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156110815761108161104a565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156110b0576110b061104a565b604052919050565b5f67ffffffffffffffff8211156110d1576110d161104a565b50601f01601f191660200190565b5f602082840312156110ef575f5ffd5b813567ffffffffffffffff811115611105575f5ffd5b8201601f81018413611115575f5ffd5b8035611128611123826110b8565b611087565b81815285602083850101111561113c575f5ffd5b816020840160208301375f91810160200191909152949350505050565b5f60208284031215611169575f5ffd5b813567ffffffffffffffff81111561117f575f5ffd5b820160808185031215610fd5575f5ffd5b600181811c908216806111a457607f821691505b6020821081036111c257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561120f57805f5260205f20601f840160051c810160208510156111ed5750805b601f840160051c820191505b8181101561120c575f81556001016111f9565b50505b505050565b815167ffffffffffffffff81111561122e5761122e61104a565b6112428161123c8454611190565b846111c8565b6020601f821160018114611274575f831561125d5750848201515b5f19600385901b1c1916600184901b17845561120c565b5f84815260208120601f198516915b828110156112a35787850151825560209485019460019092019101611283565b50848210156112c057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156112df575f5ffd5b5051919050565b5f602082840312156112f6575f5ffd5b8151610fd581611022565b5f60208284031215611311575f5ffd5b8151610fd581610fdc565b5f8235607e19833603018112611330575f5ffd5b9190910192915050565b5f5f835461134781611190565b60018216801561135e5760018114611373576113a0565b60ff19831686528115158202860193506113a0565b865f5260205f205f5b838110156113985781548882015260019091019060200161137c565b505081860193505b509195945050505050565b5f5f8335601e198436030181126113c0575f5ffd5b83018035915067ffffffffffffffff8211156113da575f5ffd5b6020019150368190038213156113ee575f5ffd5b9250929050565b818382375f9101908152919050565b5f5f8335601e19843603018112611419575f5ffd5b830160208101925035905067ffffffffffffffff811115611438575f5ffd5b8036038213156113ee575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f8235607e19833603018112611482575f5ffd5b90910192915050565b803582525f61149d6020830183611404565b608060208601526114b2608086018284611446565b9150506114c26040840184611404565b85830360408701526114d5838284611446565b9250505060608301356114e781611022565b8015156060860152508091505092915050565b60208082528235828201525f9083013536849003605e1901811261151c575f5ffd5b608060408401528301803560a08401526115396020820182611404565b606060c086015261154f61010086018284611446565b9150506040820135601e19833603018112611568575f5ffd5b60209201918201913567ffffffffffffffff811115611585575f5ffd5b8060051b803603841315611597575f5ffd5b858303609f190160e08701528183526001600160fb1b038211156115b9575f5ffd5b8084602085013780830193505050506115d56040850185611404565b84830360608601526115eb602084018284611446565b925050506115fc606085018561146e565b838203601f19016080850152611612828261148b565b95945050505050565b5f5f5f6060848603121561162d575f5ffd5b835161163881611022565b60208501516040860151919450925061165081610fdc565b809150509250925092565b602081525f61166e602083018486611446565b949350505050565b5f60208284031215611686575f5ffd5b815167ffffffffffffffff81111561169c575f5ffd5b8201606081850312156116ad575f5ffd5b6116b561105e565b81516116c081610fdc565b815260208281015190820152604082015167ffffffffffffffff8111156116e5575f5ffd5b80830192505084601f8301126116f9575f5ffd5b8151611707611123826110b8565b81815286602083860101111561171b575f5ffd5b8160208501602083015e5f918101602001919091526040820152949350505050565b634e487b7160e01b5f52603260045260245ffd5b5f604082016040835280865180835260608501915060608160051b8601019250602088015f5b828110156117a857605f19878603018452611793858351610f95565b94506020938401939190910190600101611777565b5050505082810360208401526117bf818587611446565b969550505050505056fea2646970667358221220f36f92f862980a306d42a0432328486a34d9aa4311e24feb8c259b802eceaba064736f6c634300081e00331a7d1f088493549086cb72318a43863e0a9c0b234d8e3e7f6280eeefecf8271b","sourceMap":"2662:6645:154:-:0;;;3912:751;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3970:11;;-1:-1:-1;;;;;1273:26:35;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:35;;1350:1;1322:31;;;4157:51:172;4130:18;;1322:31:35;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;4020:18:154::1;::::0;::::1;::::0;-1:-1:-1;;;;;3989:50:154;;::::1;;::::0;4056:14:::1;::::0;::::1;::::0;4045:25:::1;;::::0;4092:18:::1;::::0;::::1;::::0;:67:::1;;3405:16;4092:67;;;4117:5;:18;;;4092:67;4077:12;:82:::0;;;4170:33:::1;::::0;4365:25:172;;;4170:33:154::1;::::0;4353:2:172;4338:18;4170:33:154::1;;;;;;;4215:9;4210:148;4234:5;:14;;;:21;4230:1;:25;4210:148;;;4302:4;4270:10;:29;4281:5;:14;;;4296:1;4281:17;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4270:29:154::1;-1:-1:-1::0;;;;;4270:29:154::1;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;4333:5;:14;;;4348:1;4333:17;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4319:32:154::1;-1:-1:-1::0;;;;;;;;;;;4319:32:154::1;;;;;;;;;4257:3;;4210:148;;;-1:-1:-1::0;4374:11:154;;-1:-1:-1;;;;;4363:23:154;;::::1;;::::0;;;:10:::1;:23;::::0;;;;;:30;;-1:-1:-1;;4363:30:154::1;4389:4;4363:30;::::0;;4418:11;;4404:26;;;::::1;::::0;-1:-1:-1;;;;;;;;;;;4404:26:154;4363:23;4404:26:::1;4458:24;::::0;::::1;::::0;4437:18:::1;:45:::0;;-1:-1:-1;;;;;;4437:45:154::1;-1:-1:-1::0;;;;;4437:45:154;;::::1;::::0;;::::1;::::0;;4493:60:::1;::::0;::::1;::::0;-1:-1:-1;;4493:60:154::1;4574:12;::::0;::::1;::::0;4560:11:::1;::::0;:26:::1;::::0;:11;:26:::1;:::i;:::-;-1:-1:-1::0;4605:11:154::1;::::0;::::1;::::0;4592:10:::1;::::0;:24:::1;::::0;:10;:24:::1;:::i;:::-;-1:-1:-1::0;4639:19:154::1;;::::0;4623:13:::1;:35:::0;;;::::1;;-1:-1:-1::0;;;4623:35:154::1;-1:-1:-1::0;;;;4623:35:154;;::::1;::::0;;;::::1;::::0;;2662:6645;;2912:187:35;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:35;;;-1:-1:-1;;;;;;3020:17:35;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:127:172:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:255;218:2;212:9;260:6;248:19;;-1:-1:-1;;;;;282:34:172;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:2;373:22;146:255;:::o;406:275::-;477:2;471:9;542:2;523:13;;-1:-1:-1;;519:27:172;507:40;;-1:-1:-1;;;;;562:34:172;;598:22;;;559:62;556:88;;;624:18;;:::i;:::-;660:2;653:22;406:275;;-1:-1:-1;406:275:172:o;686:131::-;-1:-1:-1;;;;;761:31:172;;751:42;;741:70;;807:1;804;797:12;741:70;686:131;:::o;822:138::-;901:13;;923:31;901:13;923:31;:::i;:::-;822:138;;;:::o;965:793::-;1030:5;1083:3;1076:4;1068:6;1064:17;1060:27;1050:55;;1101:1;1098;1091:12;1050:55;1128:13;;-1:-1:-1;;;;;1153:30:172;;1150:56;;;1186:18;;:::i;:::-;1232:6;1229:1;1225:14;1259:30;1283:4;1279:2;1275:13;1259:30;:::i;:::-;1325:19;;;1369:4;1401:15;;;1397:26;;;1360:14;;;;1435:15;;;1432:35;;;1463:1;1460;1453:12;1432:35;1499:4;1491:6;1487:17;1476:28;;1513:214;1529:6;1524:3;1521:15;1513:214;;;1604:3;1598:10;1621:31;1646:5;1621:31;:::i;:::-;1665:18;;1712:4;1546:14;;;;1703;;;;1513:214;;;1745:7;965:793;-1:-1:-1;;;;;;965:793:172:o;1763:556::-;1817:5;1870:3;1863:4;1855:6;1851:17;1847:27;1837:55;;1888:1;1885;1878:12;1837:55;1915:13;;-1:-1:-1;;;;;1940:30:172;;1937:56;;;1973:18;;:::i;:::-;2017:59;2064:2;2041:17;;-1:-1:-1;;2037:31:172;2070:4;2033:42;2017:59;:::i;:::-;2101:6;2092:7;2085:23;2155:3;2148:4;2139:6;2131;2127:19;2123:30;2120:39;2117:59;;;2172:1;2169;2162:12;2117:59;2230:6;2223:4;2215:6;2211:17;2204:4;2195:7;2191:18;2185:52;2286:1;2257:20;;;2279:4;2253:31;2246:42;;;;2261:7;1763:556;-1:-1:-1;;;1763:556:172:o;2324:164::-;2400:13;;2449;;2442:21;2432:32;;2422:60;;2478:1;2475;2468:12;2493:1513;2605:6;2658:2;2646:9;2637:7;2633:23;2629:32;2626:52;;;2674:1;2671;2664:12;2626:52;2701:16;;-1:-1:-1;;;;;2729:30:172;;2726:50;;;2772:1;2769;2762:12;2726:50;2795:22;;2851:6;2833:16;;;2829:29;2826:49;;;2871:1;2868;2861:12;2826:49;2897:22;;:::i;:::-;2942:33;2972:2;2942:33;:::i;:::-;2935:5;2928:48;3008:42;3046:2;3042;3038:11;3008:42;:::i;:::-;3003:2;2996:5;2992:14;2985:66;3083:42;3121:2;3117;3113:11;3083:42;:::i;:::-;3078:2;3067:14;;3060:66;3185:2;3177:11;;;3171:18;3205:14;;;3198:31;3262:43;3300:3;3292:12;;3262:43;:::i;:::-;3256:3;3245:15;;3238:68;3345:3;3337:12;;3331:19;-1:-1:-1;;;;;3362:32:172;;3359:52;;;3407:1;3404;3397:12;3359:52;3444:67;3503:7;3492:8;3488:2;3484:17;3444:67;:::i;:::-;3438:3;3427:15;;3420:92;-1:-1:-1;3551:3:172;3543:12;;3537:19;-1:-1:-1;;;;;3568:32:172;;3565:52;;;3613:1;3610;3603:12;3565:52;3650:56;3698:7;3687:8;3683:2;3679:17;3650:56;:::i;:::-;3644:3;3633:15;;3626:81;-1:-1:-1;3746:3:172;3738:12;;3732:19;-1:-1:-1;;;;;3763:32:172;;3760:52;;;3808:1;3805;3798:12;3760:52;3845:56;3893:7;3882:8;3878:2;3874:17;3845:56;:::i;:::-;3839:3;3832:5;3828:15;3821:81;;3935:40;3970:3;3966:2;3962:12;3935:40;:::i;:::-;3929:3;3918:15;;3911:65;3922:5;2493:1513;-1:-1:-1;;;;2493:1513:172:o;4401:127::-;4462:10;4457:3;4453:20;4450:1;4443:31;4493:4;4490:1;4483:15;4517:4;4514:1;4507:15;4533:380;4612:1;4608:12;;;;4655;;;4676:61;;4730:4;4722:6;4718:17;4708:27;;4676:61;4783:2;4775:6;4772:14;4752:18;4749:38;4746:161;;4829:10;4824:3;4820:20;4817:1;4810:31;4864:4;4861:1;4854:15;4892:4;4889:1;4882:15;4746:161;;4533:380;;;:::o;5044:518::-;5146:2;5141:3;5138:11;5135:421;;;5182:5;5179:1;5172:16;5226:4;5223:1;5213:18;5296:2;5284:10;5280:19;5277:1;5273:27;5267:4;5263:38;5332:4;5320:10;5317:20;5314:47;;;-1:-1:-1;5355:4:172;5314:47;5410:2;5405:3;5401:12;5398:1;5394:20;5388:4;5384:31;5374:41;;5465:81;5483:2;5476:5;5473:13;5465:81;;;5542:1;5528:16;;5509:1;5498:13;5465:81;;;5469:3;;5135:421;5044:518;;;:::o;5738:1299::-;5858:10;;-1:-1:-1;;;;;5880:30:172;;5877:56;;;5913:18;;:::i;:::-;5942:97;6032:6;5992:38;6024:4;6018:11;5992:38;:::i;:::-;5986:4;5942:97;:::i;:::-;6088:4;6119:2;6108:14;;6136:1;6131:649;;;;6824:1;6841:6;6838:89;;;-1:-1:-1;6893:19:172;;;6887:26;6838:89;-1:-1:-1;;5695:1:172;5691:11;;;5687:24;5683:29;5673:40;5719:1;5715:11;;;5670:57;6940:81;;6101:930;;6131:649;4991:1;4984:14;;;5028:4;5015:18;;-1:-1:-1;;6167:20:172;;;6285:222;6299:7;6296:1;6293:14;6285:222;;;6381:19;;;6375:26;6360:42;;6488:4;6473:20;;;;6441:1;6429:14;;;;6315:12;6285:222;;;6289:3;6535:6;6526:7;6523:19;6520:201;;;6596:19;;;6590:26;-1:-1:-1;;6679:1:172;6675:14;;;6691:3;6671:24;6667:37;6663:42;6648:58;6633:74;;6520:201;-1:-1:-1;;;;6767:1:172;6751:14;;;6747:22;6734:36;;-1:-1:-1;5738:1299:172:o;:::-;2662:6645:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b506004361061016d575f3560e01c806381d2fd9c116100d9578063c4797ec511610093578063dd71369c1161006e578063dd71369c14610344578063e5eab09614610363578063f2fde38b14610376578063fc67935414610389575f5ffd5b8063c4797ec514610316578063c47ca04c14610329578063c8f832bf14610331575f5ffd5b806381d2fd9c146102be5780638da5cb5b146102d1578063939af6cd146102e15780639c281430146102f4578063a4d2342a146102fd578063bdbf3df514610305575f5ffd5b8063281ab6861161012a578063281ab686146102385780632997e86b1461024b5780632fb60c1a1461027d5780633148bf09146102905780634bc83332146102a3578063715018a6146102b6575f5ffd5b806303c230e31461017157806306433b1b146101b55780630c43cd88146101dc5780631c04beac146101f45780631f4a2f591461020e5780632052e64014610223575b5f5ffd5b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6101e662093a8081565b6040519081526020016101ac565b6101fc601281565b60405160ff90911681526020016101ac565b6102166103ab565b6040516101ac9190610fc3565b610236610231366004610ff0565b610437565b005b610236610246366004610ff0565b610488565b61026d61025936600461100b565b60036020525f908152604090205460ff1681565b60405190151581526020016101ac565b61023661028b36600461100b565b6104db565b61023661029e36600461102f565b610535565b6102366102b13660046110df565b61058a565b6102366105ce565b6102366102cc36600461100b565b6105e1565b5f546001600160a01b0316610198565b6102366102ef366004611159565b61061e565b6101e660055481565b610198610893565b6101e669d3c21bcecceda100000081565b600154610198906001600160a01b031681565b610216610919565b61023661033f366004610ff0565b610926565b6101e6610352366004610ff0565b60046020525f908152604090205481565b6102366103713660046110df565b610976565b610236610384366004610ff0565b6109ba565b61026d610397366004610ff0565b60026020525f908152604090205460ff1681565b600780546103b890611190565b80601f01602080910402602001604051908101604052809291908181526020018280546103e490611190565b801561042f5780601f106104065761010080835404028352916020019161042f565b820191905f5260205f20905b81548152906001019060200180831161041257829003601f168201915b505050505081565b61043f6109fc565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa45d60f9a04c5d4fa0d11954a836395a6be6f5e6349f49e5a909f47b47556226905f90a250565b6104906109fc565b6001600160a01b0381165f81815260026020526040808220805460ff19166001179055517f1a7d1f088493549086cb72318a43863e0a9c0b234d8e3e7f6280eeefecf8271b9190a250565b6104e36109fc565b5f8181526003602052604090819020805460ff19169055517ffc4b8a996e96263e8117c0318ab1f58a505eaf4b902cbd3520254dfc70e55de59061052a9083815260200190565b60405180910390a150565b61053d6109fc565b60018054821515600160a01b0260ff60a01b199091161790556040517f637373a04f9cdebef9e86caa4792cf3aa4ff58364154f47a07d9ad062ec0de179061052a90831515815260200190565b6105926109fc565b600761059e8282611214565b507f8a901a187220633e2a04102348a39ec0ad895a358c69bd739bac4366c5e894e98160405161052a9190610fc3565b6105d66109fc565b6105df5f610a28565b565b6105e96109fc565b60058190556040518181527f07b130fc089b6153dc5748b5d744efe6ec1dd025c8c48e5b105e632f6cbd93da9060200161052a565b6005546040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610683573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a791906112cf565b10156106c657604051631e9acf1760e31b815260040160405180910390fd5b335f9081526002602052604090205460ff16156107b05760055460405163a9059cbb60e01b815233600482015260248101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561074b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076f91906112e6565b50600554604080519182525f602083015233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a250565b5f6107bb3383610a77565b60055460405163a9059cbb60e01b815233600482015260248101919091529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561082c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085091906112e6565b50600554604080519182526020820183905233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a25050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663971b0e6b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109149190611301565b905090565b600680546103b890611190565b61092e6109fc565b6001600160a01b0381165f81815260026020526040808220805460ff19169055517f77fb7b49e433c24c33405358716dab4b3b3a8aee00a916f99e3717debf176ce19190a250565b61097e6109fc565b600661098a8282611214565b507ffe4d94448068b38fa4f90d468459f31695b3816d3b780071c1ae1c8a969ef5438160405161052a9190610fc3565b6109c26109fc565b6001600160a01b0381166109f057604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6109f981610a28565b50565b5f546001600160a01b031633146105df5760405163118cdaa760e01b81523360048201526024016109e7565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610a85606083018361131c565b610a9690608081019060600161102f565b15610ab4576040516309bde33960e01b815260040160405180910390fd5b6006604051610ac3919061133a565b604051908190039020610ad9606084018461131c565b610ae79060208101906113ab565b604051610af59291906113f5565b604051809103902014610b1b576040516375893cc160e11b815260040160405180910390fd5b6007604051610b2a919061133a565b604051908190039020610b40606084018461131c565b610b4e9060408101906113ab565b604051610b5c9291906113f5565b604051809103902014610b825760405163725a844f60e01b815260040160405180910390fd5b62093a80610b93606084018461131c565b3514610bb25760405163b26af78d60e01b815260040160405180910390fd5b60015460405163578bd92160e01b81525f9182916001600160a01b039091169063578bd92190610be69087906004016114fa565b606060405180830381865afa158015610c01573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c25919061161b565b909450909250905081610c4b576040516309bde33960e01b815260040160405180910390fd5b5f83815260036020526040902054839060ff1615610c7f576040516390a3baff60e01b81526004016109e791815260200190565b50600154600160a01b900460ff16610f5c575f6001600160a01b038216630af18ba6610cae60408801886113ab565b6040518363ffffffff1660e01b8152600401610ccb92919061165b565b5f60405180830381865afa158015610ce5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d0c9190810190611676565b8051909150866001600160a01b0382811690821614610d5157604051636e68e5e760e11b81526001600160a01b039283166004820152911660248201526044016109e7565b5050602081015146818114610d8257604051639fba672f60e01b8152600481019290925260248201526044016109e7565b505060408101515115610da85760405163db7eeb0960e01b815260040160405180910390fd5b60408051600480825260a082019092525f91816020015b6060815260200190600190039081610dbf5790505090506040518060400160405280600381526020016221aaa160e91b815250815f81518110610e0457610e0461173d565b60200260200101819052506040518060400160405280600381526020016224a92760e91b81525081600181518110610e3e57610e3e61173d565b60200260200101819052506040518060400160405280600381526020016250524b60e81b81525081600281518110610e7857610e7861173d565b6020026020010181905250604051806040016040528060038152602001622aa5a960e91b81525081600381518110610eb257610eb261173d565b60209081029190910101525f6001600160a01b03841663d3fb610f83610edb60408b018b6113ab565b6040518463ffffffff1660e01b8152600401610ef993929190611751565b602060405180830381865afa158015610f14573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3891906112e6565b905080610f58576040516372917c7360e11b815260040160405180910390fd5b5050505b50505f818152600360209081526040808320805460ff191660011790556001600160a01b03909516825260049052929092208290555090565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610fd56020830184610f95565b9392505050565b6001600160a01b03811681146109f9575f5ffd5b5f60208284031215611000575f5ffd5b8135610fd581610fdc565b5f6020828403121561101b575f5ffd5b5035919050565b80151581146109f9575f5ffd5b5f6020828403121561103f575f5ffd5b8135610fd581611022565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156110815761108161104a565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156110b0576110b061104a565b604052919050565b5f67ffffffffffffffff8211156110d1576110d161104a565b50601f01601f191660200190565b5f602082840312156110ef575f5ffd5b813567ffffffffffffffff811115611105575f5ffd5b8201601f81018413611115575f5ffd5b8035611128611123826110b8565b611087565b81815285602083850101111561113c575f5ffd5b816020840160208301375f91810160200191909152949350505050565b5f60208284031215611169575f5ffd5b813567ffffffffffffffff81111561117f575f5ffd5b820160808185031215610fd5575f5ffd5b600181811c908216806111a457607f821691505b6020821081036111c257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561120f57805f5260205f20601f840160051c810160208510156111ed5750805b601f840160051c820191505b8181101561120c575f81556001016111f9565b50505b505050565b815167ffffffffffffffff81111561122e5761122e61104a565b6112428161123c8454611190565b846111c8565b6020601f821160018114611274575f831561125d5750848201515b5f19600385901b1c1916600184901b17845561120c565b5f84815260208120601f198516915b828110156112a35787850151825560209485019460019092019101611283565b50848210156112c057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156112df575f5ffd5b5051919050565b5f602082840312156112f6575f5ffd5b8151610fd581611022565b5f60208284031215611311575f5ffd5b8151610fd581610fdc565b5f8235607e19833603018112611330575f5ffd5b9190910192915050565b5f5f835461134781611190565b60018216801561135e5760018114611373576113a0565b60ff19831686528115158202860193506113a0565b865f5260205f205f5b838110156113985781548882015260019091019060200161137c565b505081860193505b509195945050505050565b5f5f8335601e198436030181126113c0575f5ffd5b83018035915067ffffffffffffffff8211156113da575f5ffd5b6020019150368190038213156113ee575f5ffd5b9250929050565b818382375f9101908152919050565b5f5f8335601e19843603018112611419575f5ffd5b830160208101925035905067ffffffffffffffff811115611438575f5ffd5b8036038213156113ee575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f8235607e19833603018112611482575f5ffd5b90910192915050565b803582525f61149d6020830183611404565b608060208601526114b2608086018284611446565b9150506114c26040840184611404565b85830360408701526114d5838284611446565b9250505060608301356114e781611022565b8015156060860152508091505092915050565b60208082528235828201525f9083013536849003605e1901811261151c575f5ffd5b608060408401528301803560a08401526115396020820182611404565b606060c086015261154f61010086018284611446565b9150506040820135601e19833603018112611568575f5ffd5b60209201918201913567ffffffffffffffff811115611585575f5ffd5b8060051b803603841315611597575f5ffd5b858303609f190160e08701528183526001600160fb1b038211156115b9575f5ffd5b8084602085013780830193505050506115d56040850185611404565b84830360608601526115eb602084018284611446565b925050506115fc606085018561146e565b838203601f19016080850152611612828261148b565b95945050505050565b5f5f5f6060848603121561162d575f5ffd5b835161163881611022565b60208501516040860151919450925061165081610fdc565b809150509250925092565b602081525f61166e602083018486611446565b949350505050565b5f60208284031215611686575f5ffd5b815167ffffffffffffffff81111561169c575f5ffd5b8201606081850312156116ad575f5ffd5b6116b561105e565b81516116c081610fdc565b815260208281015190820152604082015167ffffffffffffffff8111156116e5575f5ffd5b80830192505084601f8301126116f9575f5ffd5b8151611707611123826110b8565b81815286602083860101111561171b575f5ffd5b8160208501602083015e5f918101602001919091526040820152949350505050565b634e487b7160e01b5f52603260045260245ffd5b5f604082016040835280865180835260608501915060608160051b8601019250602088015f5b828110156117a857605f19878603018452611793858351610f95565b94506020938401939190910190600101611777565b5050505082810360208401526117bf818587611446565b969550505050505056fea2646970667358221220f36f92f862980a306d42a0432328486a34d9aa4311e24feb8c259b802eceaba064736f6c634300081e0033","sourceMap":"2662:6645:154:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3426:45;;;;;;;;-1:-1:-1;;;;;203:32:172;;;185:51;;173:2;158:18;3426:45:154;;;;;;;;3475:35;;;;;3269:48;;3311:6;3269:48;;;;;620:25:172;;;608:2;593:18;3269:48:154;474:177:172;3198:34:154;;3230:2;3198:34;;;;;828:4:172;816:17;;;798:36;;786:2;771:18;3198:34:154;656:184:172;3883:24:154;;;:::i;:::-;;;;;;;:::i;5857:238::-;;;;;;:::i;:::-;;:::i;:::-;;6415:161;;;;;;:::i;:::-;;:::i;3658:59::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2148:14:172;;2141:22;2123:41;;2111:2;2096:18;3658:59:154;1983:187:172;5681:172:154;;;;;;:::i;:::-;;:::i;6751:185::-;;;;;;:::i;:::-;;:::i;6260:151::-;;;;;;:::i;:::-;;:::i;2293:101:35:-;;;:::i;5513:164:154:-;;;;;;:::i;:::-;;:::i;1638:85:35:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:35;1638:85;;4797:712:154;;;;;;:::i;:::-;;:::i;3794:27::-;;;;;;6940:140;;;:::i;3357:64::-;;3405:16;3357:64;;3515:44;;;;;-1:-1:-1;;;;;3515:44:154;;;3854:25;;;:::i;6580:167::-;;;;;;:::i;:::-;;:::i;3721:68::-;;;;;;:::i;:::-;;;;;;;;;;;;;;6099:157;;;;;;:::i;:::-;;:::i;2543:215:35:-;;;;;;:::i;:::-;;:::i;3596:58:154:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3883:24;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5857:238::-;1531:13:35;:11;:13::i;:::-;5973:18:154::1;:60:::0;;-1:-1:-1;;;;;;5973:60:154::1;-1:-1:-1::0;;;;;5973:60:154;::::1;::::0;;::::1;::::0;;;6044:46:::1;::::0;::::1;::::0;-1:-1:-1;;6044:46:154::1;5857:238:::0;:::o;6415:161::-;1531:13:35;:11;:13::i;:::-;-1:-1:-1;;;;;6510:20:154;::::1;;::::0;;;:10:::1;:20;::::0;;;;;:27;;-1:-1:-1;;6510:27:154::1;6533:4;6510:27;::::0;;6548:23;::::1;::::0;6510:20;6548:23:::1;6415:161:::0;:::o;5681:172::-;1531:13:35;:11;:13::i;:::-;5806:5:154::1;5781:22:::0;;;:10:::1;:22;::::0;;;;;;:30;;-1:-1:-1;;5781:30:154::1;::::0;;5822:26;::::1;::::0;::::1;::::0;5792:10;620:25:172;;608:2;593:18;;474:177;5822:26:154::1;;;;;;;;5681:172:::0;:::o;6751:185::-;1531:13:35;:11;:13::i;:::-;6854::154::1;:30:::0;;;::::1;;-1:-1:-1::0;;;6854:30:154::1;-1:-1:-1::0;;;;6854:30:154;;::::1;;::::0;;6895:36:::1;::::0;::::1;::::0;::::1;::::0;6870:14;2148::172;2141:22;2123:41;;2111:2;2096:18;;1983:187;6260:151:154;1531:13:35;:11;:13::i;:::-;6356:10:154::1;:19;6369:6:::0;6356:10;:19:::1;:::i;:::-;;6386:20;6399:6;6386:20;;;;;;:::i;2293:101:35:-:0;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;5513:164:154:-;1531:13:35;:11;:13::i;:::-;5611:12:154::1;:22:::0;;;5644:28:::1;::::0;620:25:172;;;5644:28:154::1;::::0;608:2:172;593:18;5644:28:154::1;474:177:172::0;4797:712:154;4986:12;;4944:38;;-1:-1:-1;;;4944:38:154;;4976:4;4944:38;;;185:51:172;4944:13:154;-1:-1:-1;;;;;4944:23:154;;;;158:18:172;;4944:38:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:54;;4936:86;;;;-1:-1:-1;;;4936:86:154;;;;;;;;;;;;5044:10;5033:22;;;;:10;:22;;;;;;;;5029:211;;;5148:12;;5113:48;;-1:-1:-1;;;5113:48:154;;5136:10;5113:48;;;8296:51:172;8363:18;;;8356:34;;;;5113:13:154;-1:-1:-1;;;;;5113:22:154;;;;8269:18:172;;5113:48:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5194:12:154;;5174:45;;;8825:25:172;;;5216:1:154;8881:2:172;8866:18;;8859:34;5182:10:154;;5174:45;;8798:18:172;5174:45:154;;;;;;;4797:712;:::o;5029:211::-;5298:17;5318:43;5341:10;5353:7;5318:22;:43::i;:::-;5436:12;;5401:48;;-1:-1:-1;;;5401:48:154;;5424:10;5401:48;;;8296:51:172;8363:18;;;8356:34;;;;5298:63:154;;-1:-1:-1;5401:13:154;-1:-1:-1;;;;;5401:22:154;;;;8269:18:172;;5401:48:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5480:12:154;;5460:44;;;8825:25:172;;;8881:2;8866:18;;8859:34;;;5468:10:154;;5460:44;;8798:18:172;5460:44:154;;;;;;;4894:615;4797:712;:::o;6940:140::-;7015:7;7045:8;-1:-1:-1;;;;;7045:27:154;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7030:45;;6940:140;:::o;3854:25::-;;;;;;;:::i;6580:167::-;1531:13:35;:11;:13::i;:::-;-1:-1:-1;;;;;6678:20:154;::::1;6701:5;6678:20:::0;;;:10:::1;:20;::::0;;;;;:28;;-1:-1:-1;;6678:28:154::1;::::0;;6717:25;::::1;::::0;6701:5;6717:25:::1;6580:167:::0;:::o;6099:157::-;1531:13:35;:11;:13::i;:::-;6197:11:154::1;:21;6211:7:::0;6197:11;:21:::1;:::i;:::-;;6229:22;6243:7;6229:22;;;;;;:::i;2543:215:35:-:0;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:35;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:35;;2700:1:::1;2672:31;::::0;::::1;185:51:172::0;158:18;;2672:31:35::1;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:35;735:10:48;1855:23:35;1851:101;;1901:40;;-1:-1:-1;;;1901:40:35;;735:10:48;1901:40:35;;;185:51:172;158:18;;1901:40:35;14:228:172;2912:187:35;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:35;;;-1:-1:-1;;;;;;3020:17:35;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;7281:2024:154:-;7396:17;7632:21;;;;:7;:21;:::i;:::-;:29;;;;;;;;;:::i;:::-;:38;7624:63;;;;-1:-1:-1;;;7624:63:154;;;;;;;;;;;;7768:11;7752:29;;;;;;:::i;:::-;;;;;;;;;7718:21;;;;:7;:21;:::i;:::-;:28;;;;;;;:::i;:::-;7702:46;;;;;;;:::i;:::-;;;;;;;;:79;7694:105;;;;-1:-1:-1;;;7694:105:154;;;;;;;;;;;;7878:10;7862:28;;;;;;:::i;:::-;;;;;;;;;7829:21;;;;:7;:21;:::i;:::-;:27;;;;;;;:::i;:::-;7813:45;;;;;;;:::i;:::-;;;;;;;;:77;7805:102;;;;-1:-1:-1;;;7805:102:154;;;;;;;;;;;;3311:6;7921:21;;;;:7;:21;:::i;:::-;:45;:64;7913:98;;;;-1:-1:-1;;;7913:98:154;;;;;;;;;;;;8098:18;;:34;;-1:-1:-1;;;8098:34:154;;8018:13;;;;-1:-1:-1;;;;;8098:18:154;;;;:25;;:34;;8124:7;;8098:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8066:66;;-1:-1:-1;8066:66:154;;-1:-1:-1;8066:66:154;-1:-1:-1;8066:66:154;8139:33;;;;-1:-1:-1;;;8139:33:154;;;;;;;;;;;;8187:21;;;;:10;:21;;;;;;8198:9;;8187:21;;8186:22;8178:57;;;;-1:-1:-1;;;8178:57:154;;;;;;620:25:172;;608:2;593:18;;474:177;8178:57:154;-1:-1:-1;8247:13:154;;-1:-1:-1;;;8247:13:154;;;;8242:948;;8270:26;-1:-1:-1;;;;;8299:19:154;;;8319:23;;;;:7;:23;:::i;:::-;8299:44;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8299:44:154;;;;;;;;;;;;:::i;:::-;8427:23;;8270:73;;-1:-1:-1;8454:5:154;-1:-1:-1;;;;;8427:32:154;;;;;;;8419:94;;;;-1:-1:-1;;;8419:94:154;;-1:-1:-1;;;;;17853:32:172;;;8419:94:154;;;17835:51:172;17922:32;;17902:18;;;17895:60;17808:18;;8419:94:154;17661:300:172;8419:94:154;-1:-1:-1;;8595:17:154;;;;8616:13;8595:34;;;8587:93;;;;-1:-1:-1;;;8587:93:154;;;;;8825:25:172;;;;8866:18;;;8859:34;8798:18;;8587:93:154;8651:248:172;8587:93:154;-1:-1:-1;;8746:20:154;;;;8740:34;:39;8732:76;;;;-1:-1:-1;;;8732:76:154;;;;;;;;;;;;8886:15;;;8899:1;8886:15;;;;;;;;;8850:33;;8886:15;;;;;;;;;;;;;;;;;;;;8850:51;;8932:3;;;;;;;;;;;;;-1:-1:-1;;;8932:3:154;;;8909:17;8927:1;8909:20;;;;;;;;:::i;:::-;;;;;;:26;;;;8966:3;;;;;;;;;;;;;-1:-1:-1;;;8966:3:154;;;8943:17;8961:1;8943:20;;;;;;;;:::i;:::-;;;;;;:26;;;;9000:3;;;;;;;;;;;;;-1:-1:-1;;;9000:3:154;;;8977:17;8995:1;8977:20;;;;;;;;:::i;:::-;;;;;;:26;;;;9034:3;;;;;;;;;;;;;-1:-1:-1;;;9034:3:154;;;9011:17;9029:1;9011:20;;;;;;;;:::i;:::-;;;;;;;;;;:26;9045:19;-1:-1:-1;;;;;9067:23:154;;;9091:17;9110:23;;;;:7;:23;:::i;:::-;9067:67;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9045:89;;9150:14;9142:41;;;;-1:-1:-1;;;9142:41:154;;;;;;;;;;;;8262:928;;;8242:948;-1:-1:-1;;9229:21:154;;;;:10;:21;;;;;;;;:28;;-1:-1:-1;;9229:28:154;9253:4;9229:28;;;-1:-1:-1;;;;;9263:25:154;;;;;:18;:25;;;;;;:37;;;-1:-1:-1;9240:9:154;7281:2024::o;845:289:172:-;887:3;925:5;919:12;952:6;947:3;940:19;1008:6;1001:4;994:5;990:16;983:4;978:3;974:14;968:47;1060:1;1053:4;1044:6;1039:3;1035:16;1031:27;1024:38;1123:4;1116:2;1112:7;1107:2;1099:6;1095:15;1091:29;1086:3;1082:39;1078:50;1071:57;;;845:289;;;;:::o;1139:220::-;1288:2;1277:9;1270:21;1251:4;1308:45;1349:2;1338:9;1334:18;1326:6;1308:45;:::i;:::-;1300:53;1139:220;-1:-1:-1;;;1139:220:172:o;1364:131::-;-1:-1:-1;;;;;1439:31:172;;1429:42;;1419:70;;1485:1;1482;1475:12;1500:247;1559:6;1612:2;1600:9;1591:7;1587:23;1583:32;1580:52;;;1628:1;1625;1618:12;1580:52;1667:9;1654:23;1686:31;1711:5;1686:31;:::i;1752:226::-;1811:6;1864:2;1852:9;1843:7;1839:23;1835:32;1832:52;;;1880:1;1877;1870:12;1832:52;-1:-1:-1;1925:23:172;;1752:226;-1:-1:-1;1752:226:172:o;2175:118::-;2261:5;2254:13;2247:21;2240:5;2237:32;2227:60;;2283:1;2280;2273:12;2298:241;2354:6;2407:2;2395:9;2386:7;2382:23;2378:32;2375:52;;;2423:1;2420;2413:12;2375:52;2462:9;2449:23;2481:28;2503:5;2481:28;:::i;2544:127::-;2605:10;2600:3;2596:20;2593:1;2586:31;2636:4;2633:1;2626:15;2660:4;2657:1;2650:15;2676:253;2748:2;2742:9;2790:4;2778:17;;2825:18;2810:34;;2846:22;;;2807:62;2804:88;;;2872:18;;:::i;:::-;2908:2;2901:22;2676:253;:::o;2934:275::-;3005:2;2999:9;3070:2;3051:13;;-1:-1:-1;;3047:27:172;3035:40;;3105:18;3090:34;;3126:22;;;3087:62;3084:88;;;3152:18;;:::i;:::-;3188:2;3181:22;2934:275;;-1:-1:-1;2934:275:172:o;3214:187::-;3263:4;3296:18;3288:6;3285:30;3282:56;;;3318:18;;:::i;:::-;-1:-1:-1;3384:2:172;3363:15;-1:-1:-1;;3359:29:172;3390:4;3355:40;;3214:187::o;3406:697::-;3475:6;3528:2;3516:9;3507:7;3503:23;3499:32;3496:52;;;3544:1;3541;3534:12;3496:52;3584:9;3571:23;3617:18;3609:6;3606:30;3603:50;;;3649:1;3646;3639:12;3603:50;3672:22;;3725:4;3717:13;;3713:27;-1:-1:-1;3703:55:172;;3754:1;3751;3744:12;3703:55;3794:2;3781:16;3819:53;3835:36;3864:6;3835:36;:::i;:::-;3819:53;:::i;:::-;3895:6;3888:5;3881:21;3943:7;3938:2;3929:6;3925:2;3921:15;3917:24;3914:37;3911:57;;;3964:1;3961;3954:12;3911:57;4019:6;4014:2;4010;4006:11;4001:2;3994:5;3990:14;3977:49;4071:1;4046:18;;;4066:2;4042:27;4035:38;;;;4050:5;3406:697;-1:-1:-1;;;;3406:697:172:o;4547:404::-;4650:6;4703:2;4691:9;4682:7;4678:23;4674:32;4671:52;;;4719:1;4716;4709:12;4671:52;4759:9;4746:23;4792:18;4784:6;4781:30;4778:50;;;4824:1;4821;4814:12;4778:50;4847:22;;4903:3;4885:16;;;4881:26;4878:46;;;4920:1;4917;4910:12;5378:380;5457:1;5453:12;;;;5500;;;5521:61;;5575:4;5567:6;5563:17;5553:27;;5521:61;5628:2;5620:6;5617:14;5597:18;5594:38;5591:161;;5674:10;5669:3;5665:20;5662:1;5655:31;5709:4;5706:1;5699:15;5737:4;5734:1;5727:15;5591:161;;5378:380;;;:::o;5889:518::-;5991:2;5986:3;5983:11;5980:421;;;6027:5;6024:1;6017:16;6071:4;6068:1;6058:18;6141:2;6129:10;6125:19;6122:1;6118:27;6112:4;6108:38;6177:4;6165:10;6162:20;6159:47;;;-1:-1:-1;6200:4:172;6159:47;6255:2;6250:3;6246:12;6243:1;6239:20;6233:4;6229:31;6219:41;;6310:81;6328:2;6321:5;6318:13;6310:81;;;6387:1;6373:16;;6354:1;6343:13;6310:81;;;6314:3;;5980:421;5889:518;;;:::o;6583:1299::-;6709:3;6703:10;6736:18;6728:6;6725:30;6722:56;;;6758:18;;:::i;:::-;6787:97;6877:6;6837:38;6869:4;6863:11;6837:38;:::i;:::-;6831:4;6787:97;:::i;:::-;6933:4;6964:2;6953:14;;6981:1;6976:649;;;;7669:1;7686:6;7683:89;;;-1:-1:-1;7738:19:172;;;7732:26;7683:89;-1:-1:-1;;6540:1:172;6536:11;;;6532:24;6528:29;6518:40;6564:1;6560:11;;;6515:57;7785:81;;6946:930;;6976:649;5836:1;5829:14;;;5873:4;5860:18;;-1:-1:-1;;7012:20:172;;;7130:222;7144:7;7141:1;7138:14;7130:222;;;7226:19;;;7220:26;7205:42;;7333:4;7318:20;;;;7286:1;7274:14;;;;7160:12;7130:222;;;7134:3;7380:6;7371:7;7368:19;7365:201;;;7441:19;;;7435:26;-1:-1:-1;;7524:1:172;7520:14;;;7536:3;7516:24;7512:37;7508:42;7493:58;7478:74;;7365:201;-1:-1:-1;;;;7612:1:172;7596:14;;;7592:22;7579:36;;-1:-1:-1;6583:1299:172:o;7887:230::-;7957:6;8010:2;7998:9;7989:7;7985:23;7981:32;7978:52;;;8026:1;8023;8016:12;7978:52;-1:-1:-1;8071:16:172;;7887:230;-1:-1:-1;7887:230:172:o;8401:245::-;8468:6;8521:2;8509:9;8500:7;8496:23;8492:32;8489:52;;;8537:1;8534;8527:12;8489:52;8569:9;8563:16;8588:28;8610:5;8588:28;:::i;8904:273::-;8996:6;9049:2;9037:9;9028:7;9024:23;9020:32;9017:52;;;9065:1;9062;9055:12;9017:52;9097:9;9091:16;9116:31;9141:5;9116:31;:::i;9182:332::-;9282:4;9340:11;9327:25;9434:3;9430:8;9419;9403:14;9399:29;9395:44;9375:18;9371:69;9361:97;;9454:1;9451;9444:12;9361:97;9475:33;;;;;9182:332;-1:-1:-1;;9182:332:172:o;9519:799::-;9649:3;9678:1;9711:6;9705:13;9741:36;9767:9;9741:36;:::i;:::-;9808:1;9793:17;;9819:133;;;;9966:1;9961:332;;;;9786:507;;9819:133;-1:-1:-1;;9852:24:172;;9840:37;;9925:14;;9918:22;9906:35;;9897:45;;;-1:-1:-1;9819:133:172;;9961:332;9992:6;9989:1;9982:17;10040:4;10037:1;10027:18;10067:1;10081:166;10095:6;10092:1;10089:13;10081:166;;;10175:14;;10162:11;;;10155:35;10231:1;10218:15;;;;10117:4;10110:12;10081:166;;;10085:3;;10276:6;10271:3;10267:16;10260:23;;9786:507;-1:-1:-1;10309:3:172;;9519:799;-1:-1:-1;;;;;9519:799:172:o;10323:522::-;10401:4;10407:6;10467:11;10454:25;10561:2;10557:7;10546:8;10530:14;10526:29;10522:43;10502:18;10498:68;10488:96;;10580:1;10577;10570:12;10488:96;10607:33;;10659:20;;;-1:-1:-1;10702:18:172;10691:30;;10688:50;;;10734:1;10731;10724:12;10688:50;10767:4;10755:17;;-1:-1:-1;10798:14:172;10794:27;;;10784:38;;10781:58;;;10835:1;10832;10825:12;10781:58;10323:522;;;;;:::o;10850:271::-;11033:6;11025;11020:3;11007:33;10989:3;11059:16;;11084:13;;;11059:16;10850:271;-1:-1:-1;10850:271:172:o;11126:500::-;11184:5;11191:6;11251:3;11238:17;11337:2;11333:7;11322:8;11306:14;11302:29;11298:43;11278:18;11274:68;11264:96;;11356:1;11353;11346:12;11264:96;11384:33;;11488:4;11475:18;;;-1:-1:-1;11436:21:172;;-1:-1:-1;11516:18:172;11505:30;;11502:50;;;11548:1;11545;11538:12;11502:50;11595:6;11579:14;11575:27;11568:5;11564:39;11561:59;;;11616:1;11613;11606:12;11631:266;11719:6;11714:3;11707:19;11771:6;11764:5;11757:4;11752:3;11748:14;11735:43;-1:-1:-1;11823:1:172;11798:16;;;11816:4;11794:27;;;11787:38;;;;11879:2;11858:15;;;-1:-1:-1;;11854:29:172;11845:39;;;11841:50;;11631:266::o;11902:299::-;11975:5;12034:3;12021:17;12120:3;12116:8;12105;12089:14;12085:29;12081:44;12061:18;12057:69;12047:97;;12140:1;12137;12130:12;12047:97;12162:33;;;;11902:299;-1:-1:-1;;11902:299:172:o;12206:804::-;12325:19;;12353:20;;12271:3;12416:55;12465:4;12454:16;;12338:5;12416:55;:::i;:::-;12503:4;12496;12491:3;12487:14;12480:28;12529:69;12592:4;12587:3;12583:14;12569:12;12555;12529:69;:::i;:::-;12517:81;;;12645:55;12694:4;12687:5;12683:16;12676:5;12645:55;:::i;:::-;12742:3;12736:4;12732:14;12725:4;12720:3;12716:14;12709:38;12770:63;12828:4;12812:14;12796;12770:63;:::i;:::-;12756:77;;;;12881:4;12874:5;12870:16;12857:30;12896;12918:7;12896:30;:::i;:::-;12972:7;12965:15;12958:23;12951:4;12946:3;12942:14;12935:47;;12998:6;12991:13;;;12206:804;;;;:::o;13015:2198::-;13230:2;13212:21;;;13274:20;;13310:18;;;13303:33;13193:4;;13384:15;;13371:29;13451:14;13447:27;;;-1:-1:-1;;13443:41:172;13419:66;;13409:94;;13499:1;13496;13489:12;13409:94;13594:4;13589:2;13574:18;;13567:32;13527:31;;13644:21;;13696:3;13681:19;;13674:36;13753:57;13806:2;13793:16;;13527:31;13753:57;:::i;:::-;13847:4;13841:3;13830:9;13826:19;13819:33;13875:74;13944:3;13933:9;13929:19;13915:12;13901;13875:74;:::i;:::-;13861:88;;;14012:2;14003:7;13999:16;13986:30;14099:2;14095:7;14085;14069:14;14065:28;14061:42;14039:20;14035:69;14025:97;;14118:1;14115;14108:12;14025:97;14261:2;14146:34;;14248:16;;;;14203:21;14287:18;14276:30;;14273:50;;;14319:1;14316;14309:12;14273:50;14349:6;14346:1;14342:14;14401:2;14385:14;14381:23;14372:7;14368:37;14365:57;;;14418:1;14415;14408:12;14365:57;14463:22;;;-1:-1:-1;;14459:37:172;14453:3;14438:19;;14431:66;14506:22;;;-1:-1:-1;;;;;14540:31:172;;14537:51;;;14584:1;14581;14574:12;14537:51;14636:2;14627:7;14622:2;14614:6;14610:15;14597:42;14670:2;14662:6;14658:15;14648:25;;;;;14720:55;14771:2;14763:6;14759:15;14751:6;14720:55;:::i;:::-;14821:18;;;14806:4;14791:20;;14784:71;14878:70;14841:2;14936:11;;14920:14;14904;14878:70;:::i;:::-;14864:84;;;;14979:72;15045:4;15037:6;15033:17;15025:6;14979:72;:::i;:::-;15093:22;;;-1:-1:-1;;15089:36:172;15082:4;15067:20;;15060:66;15143:64;15097:6;15184:14;15143:64;:::i;:::-;15135:72;13015:2198;-1:-1:-1;;;;;13015:2198:172:o;15218:466::-;15329:6;15337;15345;15398:2;15386:9;15377:7;15373:23;15369:32;15366:52;;;15414:1;15411;15404:12;15366:52;15446:9;15440:16;15465:28;15487:5;15465:28;:::i;:::-;15557:2;15542:18;;15536:25;15606:2;15591:18;;15585:25;15512:5;;-1:-1:-1;15536:25:172;-1:-1:-1;15619:33:172;15585:25;15619:33;:::i;:::-;15671:7;15661:17;;;15218:466;;;;;:::o;16215:244::-;16372:2;16361:9;16354:21;16335:4;16392:61;16449:2;16438:9;16434:18;16426:6;16418;16392:61;:::i;:::-;16384:69;16215:244;-1:-1:-1;;;;16215:244:172:o;16464:1192::-;16562:6;16615:2;16603:9;16594:7;16590:23;16586:32;16583:52;;;16631:1;16628;16621:12;16583:52;16664:9;16658:16;16697:18;16689:6;16686:30;16683:50;;;16729:1;16726;16719:12;16683:50;16752:22;;16808:4;16790:16;;;16786:27;16783:47;;;16826:1;16823;16816:12;16783:47;16852:22;;:::i;:::-;16904:2;16898:9;16916:33;16941:7;16916:33;:::i;:::-;16958:22;;17039:2;17031:11;;;17025:18;17059:14;;;17052:31;17122:2;17114:11;;17108:18;17151;17138:32;;17135:52;;;17183:1;17180;17173:12;17135:52;17214:8;17210:2;17206:17;17196:27;;;17261:7;17254:4;17250:2;17246:13;17242:27;17232:55;;17283:1;17280;17273:12;17232:55;17316:2;17310:9;17341:53;17357:36;17386:6;17357:36;:::i;17341:53::-;17417:6;17410:5;17403:21;17465:7;17460:2;17451:6;17447:2;17443:15;17439:24;17436:37;17433:57;;;17486:1;17483;17476:12;17433:57;17534:6;17529:2;17525;17521:11;17516:2;17509:5;17505:14;17499:42;17586:1;17561:18;;;17581:2;17557:27;17550:38;;;;17615:2;17604:14;;17597:29;17608:5;16464:1192;-1:-1:-1;;;;16464:1192:172:o;18219:127::-;18280:10;18275:3;18271:20;18268:1;18261:31;18311:4;18308:1;18301:15;18335:4;18332:1;18325:15;18351:948;18569:4;18617:2;18606:9;18602:18;18647:2;18636:9;18629:21;18670:6;18705;18699:13;18736:6;18728;18721:22;18774:2;18763:9;18759:18;18752:25;;18836:2;18826:6;18823:1;18819:14;18808:9;18804:30;18800:39;18786:53;;18874:4;18866:6;18862:17;18897:1;18907:259;18921:6;18918:1;18915:13;18907:259;;;19014:2;19010:7;18998:9;18990:6;18986:22;18982:36;18977:3;18970:49;19042:40;19075:6;19066;19060:13;19042:40;:::i;:::-;19032:50;-1:-1:-1;19117:4:172;19142:14;;;;19105:17;;;;;18943:1;18936:9;18907:259;;;18911:3;;;;19216:9;19208:6;19204:22;19197:4;19186:9;19182:20;19175:52;19244:49;19286:6;19278;19270;19244:49;:::i;:::-;19236:57;18351:948;-1:-1:-1;;;;;;18351:948:172:o","linkReferences":{},"immutableReferences":{"99549":[{"start":374,"length":32},{"start":1590,"length":32},{"start":1789,"length":32},{"start":2014,"length":32}],"99552":[{"start":442,"length":32},{"start":2198,"length":32}]}},"methodIdentifiers":{"DEFAULT_FAUCET_AMOUNT()":"bdbf3df5","MIN_AGE()":"1c04beac","REGISTRY()":"06433b1b","STAKING_ASSET()":"03c230e3","VALIDITY_PERIOD()":"0c43cd88","addUnhinged(address)":"281ab686","addressToNullifier(address)":"dd71369c","claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))":"939af6cd","faucetAmount()":"9c281430","getRollup()":"a4d2342a","isUnhinged(address)":"fc679354","nullifiers(bytes32)":"2997e86b","owner()":"8da5cb5b","removeUnhinged(address)":"c8f832bf","renounceOwnership()":"715018a6","resetNullifier(bytes32)":"2fb60c1a","setDomain(string)":"e5eab096","setFaucetAmount(uint256)":"81d2fd9c","setScope(string)":"4bc83332","setSkipBindCheck(bool)":"3148bf09","setZKPassportVerifier(address)":"2052e640","transferOwnership(address)":"f2fde38b","validDomain()":"c47ca04c","validScope()":"1f4a2f59","zkPassportVerifier()":"c4797ec5"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stakingAsset\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"faucetAmount\",\"type\":\"uint256\"},{\"internalType\":\"contract ZKPassportRootVerifier\",\"name\":\"zkPassportVerifier\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"unhinged\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"scope\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"skipBindCheck\",\"type\":\"bool\"}],\"internalType\":\"struct StakingAssetHandler.StakingAssetHandlerArgs\",\"name\":\"_args\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ExtraDiscloseDataNonZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAge\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_expected\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_received\",\"type\":\"address\"}],\"name\":\"InvalidBoundAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_received\",\"type\":\"uint256\"}],\"name\":\"InvalidChainId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCountry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDomain\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFaceMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidScope\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidValidityPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifier\",\"type\":\"bytes32\"}],\"name\":\"SybilDetected\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"name\":\"Claimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newDomain\",\"type\":\"string\"}],\"name\":\"DomainUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newAmount\",\"type\":\"uint256\"}],\"name\":\"FaucetAmountUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"name\":\"NullifierReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newScope\",\"type\":\"string\"}],\"name\":\"ScopeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_skipBindCheck\",\"type\":\"bool\"}],\"name\":\"SkipBindCheckUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"UnhingedAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"UnhingedRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"}],\"name\":\"ZKPassportVerifierUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_FAUCET_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_AGE\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REGISTRY\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_ASSET\",\"outputs\":[{\"internalType\":\"contract IMintableERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VALIDITY_PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"addUnhinged\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"addressToNullifier\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"vkeyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32[]\",\"name\":\"publicInputs\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct ProofVerificationData\",\"name\":\"proofVerificationData\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"committedInputs\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"validityPeriodInSeconds\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"scope\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"devMode\",\"type\":\"bool\"}],\"internalType\":\"struct ServiceConfig\",\"name\":\"serviceConfig\",\"type\":\"tuple\"}],\"internalType\":\"struct ProofVerificationParams\",\"name\":\"_params\",\"type\":\"tuple\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"faucetAmount\",\"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\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUnhinged\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isUnhinged\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"name\":\"nullifiers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"removeUnhinged\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifier\",\"type\":\"bytes32\"}],\"name\":\"resetNullifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_domain\",\"type\":\"string\"}],\"name\":\"setDomain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"setFaucetAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_scope\",\"type\":\"string\"}],\"name\":\"setScope\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_skipBindCheck\",\"type\":\"bool\"}],\"name\":\"setSkipBindCheck\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_zkPassportVerifier\",\"type\":\"address\"}],\"name\":\"setZKPassportVerifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validDomain\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validScope\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zkPassportVerifier\",\"outputs\":[{\"internalType\":\"contract ZKPassportRootVerifier\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))\":{\"params\":{\"_params\":\"- ZKPassport proof params (ignored for unhinged users)\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))\":{\"notice\":\"Claim STK tokens from the faucet\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/mock/StakingAssetHandler.sol\":\"StakingAssetHandler\"},\"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/circuits/src/solidity/src/Constants.sol\":{\"keccak256\":\"0x29a25ab24727bb03f356fe124eda7970f1769130855ebf584e4225e2718927a7\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3dff3096a211bcd97a4dad4e459bd3c684275e3271c493191d3819bbf4326702\",\"dweb:/ipfs/QmfLyG5f3JWRoY5sF9kkDLBDrxymQsuk9uncw65JdRa7Sp\"]},\"lib/circuits/src/solidity/src/DateUtils.sol\":{\"keccak256\":\"0x4176feda967f91ccf0a1cdecc75bbf7e5aaad7b46f95e133887e3ac6ae9126f6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6774599f7320a37f2e5cc22e0d8e59a1f46841a6ac94d7d45b072a809237e1ab\",\"dweb:/ipfs/QmdrX9uQKsvN9gTgCD1zd1kigvJGsgHbvabvdWaWHuSeY4\"]},\"lib/circuits/src/solidity/src/IProofVerifier.sol\":{\"keccak256\":\"0xf8acc6ee390c406eaa8415863f156e251935f8de51bcd3c876871fbe5b5b4f14\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://64016d156d15fd43d407e832fd7b333e07e80b42f0ed9d845a8cc114d3857aa6\",\"dweb:/ipfs/QmP7zSvchyDqov13cyuWxLJDYBBpYZxrPEdGQcheyoJkUm\"]},\"lib/circuits/src/solidity/src/IRootRegistry.sol\":{\"keccak256\":\"0xc994fab81ea1202a93620e7e7a01ba1e61f055498ed5b09503f4b384d0554b2a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://12a19bab224c63ee4a0e3b4048c24e80b3ef5a3459070816c20f2c32b2ad5f72\",\"dweb:/ipfs/QmW1DF8mAwBfacrG2r2R3uyY92i6q1h1hZvHPuwMdXTANg\"]},\"lib/circuits/src/solidity/src/InputsExtractor.sol\":{\"keccak256\":\"0xd8d08cc68a571c9efdddd90ea274c18694284d40a9f1d0a1112a4999fd6a58da\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://000752a284d1df5c0687d32554c83e99afedab49e23d7213679ed93424760450\",\"dweb:/ipfs/QmWrFS4ChUv4okqnEgSLiuSsxohDnTnYLWeyYviVbPTgcH\"]},\"lib/circuits/src/solidity/src/StringUtils.sol\":{\"keccak256\":\"0xd52eb407eef932c9a343f1225fc997b7194ff0f05c488661a7adb4a37f980306\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://60bfaf52ebd50633d6eff5ea346d25283962495c630b37f4c0cd6008e8d8fd11\",\"dweb:/ipfs/QmWVtJnjcaowsFUBRRQ7eNTntghZ4FekXXgeQNAV4PkDWe\"]},\"lib/circuits/src/solidity/src/Types.sol\":{\"keccak256\":\"0x66d73b090401a5f424e1feacf1b503dcd906163f4c749189db3dc108d6dfd668\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d90eff17b597915e95c01a171c4378e7e4e287d35ca25dbd3f684373e93cda0c\",\"dweb:/ipfs/QmYe1wixU4zZAogteHT5eubcB4qzScCYzLtYFpFBitpZeR\"]},\"lib/circuits/src/solidity/src/ZKPassportHelper.sol\":{\"keccak256\":\"0xebc7d0a4b7dae4a78d38381a36cc19e04933f302cf1f0516c8f5d68128afbd16\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7504f8711789c76e7294dd12bf172e5226034a5a2202057180ee047939eefa34\",\"dweb:/ipfs/QmTGuSBmYmDBWutpyTrxPxWQ7DA6kpV6kLQSwB3wMaLCN5\"]},\"lib/circuits/src/solidity/src/ZKPassportRootVerifier.sol\":{\"keccak256\":\"0x5fb7a856f66496a36e4de2ff2dca8fcce5a2c3db3adbf20910b1b20f24e6a009\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c2693f7a086c3ff60441a12a5d72c6a2fbd811123c03d73b0887474cbefe6355\",\"dweb:/ipfs/QmbTgqop8Fb9nxcUveDSDgyMXzVBY1xw2u8eMxaFfVVp1s\"]},\"lib/circuits/src/solidity/src/ZKPassportSubVerifier.sol\":{\"keccak256\":\"0x093e93f34571a7afe3c5a42192a366397b91e9fdb6167075b9250bcfd26fe8dd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://981fec528fb1f8a3032b99905801658305139d82679598579b7fe8afb1b7f6a1\",\"dweb:/ipfs/QmfZ1n1KrxcijmToULMgMccLLyLH5DVVQWJ9SrWPMTRrfw\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"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/mock/StakingAssetHandler.sol\":{\"keccak256\":\"0x34dea4351a502e562a7b78fdd20bd9c05e1617ef5d6fec980eb87ffde592deb3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c383a8c6f4ea4f58123982d5ec498a2aa6bd674d56ed1fdda2a9cb63a5de321a\",\"dweb:/ipfs/QmRNKajq7SMcsK6uP3R6JHW3R5QGdJnSMXK63fKey671Mv\"]},\"src/shared/interfaces/IMintableERC20.sol\":{\"keccak256\":\"0x792359f95fa1aac4165c353db75ddc87f44bee6c4ccc407a233dcad19d406d28\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b77fd327a807fdff9718e03476031d4b43c632ab3a2a2c5d0f36ceed7a547a1d\",\"dweb:/ipfs/QmacpqXy9ZLC8XnDubj8ax7VxqXD4jmsW2uc6of6LpBjUp\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct StakingAssetHandler.StakingAssetHandlerArgs","name":"_args","type":"tuple","components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"stakingAsset","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"uint256","name":"faucetAmount","type":"uint256"},{"internalType":"contract ZKPassportRootVerifier","name":"zkPassportVerifier","type":"address"},{"internalType":"address[]","name":"unhinged","type":"address[]"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"skipBindCheck","type":"bool"}]}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ExtraDiscloseDataNonZero"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidAge"},{"inputs":[{"internalType":"address","name":"_expected","type":"address"},{"internalType":"address","name":"_received","type":"address"}],"type":"error","name":"InvalidBoundAddress"},{"inputs":[{"internalType":"uint256","name":"_expected","type":"uint256"},{"internalType":"uint256","name":"_received","type":"uint256"}],"type":"error","name":"InvalidChainId"},{"inputs":[],"type":"error","name":"InvalidCountry"},{"inputs":[],"type":"error","name":"InvalidDomain"},{"inputs":[],"type":"error","name":"InvalidFaceMatch"},{"inputs":[],"type":"error","name":"InvalidProof"},{"inputs":[],"type":"error","name":"InvalidScope"},{"inputs":[],"type":"error","name":"InvalidValidityPeriod"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"bytes32","name":"_nullifier","type":"bytes32"}],"type":"error","name":"SybilDetected"},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes32","name":"nullifier","type":"bytes32","indexed":false}],"type":"event","name":"Claimed","anonymous":false},{"inputs":[{"internalType":"string","name":"newDomain","type":"string","indexed":false}],"type":"event","name":"DomainUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256","indexed":false}],"type":"event","name":"FaucetAmountUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"nullifier","type":"bytes32","indexed":false}],"type":"event","name":"NullifierReset","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"string","name":"newScope","type":"string","indexed":false}],"type":"event","name":"ScopeUpdated","anonymous":false},{"inputs":[{"internalType":"bool","name":"_skipBindCheck","type":"bool","indexed":false}],"type":"event","name":"SkipBindCheckUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true}],"type":"event","name":"UnhingedAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true}],"type":"event","name":"UnhingedRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"_verifier","type":"address","indexed":true}],"type":"event","name":"ZKPassportVerifierUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_FAUCET_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_AGE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REGISTRY","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_ASSET","outputs":[{"internalType":"contract IMintableERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VALIDITY_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addUnhinged"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"addressToNullifier","outputs":[{"internalType":"bytes32","name":"nullifier","type":"bytes32"}]},{"inputs":[{"internalType":"struct ProofVerificationParams","name":"_params","type":"tuple","components":[{"internalType":"bytes32","name":"version","type":"bytes32"},{"internalType":"struct ProofVerificationData","name":"proofVerificationData","type":"tuple","components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"}]},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"struct ServiceConfig","name":"serviceConfig","type":"tuple","components":[{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}]}]}],"stateMutability":"nonpayable","type":"function","name":"claim"},{"inputs":[],"stateMutability":"view","type":"function","name":"faucetAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRollup","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"isUnhinged","outputs":[{"internalType":"bool","name":"isUnhinged","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"nullifier","type":"bytes32"}],"stateMutability":"view","type":"function","name":"nullifiers","outputs":[{"internalType":"bool","name":"exists","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUnhinged"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"_nullifier","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"resetNullifier"},{"inputs":[{"internalType":"string","name":"_domain","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setDomain"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setFaucetAmount"},{"inputs":[{"internalType":"string","name":"_scope","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setScope"},{"inputs":[{"internalType":"bool","name":"_skipBindCheck","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setSkipBindCheck"},{"inputs":[{"internalType":"address","name":"_zkPassportVerifier","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setZKPassportVerifier"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"validDomain","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"validScope","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"zkPassportVerifier","outputs":[{"internalType":"contract ZKPassportRootVerifier","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))":{"params":{"_params":"- ZKPassport proof params (ignored for unhinged users)"}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))":{"notice":"Claim STK tokens from the faucet"}},"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/mock/StakingAssetHandler.sol":"StakingAssetHandler"},"evmVersion":"prague","libraries":{}},"sources":{"lib/circuits/src/solidity/src/Constants.sol":{"keccak256":"0x29a25ab24727bb03f356fe124eda7970f1769130855ebf584e4225e2718927a7","urls":["bzz-raw://3dff3096a211bcd97a4dad4e459bd3c684275e3271c493191d3819bbf4326702","dweb:/ipfs/QmfLyG5f3JWRoY5sF9kkDLBDrxymQsuk9uncw65JdRa7Sp"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/DateUtils.sol":{"keccak256":"0x4176feda967f91ccf0a1cdecc75bbf7e5aaad7b46f95e133887e3ac6ae9126f6","urls":["bzz-raw://6774599f7320a37f2e5cc22e0d8e59a1f46841a6ac94d7d45b072a809237e1ab","dweb:/ipfs/QmdrX9uQKsvN9gTgCD1zd1kigvJGsgHbvabvdWaWHuSeY4"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/IProofVerifier.sol":{"keccak256":"0xf8acc6ee390c406eaa8415863f156e251935f8de51bcd3c876871fbe5b5b4f14","urls":["bzz-raw://64016d156d15fd43d407e832fd7b333e07e80b42f0ed9d845a8cc114d3857aa6","dweb:/ipfs/QmP7zSvchyDqov13cyuWxLJDYBBpYZxrPEdGQcheyoJkUm"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/IRootRegistry.sol":{"keccak256":"0xc994fab81ea1202a93620e7e7a01ba1e61f055498ed5b09503f4b384d0554b2a","urls":["bzz-raw://12a19bab224c63ee4a0e3b4048c24e80b3ef5a3459070816c20f2c32b2ad5f72","dweb:/ipfs/QmW1DF8mAwBfacrG2r2R3uyY92i6q1h1hZvHPuwMdXTANg"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/InputsExtractor.sol":{"keccak256":"0xd8d08cc68a571c9efdddd90ea274c18694284d40a9f1d0a1112a4999fd6a58da","urls":["bzz-raw://000752a284d1df5c0687d32554c83e99afedab49e23d7213679ed93424760450","dweb:/ipfs/QmWrFS4ChUv4okqnEgSLiuSsxohDnTnYLWeyYviVbPTgcH"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/StringUtils.sol":{"keccak256":"0xd52eb407eef932c9a343f1225fc997b7194ff0f05c488661a7adb4a37f980306","urls":["bzz-raw://60bfaf52ebd50633d6eff5ea346d25283962495c630b37f4c0cd6008e8d8fd11","dweb:/ipfs/QmWVtJnjcaowsFUBRRQ7eNTntghZ4FekXXgeQNAV4PkDWe"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/Types.sol":{"keccak256":"0x66d73b090401a5f424e1feacf1b503dcd906163f4c749189db3dc108d6dfd668","urls":["bzz-raw://d90eff17b597915e95c01a171c4378e7e4e287d35ca25dbd3f684373e93cda0c","dweb:/ipfs/QmYe1wixU4zZAogteHT5eubcB4qzScCYzLtYFpFBitpZeR"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/ZKPassportHelper.sol":{"keccak256":"0xebc7d0a4b7dae4a78d38381a36cc19e04933f302cf1f0516c8f5d68128afbd16","urls":["bzz-raw://7504f8711789c76e7294dd12bf172e5226034a5a2202057180ee047939eefa34","dweb:/ipfs/QmTGuSBmYmDBWutpyTrxPxWQ7DA6kpV6kLQSwB3wMaLCN5"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/ZKPassportRootVerifier.sol":{"keccak256":"0x5fb7a856f66496a36e4de2ff2dca8fcce5a2c3db3adbf20910b1b20f24e6a009","urls":["bzz-raw://c2693f7a086c3ff60441a12a5d72c6a2fbd811123c03d73b0887474cbefe6355","dweb:/ipfs/QmbTgqop8Fb9nxcUveDSDgyMXzVBY1xw2u8eMxaFfVVp1s"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/ZKPassportSubVerifier.sol":{"keccak256":"0x093e93f34571a7afe3c5a42192a366397b91e9fdb6167075b9250bcfd26fe8dd","urls":["bzz-raw://981fec528fb1f8a3032b99905801658305139d82679598579b7fe8afb1b7f6a1","dweb:/ipfs/QmfZ1n1KrxcijmToULMgMccLLyLH5DVVQWJ9SrWPMTRrfw"],"license":"Apache-2.0"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"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/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"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/mock/StakingAssetHandler.sol":{"keccak256":"0x34dea4351a502e562a7b78fdd20bd9c05e1617ef5d6fec980eb87ffde592deb3","urls":["bzz-raw://c383a8c6f4ea4f58123982d5ec498a2aa6bd674d56ed1fdda2a9cb63a5de321a","dweb:/ipfs/QmRNKajq7SMcsK6uP3R6JHW3R5QGdJnSMXK63fKey671Mv"],"license":"Apache-2.0"},"src/shared/interfaces/IMintableERC20.sol":{"keccak256":"0x792359f95fa1aac4165c353db75ddc87f44bee6c4ccc407a233dcad19d406d28","urls":["bzz-raw://b77fd327a807fdff9718e03476031d4b43c632ab3a2a2c5d0f36ceed7a547a1d","dweb:/ipfs/QmacpqXy9ZLC8XnDubj8ax7VxqXD4jmsW2uc6of6LpBjUp"],"license":"Apache-2.0"}},"version":1},"id":154}
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"_args","type":"tuple","internalType":"struct StakingAssetHandler.StakingAssetHandlerArgs","components":[{"name":"owner","type":"address","internalType":"address"},{"name":"stakingAsset","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"faucetAmount","type":"uint256","internalType":"uint256"},{"name":"zkPassportVerifier","type":"address","internalType":"contract ZKPassportRootVerifier"},{"name":"unhinged","type":"address[]","internalType":"address[]"},{"name":"domain","type":"string","internalType":"string"},{"name":"scope","type":"string","internalType":"string"},{"name":"skipBindCheck","type":"bool","internalType":"bool"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_FAUCET_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MIN_AGE","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"STAKING_ASSET","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMintableERC20"}],"stateMutability":"view"},{"type":"function","name":"VALIDITY_PERIOD","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"addUnhinged","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToNullifier","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"nullifier","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"claim","inputs":[{"name":"_params","type":"tuple","internalType":"struct ProofVerificationParams","components":[{"name":"version","type":"bytes32","internalType":"bytes32"},{"name":"proofVerificationData","type":"tuple","internalType":"struct ProofVerificationData","components":[{"name":"vkeyHash","type":"bytes32","internalType":"bytes32"},{"name":"proof","type":"bytes","internalType":"bytes"},{"name":"publicInputs","type":"bytes32[]","internalType":"bytes32[]"}]},{"name":"committedInputs","type":"bytes","internalType":"bytes"},{"name":"serviceConfig","type":"tuple","internalType":"struct ServiceConfig","components":[{"name":"validityPeriodInSeconds","type":"uint256","internalType":"uint256"},{"name":"domain","type":"string","internalType":"string"},{"name":"scope","type":"string","internalType":"string"},{"name":"devMode","type":"bool","internalType":"bool"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"faucetAmount","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":"isUnhinged","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"isUnhinged","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"nullifiers","inputs":[{"name":"nullifier","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeUnhinged","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resetNullifier","inputs":[{"name":"_nullifier","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDomain","inputs":[{"name":"_domain","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFaucetAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setScope","inputs":[{"name":"_scope","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSkipBindCheck","inputs":[{"name":"_skipBindCheck","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setZKPassportVerifier","inputs":[{"name":"_zkPassportVerifier","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validDomain","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"validScope","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"zkPassportVerifier","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ZKPassportRootVerifier"}],"stateMutability":"view"},{"type":"event","name":"Claimed","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"nullifier","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"DomainUpdated","inputs":[{"name":"newDomain","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"FaucetAmountUpdated","inputs":[{"name":"newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"NullifierReset","inputs":[{"name":"nullifier","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ScopeUpdated","inputs":[{"name":"newScope","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"SkipBindCheckUpdated","inputs":[{"name":"_skipBindCheck","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"UnhingedAdded","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UnhingedRemoved","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ZKPassportVerifierUpdated","inputs":[{"name":"_verifier","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ExtraDiscloseDataNonZero","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidAge","inputs":[]},{"type":"error","name":"InvalidBoundAddress","inputs":[{"name":"_expected","type":"address","internalType":"address"},{"name":"_received","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidChainId","inputs":[{"name":"_expected","type":"uint256","internalType":"uint256"},{"name":"_received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidCountry","inputs":[]},{"type":"error","name":"InvalidDomain","inputs":[]},{"type":"error","name":"InvalidFaceMatch","inputs":[]},{"type":"error","name":"InvalidProof","inputs":[]},{"type":"error","name":"InvalidScope","inputs":[]},{"type":"error","name":"InvalidValidityPeriod","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"SybilDetected","inputs":[{"name":"_nullifier","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x60c060405234801561000f575f5ffd5b50604051611f12380380611f1283398101604081905261002e91610444565b80516001600160a01b03811661005d57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100668161025f565b5060208101516001600160a01b0390811660805260408201511660a052606081015161009c5769d3c21bcecceda10000006100a2565b80606001515b60058190556040519081527f07b130fc089b6153dc5748b5d744efe6ec1dd025c8c48e5b105e632f6cbd93da9060200160405180910390a15f5b8160a001515181101561018957600160025f8460a00151848151811061010457610104610564565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160a00151818151811061015757610157610564565b60200260200101516001600160a01b03165f516020611ef25f395f51905f5260405160405180910390a26001016100dc565b5080516001600160a01b039081165f90815260026020526040808220805460ff19166001179055835190519216915f516020611ef25f395f51905f529190a26080810151600180546001600160a01b0319166001600160a01b0390921691821790556040517fa45d60f9a04c5d4fa0d11954a836395a6be6f5e6349f49e5a909f47b47556226905f90a260c081015160069061022590826105fc565b5060e081015160079061023890826105fc565b50610100015160018054911515600160a01b0260ff60a01b199092169190911790556106b6565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b03811182821017156102e5576102e56102ae565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610313576103136102ae565b604052919050565b6001600160a01b038116811461032f575f5ffd5b50565b805161033d8161031b565b919050565b5f82601f830112610351575f5ffd5b81516001600160401b0381111561036a5761036a6102ae565b8060051b61037a602082016102eb565b91825260208185018101929081019086841115610395575f5ffd5b6020860192505b838310156103c05782516103af8161031b565b82526020928301929091019061039c565b9695505050505050565b5f82601f8301126103d9575f5ffd5b81516001600160401b038111156103f2576103f26102ae565b610405601f8201601f19166020016102eb565b818152846020838601011115610419575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b8051801515811461033d575f5ffd5b5f60208284031215610454575f5ffd5b81516001600160401b03811115610469575f5ffd5b8201610120818503121561047b575f5ffd5b6104836102c2565b61048c82610332565b815261049a60208301610332565b60208201526104ab60408301610332565b6040820152606082810151908201526104c660808301610332565b608082015260a08201516001600160401b038111156104e3575f5ffd5b6104ef86828501610342565b60a08301525060c08201516001600160401b0381111561050d575f5ffd5b610519868285016103ca565b60c08301525060e08201516001600160401b03811115610537575f5ffd5b610543868285016103ca565b60e0830152506105566101008301610435565b610100820152949350505050565b634e487b7160e01b5f52603260045260245ffd5b600181811c9082168061058c57607f821691505b6020821081036105aa57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156105f757805f5260205f20601f840160051c810160208510156105d55750805b601f840160051c820191505b818110156105f4575f81556001016105e1565b50505b505050565b81516001600160401b03811115610615576106156102ae565b610629816106238454610578565b846105b0565b6020601f82116001811461065b575f83156106445750848201515b5f19600385901b1c1916600184901b1784556105f4565b5f84815260208120601f198516915b8281101561068a578785015182556020948501946001909201910161066a565b50848210156106a757868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a0516117ff6106f35f395f81816101ba015261089601525f818161017601528181610636015281816106fd01526107de01526117ff5ff3fe608060405234801561000f575f5ffd5b506004361061016d575f3560e01c806381d2fd9c116100d9578063c4797ec511610093578063dd71369c1161006e578063dd71369c14610344578063e5eab09614610363578063f2fde38b14610376578063fc67935414610389575f5ffd5b8063c4797ec514610316578063c47ca04c14610329578063c8f832bf14610331575f5ffd5b806381d2fd9c146102be5780638da5cb5b146102d1578063939af6cd146102e15780639c281430146102f4578063a4d2342a146102fd578063bdbf3df514610305575f5ffd5b8063281ab6861161012a578063281ab686146102385780632997e86b1461024b5780632fb60c1a1461027d5780633148bf09146102905780634bc83332146102a3578063715018a6146102b6575f5ffd5b806303c230e31461017157806306433b1b146101b55780630c43cd88146101dc5780631c04beac146101f45780631f4a2f591461020e5780632052e64014610223575b5f5ffd5b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6101e662093a8081565b6040519081526020016101ac565b6101fc601281565b60405160ff90911681526020016101ac565b6102166103ab565b6040516101ac9190610fc3565b610236610231366004610ff0565b610437565b005b610236610246366004610ff0565b610488565b61026d61025936600461100b565b60036020525f908152604090205460ff1681565b60405190151581526020016101ac565b61023661028b36600461100b565b6104db565b61023661029e36600461102f565b610535565b6102366102b13660046110df565b61058a565b6102366105ce565b6102366102cc36600461100b565b6105e1565b5f546001600160a01b0316610198565b6102366102ef366004611159565b61061e565b6101e660055481565b610198610893565b6101e669d3c21bcecceda100000081565b600154610198906001600160a01b031681565b610216610919565b61023661033f366004610ff0565b610926565b6101e6610352366004610ff0565b60046020525f908152604090205481565b6102366103713660046110df565b610976565b610236610384366004610ff0565b6109ba565b61026d610397366004610ff0565b60026020525f908152604090205460ff1681565b600780546103b890611190565b80601f01602080910402602001604051908101604052809291908181526020018280546103e490611190565b801561042f5780601f106104065761010080835404028352916020019161042f565b820191905f5260205f20905b81548152906001019060200180831161041257829003601f168201915b505050505081565b61043f6109fc565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa45d60f9a04c5d4fa0d11954a836395a6be6f5e6349f49e5a909f47b47556226905f90a250565b6104906109fc565b6001600160a01b0381165f81815260026020526040808220805460ff19166001179055517f1a7d1f088493549086cb72318a43863e0a9c0b234d8e3e7f6280eeefecf8271b9190a250565b6104e36109fc565b5f8181526003602052604090819020805460ff19169055517ffc4b8a996e96263e8117c0318ab1f58a505eaf4b902cbd3520254dfc70e55de59061052a9083815260200190565b60405180910390a150565b61053d6109fc565b60018054821515600160a01b0260ff60a01b199091161790556040517f637373a04f9cdebef9e86caa4792cf3aa4ff58364154f47a07d9ad062ec0de179061052a90831515815260200190565b6105926109fc565b600761059e8282611214565b507f8a901a187220633e2a04102348a39ec0ad895a358c69bd739bac4366c5e894e98160405161052a9190610fc3565b6105d66109fc565b6105df5f610a28565b565b6105e96109fc565b60058190556040518181527f07b130fc089b6153dc5748b5d744efe6ec1dd025c8c48e5b105e632f6cbd93da9060200161052a565b6005546040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610683573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a791906112cf565b10156106c657604051631e9acf1760e31b815260040160405180910390fd5b335f9081526002602052604090205460ff16156107b05760055460405163a9059cbb60e01b815233600482015260248101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561074b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076f91906112e6565b50600554604080519182525f602083015233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a250565b5f6107bb3383610a77565b60055460405163a9059cbb60e01b815233600482015260248101919091529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561082c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085091906112e6565b50600554604080519182526020820183905233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a25050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663971b0e6b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109149190611301565b905090565b600680546103b890611190565b61092e6109fc565b6001600160a01b0381165f81815260026020526040808220805460ff19169055517f77fb7b49e433c24c33405358716dab4b3b3a8aee00a916f99e3717debf176ce19190a250565b61097e6109fc565b600661098a8282611214565b507ffe4d94448068b38fa4f90d468459f31695b3816d3b780071c1ae1c8a969ef5438160405161052a9190610fc3565b6109c26109fc565b6001600160a01b0381166109f057604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6109f981610a28565b50565b5f546001600160a01b031633146105df5760405163118cdaa760e01b81523360048201526024016109e7565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610a85606083018361131c565b610a9690608081019060600161102f565b15610ab4576040516309bde33960e01b815260040160405180910390fd5b6006604051610ac3919061133a565b604051908190039020610ad9606084018461131c565b610ae79060208101906113ab565b604051610af59291906113f5565b604051809103902014610b1b576040516375893cc160e11b815260040160405180910390fd5b6007604051610b2a919061133a565b604051908190039020610b40606084018461131c565b610b4e9060408101906113ab565b604051610b5c9291906113f5565b604051809103902014610b825760405163725a844f60e01b815260040160405180910390fd5b62093a80610b93606084018461131c565b3514610bb25760405163b26af78d60e01b815260040160405180910390fd5b60015460405163578bd92160e01b81525f9182916001600160a01b039091169063578bd92190610be69087906004016114fa565b606060405180830381865afa158015610c01573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c25919061161b565b909450909250905081610c4b576040516309bde33960e01b815260040160405180910390fd5b5f83815260036020526040902054839060ff1615610c7f576040516390a3baff60e01b81526004016109e791815260200190565b50600154600160a01b900460ff16610f5c575f6001600160a01b038216630af18ba6610cae60408801886113ab565b6040518363ffffffff1660e01b8152600401610ccb92919061165b565b5f60405180830381865afa158015610ce5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d0c9190810190611676565b8051909150866001600160a01b0382811690821614610d5157604051636e68e5e760e11b81526001600160a01b039283166004820152911660248201526044016109e7565b5050602081015146818114610d8257604051639fba672f60e01b8152600481019290925260248201526044016109e7565b505060408101515115610da85760405163db7eeb0960e01b815260040160405180910390fd5b60408051600480825260a082019092525f91816020015b6060815260200190600190039081610dbf5790505090506040518060400160405280600381526020016221aaa160e91b815250815f81518110610e0457610e0461173d565b60200260200101819052506040518060400160405280600381526020016224a92760e91b81525081600181518110610e3e57610e3e61173d565b60200260200101819052506040518060400160405280600381526020016250524b60e81b81525081600281518110610e7857610e7861173d565b6020026020010181905250604051806040016040528060038152602001622aa5a960e91b81525081600381518110610eb257610eb261173d565b60209081029190910101525f6001600160a01b03841663d3fb610f83610edb60408b018b6113ab565b6040518463ffffffff1660e01b8152600401610ef993929190611751565b602060405180830381865afa158015610f14573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3891906112e6565b905080610f58576040516372917c7360e11b815260040160405180910390fd5b5050505b50505f818152600360209081526040808320805460ff191660011790556001600160a01b03909516825260049052929092208290555090565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610fd56020830184610f95565b9392505050565b6001600160a01b03811681146109f9575f5ffd5b5f60208284031215611000575f5ffd5b8135610fd581610fdc565b5f6020828403121561101b575f5ffd5b5035919050565b80151581146109f9575f5ffd5b5f6020828403121561103f575f5ffd5b8135610fd581611022565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156110815761108161104a565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156110b0576110b061104a565b604052919050565b5f67ffffffffffffffff8211156110d1576110d161104a565b50601f01601f191660200190565b5f602082840312156110ef575f5ffd5b813567ffffffffffffffff811115611105575f5ffd5b8201601f81018413611115575f5ffd5b8035611128611123826110b8565b611087565b81815285602083850101111561113c575f5ffd5b816020840160208301375f91810160200191909152949350505050565b5f60208284031215611169575f5ffd5b813567ffffffffffffffff81111561117f575f5ffd5b820160808185031215610fd5575f5ffd5b600181811c908216806111a457607f821691505b6020821081036111c257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561120f57805f5260205f20601f840160051c810160208510156111ed5750805b601f840160051c820191505b8181101561120c575f81556001016111f9565b50505b505050565b815167ffffffffffffffff81111561122e5761122e61104a565b6112428161123c8454611190565b846111c8565b6020601f821160018114611274575f831561125d5750848201515b5f19600385901b1c1916600184901b17845561120c565b5f84815260208120601f198516915b828110156112a35787850151825560209485019460019092019101611283565b50848210156112c057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156112df575f5ffd5b5051919050565b5f602082840312156112f6575f5ffd5b8151610fd581611022565b5f60208284031215611311575f5ffd5b8151610fd581610fdc565b5f8235607e19833603018112611330575f5ffd5b9190910192915050565b5f5f835461134781611190565b60018216801561135e5760018114611373576113a0565b60ff19831686528115158202860193506113a0565b865f5260205f205f5b838110156113985781548882015260019091019060200161137c565b505081860193505b509195945050505050565b5f5f8335601e198436030181126113c0575f5ffd5b83018035915067ffffffffffffffff8211156113da575f5ffd5b6020019150368190038213156113ee575f5ffd5b9250929050565b818382375f9101908152919050565b5f5f8335601e19843603018112611419575f5ffd5b830160208101925035905067ffffffffffffffff811115611438575f5ffd5b8036038213156113ee575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f8235607e19833603018112611482575f5ffd5b90910192915050565b803582525f61149d6020830183611404565b608060208601526114b2608086018284611446565b9150506114c26040840184611404565b85830360408701526114d5838284611446565b9250505060608301356114e781611022565b8015156060860152508091505092915050565b60208082528235828201525f9083013536849003605e1901811261151c575f5ffd5b608060408401528301803560a08401526115396020820182611404565b606060c086015261154f61010086018284611446565b9150506040820135601e19833603018112611568575f5ffd5b60209201918201913567ffffffffffffffff811115611585575f5ffd5b8060051b803603841315611597575f5ffd5b858303609f190160e08701528183526001600160fb1b038211156115b9575f5ffd5b8084602085013780830193505050506115d56040850185611404565b84830360608601526115eb602084018284611446565b925050506115fc606085018561146e565b838203601f19016080850152611612828261148b565b95945050505050565b5f5f5f6060848603121561162d575f5ffd5b835161163881611022565b60208501516040860151919450925061165081610fdc565b809150509250925092565b602081525f61166e602083018486611446565b949350505050565b5f60208284031215611686575f5ffd5b815167ffffffffffffffff81111561169c575f5ffd5b8201606081850312156116ad575f5ffd5b6116b561105e565b81516116c081610fdc565b815260208281015190820152604082015167ffffffffffffffff8111156116e5575f5ffd5b80830192505084601f8301126116f9575f5ffd5b8151611707611123826110b8565b81815286602083860101111561171b575f5ffd5b8160208501602083015e5f918101602001919091526040820152949350505050565b634e487b7160e01b5f52603260045260245ffd5b5f604082016040835280865180835260608501915060608160051b8601019250602088015f5b828110156117a857605f19878603018452611793858351610f95565b94506020938401939190910190600101611777565b5050505082810360208401526117bf818587611446565b969550505050505056fea2646970667358221220f36f92f862980a306d42a0432328486a34d9aa4311e24feb8c259b802eceaba064736f6c634300081e00331a7d1f088493549086cb72318a43863e0a9c0b234d8e3e7f6280eeefecf8271b","sourceMap":"2662:6645:154:-:0;;;3912:751;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3970:11;;-1:-1:-1;;;;;1273:26:35;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:35;;1350:1;1322:31;;;4157:51:173;4130:18;;1322:31:35;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;4020:18:154::1;::::0;::::1;::::0;-1:-1:-1;;;;;3989:50:154;;::::1;;::::0;4056:14:::1;::::0;::::1;::::0;4045:25:::1;;::::0;4092:18:::1;::::0;::::1;::::0;:67:::1;;3405:16;4092:67;;;4117:5;:18;;;4092:67;4077:12;:82:::0;;;4170:33:::1;::::0;4365:25:173;;;4170:33:154::1;::::0;4353:2:173;4338:18;4170:33:154::1;;;;;;;4215:9;4210:148;4234:5;:14;;;:21;4230:1;:25;4210:148;;;4302:4;4270:10;:29;4281:5;:14;;;4296:1;4281:17;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4270:29:154::1;-1:-1:-1::0;;;;;4270:29:154::1;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;4333:5;:14;;;4348:1;4333:17;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4319:32:154::1;-1:-1:-1::0;;;;;;;;;;;4319:32:154::1;;;;;;;;;4257:3;;4210:148;;;-1:-1:-1::0;4374:11:154;;-1:-1:-1;;;;;4363:23:154;;::::1;;::::0;;;:10:::1;:23;::::0;;;;;:30;;-1:-1:-1;;4363:30:154::1;4389:4;4363:30;::::0;;4418:11;;4404:26;;;::::1;::::0;-1:-1:-1;;;;;;;;;;;4404:26:154;4363:23;4404:26:::1;4458:24;::::0;::::1;::::0;4437:18:::1;:45:::0;;-1:-1:-1;;;;;;4437:45:154::1;-1:-1:-1::0;;;;;4437:45:154;;::::1;::::0;;::::1;::::0;;4493:60:::1;::::0;::::1;::::0;-1:-1:-1;;4493:60:154::1;4574:12;::::0;::::1;::::0;4560:11:::1;::::0;:26:::1;::::0;:11;:26:::1;:::i;:::-;-1:-1:-1::0;4605:11:154::1;::::0;::::1;::::0;4592:10:::1;::::0;:24:::1;::::0;:10;:24:::1;:::i;:::-;-1:-1:-1::0;4639:19:154::1;;::::0;4623:13:::1;:35:::0;;;::::1;;-1:-1:-1::0;;;4623:35:154::1;-1:-1:-1::0;;;;4623:35:154;;::::1;::::0;;;::::1;::::0;;2662:6645;;2912:187:35;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:35;;;-1:-1:-1;;;;;;3020:17:35;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:127:173:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:255;218:2;212:9;260:6;248:19;;-1:-1:-1;;;;;282:34:173;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:2;373:22;146:255;:::o;406:275::-;477:2;471:9;542:2;523:13;;-1:-1:-1;;519:27:173;507:40;;-1:-1:-1;;;;;562:34:173;;598:22;;;559:62;556:88;;;624:18;;:::i;:::-;660:2;653:22;406:275;;-1:-1:-1;406:275:173:o;686:131::-;-1:-1:-1;;;;;761:31:173;;751:42;;741:70;;807:1;804;797:12;741:70;686:131;:::o;822:138::-;901:13;;923:31;901:13;923:31;:::i;:::-;822:138;;;:::o;965:793::-;1030:5;1083:3;1076:4;1068:6;1064:17;1060:27;1050:55;;1101:1;1098;1091:12;1050:55;1128:13;;-1:-1:-1;;;;;1153:30:173;;1150:56;;;1186:18;;:::i;:::-;1232:6;1229:1;1225:14;1259:30;1283:4;1279:2;1275:13;1259:30;:::i;:::-;1325:19;;;1369:4;1401:15;;;1397:26;;;1360:14;;;;1435:15;;;1432:35;;;1463:1;1460;1453:12;1432:35;1499:4;1491:6;1487:17;1476:28;;1513:214;1529:6;1524:3;1521:15;1513:214;;;1604:3;1598:10;1621:31;1646:5;1621:31;:::i;:::-;1665:18;;1712:4;1546:14;;;;1703;;;;1513:214;;;1745:7;965:793;-1:-1:-1;;;;;;965:793:173:o;1763:556::-;1817:5;1870:3;1863:4;1855:6;1851:17;1847:27;1837:55;;1888:1;1885;1878:12;1837:55;1915:13;;-1:-1:-1;;;;;1940:30:173;;1937:56;;;1973:18;;:::i;:::-;2017:59;2064:2;2041:17;;-1:-1:-1;;2037:31:173;2070:4;2033:42;2017:59;:::i;:::-;2101:6;2092:7;2085:23;2155:3;2148:4;2139:6;2131;2127:19;2123:30;2120:39;2117:59;;;2172:1;2169;2162:12;2117:59;2230:6;2223:4;2215:6;2211:17;2204:4;2195:7;2191:18;2185:52;2286:1;2257:20;;;2279:4;2253:31;2246:42;;;;2261:7;1763:556;-1:-1:-1;;;1763:556:173:o;2324:164::-;2400:13;;2449;;2442:21;2432:32;;2422:60;;2478:1;2475;2468:12;2493:1513;2605:6;2658:2;2646:9;2637:7;2633:23;2629:32;2626:52;;;2674:1;2671;2664:12;2626:52;2701:16;;-1:-1:-1;;;;;2729:30:173;;2726:50;;;2772:1;2769;2762:12;2726:50;2795:22;;2851:6;2833:16;;;2829:29;2826:49;;;2871:1;2868;2861:12;2826:49;2897:22;;:::i;:::-;2942:33;2972:2;2942:33;:::i;:::-;2935:5;2928:48;3008:42;3046:2;3042;3038:11;3008:42;:::i;:::-;3003:2;2996:5;2992:14;2985:66;3083:42;3121:2;3117;3113:11;3083:42;:::i;:::-;3078:2;3067:14;;3060:66;3185:2;3177:11;;;3171:18;3205:14;;;3198:31;3262:43;3300:3;3292:12;;3262:43;:::i;:::-;3256:3;3245:15;;3238:68;3345:3;3337:12;;3331:19;-1:-1:-1;;;;;3362:32:173;;3359:52;;;3407:1;3404;3397:12;3359:52;3444:67;3503:7;3492:8;3488:2;3484:17;3444:67;:::i;:::-;3438:3;3427:15;;3420:92;-1:-1:-1;3551:3:173;3543:12;;3537:19;-1:-1:-1;;;;;3568:32:173;;3565:52;;;3613:1;3610;3603:12;3565:52;3650:56;3698:7;3687:8;3683:2;3679:17;3650:56;:::i;:::-;3644:3;3633:15;;3626:81;-1:-1:-1;3746:3:173;3738:12;;3732:19;-1:-1:-1;;;;;3763:32:173;;3760:52;;;3808:1;3805;3798:12;3760:52;3845:56;3893:7;3882:8;3878:2;3874:17;3845:56;:::i;:::-;3839:3;3832:5;3828:15;3821:81;;3935:40;3970:3;3966:2;3962:12;3935:40;:::i;:::-;3929:3;3918:15;;3911:65;3922:5;2493:1513;-1:-1:-1;;;;2493:1513:173:o;4401:127::-;4462:10;4457:3;4453:20;4450:1;4443:31;4493:4;4490:1;4483:15;4517:4;4514:1;4507:15;4533:380;4612:1;4608:12;;;;4655;;;4676:61;;4730:4;4722:6;4718:17;4708:27;;4676:61;4783:2;4775:6;4772:14;4752:18;4749:38;4746:161;;4829:10;4824:3;4820:20;4817:1;4810:31;4864:4;4861:1;4854:15;4892:4;4889:1;4882:15;4746:161;;4533:380;;;:::o;5044:518::-;5146:2;5141:3;5138:11;5135:421;;;5182:5;5179:1;5172:16;5226:4;5223:1;5213:18;5296:2;5284:10;5280:19;5277:1;5273:27;5267:4;5263:38;5332:4;5320:10;5317:20;5314:47;;;-1:-1:-1;5355:4:173;5314:47;5410:2;5405:3;5401:12;5398:1;5394:20;5388:4;5384:31;5374:41;;5465:81;5483:2;5476:5;5473:13;5465:81;;;5542:1;5528:16;;5509:1;5498:13;5465:81;;;5469:3;;5135:421;5044:518;;;:::o;5738:1299::-;5858:10;;-1:-1:-1;;;;;5880:30:173;;5877:56;;;5913:18;;:::i;:::-;5942:97;6032:6;5992:38;6024:4;6018:11;5992:38;:::i;:::-;5986:4;5942:97;:::i;:::-;6088:4;6119:2;6108:14;;6136:1;6131:649;;;;6824:1;6841:6;6838:89;;;-1:-1:-1;6893:19:173;;;6887:26;6838:89;-1:-1:-1;;5695:1:173;5691:11;;;5687:24;5683:29;5673:40;5719:1;5715:11;;;5670:57;6940:81;;6101:930;;6131:649;4991:1;4984:14;;;5028:4;5015:18;;-1:-1:-1;;6167:20:173;;;6285:222;6299:7;6296:1;6293:14;6285:222;;;6381:19;;;6375:26;6360:42;;6488:4;6473:20;;;;6441:1;6429:14;;;;6315:12;6285:222;;;6289:3;6535:6;6526:7;6523:19;6520:201;;;6596:19;;;6590:26;-1:-1:-1;;6679:1:173;6675:14;;;6691:3;6671:24;6667:37;6663:42;6648:58;6633:74;;6520:201;-1:-1:-1;;;;6767:1:173;6751:14;;;6747:22;6734:36;;-1:-1:-1;5738:1299:173:o;:::-;2662:6645:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b506004361061016d575f3560e01c806381d2fd9c116100d9578063c4797ec511610093578063dd71369c1161006e578063dd71369c14610344578063e5eab09614610363578063f2fde38b14610376578063fc67935414610389575f5ffd5b8063c4797ec514610316578063c47ca04c14610329578063c8f832bf14610331575f5ffd5b806381d2fd9c146102be5780638da5cb5b146102d1578063939af6cd146102e15780639c281430146102f4578063a4d2342a146102fd578063bdbf3df514610305575f5ffd5b8063281ab6861161012a578063281ab686146102385780632997e86b1461024b5780632fb60c1a1461027d5780633148bf09146102905780634bc83332146102a3578063715018a6146102b6575f5ffd5b806303c230e31461017157806306433b1b146101b55780630c43cd88146101dc5780631c04beac146101f45780631f4a2f591461020e5780632052e64014610223575b5f5ffd5b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6101e662093a8081565b6040519081526020016101ac565b6101fc601281565b60405160ff90911681526020016101ac565b6102166103ab565b6040516101ac9190610fc3565b610236610231366004610ff0565b610437565b005b610236610246366004610ff0565b610488565b61026d61025936600461100b565b60036020525f908152604090205460ff1681565b60405190151581526020016101ac565b61023661028b36600461100b565b6104db565b61023661029e36600461102f565b610535565b6102366102b13660046110df565b61058a565b6102366105ce565b6102366102cc36600461100b565b6105e1565b5f546001600160a01b0316610198565b6102366102ef366004611159565b61061e565b6101e660055481565b610198610893565b6101e669d3c21bcecceda100000081565b600154610198906001600160a01b031681565b610216610919565b61023661033f366004610ff0565b610926565b6101e6610352366004610ff0565b60046020525f908152604090205481565b6102366103713660046110df565b610976565b610236610384366004610ff0565b6109ba565b61026d610397366004610ff0565b60026020525f908152604090205460ff1681565b600780546103b890611190565b80601f01602080910402602001604051908101604052809291908181526020018280546103e490611190565b801561042f5780601f106104065761010080835404028352916020019161042f565b820191905f5260205f20905b81548152906001019060200180831161041257829003601f168201915b505050505081565b61043f6109fc565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa45d60f9a04c5d4fa0d11954a836395a6be6f5e6349f49e5a909f47b47556226905f90a250565b6104906109fc565b6001600160a01b0381165f81815260026020526040808220805460ff19166001179055517f1a7d1f088493549086cb72318a43863e0a9c0b234d8e3e7f6280eeefecf8271b9190a250565b6104e36109fc565b5f8181526003602052604090819020805460ff19169055517ffc4b8a996e96263e8117c0318ab1f58a505eaf4b902cbd3520254dfc70e55de59061052a9083815260200190565b60405180910390a150565b61053d6109fc565b60018054821515600160a01b0260ff60a01b199091161790556040517f637373a04f9cdebef9e86caa4792cf3aa4ff58364154f47a07d9ad062ec0de179061052a90831515815260200190565b6105926109fc565b600761059e8282611214565b507f8a901a187220633e2a04102348a39ec0ad895a358c69bd739bac4366c5e894e98160405161052a9190610fc3565b6105d66109fc565b6105df5f610a28565b565b6105e96109fc565b60058190556040518181527f07b130fc089b6153dc5748b5d744efe6ec1dd025c8c48e5b105e632f6cbd93da9060200161052a565b6005546040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610683573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a791906112cf565b10156106c657604051631e9acf1760e31b815260040160405180910390fd5b335f9081526002602052604090205460ff16156107b05760055460405163a9059cbb60e01b815233600482015260248101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561074b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076f91906112e6565b50600554604080519182525f602083015233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a250565b5f6107bb3383610a77565b60055460405163a9059cbb60e01b815233600482015260248101919091529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561082c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085091906112e6565b50600554604080519182526020820183905233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a25050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663971b0e6b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109149190611301565b905090565b600680546103b890611190565b61092e6109fc565b6001600160a01b0381165f81815260026020526040808220805460ff19169055517f77fb7b49e433c24c33405358716dab4b3b3a8aee00a916f99e3717debf176ce19190a250565b61097e6109fc565b600661098a8282611214565b507ffe4d94448068b38fa4f90d468459f31695b3816d3b780071c1ae1c8a969ef5438160405161052a9190610fc3565b6109c26109fc565b6001600160a01b0381166109f057604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6109f981610a28565b50565b5f546001600160a01b031633146105df5760405163118cdaa760e01b81523360048201526024016109e7565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610a85606083018361131c565b610a9690608081019060600161102f565b15610ab4576040516309bde33960e01b815260040160405180910390fd5b6006604051610ac3919061133a565b604051908190039020610ad9606084018461131c565b610ae79060208101906113ab565b604051610af59291906113f5565b604051809103902014610b1b576040516375893cc160e11b815260040160405180910390fd5b6007604051610b2a919061133a565b604051908190039020610b40606084018461131c565b610b4e9060408101906113ab565b604051610b5c9291906113f5565b604051809103902014610b825760405163725a844f60e01b815260040160405180910390fd5b62093a80610b93606084018461131c565b3514610bb25760405163b26af78d60e01b815260040160405180910390fd5b60015460405163578bd92160e01b81525f9182916001600160a01b039091169063578bd92190610be69087906004016114fa565b606060405180830381865afa158015610c01573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c25919061161b565b909450909250905081610c4b576040516309bde33960e01b815260040160405180910390fd5b5f83815260036020526040902054839060ff1615610c7f576040516390a3baff60e01b81526004016109e791815260200190565b50600154600160a01b900460ff16610f5c575f6001600160a01b038216630af18ba6610cae60408801886113ab565b6040518363ffffffff1660e01b8152600401610ccb92919061165b565b5f60405180830381865afa158015610ce5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d0c9190810190611676565b8051909150866001600160a01b0382811690821614610d5157604051636e68e5e760e11b81526001600160a01b039283166004820152911660248201526044016109e7565b5050602081015146818114610d8257604051639fba672f60e01b8152600481019290925260248201526044016109e7565b505060408101515115610da85760405163db7eeb0960e01b815260040160405180910390fd5b60408051600480825260a082019092525f91816020015b6060815260200190600190039081610dbf5790505090506040518060400160405280600381526020016221aaa160e91b815250815f81518110610e0457610e0461173d565b60200260200101819052506040518060400160405280600381526020016224a92760e91b81525081600181518110610e3e57610e3e61173d565b60200260200101819052506040518060400160405280600381526020016250524b60e81b81525081600281518110610e7857610e7861173d565b6020026020010181905250604051806040016040528060038152602001622aa5a960e91b81525081600381518110610eb257610eb261173d565b60209081029190910101525f6001600160a01b03841663d3fb610f83610edb60408b018b6113ab565b6040518463ffffffff1660e01b8152600401610ef993929190611751565b602060405180830381865afa158015610f14573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3891906112e6565b905080610f58576040516372917c7360e11b815260040160405180910390fd5b5050505b50505f818152600360209081526040808320805460ff191660011790556001600160a01b03909516825260049052929092208290555090565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610fd56020830184610f95565b9392505050565b6001600160a01b03811681146109f9575f5ffd5b5f60208284031215611000575f5ffd5b8135610fd581610fdc565b5f6020828403121561101b575f5ffd5b5035919050565b80151581146109f9575f5ffd5b5f6020828403121561103f575f5ffd5b8135610fd581611022565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156110815761108161104a565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156110b0576110b061104a565b604052919050565b5f67ffffffffffffffff8211156110d1576110d161104a565b50601f01601f191660200190565b5f602082840312156110ef575f5ffd5b813567ffffffffffffffff811115611105575f5ffd5b8201601f81018413611115575f5ffd5b8035611128611123826110b8565b611087565b81815285602083850101111561113c575f5ffd5b816020840160208301375f91810160200191909152949350505050565b5f60208284031215611169575f5ffd5b813567ffffffffffffffff81111561117f575f5ffd5b820160808185031215610fd5575f5ffd5b600181811c908216806111a457607f821691505b6020821081036111c257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561120f57805f5260205f20601f840160051c810160208510156111ed5750805b601f840160051c820191505b8181101561120c575f81556001016111f9565b50505b505050565b815167ffffffffffffffff81111561122e5761122e61104a565b6112428161123c8454611190565b846111c8565b6020601f821160018114611274575f831561125d5750848201515b5f19600385901b1c1916600184901b17845561120c565b5f84815260208120601f198516915b828110156112a35787850151825560209485019460019092019101611283565b50848210156112c057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156112df575f5ffd5b5051919050565b5f602082840312156112f6575f5ffd5b8151610fd581611022565b5f60208284031215611311575f5ffd5b8151610fd581610fdc565b5f8235607e19833603018112611330575f5ffd5b9190910192915050565b5f5f835461134781611190565b60018216801561135e5760018114611373576113a0565b60ff19831686528115158202860193506113a0565b865f5260205f205f5b838110156113985781548882015260019091019060200161137c565b505081860193505b509195945050505050565b5f5f8335601e198436030181126113c0575f5ffd5b83018035915067ffffffffffffffff8211156113da575f5ffd5b6020019150368190038213156113ee575f5ffd5b9250929050565b818382375f9101908152919050565b5f5f8335601e19843603018112611419575f5ffd5b830160208101925035905067ffffffffffffffff811115611438575f5ffd5b8036038213156113ee575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f8235607e19833603018112611482575f5ffd5b90910192915050565b803582525f61149d6020830183611404565b608060208601526114b2608086018284611446565b9150506114c26040840184611404565b85830360408701526114d5838284611446565b9250505060608301356114e781611022565b8015156060860152508091505092915050565b60208082528235828201525f9083013536849003605e1901811261151c575f5ffd5b608060408401528301803560a08401526115396020820182611404565b606060c086015261154f61010086018284611446565b9150506040820135601e19833603018112611568575f5ffd5b60209201918201913567ffffffffffffffff811115611585575f5ffd5b8060051b803603841315611597575f5ffd5b858303609f190160e08701528183526001600160fb1b038211156115b9575f5ffd5b8084602085013780830193505050506115d56040850185611404565b84830360608601526115eb602084018284611446565b925050506115fc606085018561146e565b838203601f19016080850152611612828261148b565b95945050505050565b5f5f5f6060848603121561162d575f5ffd5b835161163881611022565b60208501516040860151919450925061165081610fdc565b809150509250925092565b602081525f61166e602083018486611446565b949350505050565b5f60208284031215611686575f5ffd5b815167ffffffffffffffff81111561169c575f5ffd5b8201606081850312156116ad575f5ffd5b6116b561105e565b81516116c081610fdc565b815260208281015190820152604082015167ffffffffffffffff8111156116e5575f5ffd5b80830192505084601f8301126116f9575f5ffd5b8151611707611123826110b8565b81815286602083860101111561171b575f5ffd5b8160208501602083015e5f918101602001919091526040820152949350505050565b634e487b7160e01b5f52603260045260245ffd5b5f604082016040835280865180835260608501915060608160051b8601019250602088015f5b828110156117a857605f19878603018452611793858351610f95565b94506020938401939190910190600101611777565b5050505082810360208401526117bf818587611446565b969550505050505056fea2646970667358221220f36f92f862980a306d42a0432328486a34d9aa4311e24feb8c259b802eceaba064736f6c634300081e0033","sourceMap":"2662:6645:154:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3426:45;;;;;;;;-1:-1:-1;;;;;203:32:173;;;185:51;;173:2;158:18;3426:45:154;;;;;;;;3475:35;;;;;3269:48;;3311:6;3269:48;;;;;620:25:173;;;608:2;593:18;3269:48:154;474:177:173;3198:34:154;;3230:2;3198:34;;;;;828:4:173;816:17;;;798:36;;786:2;771:18;3198:34:154;656:184:173;3883:24:154;;;:::i;:::-;;;;;;;:::i;5857:238::-;;;;;;:::i;:::-;;:::i;:::-;;6415:161;;;;;;:::i;:::-;;:::i;3658:59::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2148:14:173;;2141:22;2123:41;;2111:2;2096:18;3658:59:154;1983:187:173;5681:172:154;;;;;;:::i;:::-;;:::i;6751:185::-;;;;;;:::i;:::-;;:::i;6260:151::-;;;;;;:::i;:::-;;:::i;2293:101:35:-;;;:::i;5513:164:154:-;;;;;;:::i;:::-;;:::i;1638:85:35:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:35;1638:85;;4797:712:154;;;;;;:::i;:::-;;:::i;3794:27::-;;;;;;6940:140;;;:::i;3357:64::-;;3405:16;3357:64;;3515:44;;;;;-1:-1:-1;;;;;3515:44:154;;;3854:25;;;:::i;6580:167::-;;;;;;:::i;:::-;;:::i;3721:68::-;;;;;;:::i;:::-;;;;;;;;;;;;;;6099:157;;;;;;:::i;:::-;;:::i;2543:215:35:-;;;;;;:::i;:::-;;:::i;3596:58:154:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3883:24;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5857:238::-;1531:13:35;:11;:13::i;:::-;5973:18:154::1;:60:::0;;-1:-1:-1;;;;;;5973:60:154::1;-1:-1:-1::0;;;;;5973:60:154;::::1;::::0;;::::1;::::0;;;6044:46:::1;::::0;::::1;::::0;-1:-1:-1;;6044:46:154::1;5857:238:::0;:::o;6415:161::-;1531:13:35;:11;:13::i;:::-;-1:-1:-1;;;;;6510:20:154;::::1;;::::0;;;:10:::1;:20;::::0;;;;;:27;;-1:-1:-1;;6510:27:154::1;6533:4;6510:27;::::0;;6548:23;::::1;::::0;6510:20;6548:23:::1;6415:161:::0;:::o;5681:172::-;1531:13:35;:11;:13::i;:::-;5806:5:154::1;5781:22:::0;;;:10:::1;:22;::::0;;;;;;:30;;-1:-1:-1;;5781:30:154::1;::::0;;5822:26;::::1;::::0;::::1;::::0;5792:10;620:25:173;;608:2;593:18;;474:177;5822:26:154::1;;;;;;;;5681:172:::0;:::o;6751:185::-;1531:13:35;:11;:13::i;:::-;6854::154::1;:30:::0;;;::::1;;-1:-1:-1::0;;;6854:30:154::1;-1:-1:-1::0;;;;6854:30:154;;::::1;;::::0;;6895:36:::1;::::0;::::1;::::0;::::1;::::0;6870:14;2148::173;2141:22;2123:41;;2111:2;2096:18;;1983:187;6260:151:154;1531:13:35;:11;:13::i;:::-;6356:10:154::1;:19;6369:6:::0;6356:10;:19:::1;:::i;:::-;;6386:20;6399:6;6386:20;;;;;;:::i;2293:101:35:-:0;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;5513:164:154:-;1531:13:35;:11;:13::i;:::-;5611:12:154::1;:22:::0;;;5644:28:::1;::::0;620:25:173;;;5644:28:154::1;::::0;608:2:173;593:18;5644:28:154::1;474:177:173::0;4797:712:154;4986:12;;4944:38;;-1:-1:-1;;;4944:38:154;;4976:4;4944:38;;;185:51:173;4944:13:154;-1:-1:-1;;;;;4944:23:154;;;;158:18:173;;4944:38:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:54;;4936:86;;;;-1:-1:-1;;;4936:86:154;;;;;;;;;;;;5044:10;5033:22;;;;:10;:22;;;;;;;;5029:211;;;5148:12;;5113:48;;-1:-1:-1;;;5113:48:154;;5136:10;5113:48;;;8296:51:173;8363:18;;;8356:34;;;;5113:13:154;-1:-1:-1;;;;;5113:22:154;;;;8269:18:173;;5113:48:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5194:12:154;;5174:45;;;8825:25:173;;;5216:1:154;8881:2:173;8866:18;;8859:34;5182:10:154;;5174:45;;8798:18:173;5174:45:154;;;;;;;4797:712;:::o;5029:211::-;5298:17;5318:43;5341:10;5353:7;5318:22;:43::i;:::-;5436:12;;5401:48;;-1:-1:-1;;;5401:48:154;;5424:10;5401:48;;;8296:51:173;8363:18;;;8356:34;;;;5298:63:154;;-1:-1:-1;5401:13:154;-1:-1:-1;;;;;5401:22:154;;;;8269:18:173;;5401:48:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5480:12:154;;5460:44;;;8825:25:173;;;8881:2;8866:18;;8859:34;;;5468:10:154;;5460:44;;8798:18:173;5460:44:154;;;;;;;4894:615;4797:712;:::o;6940:140::-;7015:7;7045:8;-1:-1:-1;;;;;7045:27:154;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7030:45;;6940:140;:::o;3854:25::-;;;;;;;:::i;6580:167::-;1531:13:35;:11;:13::i;:::-;-1:-1:-1;;;;;6678:20:154;::::1;6701:5;6678:20:::0;;;:10:::1;:20;::::0;;;;;:28;;-1:-1:-1;;6678:28:154::1;::::0;;6717:25;::::1;::::0;6701:5;6717:25:::1;6580:167:::0;:::o;6099:157::-;1531:13:35;:11;:13::i;:::-;6197:11:154::1;:21;6211:7:::0;6197:11;:21:::1;:::i;:::-;;6229:22;6243:7;6229:22;;;;;;:::i;2543:215:35:-:0;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:35;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:35;;2700:1:::1;2672:31;::::0;::::1;185:51:173::0;158:18;;2672:31:35::1;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:35;735:10:48;1855:23:35;1851:101;;1901:40;;-1:-1:-1;;;1901:40:35;;735:10:48;1901:40:35;;;185:51:173;158:18;;1901:40:35;14:228:173;2912:187:35;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:35;;;-1:-1:-1;;;;;;3020:17:35;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;7281:2024:154:-;7396:17;7632:21;;;;:7;:21;:::i;:::-;:29;;;;;;;;;:::i;:::-;:38;7624:63;;;;-1:-1:-1;;;7624:63:154;;;;;;;;;;;;7768:11;7752:29;;;;;;:::i;:::-;;;;;;;;;7718:21;;;;:7;:21;:::i;:::-;:28;;;;;;;:::i;:::-;7702:46;;;;;;;:::i;:::-;;;;;;;;:79;7694:105;;;;-1:-1:-1;;;7694:105:154;;;;;;;;;;;;7878:10;7862:28;;;;;;:::i;:::-;;;;;;;;;7829:21;;;;:7;:21;:::i;:::-;:27;;;;;;;:::i;:::-;7813:45;;;;;;;:::i;:::-;;;;;;;;:77;7805:102;;;;-1:-1:-1;;;7805:102:154;;;;;;;;;;;;3311:6;7921:21;;;;:7;:21;:::i;:::-;:45;:64;7913:98;;;;-1:-1:-1;;;7913:98:154;;;;;;;;;;;;8098:18;;:34;;-1:-1:-1;;;8098:34:154;;8018:13;;;;-1:-1:-1;;;;;8098:18:154;;;;:25;;:34;;8124:7;;8098:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8066:66;;-1:-1:-1;8066:66:154;;-1:-1:-1;8066:66:154;-1:-1:-1;8066:66:154;8139:33;;;;-1:-1:-1;;;8139:33:154;;;;;;;;;;;;8187:21;;;;:10;:21;;;;;;8198:9;;8187:21;;8186:22;8178:57;;;;-1:-1:-1;;;8178:57:154;;;;;;620:25:173;;608:2;593:18;;474:177;8178:57:154;-1:-1:-1;8247:13:154;;-1:-1:-1;;;8247:13:154;;;;8242:948;;8270:26;-1:-1:-1;;;;;8299:19:154;;;8319:23;;;;:7;:23;:::i;:::-;8299:44;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8299:44:154;;;;;;;;;;;;:::i;:::-;8427:23;;8270:73;;-1:-1:-1;8454:5:154;-1:-1:-1;;;;;8427:32:154;;;;;;;8419:94;;;;-1:-1:-1;;;8419:94:154;;-1:-1:-1;;;;;17853:32:173;;;8419:94:154;;;17835:51:173;17922:32;;17902:18;;;17895:60;17808:18;;8419:94:154;17661:300:173;8419:94:154;-1:-1:-1;;8595:17:154;;;;8616:13;8595:34;;;8587:93;;;;-1:-1:-1;;;8587:93:154;;;;;8825:25:173;;;;8866:18;;;8859:34;8798:18;;8587:93:154;8651:248:173;8587:93:154;-1:-1:-1;;8746:20:154;;;;8740:34;:39;8732:76;;;;-1:-1:-1;;;8732:76:154;;;;;;;;;;;;8886:15;;;8899:1;8886:15;;;;;;;;;8850:33;;8886:15;;;;;;;;;;;;;;;;;;;;8850:51;;8932:3;;;;;;;;;;;;;-1:-1:-1;;;8932:3:154;;;8909:17;8927:1;8909:20;;;;;;;;:::i;:::-;;;;;;:26;;;;8966:3;;;;;;;;;;;;;-1:-1:-1;;;8966:3:154;;;8943:17;8961:1;8943:20;;;;;;;;:::i;:::-;;;;;;:26;;;;9000:3;;;;;;;;;;;;;-1:-1:-1;;;9000:3:154;;;8977:17;8995:1;8977:20;;;;;;;;:::i;:::-;;;;;;:26;;;;9034:3;;;;;;;;;;;;;-1:-1:-1;;;9034:3:154;;;9011:17;9029:1;9011:20;;;;;;;;:::i;:::-;;;;;;;;;;:26;9045:19;-1:-1:-1;;;;;9067:23:154;;;9091:17;9110:23;;;;:7;:23;:::i;:::-;9067:67;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9045:89;;9150:14;9142:41;;;;-1:-1:-1;;;9142:41:154;;;;;;;;;;;;8262:928;;;8242:948;-1:-1:-1;;9229:21:154;;;;:10;:21;;;;;;;;:28;;-1:-1:-1;;9229:28:154;9253:4;9229:28;;;-1:-1:-1;;;;;9263:25:154;;;;;:18;:25;;;;;;:37;;;-1:-1:-1;9240:9:154;7281:2024::o;845:289:173:-;887:3;925:5;919:12;952:6;947:3;940:19;1008:6;1001:4;994:5;990:16;983:4;978:3;974:14;968:47;1060:1;1053:4;1044:6;1039:3;1035:16;1031:27;1024:38;1123:4;1116:2;1112:7;1107:2;1099:6;1095:15;1091:29;1086:3;1082:39;1078:50;1071:57;;;845:289;;;;:::o;1139:220::-;1288:2;1277:9;1270:21;1251:4;1308:45;1349:2;1338:9;1334:18;1326:6;1308:45;:::i;:::-;1300:53;1139:220;-1:-1:-1;;;1139:220:173:o;1364:131::-;-1:-1:-1;;;;;1439:31:173;;1429:42;;1419:70;;1485:1;1482;1475:12;1500:247;1559:6;1612:2;1600:9;1591:7;1587:23;1583:32;1580:52;;;1628:1;1625;1618:12;1580:52;1667:9;1654:23;1686:31;1711:5;1686:31;:::i;1752:226::-;1811:6;1864:2;1852:9;1843:7;1839:23;1835:32;1832:52;;;1880:1;1877;1870:12;1832:52;-1:-1:-1;1925:23:173;;1752:226;-1:-1:-1;1752:226:173:o;2175:118::-;2261:5;2254:13;2247:21;2240:5;2237:32;2227:60;;2283:1;2280;2273:12;2298:241;2354:6;2407:2;2395:9;2386:7;2382:23;2378:32;2375:52;;;2423:1;2420;2413:12;2375:52;2462:9;2449:23;2481:28;2503:5;2481:28;:::i;2544:127::-;2605:10;2600:3;2596:20;2593:1;2586:31;2636:4;2633:1;2626:15;2660:4;2657:1;2650:15;2676:253;2748:2;2742:9;2790:4;2778:17;;2825:18;2810:34;;2846:22;;;2807:62;2804:88;;;2872:18;;:::i;:::-;2908:2;2901:22;2676:253;:::o;2934:275::-;3005:2;2999:9;3070:2;3051:13;;-1:-1:-1;;3047:27:173;3035:40;;3105:18;3090:34;;3126:22;;;3087:62;3084:88;;;3152:18;;:::i;:::-;3188:2;3181:22;2934:275;;-1:-1:-1;2934:275:173:o;3214:187::-;3263:4;3296:18;3288:6;3285:30;3282:56;;;3318:18;;:::i;:::-;-1:-1:-1;3384:2:173;3363:15;-1:-1:-1;;3359:29:173;3390:4;3355:40;;3214:187::o;3406:697::-;3475:6;3528:2;3516:9;3507:7;3503:23;3499:32;3496:52;;;3544:1;3541;3534:12;3496:52;3584:9;3571:23;3617:18;3609:6;3606:30;3603:50;;;3649:1;3646;3639:12;3603:50;3672:22;;3725:4;3717:13;;3713:27;-1:-1:-1;3703:55:173;;3754:1;3751;3744:12;3703:55;3794:2;3781:16;3819:53;3835:36;3864:6;3835:36;:::i;:::-;3819:53;:::i;:::-;3895:6;3888:5;3881:21;3943:7;3938:2;3929:6;3925:2;3921:15;3917:24;3914:37;3911:57;;;3964:1;3961;3954:12;3911:57;4019:6;4014:2;4010;4006:11;4001:2;3994:5;3990:14;3977:49;4071:1;4046:18;;;4066:2;4042:27;4035:38;;;;4050:5;3406:697;-1:-1:-1;;;;3406:697:173:o;4547:404::-;4650:6;4703:2;4691:9;4682:7;4678:23;4674:32;4671:52;;;4719:1;4716;4709:12;4671:52;4759:9;4746:23;4792:18;4784:6;4781:30;4778:50;;;4824:1;4821;4814:12;4778:50;4847:22;;4903:3;4885:16;;;4881:26;4878:46;;;4920:1;4917;4910:12;5378:380;5457:1;5453:12;;;;5500;;;5521:61;;5575:4;5567:6;5563:17;5553:27;;5521:61;5628:2;5620:6;5617:14;5597:18;5594:38;5591:161;;5674:10;5669:3;5665:20;5662:1;5655:31;5709:4;5706:1;5699:15;5737:4;5734:1;5727:15;5591:161;;5378:380;;;:::o;5889:518::-;5991:2;5986:3;5983:11;5980:421;;;6027:5;6024:1;6017:16;6071:4;6068:1;6058:18;6141:2;6129:10;6125:19;6122:1;6118:27;6112:4;6108:38;6177:4;6165:10;6162:20;6159:47;;;-1:-1:-1;6200:4:173;6159:47;6255:2;6250:3;6246:12;6243:1;6239:20;6233:4;6229:31;6219:41;;6310:81;6328:2;6321:5;6318:13;6310:81;;;6387:1;6373:16;;6354:1;6343:13;6310:81;;;6314:3;;5980:421;5889:518;;;:::o;6583:1299::-;6709:3;6703:10;6736:18;6728:6;6725:30;6722:56;;;6758:18;;:::i;:::-;6787:97;6877:6;6837:38;6869:4;6863:11;6837:38;:::i;:::-;6831:4;6787:97;:::i;:::-;6933:4;6964:2;6953:14;;6981:1;6976:649;;;;7669:1;7686:6;7683:89;;;-1:-1:-1;7738:19:173;;;7732:26;7683:89;-1:-1:-1;;6540:1:173;6536:11;;;6532:24;6528:29;6518:40;6564:1;6560:11;;;6515:57;7785:81;;6946:930;;6976:649;5836:1;5829:14;;;5873:4;5860:18;;-1:-1:-1;;7012:20:173;;;7130:222;7144:7;7141:1;7138:14;7130:222;;;7226:19;;;7220:26;7205:42;;7333:4;7318:20;;;;7286:1;7274:14;;;;7160:12;7130:222;;;7134:3;7380:6;7371:7;7368:19;7365:201;;;7441:19;;;7435:26;-1:-1:-1;;7524:1:173;7520:14;;;7536:3;7516:24;7512:37;7508:42;7493:58;7478:74;;7365:201;-1:-1:-1;;;;7612:1:173;7596:14;;;7592:22;7579:36;;-1:-1:-1;6583:1299:173:o;7887:230::-;7957:6;8010:2;7998:9;7989:7;7985:23;7981:32;7978:52;;;8026:1;8023;8016:12;7978:52;-1:-1:-1;8071:16:173;;7887:230;-1:-1:-1;7887:230:173:o;8401:245::-;8468:6;8521:2;8509:9;8500:7;8496:23;8492:32;8489:52;;;8537:1;8534;8527:12;8489:52;8569:9;8563:16;8588:28;8610:5;8588:28;:::i;8904:273::-;8996:6;9049:2;9037:9;9028:7;9024:23;9020:32;9017:52;;;9065:1;9062;9055:12;9017:52;9097:9;9091:16;9116:31;9141:5;9116:31;:::i;9182:332::-;9282:4;9340:11;9327:25;9434:3;9430:8;9419;9403:14;9399:29;9395:44;9375:18;9371:69;9361:97;;9454:1;9451;9444:12;9361:97;9475:33;;;;;9182:332;-1:-1:-1;;9182:332:173:o;9519:799::-;9649:3;9678:1;9711:6;9705:13;9741:36;9767:9;9741:36;:::i;:::-;9808:1;9793:17;;9819:133;;;;9966:1;9961:332;;;;9786:507;;9819:133;-1:-1:-1;;9852:24:173;;9840:37;;9925:14;;9918:22;9906:35;;9897:45;;;-1:-1:-1;9819:133:173;;9961:332;9992:6;9989:1;9982:17;10040:4;10037:1;10027:18;10067:1;10081:166;10095:6;10092:1;10089:13;10081:166;;;10175:14;;10162:11;;;10155:35;10231:1;10218:15;;;;10117:4;10110:12;10081:166;;;10085:3;;10276:6;10271:3;10267:16;10260:23;;9786:507;-1:-1:-1;10309:3:173;;9519:799;-1:-1:-1;;;;;9519:799:173:o;10323:522::-;10401:4;10407:6;10467:11;10454:25;10561:2;10557:7;10546:8;10530:14;10526:29;10522:43;10502:18;10498:68;10488:96;;10580:1;10577;10570:12;10488:96;10607:33;;10659:20;;;-1:-1:-1;10702:18:173;10691:30;;10688:50;;;10734:1;10731;10724:12;10688:50;10767:4;10755:17;;-1:-1:-1;10798:14:173;10794:27;;;10784:38;;10781:58;;;10835:1;10832;10825:12;10781:58;10323:522;;;;;:::o;10850:271::-;11033:6;11025;11020:3;11007:33;10989:3;11059:16;;11084:13;;;11059:16;10850:271;-1:-1:-1;10850:271:173:o;11126:500::-;11184:5;11191:6;11251:3;11238:17;11337:2;11333:7;11322:8;11306:14;11302:29;11298:43;11278:18;11274:68;11264:96;;11356:1;11353;11346:12;11264:96;11384:33;;11488:4;11475:18;;;-1:-1:-1;11436:21:173;;-1:-1:-1;11516:18:173;11505:30;;11502:50;;;11548:1;11545;11538:12;11502:50;11595:6;11579:14;11575:27;11568:5;11564:39;11561:59;;;11616:1;11613;11606:12;11631:266;11719:6;11714:3;11707:19;11771:6;11764:5;11757:4;11752:3;11748:14;11735:43;-1:-1:-1;11823:1:173;11798:16;;;11816:4;11794:27;;;11787:38;;;;11879:2;11858:15;;;-1:-1:-1;;11854:29:173;11845:39;;;11841:50;;11631:266::o;11902:299::-;11975:5;12034:3;12021:17;12120:3;12116:8;12105;12089:14;12085:29;12081:44;12061:18;12057:69;12047:97;;12140:1;12137;12130:12;12047:97;12162:33;;;;11902:299;-1:-1:-1;;11902:299:173:o;12206:804::-;12325:19;;12353:20;;12271:3;12416:55;12465:4;12454:16;;12338:5;12416:55;:::i;:::-;12503:4;12496;12491:3;12487:14;12480:28;12529:69;12592:4;12587:3;12583:14;12569:12;12555;12529:69;:::i;:::-;12517:81;;;12645:55;12694:4;12687:5;12683:16;12676:5;12645:55;:::i;:::-;12742:3;12736:4;12732:14;12725:4;12720:3;12716:14;12709:38;12770:63;12828:4;12812:14;12796;12770:63;:::i;:::-;12756:77;;;;12881:4;12874:5;12870:16;12857:30;12896;12918:7;12896:30;:::i;:::-;12972:7;12965:15;12958:23;12951:4;12946:3;12942:14;12935:47;;12998:6;12991:13;;;12206:804;;;;:::o;13015:2198::-;13230:2;13212:21;;;13274:20;;13310:18;;;13303:33;13193:4;;13384:15;;13371:29;13451:14;13447:27;;;-1:-1:-1;;13443:41:173;13419:66;;13409:94;;13499:1;13496;13489:12;13409:94;13594:4;13589:2;13574:18;;13567:32;13527:31;;13644:21;;13696:3;13681:19;;13674:36;13753:57;13806:2;13793:16;;13527:31;13753:57;:::i;:::-;13847:4;13841:3;13830:9;13826:19;13819:33;13875:74;13944:3;13933:9;13929:19;13915:12;13901;13875:74;:::i;:::-;13861:88;;;14012:2;14003:7;13999:16;13986:30;14099:2;14095:7;14085;14069:14;14065:28;14061:42;14039:20;14035:69;14025:97;;14118:1;14115;14108:12;14025:97;14261:2;14146:34;;14248:16;;;;14203:21;14287:18;14276:30;;14273:50;;;14319:1;14316;14309:12;14273:50;14349:6;14346:1;14342:14;14401:2;14385:14;14381:23;14372:7;14368:37;14365:57;;;14418:1;14415;14408:12;14365:57;14463:22;;;-1:-1:-1;;14459:37:173;14453:3;14438:19;;14431:66;14506:22;;;-1:-1:-1;;;;;14540:31:173;;14537:51;;;14584:1;14581;14574:12;14537:51;14636:2;14627:7;14622:2;14614:6;14610:15;14597:42;14670:2;14662:6;14658:15;14648:25;;;;;14720:55;14771:2;14763:6;14759:15;14751:6;14720:55;:::i;:::-;14821:18;;;14806:4;14791:20;;14784:71;14878:70;14841:2;14936:11;;14920:14;14904;14878:70;:::i;:::-;14864:84;;;;14979:72;15045:4;15037:6;15033:17;15025:6;14979:72;:::i;:::-;15093:22;;;-1:-1:-1;;15089:36:173;15082:4;15067:20;;15060:66;15143:64;15097:6;15184:14;15143:64;:::i;:::-;15135:72;13015:2198;-1:-1:-1;;;;;13015:2198:173:o;15218:466::-;15329:6;15337;15345;15398:2;15386:9;15377:7;15373:23;15369:32;15366:52;;;15414:1;15411;15404:12;15366:52;15446:9;15440:16;15465:28;15487:5;15465:28;:::i;:::-;15557:2;15542:18;;15536:25;15606:2;15591:18;;15585:25;15512:5;;-1:-1:-1;15536:25:173;-1:-1:-1;15619:33:173;15585:25;15619:33;:::i;:::-;15671:7;15661:17;;;15218:466;;;;;:::o;16215:244::-;16372:2;16361:9;16354:21;16335:4;16392:61;16449:2;16438:9;16434:18;16426:6;16418;16392:61;:::i;:::-;16384:69;16215:244;-1:-1:-1;;;;16215:244:173:o;16464:1192::-;16562:6;16615:2;16603:9;16594:7;16590:23;16586:32;16583:52;;;16631:1;16628;16621:12;16583:52;16664:9;16658:16;16697:18;16689:6;16686:30;16683:50;;;16729:1;16726;16719:12;16683:50;16752:22;;16808:4;16790:16;;;16786:27;16783:47;;;16826:1;16823;16816:12;16783:47;16852:22;;:::i;:::-;16904:2;16898:9;16916:33;16941:7;16916:33;:::i;:::-;16958:22;;17039:2;17031:11;;;17025:18;17059:14;;;17052:31;17122:2;17114:11;;17108:18;17151;17138:32;;17135:52;;;17183:1;17180;17173:12;17135:52;17214:8;17210:2;17206:17;17196:27;;;17261:7;17254:4;17250:2;17246:13;17242:27;17232:55;;17283:1;17280;17273:12;17232:55;17316:2;17310:9;17341:53;17357:36;17386:6;17357:36;:::i;17341:53::-;17417:6;17410:5;17403:21;17465:7;17460:2;17451:6;17447:2;17443:15;17439:24;17436:37;17433:57;;;17486:1;17483;17476:12;17433:57;17534:6;17529:2;17525;17521:11;17516:2;17509:5;17505:14;17499:42;17586:1;17561:18;;;17581:2;17557:27;17550:38;;;;17615:2;17604:14;;17597:29;17608:5;16464:1192;-1:-1:-1;;;;16464:1192:173:o;18219:127::-;18280:10;18275:3;18271:20;18268:1;18261:31;18311:4;18308:1;18301:15;18335:4;18332:1;18325:15;18351:948;18569:4;18617:2;18606:9;18602:18;18647:2;18636:9;18629:21;18670:6;18705;18699:13;18736:6;18728;18721:22;18774:2;18763:9;18759:18;18752:25;;18836:2;18826:6;18823:1;18819:14;18808:9;18804:30;18800:39;18786:53;;18874:4;18866:6;18862:17;18897:1;18907:259;18921:6;18918:1;18915:13;18907:259;;;19014:2;19010:7;18998:9;18990:6;18986:22;18982:36;18977:3;18970:49;19042:40;19075:6;19066;19060:13;19042:40;:::i;:::-;19032:50;-1:-1:-1;19117:4:173;19142:14;;;;19105:17;;;;;18943:1;18936:9;18907:259;;;18911:3;;;;19216:9;19208:6;19204:22;19197:4;19186:9;19182:20;19175:52;19244:49;19286:6;19278;19270;19244:49;:::i;:::-;19236:57;18351:948;-1:-1:-1;;;;;;18351:948:173:o","linkReferences":{},"immutableReferences":{"99506":[{"start":374,"length":32},{"start":1590,"length":32},{"start":1789,"length":32},{"start":2014,"length":32}],"99509":[{"start":442,"length":32},{"start":2198,"length":32}]}},"methodIdentifiers":{"DEFAULT_FAUCET_AMOUNT()":"bdbf3df5","MIN_AGE()":"1c04beac","REGISTRY()":"06433b1b","STAKING_ASSET()":"03c230e3","VALIDITY_PERIOD()":"0c43cd88","addUnhinged(address)":"281ab686","addressToNullifier(address)":"dd71369c","claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))":"939af6cd","faucetAmount()":"9c281430","getRollup()":"a4d2342a","isUnhinged(address)":"fc679354","nullifiers(bytes32)":"2997e86b","owner()":"8da5cb5b","removeUnhinged(address)":"c8f832bf","renounceOwnership()":"715018a6","resetNullifier(bytes32)":"2fb60c1a","setDomain(string)":"e5eab096","setFaucetAmount(uint256)":"81d2fd9c","setScope(string)":"4bc83332","setSkipBindCheck(bool)":"3148bf09","setZKPassportVerifier(address)":"2052e640","transferOwnership(address)":"f2fde38b","validDomain()":"c47ca04c","validScope()":"1f4a2f59","zkPassportVerifier()":"c4797ec5"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stakingAsset\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"faucetAmount\",\"type\":\"uint256\"},{\"internalType\":\"contract ZKPassportRootVerifier\",\"name\":\"zkPassportVerifier\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"unhinged\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"scope\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"skipBindCheck\",\"type\":\"bool\"}],\"internalType\":\"struct StakingAssetHandler.StakingAssetHandlerArgs\",\"name\":\"_args\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ExtraDiscloseDataNonZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAge\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_expected\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_received\",\"type\":\"address\"}],\"name\":\"InvalidBoundAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_received\",\"type\":\"uint256\"}],\"name\":\"InvalidChainId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCountry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDomain\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFaceMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidScope\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidValidityPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifier\",\"type\":\"bytes32\"}],\"name\":\"SybilDetected\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"name\":\"Claimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newDomain\",\"type\":\"string\"}],\"name\":\"DomainUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newAmount\",\"type\":\"uint256\"}],\"name\":\"FaucetAmountUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"name\":\"NullifierReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newScope\",\"type\":\"string\"}],\"name\":\"ScopeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_skipBindCheck\",\"type\":\"bool\"}],\"name\":\"SkipBindCheckUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"UnhingedAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"UnhingedRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"}],\"name\":\"ZKPassportVerifierUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_FAUCET_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_AGE\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REGISTRY\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_ASSET\",\"outputs\":[{\"internalType\":\"contract IMintableERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VALIDITY_PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"addUnhinged\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"addressToNullifier\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"vkeyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32[]\",\"name\":\"publicInputs\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct ProofVerificationData\",\"name\":\"proofVerificationData\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"committedInputs\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"validityPeriodInSeconds\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"scope\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"devMode\",\"type\":\"bool\"}],\"internalType\":\"struct ServiceConfig\",\"name\":\"serviceConfig\",\"type\":\"tuple\"}],\"internalType\":\"struct ProofVerificationParams\",\"name\":\"_params\",\"type\":\"tuple\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"faucetAmount\",\"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\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUnhinged\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isUnhinged\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"name\":\"nullifiers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"removeUnhinged\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifier\",\"type\":\"bytes32\"}],\"name\":\"resetNullifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_domain\",\"type\":\"string\"}],\"name\":\"setDomain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"setFaucetAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_scope\",\"type\":\"string\"}],\"name\":\"setScope\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_skipBindCheck\",\"type\":\"bool\"}],\"name\":\"setSkipBindCheck\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_zkPassportVerifier\",\"type\":\"address\"}],\"name\":\"setZKPassportVerifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validDomain\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validScope\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zkPassportVerifier\",\"outputs\":[{\"internalType\":\"contract ZKPassportRootVerifier\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))\":{\"params\":{\"_params\":\"- ZKPassport proof params (ignored for unhinged users)\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))\":{\"notice\":\"Claim STK tokens from the faucet\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/mock/StakingAssetHandler.sol\":\"StakingAssetHandler\"},\"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/circuits/src/solidity/src/Constants.sol\":{\"keccak256\":\"0x29a25ab24727bb03f356fe124eda7970f1769130855ebf584e4225e2718927a7\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3dff3096a211bcd97a4dad4e459bd3c684275e3271c493191d3819bbf4326702\",\"dweb:/ipfs/QmfLyG5f3JWRoY5sF9kkDLBDrxymQsuk9uncw65JdRa7Sp\"]},\"lib/circuits/src/solidity/src/DateUtils.sol\":{\"keccak256\":\"0x4176feda967f91ccf0a1cdecc75bbf7e5aaad7b46f95e133887e3ac6ae9126f6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6774599f7320a37f2e5cc22e0d8e59a1f46841a6ac94d7d45b072a809237e1ab\",\"dweb:/ipfs/QmdrX9uQKsvN9gTgCD1zd1kigvJGsgHbvabvdWaWHuSeY4\"]},\"lib/circuits/src/solidity/src/IProofVerifier.sol\":{\"keccak256\":\"0xf8acc6ee390c406eaa8415863f156e251935f8de51bcd3c876871fbe5b5b4f14\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://64016d156d15fd43d407e832fd7b333e07e80b42f0ed9d845a8cc114d3857aa6\",\"dweb:/ipfs/QmP7zSvchyDqov13cyuWxLJDYBBpYZxrPEdGQcheyoJkUm\"]},\"lib/circuits/src/solidity/src/IRootRegistry.sol\":{\"keccak256\":\"0xc994fab81ea1202a93620e7e7a01ba1e61f055498ed5b09503f4b384d0554b2a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://12a19bab224c63ee4a0e3b4048c24e80b3ef5a3459070816c20f2c32b2ad5f72\",\"dweb:/ipfs/QmW1DF8mAwBfacrG2r2R3uyY92i6q1h1hZvHPuwMdXTANg\"]},\"lib/circuits/src/solidity/src/InputsExtractor.sol\":{\"keccak256\":\"0xd8d08cc68a571c9efdddd90ea274c18694284d40a9f1d0a1112a4999fd6a58da\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://000752a284d1df5c0687d32554c83e99afedab49e23d7213679ed93424760450\",\"dweb:/ipfs/QmWrFS4ChUv4okqnEgSLiuSsxohDnTnYLWeyYviVbPTgcH\"]},\"lib/circuits/src/solidity/src/StringUtils.sol\":{\"keccak256\":\"0xd52eb407eef932c9a343f1225fc997b7194ff0f05c488661a7adb4a37f980306\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://60bfaf52ebd50633d6eff5ea346d25283962495c630b37f4c0cd6008e8d8fd11\",\"dweb:/ipfs/QmWVtJnjcaowsFUBRRQ7eNTntghZ4FekXXgeQNAV4PkDWe\"]},\"lib/circuits/src/solidity/src/Types.sol\":{\"keccak256\":\"0x66d73b090401a5f424e1feacf1b503dcd906163f4c749189db3dc108d6dfd668\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d90eff17b597915e95c01a171c4378e7e4e287d35ca25dbd3f684373e93cda0c\",\"dweb:/ipfs/QmYe1wixU4zZAogteHT5eubcB4qzScCYzLtYFpFBitpZeR\"]},\"lib/circuits/src/solidity/src/ZKPassportHelper.sol\":{\"keccak256\":\"0xebc7d0a4b7dae4a78d38381a36cc19e04933f302cf1f0516c8f5d68128afbd16\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7504f8711789c76e7294dd12bf172e5226034a5a2202057180ee047939eefa34\",\"dweb:/ipfs/QmTGuSBmYmDBWutpyTrxPxWQ7DA6kpV6kLQSwB3wMaLCN5\"]},\"lib/circuits/src/solidity/src/ZKPassportRootVerifier.sol\":{\"keccak256\":\"0x5fb7a856f66496a36e4de2ff2dca8fcce5a2c3db3adbf20910b1b20f24e6a009\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c2693f7a086c3ff60441a12a5d72c6a2fbd811123c03d73b0887474cbefe6355\",\"dweb:/ipfs/QmbTgqop8Fb9nxcUveDSDgyMXzVBY1xw2u8eMxaFfVVp1s\"]},\"lib/circuits/src/solidity/src/ZKPassportSubVerifier.sol\":{\"keccak256\":\"0x093e93f34571a7afe3c5a42192a366397b91e9fdb6167075b9250bcfd26fe8dd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://981fec528fb1f8a3032b99905801658305139d82679598579b7fe8afb1b7f6a1\",\"dweb:/ipfs/QmfZ1n1KrxcijmToULMgMccLLyLH5DVVQWJ9SrWPMTRrfw\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"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/mock/StakingAssetHandler.sol\":{\"keccak256\":\"0x34dea4351a502e562a7b78fdd20bd9c05e1617ef5d6fec980eb87ffde592deb3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c383a8c6f4ea4f58123982d5ec498a2aa6bd674d56ed1fdda2a9cb63a5de321a\",\"dweb:/ipfs/QmRNKajq7SMcsK6uP3R6JHW3R5QGdJnSMXK63fKey671Mv\"]},\"src/shared/interfaces/IMintableERC20.sol\":{\"keccak256\":\"0x792359f95fa1aac4165c353db75ddc87f44bee6c4ccc407a233dcad19d406d28\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b77fd327a807fdff9718e03476031d4b43c632ab3a2a2c5d0f36ceed7a547a1d\",\"dweb:/ipfs/QmacpqXy9ZLC8XnDubj8ax7VxqXD4jmsW2uc6of6LpBjUp\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct StakingAssetHandler.StakingAssetHandlerArgs","name":"_args","type":"tuple","components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"stakingAsset","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"uint256","name":"faucetAmount","type":"uint256"},{"internalType":"contract ZKPassportRootVerifier","name":"zkPassportVerifier","type":"address"},{"internalType":"address[]","name":"unhinged","type":"address[]"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"skipBindCheck","type":"bool"}]}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ExtraDiscloseDataNonZero"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidAge"},{"inputs":[{"internalType":"address","name":"_expected","type":"address"},{"internalType":"address","name":"_received","type":"address"}],"type":"error","name":"InvalidBoundAddress"},{"inputs":[{"internalType":"uint256","name":"_expected","type":"uint256"},{"internalType":"uint256","name":"_received","type":"uint256"}],"type":"error","name":"InvalidChainId"},{"inputs":[],"type":"error","name":"InvalidCountry"},{"inputs":[],"type":"error","name":"InvalidDomain"},{"inputs":[],"type":"error","name":"InvalidFaceMatch"},{"inputs":[],"type":"error","name":"InvalidProof"},{"inputs":[],"type":"error","name":"InvalidScope"},{"inputs":[],"type":"error","name":"InvalidValidityPeriod"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"bytes32","name":"_nullifier","type":"bytes32"}],"type":"error","name":"SybilDetected"},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes32","name":"nullifier","type":"bytes32","indexed":false}],"type":"event","name":"Claimed","anonymous":false},{"inputs":[{"internalType":"string","name":"newDomain","type":"string","indexed":false}],"type":"event","name":"DomainUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256","indexed":false}],"type":"event","name":"FaucetAmountUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"nullifier","type":"bytes32","indexed":false}],"type":"event","name":"NullifierReset","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"string","name":"newScope","type":"string","indexed":false}],"type":"event","name":"ScopeUpdated","anonymous":false},{"inputs":[{"internalType":"bool","name":"_skipBindCheck","type":"bool","indexed":false}],"type":"event","name":"SkipBindCheckUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true}],"type":"event","name":"UnhingedAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true}],"type":"event","name":"UnhingedRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"_verifier","type":"address","indexed":true}],"type":"event","name":"ZKPassportVerifierUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_FAUCET_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_AGE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REGISTRY","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_ASSET","outputs":[{"internalType":"contract IMintableERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VALIDITY_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addUnhinged"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"addressToNullifier","outputs":[{"internalType":"bytes32","name":"nullifier","type":"bytes32"}]},{"inputs":[{"internalType":"struct ProofVerificationParams","name":"_params","type":"tuple","components":[{"internalType":"bytes32","name":"version","type":"bytes32"},{"internalType":"struct ProofVerificationData","name":"proofVerificationData","type":"tuple","components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"}]},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"struct ServiceConfig","name":"serviceConfig","type":"tuple","components":[{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}]}]}],"stateMutability":"nonpayable","type":"function","name":"claim"},{"inputs":[],"stateMutability":"view","type":"function","name":"faucetAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRollup","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"isUnhinged","outputs":[{"internalType":"bool","name":"isUnhinged","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"nullifier","type":"bytes32"}],"stateMutability":"view","type":"function","name":"nullifiers","outputs":[{"internalType":"bool","name":"exists","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUnhinged"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"_nullifier","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"resetNullifier"},{"inputs":[{"internalType":"string","name":"_domain","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setDomain"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setFaucetAmount"},{"inputs":[{"internalType":"string","name":"_scope","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setScope"},{"inputs":[{"internalType":"bool","name":"_skipBindCheck","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setSkipBindCheck"},{"inputs":[{"internalType":"address","name":"_zkPassportVerifier","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setZKPassportVerifier"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"validDomain","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"validScope","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"zkPassportVerifier","outputs":[{"internalType":"contract ZKPassportRootVerifier","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))":{"params":{"_params":"- ZKPassport proof params (ignored for unhinged users)"}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))":{"notice":"Claim STK tokens from the faucet"}},"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/mock/StakingAssetHandler.sol":"StakingAssetHandler"},"evmVersion":"prague","libraries":{}},"sources":{"lib/circuits/src/solidity/src/Constants.sol":{"keccak256":"0x29a25ab24727bb03f356fe124eda7970f1769130855ebf584e4225e2718927a7","urls":["bzz-raw://3dff3096a211bcd97a4dad4e459bd3c684275e3271c493191d3819bbf4326702","dweb:/ipfs/QmfLyG5f3JWRoY5sF9kkDLBDrxymQsuk9uncw65JdRa7Sp"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/DateUtils.sol":{"keccak256":"0x4176feda967f91ccf0a1cdecc75bbf7e5aaad7b46f95e133887e3ac6ae9126f6","urls":["bzz-raw://6774599f7320a37f2e5cc22e0d8e59a1f46841a6ac94d7d45b072a809237e1ab","dweb:/ipfs/QmdrX9uQKsvN9gTgCD1zd1kigvJGsgHbvabvdWaWHuSeY4"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/IProofVerifier.sol":{"keccak256":"0xf8acc6ee390c406eaa8415863f156e251935f8de51bcd3c876871fbe5b5b4f14","urls":["bzz-raw://64016d156d15fd43d407e832fd7b333e07e80b42f0ed9d845a8cc114d3857aa6","dweb:/ipfs/QmP7zSvchyDqov13cyuWxLJDYBBpYZxrPEdGQcheyoJkUm"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/IRootRegistry.sol":{"keccak256":"0xc994fab81ea1202a93620e7e7a01ba1e61f055498ed5b09503f4b384d0554b2a","urls":["bzz-raw://12a19bab224c63ee4a0e3b4048c24e80b3ef5a3459070816c20f2c32b2ad5f72","dweb:/ipfs/QmW1DF8mAwBfacrG2r2R3uyY92i6q1h1hZvHPuwMdXTANg"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/InputsExtractor.sol":{"keccak256":"0xd8d08cc68a571c9efdddd90ea274c18694284d40a9f1d0a1112a4999fd6a58da","urls":["bzz-raw://000752a284d1df5c0687d32554c83e99afedab49e23d7213679ed93424760450","dweb:/ipfs/QmWrFS4ChUv4okqnEgSLiuSsxohDnTnYLWeyYviVbPTgcH"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/StringUtils.sol":{"keccak256":"0xd52eb407eef932c9a343f1225fc997b7194ff0f05c488661a7adb4a37f980306","urls":["bzz-raw://60bfaf52ebd50633d6eff5ea346d25283962495c630b37f4c0cd6008e8d8fd11","dweb:/ipfs/QmWVtJnjcaowsFUBRRQ7eNTntghZ4FekXXgeQNAV4PkDWe"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/Types.sol":{"keccak256":"0x66d73b090401a5f424e1feacf1b503dcd906163f4c749189db3dc108d6dfd668","urls":["bzz-raw://d90eff17b597915e95c01a171c4378e7e4e287d35ca25dbd3f684373e93cda0c","dweb:/ipfs/QmYe1wixU4zZAogteHT5eubcB4qzScCYzLtYFpFBitpZeR"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/ZKPassportHelper.sol":{"keccak256":"0xebc7d0a4b7dae4a78d38381a36cc19e04933f302cf1f0516c8f5d68128afbd16","urls":["bzz-raw://7504f8711789c76e7294dd12bf172e5226034a5a2202057180ee047939eefa34","dweb:/ipfs/QmTGuSBmYmDBWutpyTrxPxWQ7DA6kpV6kLQSwB3wMaLCN5"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/ZKPassportRootVerifier.sol":{"keccak256":"0x5fb7a856f66496a36e4de2ff2dca8fcce5a2c3db3adbf20910b1b20f24e6a009","urls":["bzz-raw://c2693f7a086c3ff60441a12a5d72c6a2fbd811123c03d73b0887474cbefe6355","dweb:/ipfs/QmbTgqop8Fb9nxcUveDSDgyMXzVBY1xw2u8eMxaFfVVp1s"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/ZKPassportSubVerifier.sol":{"keccak256":"0x093e93f34571a7afe3c5a42192a366397b91e9fdb6167075b9250bcfd26fe8dd","urls":["bzz-raw://981fec528fb1f8a3032b99905801658305139d82679598579b7fe8afb1b7f6a1","dweb:/ipfs/QmfZ1n1KrxcijmToULMgMccLLyLH5DVVQWJ9SrWPMTRrfw"],"license":"Apache-2.0"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"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/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"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/mock/StakingAssetHandler.sol":{"keccak256":"0x34dea4351a502e562a7b78fdd20bd9c05e1617ef5d6fec980eb87ffde592deb3","urls":["bzz-raw://c383a8c6f4ea4f58123982d5ec498a2aa6bd674d56ed1fdda2a9cb63a5de321a","dweb:/ipfs/QmRNKajq7SMcsK6uP3R6JHW3R5QGdJnSMXK63fKey671Mv"],"license":"Apache-2.0"},"src/shared/interfaces/IMintableERC20.sol":{"keccak256":"0x792359f95fa1aac4165c353db75ddc87f44bee6c4ccc407a233dcad19d406d28","urls":["bzz-raw://b77fd327a807fdff9718e03476031d4b43c632ab3a2a2c5d0f36ceed7a547a1d","dweb:/ipfs/QmacpqXy9ZLC8XnDubj8ax7VxqXD4jmsW2uc6of6LpBjUp"],"license":"Apache-2.0"}},"version":1},"id":154}
|