-
Notifications
You must be signed in to change notification settings - Fork 40
Expand file tree
/
Copy pathVaultImplementation.json
More file actions
1 lines (1 loc) · 259 KB
/
VaultImplementation.json
File metadata and controls
1 lines (1 loc) · 259 KB
1
{"abi":[{"type":"constructor","inputs":[{"name":"delegatorFactory","type":"address","internalType":"address"},{"name":"slasherFactory","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DELEGATOR_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SLASHER_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_Vault_init","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeBalanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeBalanceOfAt","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeShares","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeSharesAt","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeSharesOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeSharesOfAt","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeStake","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeStakeAt","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"claim","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimBatch","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"epochs","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"currentEpoch","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentEpochStart","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depositedAmount","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"epochAt","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochStart","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"flashFee","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoan","inputs":[{"name":"receiver","type":"address","internalType":"contract IERC3156FlashBorrower"},{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxFlashLoan","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochStart","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"slashedAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"previousEpochStart","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"redeem","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawnAssets","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDelegator","inputs":[{"name":"delegator_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDepositLimit","inputs":[{"name":"limit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDepositWhitelist","inputs":[{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDepositorWhitelistStatus","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEpochDuration","inputs":[{"name":"epochDuration_","type":"uint48","internalType":"uint48"},{"name":"epochDurationSetEpochsDelay_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFlashFeeRate","inputs":[{"name":"flashFeeRate_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFlashFeeReceiver","inputs":[{"name":"flashFeeReceiver_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setIsDepositLimit","inputs":[{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSlasher","inputs":[{"name":"slasher_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slashableBalanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalStake","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdraw","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"burnedShares","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalsOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AcceptEpochDuration","inputs":[],"anonymous":false},{"type":"event","name":"Claim","inputs":[{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"epoch","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ClaimBatch","inputs":[{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"epochs","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Deposit","inputs":[{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"onBehalfOf","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"shares","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"slashedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetDelegator","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetDepositLimit","inputs":[{"name":"limit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetDepositWhitelist","inputs":[{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetDepositorWhitelistStatus","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetEpochDuration","inputs":[{"name":"epochDuration","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"epochDurationSetEpochsDelay","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetFlashFeeRate","inputs":[{"name":"flashFeeRate","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetFlashFeeReceiver","inputs":[{"name":"flashFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetIsDepositLimit","inputs":[{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetSlasher","inputs":[{"name":"slasher","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Withdraw","inputs":[{"name":"withdrawer","type":"address","indexed":true,"internalType":"address"},{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"burnedShares","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"mintedShares","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AlreadyClaimed","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DelegatorAlreadyInitialized","inputs":[]},{"type":"error","name":"DepositLimitReached","inputs":[]},{"type":"error","name":"InsufficientClaim","inputs":[]},{"type":"error","name":"InsufficientDeposit","inputs":[]},{"type":"error","name":"InsufficientExitWindow","inputs":[]},{"type":"error","name":"InsufficientRedemption","inputs":[]},{"type":"error","name":"InsufficientWithdrawal","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCaptureEpoch","inputs":[]},{"type":"error","name":"InvalidClaimer","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidDelegator","inputs":[]},{"type":"error","name":"InvalidEpoch","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidLengthEpochs","inputs":[]},{"type":"error","name":"InvalidNewEpochDuration","inputs":[]},{"type":"error","name":"InvalidOnBehalfOf","inputs":[]},{"type":"error","name":"InvalidReceiver","inputs":[]},{"type":"error","name":"InvalidRecipient","inputs":[]},{"type":"error","name":"InvalidReturnAmount","inputs":[]},{"type":"error","name":"InvalidSlasher","inputs":[]},{"type":"error","name":"InvalidTimestamp","inputs":[]},{"type":"error","name":"MaxLoanExceeded","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NewEpochDurationNotReady","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NoPreviousEpoch","inputs":[]},{"type":"error","name":"NotDelegator","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotWhitelistedDepositor","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SlasherAlreadyInitialized","inputs":[]},{"type":"error","name":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614c2e38819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614b8190816100ad823960805181818161143801526118fe015260a051818181611d2101526122660152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780631415519b1461056f5780631b66c9e11461056a5780631e9a695014610565578063248a9ca3146105605780632749f9c41461055b57806327810b6e14610556578063281f5752146105515780632d73c69c1461054c5780632f2ff15d146105475780632fa27fae1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a57806350861adc1461051557806350f220681461051057806352741a401461050b5780635346e34f1461050657806359f769a9146105015780635a36aa74146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e3578063653b04cd146104de5780636da3e06d146104d95780636e0f2455146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806376671808146104c0578063794b15b7146104bb5780637953b33b146104b65780637c04c80a146104b1578063810da75d146104ac57806383cd9cc3146104a757806383f46c2c146104a257806387df07881461049d5780638b0e9f3f1461049857806391d148541461049357806398ccba4a1461048e5780639b4bae3e146104895780639d66201b146104845780639f86fd851461047f5780639f9962dd1461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bba6ff4a14610439578063bc46f72214610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c1bc6f5114610420578063c31e8dd71461041b578063c4db46fc14610416578063c642b05014610411578063cc52aee71461040c578063ce9b793014610407578063d547741f14610402578063d626811b146103fd578063d8dfeb45146103f8578063d9d98ce4146103f3578063db388715146103ee578063dc0b1d71146103e9578063e945da7f146103e4578063ecc98f05146103df578063ecf70858146103da578063efb559d6146103d5578063f3fef3a3146103d05763f5e7ee0f146103cb575f80fd5b612ace565b612a28565b6128dd565b6128c0565b6128a2565b612885565b612873565b612839565b61280e565b6127e3565b612723565b6126d7565b6126af565b612687565b61266d565b612650565b6125e2565b6125ba565b6125a0565b6124e0565b6124c6565b61248c565b61246f565b612447565b61241d565b61235c565b6121b3565b612195565b61216d565b612127565b6120da565b611ff5565b611fbb565b611fa1565b611f7d565b611f55565b611e88565b611e4e565b611e31565b611e14565b611db6565b611d50565b611d0c565b611a44565b611899565b611880565b61181a565b6117fc565b6117bc565b61179e565b61176c565b6114b1565b61148c565b611467565b611423565b6113e9565b6113c3565b611389565b611362565b61110f565b6110b8565b611090565b611069565b610fe2565b610ee1565b610ec8565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109d8565b61098a565b61091a565b6107ac565b610784565b610767565b61072e565b610653565b610608565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca5760043561067081610642565b6024359061067c61314d565b6001600160a01b0381161561071d57335f908152600e602052604090206106a790613f38565b613f38565b821161070b576106c76106b8613e50565b6106c0613ec4565b9084613f8b565b9182156106f657826106d89261318f565b906106e161317c565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614b0c8339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107cd6107c842613e1e565b612d49565b80156107fe575f1981019081116107f9576107e9602091612f91565b65ffffffffffff60405191168152f35b612af8565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761086957604052565b61083a565b604081019081106001600160401b0382111761086957604052565b90601f801991011681019081106001600160401b0382111761086957604052565b604051906108b78261086e565b565b6001600160401b03811161086957601f01601f191660200190565b81601f820112156105ca578035906108eb826108b9565b926108f96040519485610889565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca5760043561093781610642565b61093f610810565b90604435906001600160401b0382116105ca576020926109666109829336906004016108d4565b6001600160a01b039092165f908152600e8552604090206134c9565b604051908152f35b346105ca5760403660031901126105ca576109d66024356004356109ad82610642565b805f525f80516020614b0c8339815191526020526109d1600160405f2001546136f7565b613723565b005b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f81610642565b336001600160a01b03821603610a6b576109d6906004356137be565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae761314d565b610aef613595565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614b2c83398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca5760206107e9612b48565b346105ca576040806003193601126105ca576004803591610b9783610642565b610b9f61314d565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c13906024359030903390613850565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612b1a565b938415610d8d5760081c60ff1680610d78575b610d6a5750906106f291610d16610c7a613e50565b95610cc3610c86613ec4565b610cae610c948a838b613f8b565b99610ca88a610ca242613e1e565b92612bb0565b906139a4565b5050610cbd89610ca242613e1e565b90613a84565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106a2610cf042613e1e565b6001600160a01b039095165f908152600e6020526040902090565b612bb0565b91613b60565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d5461317c565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613e50565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db38183610889565b810190612b88565b5f80610c4b565b503d610da9565b612b97565b610c13919350610dea90853d8711610dc257610db38183610889565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca5760206107e9612bbd565b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610ec5916004016108d4565b90565b346105ca576020610982610edb36610e87565b9061333e565b346105ca5760203660031901126105ca57600435610efe81610642565b610f0661314d565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fc457506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614b2c83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca57600435610fff81610ab8565b61100761314d565b61100f6135f2565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109d661317c565b346105ca5760203660031901126105ca57602061098260043561108b81610642565b612c03565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca57600480359061112e82610642565b60243561113a81610642565b604435916064356001600160401b0381116105ca5761115c90369083016110e2565b61116794919461314d565b61117084612c9c565b8211611351576111e49061118483866130a9565b5f549095906111a69060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230898301908152929b939a6001600160a01b03808d1699602099939792969195909491938a9183918291840190565b03818d5afa978815610dc9578c968f8f95978c988f955f9d61131c575b50916112188961123395935f98979516809a613c1e565b516323e30c8b60e01b8152998a988997889633908801612c52565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112ff575b50036112ef57875190815230858201908152909383918591908290819060200103915afa8015610dc95785936112a3935f92610d9c575050612b1a565b036112e15750806112c2575b826112b861317c565b5160018152602090f35b6016546112da92906001600160a01b03165b90613c1e565b5f806112af565b8351637f28d71160e01b8152fd5b8751631e4ec46b60e01b81528590fd5b6113169150853d8711610dc257610db38183610889565b5f611266565b5f969593919d50896112339593611342611218938e803d10610dc257610db38183610889565b9f939597985093955050611201565b60405163347177ad60e21b81528390fd5b346105ca5760203660031901126105ca57602061098260043561138481610642565b612c9c565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206107e96113e46107c842613e1e565b612f91565b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114cd610810565b6114d561314d565b6003546114ea906001600160a01b031661119a565b330361175a576114fc6107c842613e1e565b9061150681612d49565b9082151580611749575b8015611740575b61172e576106f2937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611549613e50565b9461156461155682612ba2565b5f52600660205260405f2090565b549082810361164857506115788187612bb0565b838118818510028118968780611601575b50505050505b836115ce575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115be61317c565b6040519081529081906020820190565b5f546115fc9085906115eb9060101c6001600160a01b031661119a565b6001546001600160a01b03166112d4565b611595565b61163d93610c4b83610ca8611627611620611556986116379888613cf5565b8096612b1a565b9461163142613e1e565b92612b1a565b92612ba2565b555f80808087611589565b915061165c825f52600660205260405f2090565b549061166c81610d0b848a612bb0565b908482188286100282189788611687575b505050505061158f565b6116fc93836116af936116bc8c6116b76116a56116ed998884613cf5565b9788958584613cf5565b948592612b1a565b612b1a565b93848410611707575b610c4b90610ca86116db95969761163142613e1e565b6116e761155687612ba2565b55612b1a565b915f52600660205260405f2090565b555f8080808061167d565b91611723610c4b9161171d866116db9798612b1a565b90612bb0565b8594509290506116c5565b604051635e18d2a560e01b8152600490fd5b50828211611517565b5061175383612b0c565b8210611510565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117886107c842613e1e565b600181018091116107f9576107e9602091612f91565b346105ca575f3660031901126105ca5760206109826107c842613e1e565b346105ca5760203660031901126105ca576004356117d981610642565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109826107c8610825565b346105ca5760403660031901126105ca5760043561183781610642565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca576106f29260246115be930190612e34565b346105ca57602061098261189336610e87565b90613414565b346105ca576020806003193601126105ca5760048035906118b982610642565b6118c161314d565b60025460a01c60ff16611a35576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a08575b50156119f85760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f936119c9575b5050309116036119ba5750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109d661317c565b60405163b9f0f17160e01b8152fd5b6119e9929350803d106119f1575b6119e18183610889565b810190612f69565b905f8061195b565b503d6119d7565b506040516324e5af8d60e21b8152fd5b611a289150823d8411611a2e575b611a208183610889565b810190612f54565b5f61192e565b503d611a16565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611a5d610825565b602435611a6861314d565b611a70613649565b60038110611cfa5765ffffffffffff9182611a9660135465ffffffffffff9060601c1690565b168015159081611ce4575b50611be6575b60015460d01c838083169116818111611bd4571480611bc9575b610b4b57611b9e611b75611b707f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b10611b0b611b026107c842613e1e565b600f5490612bb0565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b426113e46107c842613e1e565b90611b69600f54611b63611b5860015460d01c90565b65ffffffffffff1690565b90612f7e565b9116612bb0565b613e1e565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611ba782601055565b6040805165ffffffffffff9290921682526020820192909252a16109d661317c565b5081600f5414611ac1565b6040516359dcfd5560e11b8152600490fd5b611bf1601154601255565b611c2b611c0060015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611c579060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611c62601454601155565b601354611c999060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611cd49060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611cdf601054600f55565b611aa7565b9050611cf2611b5842613e1e565b10155f611aa1565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611d6c6107c842613e1e565b611d74613e50565b90805f52600660205260405f205482018092116107f957600181018091116107f9575f52600660205260405f205481018091116107f957604051908152602090f35b346105ca5760403660031901126105ca57602060ff611e08602435611dda81610642565b6004355f525f80516020614b0c833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca5760203660031901126105ca57600435611e6b81610642565b60018060a01b03165f52600e602052602061098260405f20613f38565b346105ca576040806003193601126105ca57600435611ea681610642565b6024356001600160401b0381116105ca575f80611f4493611ecd60809436906004016110e2565b908188519283928337810184815203915af43d15611f4c5760203d611ef1816108b9565b90611efe87519283610889565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f80199101168101036060810184520182610889565b805190602001fd5b60206060611f07565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca5760043561201281610642565b60243561201e81610ab8565b61202661314d565b61202e6136a0565b6001600160a01b0382169182156120c8575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916120bd916120ab908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109d661317c565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca57602061211e6024356120fc81610642565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611e0860243561214b81610642565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca5760206107e9600435612f91565b346105ca576020806003193601126105ca5760048035906121d382610642565b6121db61314d565b60035460a01c60ff1661234d576001600160a01b0382811693908461223b575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109d661317c565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91612330575b501561231f5760405163fbfa77cf60e01b815282818581895afa928315610dc9575f93612300575b5050309116036122f15750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806121fb565b604051633f3e089160e21b8152fd5b612317929350803d106119f1576119e18183610889565b905f806122be565b60405163dabc4ad960e01b81528390fd5b6123479150833d8511611a2e57611a208183610889565b5f612296565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561237981610642565b6024359061238561314d565b6001600160a01b039181831690811561240b576123b66106f2946123a883613d82565b9485915f5460101c16613c1e565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614b2c833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020600f54604051908152f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020610982613e50565b346105ca5760203660031901126105ca576004356124fc61314d565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fc457508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614b2c83398151915255005b346105ca575f3660031901126105ca576020610982613ec4565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca5760203660031901126105ca576004356125ff81610642565b61260b6107c842613e1e565b61261482612c03565b9161261f81836130ef565b83018093116107f957600182018092116107f95761263c916130ef565b81018091116107f957602090604051908152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca576020610982613069565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca5760403660031901126105ca576109d66024356004356126fa82610642565b805f525f80516020614b0c83398151915260205261271e600160405f2001546136f7565b6137be565b346105ca5760203660031901126105ca5760043561273f61314d565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fc457508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614b2c83398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca57602061098260043561283081610642565b602435906130a9565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356128fa81610642565b612902610810565b6001600160401b0391906044358381116105ca576129249036906004016110e2565b909260409384516129348161084e565b60608152606060208201526060868201529280612993575b6106f286612984878761297e6129658984845191612b27565b9285612975602085015183613414565b9301519061333e565b91613f8b565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca578451956129c48761084e565b84358181116105ca57826129d99187016108d4565b875260208501358181116105ca57826129f39187016108d4565b6020880152858501359081116105ca576106f296612a1c61297e936129659361298498016108d4565b8782015293945061294c565b346105ca5760403660031901126105ca57600435612a4581610642565b602435612a5061314d565b6001600160a01b0382161561071d578015612abc57612a7f612a70613ec4565b612a78613e50565b90836143ce565b335f908152600e60205260409020909290612a9990613f38565b8311612aaa576106d891839161318f565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca576020610982602435612af081610642565b6004356130ef565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116107f957565b919082039182116107f957565b6001600160a01b03165f908152600e60205260409020610ec59291906134c9565b65ffffffffffff8060135460601c169081158015612b75575b612b69575090565b905060015460a01c1690565b508181612b8142613e1e565b1610612b61565b908160209103126105ca575190565b6040513d5f823e3d90fd5b90600182018092116107f957565b919082018092116107f957565b60135465ffffffffffff90818160601c168015908115612bef575b50612be45760901c1690565b505060015460d01c90565b905082612bfb42613e1e565b16105f612bd8565b6001600160a01b03165f908152600e60205260409020612c2290613f38565b612c2a613e50565b612c32613ec4565b90600181018091116107f957600182018092116107f957610ec592613cf5565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612cfc576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612ce3575090565b610ec5915060203d602011610dc257610db38183610889565b505f90565b65ffffffffffff91821690821603919082116107f957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612d4457160490565b612d19565b60015465ffffffffffff808316929160a081901c821680851015612dc15750506013549281841690818015918215612db7575b5050612da557610ec59361171d92612d9a611b589360125496612d01565b9160301c1690612d2d565b60405163b7d0949760e01b8152600490fd5b109050815f612d7c565b909160135490808260601c1695868015918215612e2a575b505015612e05575050610ec5935061171d91612dfb611b589260115495612d01565b9060d01c90612d2d565b61171d9350611b589250612e1f610ec59660145496612d01565b9160901c1690612d2d565b109050865f612dd9565b90612e3d61314d565b5f926001600160a01b03831692831561240b578115612ee7575f5b828110612ec557505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612ea8918491612ea39060101c6001600160a01b031661119a565b613c1e565b612eb9604051928392339684612f22565b0390a3906108b761317c565b94612ee060019161171d612eda898789612f0d565b35613d82565b9501612e58565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612f1d5760051b0190565b612ef9565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610ec581610ab8565b908160209103126105ca5751610ec581610642565b818102929181159184041417156107f957565b6012548082106130575760115480831015612fd25750611b7090610ec592611b69612fc66013549365ffffffffffff93612b1a565b828460301c1690612f7e565b90506014548015801561304e575b156130185750610ec59165ffffffffffff61300e613004611b709460015494612b1a565b8360d01c90612f7e565b9160a01c16612bb0565b611b709150610ec5926130446130386013549365ffffffffffff93612b1a565b828460901c1690612f7e565b9160601c16612bb0565b50808310612fe0565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613094575b505061308e5760105490565b600f5490565b9091506130a042613e1e565b16105f80613082565b5f546001600160a01b039160109190911c8216908216036130dd57601654166130d157505f90565b601554610ec591613c77565b60405163350b944160e11b8152600490fd5b9061311590825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116107f957600182018092116107f957610ec592613cf5565b5f80516020614b2c833981519152600281541461316a5760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614b2c83398151915255565b335f908152600e60205260409020939291906131aa42613e1e565b335f908152600e602052604090206131c190613f38565b918483039283116107f9576131fc7febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361328b99613b60565b505061321661320a42613e1e565b610cbd876116b7613ec4565b505061323061322442613e1e565b610ca8846116b7613e50565b50506132d9816132c461324d6132486107c842613e1e565b612ba2565b6132a3613262825f52600660205260405f2090565b54613275835f52600760205260405f2090565b5461328182828b613f8b565b9d8e998a93612bb0565b61329d855f52600660205260405f2090565b55612bb0565b6132b5825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6132e4838254612bb0565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff809316019182116107f957565b9080511561340a57806020806133599351830101910161330d565b613362816141fc565b90613373825165ffffffffffff1690565b9065ffffffffffff80851692168281146133fe57821191826133a9575b50506133a05750610ec590613fac565b60209150015190565b9091506133b7600a54612b0c565b63ffffffff8316149182156133d0575b50505f80613390565b6133f69192506133ea6133e5611b5892613329565b6141fc565b5165ffffffffffff1690565b115f806133c7565b50505060209150015190565b50610ec590613fac565b908051156134bf578060208061342f9351830101910161330d565b61343881614286565b90613449825165ffffffffffff1690565b9065ffffffffffff80851692168281146133fe5782119182613476575b50506133a05750610ec590614073565b909150613484600c54612b0c565b63ffffffff83161491821561349d575b50505f80613466565b6134b79192506133ea6134b2611b5892613329565b614286565b115f80613494565b50610ec590614073565b9180511561358b57806020806134e49351830101910161330d565b916134ef8382614306565b92613500845165ffffffffffff1690565b9065ffffffffffff808516921682811461357f5782119182613536575b505061352d57610ec59250614133565b50506020015190565b9091506135438354612b0c565b63ffffffff83161491821561355c575b50505f8061351d565b6135779192506133ea613571611b5892613329565b85614306565b115f80613553565b50505050506020015190565b50610ec591614133565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fc45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906135e8565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff906135e8565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906135e8565b5f8181525f80516020614b0c83398151915260209081526040808320338452909152902060ff906135e8565b5f8181525f80516020614b0c833981519152602081815260408084206001600160a01b03871685529091529091205460ff166137b7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614b0c833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156137b7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610869576108b792604052614374565b600b54811015612f1d57600b5f525f80516020614aec83398151915201905f90565b600d54811015612f1d57600d5f525f80516020614acc83398151915201905f90565b8054821015612f1d575f5260205f2001905f90565b600d54600160401b811015610869576001810180600d55811015612f1d57600d5f525f80516020614acc8339815191520155565b600b54600160401b811015610869576001810180600b55811015612f1d57600b5f525f80516020614aec8339815191520155565b90815491600160401b831015610869578261398c9160016108b7950181556138ec565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613a4f575b506139bc614407565b509290918154926139cb613e50565b9481613a3a575b5015613a1757505f1982018281116107f95781541115612f1d575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613a2b926001600160d01b03169150614603565b5050613a3683613901565b9190565b65ffffffffffff83811691161490505f6139d2565b600160401b8110156108695760018101808455811015612f1d575f908382525f80516020614acc83398151915201555f6139b3565b919091600b9081548015613b2b575b50613a9c61445c565b50929091815492613aab613ec4565b9481613b16575b5015613af757505f1982018281116107f95781541115612f1d575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613b0b926001600160d01b031691506146d3565b5050613a3683613935565b65ffffffffffff83811691161490505f613ab2565b600160401b8110156108695760018101808455811015612f1d575f908382525f80516020614aec83398151915201555f613a93565b90929192600182019081548015613bee575b5084613b7d846144b1565b50949092845493613b8d83613f38565b9681613bd9575b5015613bb6575050505f1981019081116107f95761398c8591613a36936138ec565b613a36949293613bd2926001600160d01b039091169190614772565b5050613969565b65ffffffffffff83811691161490505f613b94565b600160401b81101561086957806001613c0a92018455836138ec565b8154905f199060031b1b191690555f613b72565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610869576108b792604052614374565b8115612d44570490565b90808202905f1981840990828083109203918083039214613ce857633b9aca009082821115613cd6577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613d755784831115613d685790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186144ea565b505090610ec59250613c6d565b90613d8f6107c842613e1e565b8210156130575760ff613dbf613dad845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613e0c57613dcf33836130ef565b918215613dfa57613ded906132c433915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613e31571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613e8b57505f5b6001600160d01b03811615612cfc57600d54811015612f1d57600d5f525f80516020614acc833981519152015490565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613e5b565b600a5480613eff57505f5b6001600160d01b03811615612cfc57600b54811015612f1d57600b5f525f80516020614aec833981519152015490565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613ecf565b805480613f6d57505f5b6001600160d01b03811615613f67576001613f5d92016138ec565b90549060031b1c90565b50505f90565b5f199080828101116107f957825f5260205f2001015460301c613f42565b9190600181018091116107f957600182018092116107f957610ec592613cf5565b600a54905f82916005841161401a575b613fc69350614957565b80613fe957505f5b6001600160d01b03811615612cfc57613f5d610ec5916138a8565b61400e613ff861401592612b0c565b600a5f525f80516020614aac8339815191520190565b5460301c90565b613fce565b91926140258161482c565b81039081116107f957613fc693600a5f5265ffffffffffff80835f80516020614aac833981519152015416908516105f14614061575091613fbc565b92915061406d90612ba2565b90613fbc565b600c54905f8291600584116140da575b61408d93506149c0565b806140b057505f5b6001600160d01b03811615612cfc57613f5d610ec5916138ca565b61400e6140bf6140d592612b0c565b600c5f525f80516020614a8c8339815191520190565b614095565b91926140e58161482c565b81039081116107f95761408d93600c5f5265ffffffffffff80835f80516020614a8c833981519152015416908516105f14614121575091614083565b92915061412d90612ba2565b90614083565b908154905f829160058411614196575b61414e935084614a29565b8061417657505f905b6001600160d01b03821615613f6757610ec5916001613f5d92016138ec565b61400e61418561419092612b0c565b835f5260205f200190565b90614157565b91926141a18161482c565b81039081116107f95761414e93855f5265ffffffffffff808360205f20015416908516105f146141d2575091614143565b9291506141de90612ba2565b90614143565b604051906141f18261086e565b5f6020838281520152565b6142046141e4565b5061420d6141e4565b50600a54811015612f1d57600a5f5260206040519161422b8361086e565b5f80516020614aac83398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612f1d57600b5f525f80516020614aec83398151915201546040519161427c8361086e565b8252602082015290565b61428e6141e4565b506142976141e4565b50600c54811015612f1d57600c5f526020604051916142b58361086e565b5f80516020614a8c83398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612f1d57600d5f525f80516020614acc83398151915201546040519161427c8361086e565b906020600161432a6143569361431a6141e4565b506143236141e4565b50856138ec565b5093604051946143398661086e565b549465ffffffffffff86169586825260301c9384910152016138ec565b905490604051926143668461086e565b835260031b1c602082015290565b905f602091828151910182855af115612b97575f513d6143c557506001600160a01b0381163b155b6143a35750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b6001141561439c565b9190600181018091116107f957600182018092116107f9576143f1828285613cf5565b928215612d445709151581018091116107f95790565b600c548061441857505f905f905f90565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061446d57505f905f905f90565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806144c25750505f905f905f90565b5f199181838101116107f9575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610869576001820180600c55821015612f1d57600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a8c83398151915290910155565b600a5490600160401b821015610869576001820180600a55821015612f1d57600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614aac83398151915290910155565b8054600160401b811015610869576145c5916001820181556138ec565b6145f057815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156146aa576140bf61461b91612b0c565b9081549165ffffffffffff90818416918316808311614698578692036146605761465992509065ffffffffffff82549181199060301b169116179055565b60301c9190565b50506146939061467f6146716108aa565b65ffffffffffff9092168252565b6001600160d01b03851660208201526144fa565b614659565b604051632520601d60e01b8152600490fd5b506146ce906146ba6146716108aa565b6001600160d01b03841660208201526144fa565b5f9190565b600a54919291801561474e57613ff86146eb91612b0c565b9081549165ffffffffffff90818416918316808311614698578692036147295761465992509065ffffffffffff82549181199060301b169116179055565b50506146939061473a6146716108aa565b6001600160d01b0385166020820152614551565b506146ce9061475e6146716108aa565b6001600160d01b0384166020820152614551565b805492939280156148075761478961479491612b0c565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614698578793036147d3575061465992509065ffffffffffff82549181199060301b169116179055565b915050614693916147f36147e56108aa565b65ffffffffffff9093168352565b6001600160d01b03861660208301526145a8565b50906146ce916148186147e56108aa565b6001600160d01b03851660208301526145a8565b6001811115610ec557600181600160801b811015614945575b6148ed6148e36148d96148cf6148c56148bb6148f997600488600160401b6148f49a1015614938575b64010000000081101561492b575b6201000081101561491e575b610100811015614912575b6010811015614906575b10156148fe575b60030260011c6148b4818b613c6d565b0160011c90565b6148b4818a613c6d565b6148b48189613c6d565b6148b48188613c6d565b6148b48187613c6d565b6148b48186613c6d565b8093613c6d565b821190565b900390565b60011b6148a4565b811c9160021b9161489d565b60081c91811b91614893565b60101c9160081b91614888565b60201c9160101b9161487c565b60401c9160201b9161486e565b50600160401b9050608082901c614845565b905b82811061496557505090565b9091808216906001818418811c83018093116107f957600a5f5265ffffffffffff80845f80516020614aac833981519152015416908616105f146149ad575050915b90614959565b9093925081018091116107f957906149a7565b905b8281106149ce57505090565b9091808216906001818418811c83018093116107f957600c5f5265ffffffffffff80845f80516020614a8c833981519152015416908616105f14614a16575050915b906149c2565b9093925081018091116107f95790614a10565b91905b838210614a395750505090565b909192808316906001818518811c83018093116107f957855f5265ffffffffffff808460205f20015416908516105f14614a78575050925b9190614a2c565b9094935081018091116107f95791614a7156fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a26469706673582212209a08630ecac45f83fdb7d85909764f45aa928f3197a3b8c81dbd5fc71b9410b664736f6c63430008190033","sourceMap":"1252:20722:107:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:20722;;;;;;;;1785:36;1252:20722;;;;;;;;;;1831:32;1252:20722;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;;;-1:-1:-1;1252:20722:107;;;;;-1:-1:-1;1252:20722:107;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105745780631415519b1461056f5780631b66c9e11461056a5780631e9a695014610565578063248a9ca3146105605780632749f9c41461055b57806327810b6e14610556578063281f5752146105515780632d73c69c1461054c5780632f2ff15d146105475780632fa27fae1461054257806331d9736c1461053d57806336568abe14610538578063392e53cd146105335780634105a7dd1461052e578063463616711461052957806347e7ef241461052457806348d3b7751461051f5780634ff0876a1461051a57806350861adc1461051557806350f220681461051057806352741a401461050b5780635346e34f1461050657806359f769a9146105015780635a36aa74146104fc5780635cc07076146104f75780635cffe9de146104f2578063613255ab146104ed57806361819dd8146104e857806361a8c8c4146104e3578063653b04cd146104de5780636da3e06d146104d95780636e0f2455146104d45780636ec1e3f8146104cf5780637278e31c146104ca57806373790ab3146104c557806376671808146104c0578063794b15b7146104bb5780637953b33b146104b65780637c04c80a146104b1578063810da75d146104ac57806383cd9cc3146104a757806383f46c2c146104a257806387df07881461049d5780638b0e9f3f1461049857806391d148541461049357806398ccba4a1461048e5780639b4bae3e146104895780639d66201b146104845780639f86fd851461047f5780639f9962dd1461047a578063a1b1220214610475578063a217fddf14610470578063a21a1df91461046b578063a286146614610466578063a3b5417214610461578063a5d032231461045c578063a8b24f9a14610457578063aa9354a314610452578063aabc24961461044d578063aad3ec9614610448578063afba70ad14610443578063b13442711461043e578063bba6ff4a14610439578063bc46f72214610434578063bd49c35f1461042f578063bdc8144b1461042a578063bfefcd7b14610425578063c1bc6f5114610420578063c31e8dd71461041b578063c4db46fc14610416578063c642b05014610411578063cc52aee71461040c578063ce9b793014610407578063d547741f14610402578063d626811b146103fd578063d8dfeb45146103f8578063d9d98ce4146103f3578063db388715146103ee578063dc0b1d71146103e9578063e945da7f146103e4578063ecc98f05146103df578063ecf70858146103da578063efb559d6146103d5578063f3fef3a3146103d05763f5e7ee0f146103cb575f80fd5b612ace565b612a28565b6128dd565b6128c0565b6128a2565b612885565b612873565b612839565b61280e565b6127e3565b612723565b6126d7565b6126af565b612687565b61266d565b612650565b6125e2565b6125ba565b6125a0565b6124e0565b6124c6565b61248c565b61246f565b612447565b61241d565b61235c565b6121b3565b612195565b61216d565b612127565b6120da565b611ff5565b611fbb565b611fa1565b611f7d565b611f55565b611e88565b611e4e565b611e31565b611e14565b611db6565b611d50565b611d0c565b611a44565b611899565b611880565b61181a565b6117fc565b6117bc565b61179e565b61176c565b6114b1565b61148c565b611467565b611423565b6113e9565b6113c3565b611389565b611362565b61110f565b6110b8565b611090565b611069565b610fe2565b610ee1565b610ec8565b610e62565b610e48565b610e27565b610b77565b610b5d565b610ac2565b610a7d565b610a32565b6109f8565b6109d8565b61098a565b61091a565b6107ac565b610784565b610767565b61072e565b610653565b610608565b6105ce565b346105ca5760203660031901126105ca5760043563ffffffff60e01b81168091036105ca57602090637965db0b60e01b81149081156105b9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ae565b5f80fd5b346105ca575f3660031901126105ca5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ca575f3660031901126105ca5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105ca57565b346105ca5760403660031901126105ca5760043561067081610642565b6024359061067c61314d565b6001600160a01b0381161561071d57335f908152600e602052604090206106a790613f38565b613f38565b821161070b576106c76106b8613e50565b6106c0613ec4565b9084613f8b565b9182156106f657826106d89261318f565b906106e161317c565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ca5760203660031901126105ca576004355f525f80516020614b0c8339815191526020526020600160405f200154604051908152f35b346105ca575f3660031901126105ca576020601454604051908152f35b346105ca575f3660031901126105ca576001546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576107cd6107c842613e1e565b612d49565b80156107fe575f1981019081116107f9576107e9602091612f91565b65ffffffffffff60405191168152f35b612af8565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ca57565b6004359065ffffffffffff821682036105ca57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761086957604052565b61083a565b604081019081106001600160401b0382111761086957604052565b90601f801991011681019081106001600160401b0382111761086957604052565b604051906108b78261086e565b565b6001600160401b03811161086957601f01601f191660200190565b81601f820112156105ca578035906108eb826108b9565b926108f96040519485610889565b828452602083830101116105ca57815f926020809301838601378301015290565b346105ca5760603660031901126105ca5760043561093781610642565b61093f610810565b90604435906001600160401b0382116105ca576020926109666109829336906004016108d4565b6001600160a01b039092165f908152600e8552604090206134c9565b604051908152f35b346105ca5760403660031901126105ca576109d66024356004356109ad82610642565b805f525f80516020614b0c8339815191526020526109d1600160405f2001546136f7565b613723565b005b346105ca575f3660031901126105ca57602060015460d01c604051908152f35b346105ca575f3660031901126105ca5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ca5760403660031901126105ca57602435610a4f81610642565b336001600160a01b03821603610a6b576109d6906004356137be565b60405163334bd91960e11b8152600490fd5b346105ca575f3660031901126105ca5760ff60025460a01c1680610aa9575b6020906040519015158152f35b5060035460a01c60ff16610a9c565b801515036105ca57565b346105ca5760203660031901126105ca57600435610adf81610ab8565b610ae761314d565b610aef613595565b5f54901515908160ff8216151514610b4b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614b2c83398151915255005b60405163a741a04560e01b8152600490fd5b346105ca575f3660031901126105ca5760206107e9612b48565b346105ca576040806003193601126105ca576004803591610b9783610642565b610b9f61314d565b6001600160a01b0391838316908115610e19575f5460ff811680610e00575b610df15783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610dc9575f93610dce575b50610c13906024359030903390613850565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610dc957610c52935f92610d9c575b5050612b1a565b938415610d8d5760081c60ff1680610d78575b610d6a5750906106f291610d16610c7a613e50565b95610cc3610c86613ec4565b610cae610c948a838b613f8b565b99610ca88a610ca242613e1e565b92612bb0565b906139a4565b5050610cbd89610ca242613e1e565b90613a84565b50506001600160a01b0381165f908152600e6020526040902090610d1088610d0b6106a2610cf042613e1e565b6001600160a01b039095165f908152600e6020526040902090565b612bb0565b91613b60565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d5461317c565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610d8584610d0b613e50565b815410610c65565b50825163070f6eed60e11b8152fd5b610dbb9250803d10610dc2575b610db38183610889565b810190612b88565b5f80610c4b565b503d610da9565b612b97565b610c13919350610dea90853d8711610dc257610db38183610889565b9290610c01565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bbe565b8251630d534ce360e11b8152fd5b346105ca575f3660031901126105ca57602060ff5f54166040519015158152f35b346105ca575f3660031901126105ca5760206107e9612bbd565b346105ca575f3660031901126105ca57602060ff60025460a01c166040519015158152f35b9060406003198301126105ca5760043565ffffffffffff811681036105ca5791602435906001600160401b0382116105ca57610ec5916004016108d4565b90565b346105ca576020610982610edb36610e87565b9061333e565b346105ca5760203660031901126105ca57600435610efe81610642565b610f0661314d565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fc457506016546001600160a01b039182169181168214610b4b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614b2c83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ca5760203660031901126105ca57600435610fff81610ab8565b61100761314d565b61100f6135f2565b5f54901515908160ff8260081c16151514610b4b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109d661317c565b346105ca5760203660031901126105ca57602061098260043561108b81610642565b612c03565b346105ca575f3660031901126105ca57602065ffffffffffff60135460301c16604051908152f35b346105ca5760203660031901126105ca576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ca578235916001600160401b0383116105ca57602083818601950101116105ca57565b346105ca5760803660031901126105ca57600480359061112e82610642565b60243561113a81610642565b604435916064356001600160401b0381116105ca5761115c90369083016110e2565b61116794919461314d565b61117084612c9c565b8211611351576111e49061118483866130a9565b5f549095906111a69060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230898301908152929b939a6001600160a01b03808d1699602099939792969195909491938a9183918291840190565b03818d5afa978815610dc9578c968f8f95978c988f955f9d61131c575b50916112188961123395935f98979516809a613c1e565b516323e30c8b60e01b8152998a988997889633908801612c52565b03925af18015610dc9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f916112ff575b50036112ef57875190815230858201908152909383918591908290819060200103915afa8015610dc95785936112a3935f92610d9c575050612b1a565b036112e15750806112c2575b826112b861317c565b5160018152602090f35b6016546112da92906001600160a01b03165b90613c1e565b5f806112af565b8351637f28d71160e01b8152fd5b8751631e4ec46b60e01b81528590fd5b6113169150853d8711610dc257610db38183610889565b5f611266565b5f969593919d50896112339593611342611218938e803d10610dc257610db38183610889565b9f939597985093955050611201565b60405163347177ad60e21b81528390fd5b346105ca5760203660031901126105ca57602061098260043561138481610642565b612c9c565b346105ca575f3660031901126105ca5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ca575f3660031901126105ca5760206107e96113e46107c842613e1e565b612f91565b346105ca575f3660031901126105ca5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57602065ffffffffffff60135416604051908152f35b346105ca575f3660031901126105ca57602060ff60035460a01c166040519015158152f35b346105ca5760403660031901126105ca576004356114cd610810565b6114d561314d565b6003546114ea906001600160a01b031661119a565b330361175a576114fc6107c842613e1e565b9061150681612d49565b9082151580611749575b8015611740575b61172e576106f2937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c792611549613e50565b9461156461155682612ba2565b5f52600660205260405f2090565b549082810361164857506115788187612bb0565b838118818510028118968780611601575b50505050505b836115ce575b6040805191825265ffffffffffff929092166020820152908101839052606090a16115be61317c565b6040519081529081906020820190565b5f546115fc9085906115eb9060101c6001600160a01b031661119a565b6001546001600160a01b03166112d4565b611595565b61163d93610c4b83610ca8611627611620611556986116379888613cf5565b8096612b1a565b9461163142613e1e565b92612b1a565b92612ba2565b555f80808087611589565b915061165c825f52600660205260405f2090565b549061166c81610d0b848a612bb0565b908482188286100282189788611687575b505050505061158f565b6116fc93836116af936116bc8c6116b76116a56116ed998884613cf5565b9788958584613cf5565b948592612b1a565b612b1a565b93848410611707575b610c4b90610ca86116db95969761163142613e1e565b6116e761155687612ba2565b55612b1a565b915f52600660205260405f2090565b555f8080808061167d565b91611723610c4b9161171d866116db9798612b1a565b90612bb0565b8594509290506116c5565b604051635e18d2a560e01b8152600490fd5b50828211611517565b5061175383612b0c565b8210611510565b60405163dabc4ad960e01b8152600490fd5b346105ca575f3660031901126105ca576117886107c842613e1e565b600181018091116107f9576107e9602091612f91565b346105ca575f3660031901126105ca5760206109826107c842613e1e565b346105ca5760203660031901126105ca576004356117d981610642565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ca5760203660031901126105ca5760206109826107c8610825565b346105ca5760403660031901126105ca5760043561183781610642565b6024356001600160401b038082116105ca57366023830112156105ca5781600401359081116105ca573660248260051b840101116105ca576106f29260246115be930190612e34565b346105ca57602061098261189336610e87565b90613414565b346105ca576020806003193601126105ca5760048035906118b982610642565b6118c161314d565b60025460a01c60ff16611a35576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91611a08575b50156119f85760405163fbfa77cf60e01b8152838516949082818581895afa928315610dc9575f936119c9575b5050309116036119ba5750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109d661317c565b60405163b9f0f17160e01b8152fd5b6119e9929350803d106119f1575b6119e18183610889565b810190612f69565b905f8061195b565b503d6119d7565b506040516324e5af8d60e21b8152fd5b611a289150823d8411611a2e575b611a208183610889565b810190612f54565b5f61192e565b503d611a16565b604051631380833b60e01b8152fd5b346105ca5760403660031901126105ca57611a5d610825565b602435611a6861314d565b611a70613649565b60038110611cfa5765ffffffffffff9182611a9660135465ffffffffffff9060601c1690565b168015159081611ce4575b50611be6575b60015460d01c838083169116818111611bd4571480611bc9575b610b4b57611b9e611b75611b707f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b10611b0b611b026107c842613e1e565b600f5490612bb0565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b426113e46107c842613e1e565b90611b69600f54611b63611b5860015460d01c90565b65ffffffffffff1690565b90612f7e565b9116612bb0565b613e1e565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611ba782601055565b6040805165ffffffffffff9290921682526020820192909252a16109d661317c565b5081600f5414611ac1565b6040516359dcfd5560e11b8152600490fd5b611bf1601154601255565b611c2b611c0060015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611c579060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611c62601454601155565b601354611c999060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611cd49060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611cdf601054600f55565b611aa7565b9050611cf2611b5842613e1e565b10155f611aa1565b6040516317a509b960e31b8152600490fd5b346105ca575f3660031901126105ca576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ca575f3660031901126105ca57611d6c6107c842613e1e565b611d74613e50565b90805f52600660205260405f205482018092116107f957600181018091116107f9575f52600660205260405f205481018091116107f957604051908152602090f35b346105ca5760403660031901126105ca57602060ff611e08602435611dda81610642565b6004355f525f80516020614b0c833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ca575f3660031901126105ca576020601254604051908152f35b346105ca575f3660031901126105ca576020601154604051908152f35b346105ca5760203660031901126105ca57600435611e6b81610642565b60018060a01b03165f52600e602052602061098260405f20613f38565b346105ca576040806003193601126105ca57600435611ea681610642565b6024356001600160401b0381116105ca575f80611f4493611ecd60809436906004016110e2565b908188519283928337810184815203915af43d15611f4c5760203d611ef1816108b9565b90611efe87519283610889565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f80199101168101036060810184520182610889565b805190602001fd5b60206060611f07565b346105ca575f3660031901126105ca57602065ffffffffffff60015460a01c16604051908152f35b346105ca575f3660031901126105ca57602060ff5f5460081c166040519015158152f35b346105ca575f3660031901126105ca5760206040515f8152f35b346105ca575f3660031901126105ca5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ca5760403660031901126105ca5760043561201281610642565b60243561201e81610ab8565b61202661314d565b61202e6136a0565b6001600160a01b0382169182156120c8575f8381526005602052604090205460ff16151582151514610b4b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916120bd916120ab908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109d661317c565b604051630da30f6560e31b8152600490fd5b346105ca5760403660031901126105ca57602061211e6024356120fc81610642565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ca5760403660031901126105ca57602060ff611e0860243561214b81610642565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ca575f3660031901126105ca576016546040516001600160a01b039091168152602090f35b346105ca5760203660031901126105ca5760206107e9600435612f91565b346105ca576020806003193601126105ca5760048035906121d382610642565b6121db61314d565b60035460a01c60ff1661234d576001600160a01b0382811693908461223b575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109d661317c565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610dc9575f91612330575b501561231f5760405163fbfa77cf60e01b815282818581895afa928315610dc9575f93612300575b5050309116036122f15750600380546001600160a01b0319166001600160a01b039092169190911790555f8080806121fb565b604051633f3e089160e21b8152fd5b612317929350803d106119f1576119e18183610889565b905f806122be565b60405163dabc4ad960e01b81528390fd5b6123479150833d8511611a2e57611a208183610889565b5f612296565b60405163703fe2e560e01b8152fd5b346105ca5760403660031901126105ca5760043561237981610642565b6024359061238561314d565b6001600160a01b039181831690811561240b576123b66106f2946123a883613d82565b9485915f5460101c16613c1e565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614b2c833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ca5760203660031901126105ca576004355f526007602052602060405f2054604051908152f35b346105ca575f3660031901126105ca576003546040516001600160a01b039091168152602090f35b346105ca575f3660031901126105ca576020600f54604051908152f35b346105ca575f3660031901126105ca5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ca575f3660031901126105ca576020610982613e50565b346105ca5760203660031901126105ca576004356124fc61314d565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fc457508060045414610b4b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614b2c83398151915255005b346105ca575f3660031901126105ca576020610982613ec4565b346105ca575f3660031901126105ca57602065ffffffffffff60135460901c16604051908152f35b346105ca5760203660031901126105ca576004356125ff81610642565b61260b6107c842613e1e565b61261482612c03565b9161261f81836130ef565b83018093116107f957600182018092116107f95761263c916130ef565b81018091116107f957602090604051908152f35b346105ca575f3660031901126105ca576020601054604051908152f35b346105ca575f3660031901126105ca576020610982613069565b346105ca575f3660031901126105ca57602065ffffffffffff60135460601c16604051908152f35b346105ca575f3660031901126105ca576002546040516001600160a01b039091168152602090f35b346105ca5760403660031901126105ca576109d66024356004356126fa82610642565b805f525f80516020614b0c83398151915260205261271e600160405f2001546136f7565b6137be565b346105ca5760203660031901126105ca5760043561273f61314d565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fc457508060155414610b4b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614b2c83398151915255005b346105ca575f3660031901126105ca575f5460405160109190911c6001600160a01b03168152602090f35b346105ca5760403660031901126105ca57602061098260043561283081610642565b602435906130a9565b346105ca575f3660031901126105ca5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ca575f3660031901126105ca57005b346105ca575f3660031901126105ca576020601554604051908152f35b346105ca575f3660031901126105ca576020604051633b9aca008152f35b346105ca575f3660031901126105ca576020600454604051908152f35b346105ca5760603660031901126105ca576004356128fa81610642565b612902610810565b6001600160401b0391906044358381116105ca576129249036906004016110e2565b909260409384516129348161084e565b60608152606060208201526060868201529280612993575b6106f286612984878761297e6129658984845191612b27565b9285612975602085015183613414565b9301519061333e565b91613f8b565b90519081529081906020820190565b81019392506020818503126105ca578035908682116105ca5701926060848203126105ca578451956129c48761084e565b84358181116105ca57826129d99187016108d4565b875260208501358181116105ca57826129f39187016108d4565b6020880152858501359081116105ca576106f296612a1c61297e936129659361298498016108d4565b8782015293945061294c565b346105ca5760403660031901126105ca57600435612a4581610642565b602435612a5061314d565b6001600160a01b0382161561071d578015612abc57612a7f612a70613ec4565b612a78613e50565b90836143ce565b335f908152600e60205260409020909290612a9990613f38565b8311612aaa576106d891839161318f565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ca5760403660031901126105ca576020610982602435612af081610642565b6004356130ef565b634e487b7160e01b5f52601160045260245ffd5b5f198101919082116107f957565b919082039182116107f957565b6001600160a01b03165f908152600e60205260409020610ec59291906134c9565b65ffffffffffff8060135460601c169081158015612b75575b612b69575090565b905060015460a01c1690565b508181612b8142613e1e565b1610612b61565b908160209103126105ca575190565b6040513d5f823e3d90fd5b90600182018092116107f957565b919082018092116107f957565b60135465ffffffffffff90818160601c168015908115612bef575b50612be45760901c1690565b505060015460d01c90565b905082612bfb42613e1e565b16105f612bd8565b6001600160a01b03165f908152600e60205260409020612c2290613f38565b612c2a613e50565b612c32613ec4565b90600181018091116107f957600182018092116107f957610ec592613cf5565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b5f5460101c6001600160a01b0390811691168103612cfc576020602491604051928380926370a0823160e01b82523060048301525afa908115610dc9575f91612ce3575090565b610ec5915060203d602011610dc257610db38183610889565b505f90565b65ffffffffffff91821690821603919082116107f957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612d4457160490565b612d19565b60015465ffffffffffff808316929160a081901c821680851015612dc15750506013549281841690818015918215612db7575b5050612da557610ec59361171d92612d9a611b589360125496612d01565b9160301c1690612d2d565b60405163b7d0949760e01b8152600490fd5b109050815f612d7c565b909160135490808260601c1695868015918215612e2a575b505015612e05575050610ec5935061171d91612dfb611b589260115495612d01565b9060d01c90612d2d565b61171d9350611b589250612e1f610ec59660145496612d01565b9160901c1690612d2d565b109050865f612dd9565b90612e3d61314d565b5f926001600160a01b03831692831561240b578115612ee7575f5b828110612ec557505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612ea8918491612ea39060101c6001600160a01b031661119a565b613c1e565b612eb9604051928392339684612f22565b0390a3906108b761317c565b94612ee060019161171d612eda898789612f0d565b35613d82565b9501612e58565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b9190811015612f1d5760051b0190565b612ef9565b604080825281018390529392916001600160fb1b0381116105ca5760209160609160051b809183880137850101930152565b908160209103126105ca5751610ec581610ab8565b908160209103126105ca5751610ec581610642565b818102929181159184041417156107f957565b6012548082106130575760115480831015612fd25750611b7090610ec592611b69612fc66013549365ffffffffffff93612b1a565b828460301c1690612f7e565b90506014548015801561304e575b156130185750610ec59165ffffffffffff61300e613004611b709460015494612b1a565b8360d01c90612f7e565b9160a01c16612bb0565b611b709150610ec5926130446130386013549365ffffffffffff93612b1a565b828460901c1690612f7e565b9160601c16612bb0565b50808310612fe0565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613094575b505061308e5760105490565b600f5490565b9091506130a042613e1e565b16105f80613082565b5f546001600160a01b039160109190911c8216908216036130dd57601654166130d157505f90565b601554610ec591613c77565b60405163350b944160e11b8152600490fd5b9061311590825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f205490600181018091116107f957600182018092116107f957610ec592613cf5565b5f80516020614b2c833981519152600281541461316a5760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614b2c83398151915255565b335f908152600e60205260409020939291906131aa42613e1e565b335f908152600e602052604090206131c190613f38565b918483039283116107f9576131fc7febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361328b99613b60565b505061321661320a42613e1e565b610cbd876116b7613ec4565b505061323061322442613e1e565b610ca8846116b7613e50565b50506132d9816132c461324d6132486107c842613e1e565b612ba2565b6132a3613262825f52600660205260405f2090565b54613275835f52600760205260405f2090565b5461328182828b613f8b565b9d8e998a93612bb0565b61329d855f52600660205260405f2090565b55612bb0565b6132b5825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b6132e4838254612bb0565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ca575163ffffffff811681036105ca5790565b90600163ffffffff809316019182116107f957565b9080511561340a57806020806133599351830101910161330d565b613362816141fc565b90613373825165ffffffffffff1690565b9065ffffffffffff80851692168281146133fe57821191826133a9575b50506133a05750610ec590613fac565b60209150015190565b9091506133b7600a54612b0c565b63ffffffff8316149182156133d0575b50505f80613390565b6133f69192506133ea6133e5611b5892613329565b6141fc565b5165ffffffffffff1690565b115f806133c7565b50505060209150015190565b50610ec590613fac565b908051156134bf578060208061342f9351830101910161330d565b61343881614286565b90613449825165ffffffffffff1690565b9065ffffffffffff80851692168281146133fe5782119182613476575b50506133a05750610ec590614073565b909150613484600c54612b0c565b63ffffffff83161491821561349d575b50505f80613466565b6134b79192506133ea6134b2611b5892613329565b614286565b115f80613494565b50610ec590614073565b9180511561358b57806020806134e49351830101910161330d565b916134ef8382614306565b92613500845165ffffffffffff1690565b9065ffffffffffff808516921682811461357f5782119182613536575b505061352d57610ec59250614133565b50506020015190565b9091506135438354612b0c565b63ffffffff83161491821561355c575b50505f8061351d565b6135779192506133ea613571611b5892613329565b85614306565b115f80613553565b50505050506020015190565b50610ec591614133565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fc45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff906135e8565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff906135e8565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff906135e8565b5f8181525f80516020614b0c83398151915260209081526040808320338452909152902060ff906135e8565b5f8181525f80516020614b0c833981519152602081815260408084206001600160a01b03871685529091529091205460ff166137b7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614b0c833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156137b7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610869576108b792604052614374565b600b54811015612f1d57600b5f525f80516020614aec83398151915201905f90565b600d54811015612f1d57600d5f525f80516020614acc83398151915201905f90565b8054821015612f1d575f5260205f2001905f90565b600d54600160401b811015610869576001810180600d55811015612f1d57600d5f525f80516020614acc8339815191520155565b600b54600160401b811015610869576001810180600b55811015612f1d57600b5f525f80516020614aec8339815191520155565b90815491600160401b831015610869578261398c9160016108b7950181556138ec565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613a4f575b506139bc614407565b509290918154926139cb613e50565b9481613a3a575b5015613a1757505f1982018281116107f95781541115612f1d575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613a2b926001600160d01b03169150614603565b5050613a3683613901565b9190565b65ffffffffffff83811691161490505f6139d2565b600160401b8110156108695760018101808455811015612f1d575f908382525f80516020614acc83398151915201555f6139b3565b919091600b9081548015613b2b575b50613a9c61445c565b50929091815492613aab613ec4565b9481613b16575b5015613af757505f1982018281116107f95781541115612f1d575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613b0b926001600160d01b031691506146d3565b5050613a3683613935565b65ffffffffffff83811691161490505f613ab2565b600160401b8110156108695760018101808455811015612f1d575f908382525f80516020614aec83398151915201555f613a93565b90929192600182019081548015613bee575b5084613b7d846144b1565b50949092845493613b8d83613f38565b9681613bd9575b5015613bb6575050505f1981019081116107f95761398c8591613a36936138ec565b613a36949293613bd2926001600160d01b039091169190614772565b5050613969565b65ffffffffffff83811691161490505f613b94565b600160401b81101561086957806001613c0a92018455836138ec565b8154905f199060031b1b191690555f613b72565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610869576108b792604052614374565b8115612d44570490565b90808202905f1981840990828083109203918083039214613ce857633b9aca009082821115613cd6577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613d755784831115613d685790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186144ea565b505090610ec59250613c6d565b90613d8f6107c842613e1e565b8210156130575760ff613dbf613dad845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613e0c57613dcf33836130ef565b918215613dfa57613ded906132c433915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613e31571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c5480613e8b57505f5b6001600160d01b03811615612cfc57600d54811015612f1d57600d5f525f80516020614acc833981519152015490565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613e5b565b600a5480613eff57505f5b6001600160d01b03811615612cfc57600b54811015612f1d57600b5f525f80516020614aec833981519152015490565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c613ecf565b805480613f6d57505f5b6001600160d01b03811615613f67576001613f5d92016138ec565b90549060031b1c90565b50505f90565b5f199080828101116107f957825f5260205f2001015460301c613f42565b9190600181018091116107f957600182018092116107f957610ec592613cf5565b600a54905f82916005841161401a575b613fc69350614957565b80613fe957505f5b6001600160d01b03811615612cfc57613f5d610ec5916138a8565b61400e613ff861401592612b0c565b600a5f525f80516020614aac8339815191520190565b5460301c90565b613fce565b91926140258161482c565b81039081116107f957613fc693600a5f5265ffffffffffff80835f80516020614aac833981519152015416908516105f14614061575091613fbc565b92915061406d90612ba2565b90613fbc565b600c54905f8291600584116140da575b61408d93506149c0565b806140b057505f5b6001600160d01b03811615612cfc57613f5d610ec5916138ca565b61400e6140bf6140d592612b0c565b600c5f525f80516020614a8c8339815191520190565b614095565b91926140e58161482c565b81039081116107f95761408d93600c5f5265ffffffffffff80835f80516020614a8c833981519152015416908516105f14614121575091614083565b92915061412d90612ba2565b90614083565b908154905f829160058411614196575b61414e935084614a29565b8061417657505f905b6001600160d01b03821615613f6757610ec5916001613f5d92016138ec565b61400e61418561419092612b0c565b835f5260205f200190565b90614157565b91926141a18161482c565b81039081116107f95761414e93855f5265ffffffffffff808360205f20015416908516105f146141d2575091614143565b9291506141de90612ba2565b90614143565b604051906141f18261086e565b5f6020838281520152565b6142046141e4565b5061420d6141e4565b50600a54811015612f1d57600a5f5260206040519161422b8361086e565b5f80516020614aac83398151915201549165ffffffffffff83169283825260301c9182910152600b54811015612f1d57600b5f525f80516020614aec83398151915201546040519161427c8361086e565b8252602082015290565b61428e6141e4565b506142976141e4565b50600c54811015612f1d57600c5f526020604051916142b58361086e565b5f80516020614a8c83398151915201549165ffffffffffff83169283825260301c9182910152600d54811015612f1d57600d5f525f80516020614acc83398151915201546040519161427c8361086e565b906020600161432a6143569361431a6141e4565b506143236141e4565b50856138ec565b5093604051946143398661086e565b549465ffffffffffff86169586825260301c9384910152016138ec565b905490604051926143668461086e565b835260031b1c602082015290565b905f602091828151910182855af115612b97575f513d6143c557506001600160a01b0381163b155b6143a35750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b6001141561439c565b9190600181018091116107f957600182018092116107f9576143f1828285613cf5565b928215612d445709151581018091116107f95790565b600c548061441857505f905f905f90565b805f198101116107f957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061446d57505f905f905f90565b805f198101116107f957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806144c25750505f905f905f90565b5f199181838101116107f9575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610869576001820180600c55821015612f1d57600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614a8c83398151915290910155565b600a5490600160401b821015610869576001820180600a55821015612f1d57600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614aac83398151915290910155565b8054600160401b811015610869576145c5916001820181556138ec565b6145f057815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156146aa576140bf61461b91612b0c565b9081549165ffffffffffff90818416918316808311614698578692036146605761465992509065ffffffffffff82549181199060301b169116179055565b60301c9190565b50506146939061467f6146716108aa565b65ffffffffffff9092168252565b6001600160d01b03851660208201526144fa565b614659565b604051632520601d60e01b8152600490fd5b506146ce906146ba6146716108aa565b6001600160d01b03841660208201526144fa565b5f9190565b600a54919291801561474e57613ff86146eb91612b0c565b9081549165ffffffffffff90818416918316808311614698578692036147295761465992509065ffffffffffff82549181199060301b169116179055565b50506146939061473a6146716108aa565b6001600160d01b0385166020820152614551565b506146ce9061475e6146716108aa565b6001600160d01b0384166020820152614551565b805492939280156148075761478961479491612b0c565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614698578793036147d3575061465992509065ffffffffffff82549181199060301b169116179055565b915050614693916147f36147e56108aa565b65ffffffffffff9093168352565b6001600160d01b03861660208301526145a8565b50906146ce916148186147e56108aa565b6001600160d01b03851660208301526145a8565b6001811115610ec557600181600160801b811015614945575b6148ed6148e36148d96148cf6148c56148bb6148f997600488600160401b6148f49a1015614938575b64010000000081101561492b575b6201000081101561491e575b610100811015614912575b6010811015614906575b10156148fe575b60030260011c6148b4818b613c6d565b0160011c90565b6148b4818a613c6d565b6148b48189613c6d565b6148b48188613c6d565b6148b48187613c6d565b6148b48186613c6d565b8093613c6d565b821190565b900390565b60011b6148a4565b811c9160021b9161489d565b60081c91811b91614893565b60101c9160081b91614888565b60201c9160101b9161487c565b60401c9160201b9161486e565b50600160401b9050608082901c614845565b905b82811061496557505090565b9091808216906001818418811c83018093116107f957600a5f5265ffffffffffff80845f80516020614aac833981519152015416908616105f146149ad575050915b90614959565b9093925081018091116107f957906149a7565b905b8281106149ce57505090565b9091808216906001818418811c83018093116107f957600c5f5265ffffffffffff80845f80516020614a8c833981519152015416908616105f14614a16575050915b906149c2565b9093925081018091116107f95790614a10565b91905b838210614a395750505090565b909192808316906001818518811c83018093116107f957855f5265ffffffffffff808460205f20015416908516105f14614a78575050925b9190614a2c565b9094935081018091116107f95791614a7156fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a26469706673582212209a08630ecac45f83fdb7d85909764f45aa928f3197a3b8c81dbd5fc71b9410b664736f6c63430008190033","sourceMap":"1252:20722:107:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:20722:107;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1252:20722:107;-1:-1:-1;1252:20722:107;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;757:38:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;612:37:108;1252:20722:107;;;;-1:-1:-1;;;;;1252:20722:107;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;10806:21;10802:75;;10915:10;1252:20722;;;;6047:15;1252:20722;;;;;6047:33;;;:::i;:24::-;:33;:::i;:::-;10891:35;;10887:88;;1057:70:95;5628:21:107;;:::i;:::-;5272:22;;:::i;:::-;1057:70:95;;;:::i;:::-;11082:20:107;;;11078:82;;11185:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1252:20722:107;;;;;;;;;;;;;;;;;;11078:82;1252:20722;;-1:-1:-1;;;;;;11125:24:107;;1252:20722;;11125:24;10887:88;1252:20722;;-1:-1:-1;;;10949:15:107;;1252:20722;;10949:15;10802:75;1252:20722;;-1:-1:-1;;;10850:16:107;;1252:20722;;10850:16;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;4919:24:23;1252:20722:107;-1:-1:-1;1252:20722:107;4919:24:23;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;4177:34:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;4331:25;819:34:73;837:15;819:34;:::i;:::-;4331:25:107;:::i;:::-;4680:10;;4676:65;;-1:-1:-1;;1252:20722:107;;;;;;;4757:21;1252:20722;4757:21;;:::i;:::-;1252:20722;;;;;;;;;;:::i;4676:65::-;1252:20722;;-1:-1:-1;;;4713:17:107;;1252:20722;;4713:17;1252:20722;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:20722:107;;;;;;-1:-1:-1;;1252:20722:107;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;5831:59;1252:20722;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;;-1:-1:-1;1252:20722:107;;;5831:15;1252:20722;;;;;5831:59;:::i;:::-;1252:20722;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;5350:25:23;1252:20722:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;3202:4:23;4919:24;1252:20722:107;-1:-1:-1;1252:20722:107;4919:24:23;1252:20722:107;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:20722:107;;;;;;;-1:-1:-1;;1252:20722:107;;;;;2077:28:108;1252:20722:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;1329:40:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1252:20722:107;;6441:34:23;6437:102;;6549:37;1252:20722:107;;;6549:37:23;:::i;6437:102::-;1252:20722:107;;-1:-1:-1;;;6498:30:23;;1252:20722:107;;6498:30:23;1252:20722:107;;;;;;-1:-1:-1;;1252:20722:107;;;;;6206:22;1252:20722;;;;6206:46;;;1252:20722;;;;;;;;;;;6206:46;-1:-1:-1;6232:20:107;1252:20722;;;;;6206:46;;1252:20722;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:20722:107;;;;;;;;;;;15791:26;15787:76;;-1:-1:-1;;1252:20722:107;;;;;-1:-1:-1;1252:20722:107;;;;;;15914:27;;1252:20722;;15914:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20722:107;;15787:76;1252:20722;;-1:-1:-1;;;15840:12:107;;1252:20722;;15840:12;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;;;;8755:24;;8751:81;;-1:-1:-1;1252:20722:107;;;;8846:55;;;1252:20722;8842:118;;1252:20722;;-1:-1:-1;;;8994:43:107;;;9031:4;8994:43;;;1252:20722;;;;;;;;;;;;;;;;;;;;;;;;;8994:43;;;;;;;;;;-1:-1:-1;8994:43:107;;;1252:20722;;9110:6;1252:20722;;;9031:4;;9083:10;;9110:6;;:::i;:::-;-1:-1:-1;1252:20722:107;;;9145:43;;;9031:4;9145:43;;;1252:20722;;;;;;;;;;9145:43;1252:20722;;;;;;9145:43;1252:20722;;;;;9145:43;;;;;;;:59;:43;-1:-1:-1;9145:43:107;;;1252:20722;9145:59;;;:::i;:::-;9219:20;;;9215:79;;1252:20722;;;;;9308:64;;1252:20722;9304:123;;5628:21;;1252:20722;5628:21;9783:93;5628:21;;:::i;:::-;5272:22;9707:66;5272:22;;:::i;:::-;9630:67;390:70:95;;;;;:::i;:::-;837:15:73;9666:30:107;837:15:73;819:34;837:15;819:34;:::i;:::-;9666:30:107;;:::i;:::-;9630:67;;:::i;:::-;837:15:73;;9744:28:107;837:15:73;819:34;837:15;819:34;:::i;9744:28:107:-;9707:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:20722:107;;;;;;6047:15;1252:20722;;;;;837:15:73;9834:41:107;837:15:73;6047:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;;;;;;6047:15;1252:20722;;;;;;;6047:33;9834:41;:::i;:::-;9783:93;;:::i;:::-;-1:-1:-1;;1252:20722:107;;;;;;;;;;;9083:10;;9892:62;;1252:20722;;9892:62;3426:1:30;;:::i;:::-;1252:20722:107;;;;;;;;;;;;;;;;;;;9304:123;1252:20722;;-1:-1:-1;;;9395:21:107;;;9308:64;5628:21;9326:31;5628:21;;;:::i;9326:31::-;1252:20722;;-1:-1:-1;9308:64:107;;9215:79;-1:-1:-1;1252:20722:107;;-1:-1:-1;;;9262:21:107;;;9145:43;;;;;;-1:-1:-1;9145:43:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;8994:::-;9110:6;8994:43;;;;;;;;;;;;;;;:::i;:::-;;;;;8842:118;-1:-1:-1;1252:20722:107;;-1:-1:-1;;;8924:25:107;;;8846:55;-1:-1:-1;8890:10:107;1252:20722;;;;8867:22;1252:20722;;;;;;;;8866:35;8846:55;;8751:81;1252:20722;;-1:-1:-1;;;8802:19:107;;;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;2241:34:108;1252:20722:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5098:48;1252:20722;;;:::i;:::-;5098:48;;:::i;1252:20722::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;;1329:40:108;;1252:20722:107;;4468:23:23;4464:108;;-1:-1:-1;19119:16:107;1252:20722;-1:-1:-1;;;;;1252:20722:107;;;;;;19119:37;;19115:87;;-1:-1:-1;;;;;;1252:20722:107;;;19119:16;1252:20722;;;;;;19263:38;;1252:20722;;19263:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20722:107;;4464:108:23;1252:20722:107;;;;4514:47:23;;;;;;966:10:28;1252:20722:107;4514:47:23;;1252:20722:107;;;;;4514:47:23;1252:20722:107;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;16619:24;16615:74;;-1:-1:-1;;1252:20722:107;;;;;;;;-1:-1:-1;1252:20722:107;;;;;;16738:25;;1252:20722;;16738:25;3426:1:30;;:::i;1252:20722:107:-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3909:32:108;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;-1:-1:-1;1252:20722:107;2704:59:108;1252:20722:107;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;12482:19:107;;;:::i;:::-;12474:27;;12470:82;;12673:44;12575:22;;;;;:::i;:::-;-1:-1:-1;1252:20722:107;;;;12673:19;;1252:20722;;-1:-1:-1;;;;;1252:20722:107;;-1:-1:-1;;;;;1252:20722:107;;;12673:19;1252:20722;;;-1:-1:-1;;;12673:44:107;;;12711:4;12673:44;;;1252:20722;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;;;;12673:44;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12673:44:107;;;1252:20722;;;12780:5;1252:20722;12801:57;1252:20722;;-1:-1:-1;1252:20722:107;;;;12780:5;;;:::i;:::-;1252:20722;-1:-1:-1;;;12801:57:107;;1252:20722;;;;;;;12822:10;;12801:57;;;:::i;:::-;;;;;;;;;1564:45:108;12801:57:107;-1:-1:-1;12801:57:107;;;1252:20722;12801:73;;12797:128;;1252:20722;;12939:44;;;12711:4;12939:44;;;1252:20722;;;;;;;;;12939:44;1252:20722;;;;;;12939:44;;;;;;;;;;:60;:44;-1:-1:-1;12939:44:107;;;:60;;;:::i;:::-;:67;12935:126;;13075:7;;13071:93;;1252:20722;3426:1:30;;;:::i;:::-;1252:20722:107;13181:4;1252:20722;;;;;13071:93;13131:16;1252:20722;13149:3;;1252:20722;-1:-1:-1;;;;;1252:20722:107;;13149:3;;:::i;:::-;13071:93;;;;12935:126;1252:20722;;-1:-1:-1;;;13029:21:107;;;12797:128;1252:20722;;-1:-1:-1;;;12897:17:107;;1252:20722;;12897:17;12801:57;;;;;;;;;;;;;;:::i;:::-;;;;12673:44;-1:-1:-1;12673:44:107;;;;;;;12801:57;12673:44;;;12780:5;12673:44;;;;-1:-1:-1;12673:44:107;;;;;;:::i;:::-;;;;;;;;;;;;;12470:82;1252:20722;;-1:-1:-1;;;12524:17:107;;1252:20722;;12524:17;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;1041:36:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;4486:26;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;4486:26;:::i;1252:20722::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;1564:45:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;1575:42;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3817:36:108;1252:20722:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;2409:32:108;1252:20722:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13380:7:107;1252:20722;13366:21;;-1:-1:-1;;;;;1252:20722:107;;;13366:21;:10;:21;13362:71;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;13514;;;;:::i;:::-;13554:17;;;;:53;;;1252:20722;13553:87;;;;1252:20722;13549:146;;1252:20722;5628:21;15559:48;5628:21;;;:::i;:::-;13789:17;13777:30;13789:17;;;:::i;:::-;1252:20722;;13777:11;1252:20722;;;;;;;13777:30;1252:20722;;13821:29;;;;;13891:30;;;;;:::i;:::-;3066:5:68;;;3463;;;1252:20722:107;3060:42:68;;14001:17:107;;;13997:384;;13817:1615;;;;;;;15446:17;15442:102;;13817:1615;1252:20722;;;;;;;;;;;;;;;;;;;;;;;15559:48;3426:1:30;;:::i;:::-;1252:20722:107;;;;;;;;;;;;;15442:102;-1:-1:-1;1252:20722:107;15519:13;;1252:20722;;15479:18;;1252:20722;;-1:-1:-1;;;;;1252:20722:107;;;15479:18;13805:1;1252:20722;-1:-1:-1;;;;;1252:20722:107;;;15519:13;15442:102;;13997:384;14294:29;14062:50;14211:65;14062:50;14247:28;14163:29;14062:50;14306:16;14062:50;14326:40;14062:50;;;:::i;:::-;14163:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;14247:28:107;;:::i;14326:40::-;14306:16;;:::i;14294:29::-;1252:20722;13997:384;;;;;;;13817:1615;14434:26;;;;1252:20722;;13777:11;1252:20722;;;;;;;14434:26;1252:20722;14499:27;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;1252:20722:107;3060:42:68;;14624:17:107;;14620:802;;13817:1615;;;;;;;;14620:802;15345:26;14685:50;;14786:53;14685:50;14886:54;14685:50;14886:29;14685:50;15374:33;14685:50;;;;:::i;:::-;14786:53;;;;;;:::i;:::-;14886:29;;;;:::i;:::-;:54;:::i;:::-;14963:33;;;;14959:194;;14620:802;15171:65;837:15:73;15207:28:107;15287:40;837:15:73;;;819:34;837:15;819:34;:::i;15287:40:107:-;15254:30;15266:17;;;:::i;15254:30::-;1252:20722;15374:33;:::i;:::-;15345:26;1252:20722;;13777:11;1252:20722;;;;;;;15345:26;1252:20722;14620:802;;;;;;;14959:194;15046:33;15020:59;15171:65;15046:33;;;15287:40;15046:33;;;:::i;:::-;15020:59;;:::i;:::-;15101:33;;-1:-1:-1;15101:33:107;;-1:-1:-1;14959:194:107;;13549:146;1252:20722;;-1:-1:-1;;;13663:21:107;;1252:20722;;13663:21;13553:87;13612:28;;;;13553:87;;13554:53;13590:17;;;;:::i;:::-;13575:32;;13554:53;;13362:71;1252:20722;;-1:-1:-1;;;13410:12:107;;1252:20722;;13410:12;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;4933:1;1252:20722;;;;;;;4905:30;1252:20722;4905:30;;:::i;1252:20722::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;4331:25;819:34:73;837:15;819:34;:::i;1252:20722:107:-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:20722:107;2580:68:108;1252:20722:107;;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11772:14;1252:20722;;11772:14;;:::i;1252:20722::-;;;;;5456:47;1252:20722;;;:::i;:::-;5456:47;;:::i;1252:20722::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;19448:22:107;1252:20722;;;;;19444:89;;1252:20722;;-1:-1:-1;;;19548:49:107;;-1:-1:-1;;;;;1252:20722:107;;;19548:49;;;1252:20722;;;;;;;;;;;;;;;19548:49;19558:17;;;1252:20722;19548:49;;;;;;;-1:-1:-1;19548:49:107;;;1252:20722;19547:50;;19543:102;;1252:20722;;-1:-1:-1;;;19659:34:107;;1252:20722;;;;;19659:34;1252:20722;19659:34;1252:20722;;19659:34;;;;;;;-1:-1:-1;19659:34:107;;;1252:20722;19705:4;;;1252:20722;;19659:51;19655:107;;-1:-1:-1;19448:22:107;1252:20722;;-1:-1:-1;;;;;1252:20722:107;;;;-1:-1:-1;;;;;;1252:20722:107;;;;;;;-1:-1:-1;;;1252:20722:107;;;19850:24;-1:-1:-1;;19850:24:107;3426:1:30;;:::i;19655:107:107:-;1252:20722;;-1:-1:-1;;;19733:18:107;;;19659:34;;;;;;;-1:-1:-1;19659:34:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;19543:102;-1:-1:-1;1252:20722:107;;-1:-1:-1;;;19620:14:107;;;19548:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;19444:89;1252:20722;;-1:-1:-1;;;19493:29:107;;;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;17341:1:107;17310:32;;17306:106;;1252:20722;;;;17426:22;1252:20722;;;;;;;;;;17426:27;;;:73;;;;1252:20722;17422:505;;;1252:20722;17941:14;1252:20722;;;;;;;;;17941:31;;;17937:94;;18045:32;:96;;;1252:20722;18041:146;;18319:105;18344:80;18345:67;18513:62;837:15:73;18197:67:107;18219:45;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;18236:28;1252:20722;18219:45;;:::i;:::-;18197:67;1252:20722;;18197:67;17426:22;1252:20722;;-1:-1:-1;;;;1252:20722:107;;;;;-1:-1:-1;;;1252:20722:107;;;;4486:26;4331:25;819:34:73;837:15;819:34;:::i;4486:26:107:-;1252:20722;18367:45;18236:28;1252:20722;18367:45;1252:20722;17941:14;1252:20722;;;;;;;;;;18367:45;;;:::i;:::-;1252:20722;;18345:67;:::i;:::-;18344:80;:::i;:::-;17426:22;1252:20722;;-1:-1:-1;;;;1252:20722:107;;;;;;-1:-1:-1;;;1252:20722:107;;;;;;;;18319:105;18434:63;;;1252:20722;;18434:63;1252:20722;;;;;;;;;;;;;;;;;18513:62;3426:1:30;;:::i;18045:96:107:-;1252:20722;;18081:28;1252:20722;18081:60;18045:96;;17937:94;1252:20722;;-1:-1:-1;;;17995:25:107;;1252:20722;;17995:25;17422:505;17515:53;17545:23;1252:20722;17515:53;1252:20722;;17515:53;17582:35;1252:20722;17603:14;1252:20722;;;;;;;17426:22;1252:20722;;;;;;;;;;17426:22;1252:20722;;17582:35;17603:14;1252:20722;17631:43;;1252:20722;;;;;;;;17426:22;1252:20722;;;17426:22;1252:20722;;17631:43;17688:45;17714:19;1252:20722;17545:23;1252:20722;;17688:45;17426:22;1252:20722;17747:35;;1252:20722;;;;17603:14;1252:20722;;-1:-1:-1;;;;;1252:20722:107;;;;;;-1:-1:-1;;;;;;1252:20722:107;;;;;;;;17747:35;17426:22;1252:20722;17796:43;;1252:20722;;;;17603:14;1252:20722;;-1:-1:-1;;;;1252:20722:107;;;;;;-1:-1:-1;;;1252:20722:107;;;;;;;;17796:43;17853:63;17884:32;1252:20722;17853:63;1252:20722;;17853:63;17422:505;;17426:73;837:15:73;;17457:42:107;819:34:73;837:15;819:34;:::i;17457:42:107:-;-1:-1:-1;17457:42:107;17426:73;;;17306:106;1252:20722;;-1:-1:-1;;;17365:36:107;;1252:20722;;17365:36;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;1666:40;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;5628:21;;:::i;:::-;1252:20722;;;;6432:11;1252:20722;;;;;;;;;;;;;6473:1;1252:20722;;;;;;;;;6432:11;1252:20722;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3901:31:23;1252:20722:107;;;;;:::i;:::-;;;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;3901:31:23;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;3719:42:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;3625:38:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:20722:107;6047:15;1252:20722;;;6047:33;1252:20722;-1:-1:-1;1252:20722:107;6047:33;:::i;1252:20722::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:20722:107;;;;-1:-1:-1;1252:20722:107;477:31:86;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;477:31:86;;;1252:20722:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;477:31:86;1252:20722:107;477:31:86;;;;;;;:::i;:::-;518:79;;;1252:20722:107;518:79:86;;1252:20722:107;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;1989:32:108;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;900:35:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;;16156:21;;16152:75;;-1:-1:-1;1252:20722:107;;;16241:22;1252:20722;;;;;;;;;;;;;16241:41;16237:91;;-1:-1:-1;;;;;1252:20722:107;;;;;8867:22;1252:20722;;;;;16394:44;;;;16338:40;;:31;1252:20722;;;;;;;;;;;;;;16338:40;1252:20722;;;;;;;;;;;;;;;16394:44;;;;3426:1:30;;:::i;16152:75:107:-;1252:20722;;-1:-1:-1;;;16200:16:107;;1252:20722;;16200:16;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;2939:94:108;1252:20722:107;;;;;:::i;:::-;;;-1:-1:-1;1252:20722:107;2939:94:108;1252:20722:107;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;2939:94:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3089:92:108;1252:20722:107;;;;;:::i;:::-;;;-1:-1:-1;1252:20722:107;3089:92:108;1252:20722:107;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;4350:31:108;1252:20722:107;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20017:20:107;1252:20722;;;;;20013:85;;-1:-1:-1;;;;;1252:20722:107;;;;;;20108:312;;1252:20722;20017:20;1252:20722;;-1:-1:-1;;;;1252:20722:107;-1:-1:-1;;;1252:20722:107;;;20430:27;20473:20;-1:-1:-1;20473:20:107;;3426:1:30;;:::i;20108:312:107:-;1252:20722;;-1:-1:-1;;;20155:45:107;;-1:-1:-1;;;;;1252:20722:107;;20155:45;;;1252:20722;;;20155:45;;1252:20722;;;;;;20155:45;20165:15;;;1252:20722;20155:45;;;;;;;-1:-1:-1;20155:45:107;;;20108:312;20154:46;;20150:104;;1252:20722;;-1:-1:-1;;;20272:30:107;;;1252:20722;20272:30;1252:20722;20272:30;;;;;;;;-1:-1:-1;20272:30:107;;;20108:312;20314:4;;;1252:20722;;20272:47;20268:109;;-1:-1:-1;20017:20:107;1252:20722;;-1:-1:-1;;;;;;1252:20722:107;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;20108:312;;;;;;20268:109;1252:20722;;-1:-1:-1;;;20346:16:107;;;20272:30;;;;;;;-1:-1:-1;20272:30:107;;;;;;:::i;:::-;;;;;;20150:104;1252:20722;;-1:-1:-1;;;20227:12:107;;1252:20722;;20227:12;20155:45;;;;;;;;;;;;;;:::i;:::-;;;;20013:85;1252:20722;;-1:-1:-1;;;20060:27:107;;;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;;;;11393:23;;11389:79;;11554:6;1252:20722;11487:13;;;;:::i;:::-;1252:20722;;;-1:-1:-1;1252:20722:107;;;;11554:6;:::i;:::-;1252:20722;;;;;;;;;;;;11583:10;;11577:43;;1252:20722;11577:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;;;;;;;11389:79;1252:20722;;-1:-1:-1;;;11439:18:107;;1252:20722;;11439:18;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;-1:-1:-1;1252:20722:107;2819:64:108;1252:20722:107;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;2331:22:108;1252:20722:107;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;3423:43:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;1183:36:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;5628:21;;:::i;1252:20722::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;;900:35:108;;1252:20722:107;;4468:23:23;4464:108;;1252:20722:107;;;;16941:21;16937:71;;1252:20722;;17054:22;1252:20722;;;;;;;;17054:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;5272:22;;:::i;1252:20722::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;4089:32:108;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;7836:24;;;:::i;:::-;7863:29;;;;;:::i;:::-;1252:20722;;;;;;;7917:1;1252:20722;;;;;;;7895:33;;;:::i;:::-;1252:20722;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;3522:47:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3997:36:108;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;2161:24:108;1252:20722:107;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;5767:26:23;1252:20722:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;3202:4:23;4919:24;1252:20722:107;-1:-1:-1;1252:20722:107;4919:24:23;1252:20722:107;3202:4:23;:::i;:::-;5767:26;:::i;1252:20722:107:-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;;1183:36:108;;1252:20722:107;;4468:23:23;4464:108;;1252:20722:107;;18762:12;1252:20722;18762:29;18758:79;;1252:20722;;18890:30;1252:20722;18762:12;1252:20722;;;;;;18890:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;466:39:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;4267:27:108;1252:20722:107;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;1466:3:108;1252:20722:107;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;;:::i;:::-;6654:48;;1252:20722;;;;;;;:::i;:::-;;;;;;;;;;;;;;6716:16;;6712:111;;1252:20722;;6915:39;1057:70:95;6915:39:107;;5098:48;6878:77;6915:39;;;;6878:77;;:::i;:::-;6994:36;;5456:47;1252:20722;6994:36;;;5456:47;;:::i;:::-;7071:37;;;5098:48;;:::i;:::-;1057:70:95;;:::i;:::-;1252:20722:107;;;;;;;;;;;;;6712:111;6771:41;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5098:48;1252:20722;6878:77;1252:20722;1057:70:95;1252:20722:107;;;:::i;:::-;;;;;6712:111;;;;;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:20722:107;;10171:21;10167:75;;10256:11;;10252:73;;845:69:95;5272:22:107;;:::i;:::-;5628:21;;:::i;:::-;845:69:95;;;:::i;:::-;10461:10:107;1252:20722;;;;6047:15;1252:20722;;;;;10461:10;;;6047:33;;;:::i;:::-;10431:41;;10427:96;;10548:40;;;;;:::i;10427:96::-;1252:20722;;-1:-1:-1;;;10495:17:107;;1252:20722;;10495:17;10252:73;1252:20722;;-1:-1:-1;;;10290:24:107;;1252:20722;;10290:24;1252:20722;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5704:193::-;-1:-1:-1;;;;;1252:20722:107;-1:-1:-1;1252:20722:107;;;5831:15;1252:20722;;;;;5831:59;;5704:193;;5831:59;:::i;2517:241::-;1252:20722;;2589:22;1252:20722;;;;2589:27;;;:72;;;;2517:241;2585:128;;2722:29;2517:241;:::o;2585:128::-;1252:20722;;2684:18;1252:20722;;;;2677:25;:::o;2589:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:20722:107;2620:41;2589:72;;1252:20722;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13805:1;1252:20722;;;;;;;:::o;:::-;;;;;;;;;;:::o;2240:229::-;2308:22;1252:20722;;;;;;;;2308:27;;:72;;;;;2240:229;2304:124;;;1252:20722;;;2240:229;:::o;2304:124::-;1252:20722;;2403:14;1252:20722;;;2396:21;:::o;2308:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:20722:107;2339:41;2308:72;;;7174:191;-1:-1:-1;;;;;1252:20722:107;-1:-1:-1;1252:20722:107;;;6047:15;1252:20722;;;;;6047:33;;;:::i;:::-;5628:21;;:::i;:::-;5272:22;;:::i;:::-;1252:20722;1884:1:95;1252:20722:107;;;;;;;1884:1:95;1252:20722:107;;;;;;;9478:25:68;;;:::i;1252:20722:107:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;:::o;7996:218::-;8109:10;1252:20722;;;-1:-1:-1;;;;;1252:20722:107;;;;;8136:20;;1252:20722;;8159:44;1252:20722;;;;;;;;;;;8159:44;;8197:4;8159:44;;;1252:20722;8159:44;;;;;;;8109:10;8159:44;;;8136:71;7996:218;:::o;8159:44::-;;;;;;;;;;;;;;:::i;8136:71::-;;8109:10;7996:218;:::o;1252:20722::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2806:693::-;2911:18;1252:20722;;;;;;;;;;;;;2899:30;;;;;;1252:20722;;2949:22;1252:20722;;;;;2949:27;;;;:65;;;;;2895:598;2945:129;;;;3094:87;1252:20722;3094:87;1252:20722;3125:34;3124:57;1252:20722;3094:27;1252:20722;3125:34;;:::i;:::-;1252:20722;;;;3124:57;;:::i;2945:129::-;1252:20722;;-1:-1:-1;;;3041:18:107;;;;;2949:65;2980:34;;-1:-1:-1;2949:65:107;;;;2895:598;1252:20722;;3202:22;1252:20722;;;;;;;3202:27;;;;:65;;;;;2895:598;-1:-1:-1;;3198:295:107;;;1252:20722;;3290:75;1252:20722;;3290:75;1252:20722;3317:30;3316:49;1252:20722;3290:23;1252:20722;3317:30;;:::i;:::-;1252:20722;;;3316:49;;:::i;3198:295::-;3403:79;1252:20722;;3425:57;1252:20722;;3426:34;3403:79;1252:20722;3403:19;1252:20722;3426:34;;:::i;:::-;1252:20722;;;;3425:57;;:::i;3202:65::-;3233:34;;-1:-1:-1;3202:65:107;;;;3361:103:30;;;;:::i;:::-;1252:20722:107;;-1:-1:-1;;;;;1252:20722:107;;;11802:23;;11798:79;;11931:11;;11927:70;;1252:20722;12023:10;;;;;;-1:-1:-1;1252:20722:107;;12168:49;;1252:20722;;;;12145:6;;1252:20722;;12102:18;;1252:20722;;-1:-1:-1;;;;;1252:20722:107;;;12102:18;12145:6;:::i;:::-;12168:49;1252:20722;;12179:10;;;;12168:49;;;:::i;:::-;;;;3426:1:30;;;:::i;12035:3:107:-;12071:9;12054:27;1252:20722;12071:9;12064:17;12071:9;;;;;:::i;:::-;1252:20722;12064:17;:::i;12054:27::-;12035:3;1252:20722;12012:9;;11927:70;1252:20722;;-1:-1:-1;;;11965:21:107;;;;;1252:20722;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3547:665::-;3647:27;1252:20722;3639:35;;;3635:87;;3744:23;1252:20722;3736:31;;;;;;1252:20722;3791:83;1252:20722;3790:96;1252:20722;3816:58;3817:35;3791:22;1252:20722;;;3817:35;;:::i;:::-;1252:20722;;;;;3816:58;;:::i;3732:474::-;1252:20722;;3907:19;1252:20722;3907:24;;:55;;;;3732:474;3903:303;;;1252:20722;3985:84;1252:20722;;4007:50;4008:31;3986:71;1252:20722;3986:18;1252:20722;4008:31;;:::i;:::-;1252:20722;;;4007:50;;:::i;:::-;1252:20722;;;;3986:71;:::i;3903:303::-;4108:75;1252:20722;;4107:88;1252:20722;4133:50;4134:27;4108:22;1252:20722;;;4134:27;;:::i;:::-;1252:20722;;;;;4133:50;;:::i;:::-;1252:20722;;;;4108:75;:::i;3907:55::-;3935:27;;;;3907:55;;3635:87;1252:20722;;-1:-1:-1;;;3697:14:107;;;;;1918:274;1252:20722;;2003:22;1252:20722;;;;2003:27;;:72;;;;;1918:274;1999:138;;;;2153:32;1252:20722;1918:274;:::o;1999:138::-;2098:28;1252:20722;2091:35;:::o;2003:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:20722:107;2034:41;2003:72;;;;8275:265;8376:10;1252:20722;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;8367:19;8363:75;;8454:16;1252:20722;;8454:79;;;8376:10;8275:265;:::o;8454:79::-;8504:12;1252:20722;8491:42;;;:::i;8363:75::-;1252:20722;;-1:-1:-1;;;8409:18:107;;;;;7413:227;;7553:34;7413:227;1252:20722;-1:-1:-1;1252:20722:107;7553:18;1252:20722;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;;;;;;;7553:34;1252:20722;;-1:-1:-1;1252:20722:107;7589:11;1252:20722;;;-1:-1:-1;1252:20722:107;;7609:16;1252:20722;;;-1:-1:-1;1252:20722:107;;;1884:1:95;1252:20722:107;;;;;;;1884:1:95;1252:20722:107;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1252:20722:107;;3670:20:30;3666:88;;1991:1;1252:20722:107;;3470:384:30:o;3666:88::-;1252:20722:107;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:20722:107;3860:283:30:o;20506:960:107:-;20685:10;1252:20722;;;;6047:15;1252:20722;;;;;;20506:960;;;819:34:73;837:15;819:34;:::i;:::-;20685:10:107;1252:20722;;;;6047:15;1252:20722;;;;;6047:33;;;:::i;:::-;1252:20722;;;;;;;;;20669:93;21385:74;20669:93;;;21210:30;20669:93;;:::i;:::-;837:15:73;;20772:67:107;819:34:73;837:15;819:34;:::i;:::-;20809:29:107;5272:22;;;:::i;20772:67::-;837:15:73;;20849:68:107;819:34:73;837:15;819:34;:::i;:::-;20885:31:107;5628:21;;;:::i;20849:68::-;837:15:73;;21319:34:107;837:15:73;21319:25:107;20944:18;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;20944:18;:::i;:::-;21276:33;20995:18;;1252:20722;;13777:11;1252:20722;;;;;;;20995:18;1252:20722;21052:23;;1252:20722;;21052:16;1252:20722;;;;;;;21052:23;1252:20722;390:70:95;;;;;:::i;:::-;21210:30:107;;;;;;:::i;:::-;21189:18;;1252:20722;;13777:11;1252:20722;;;;;;;21189:18;1252:20722;21276:33;:::i;:::-;21250:23;;1252:20722;;21052:16;1252:20722;;;;;;;21250:23;1252:20722;;;21319:18;1252:20722;;;;;;;21319:25;1252:20722;;;;;;;;;;;;;;;;21319:34;:50;1252:20722;;;21319:50;:::i;:::-;1252:20722;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;20685:10;;1252:20722;;21385:74;20506:960::o;1252:20722::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:94:-;;1252:20722:107;;7686:17:94;7682:83;;1252:20722:107;7789:27:94;1252:20722:107;7789:27:94;1252:20722:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:20722:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;1252:20722:107;8075:24:94;:::o;7975:84::-;1252:20722:107;;;8009:16:94;5098:13:107;1252:20722;8009:16:94;:::i;:::-;1252:20722:107;;;8001:24:94;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:::-;1252:20722:107;;;;;8029:29:94;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:20722:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:20722:107;;7686:17:94;7682:83;;1252:20722:107;7789:27:94;1252:20722:107;7789:27:94;1252:20722:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:20722:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:20722:107;;;8009:16:94;5456:12:107;1252:20722;8009:16:94;:::i;:::-;1252:20722:107;;;8001:24:94;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:29::-;;8001:57;;;;7682:83;7726:28;;;;:::i;7558:604::-;;1252:20722:107;;7686:17:94;7682:83;;1252:20722:107;7789:27:94;1252:20722:107;7789:27:94;1252:20722:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:20722:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;1252:20722:107;8075:24:94;:::o;7975:84::-;1252:20722:107;;;8009:16:94;1252:20722:107;;8009:16:94;:::i;:::-;1252:20722:107;;;8001:24:94;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:29::-;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;1252:20722:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;466:39:108;;1252:20722:107;;3901:31:23;1252:20722:107;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;757:38:108;;1252:20722:107;;3901:31:23;1252:20722:107;4148:103:23;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;1041:36:108;;1252:20722:107;;3901:31:23;1252:20722:107;4148:103:23;966:10:28;-1:-1:-1;1252:20722:107;;;;;;;;;612:37:108;;1252:20722:107;;3901:31:23;1252:20722:107;4148:103:23;-1:-1:-1;1252:20722:107;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;966:10:28;1252:20722:107;;;;;;;;;3901:31:23;1252:20722:107;7270:387:23;-1:-1:-1;1252:20722:107;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;-1:-1:-1;;1252:20722:107;7509:4:23;1252:20722:107;;;966:10:28;;-1:-1:-1;;;;;1252:20722:107;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7892:388::-;-1:-1:-1;1252:20722:107;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;966:10:28;;-1:-1:-1;;;;;1252:20722:107;;8155:40:23;-1:-1:-1;;8155:40:23;1252:20722:107;8209:11:23;:::o;1670:188:55:-;1252:20722:107;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;1252:20722:107;;;1797:53:55;;;1252:20722:107;;;;;;;;;;;;;;;;;1797:53:55;;;1252:20722:107;;;;;;;-1:-1:-1;;;;;1252:20722:107;;;;;1797:53:55;1252:20722:107;;;1797:53:55;:::i;1252:20722:107:-;7178:12:94;1252:20722:107;;;;;;7178:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;-1:-1:-1;1252:20722:107;:::o;:::-;7178:12:94;1252:20722:107;;;;;;7178:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;-1:-1:-1;1252:20722:107;:::o;:::-;;;;;;;;-1:-1:-1;1252:20722:107;;-1:-1:-1;1252:20722:107;;;-1:-1:-1;1252:20722:107;:::o;:::-;6360:12:94;1252:20722:107;-1:-1:-1;;;1252:20722:107;;;;;;;;;6360:12:94;1252:20722:107;;;;;;6360:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;:::o;:::-;6360:12:94;1252:20722:107;-1:-1:-1;;;1252:20722:107;;;;;;;;;6360:12:94;1252:20722:107;;;;;;6360:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;:::o;:::-;;;;;-1:-1:-1;;;1252:20722:107;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;6360:12;1252:20722:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:20722:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:20722:107;;;;;;;;;-1:-1:-1;1252:20722:107;;;-1:-1:-1;1252:20722:107;;;;;;6798:25:94;1252:20722:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:20722:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:20722:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;6356:75:94;;;6246:584;;;;6360:12;1252:20722:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:20722:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:20722:107;;;;;;;;;-1:-1:-1;1252:20722:107;;;-1:-1:-1;1252:20722:107;;;;;;6798:25:94;1252:20722:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:20722:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;6604:::-;1252:20722:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:20722:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:20722:107;;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;6356:75:94;;;6246:584;;;;;6360:12;;;1252:20722:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:20722:107;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;6644:21:94;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:20722:107;;8310:38:71;;-1:-1:-1;;;;;1252:20722:107;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;1252:20722:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:20722:107;;;;;;6360:12:94;1252:20722:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;1271:160:55;1252:20722:107;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;1252:20722:107;;;1380:43:55;;;1252:20722:107;;;;;;;;;1380:43:55;;;1252:20722:107;;;;-1:-1:-1;;;;;1252:20722:107;;;;;;;;1380:43:55;1252:20722:107;;;1380:43:55;:::i;1252:20722:107:-;;;;;;;:::o;4996:4226:68:-;;1252:20722:107;;;;-1:-1:-1;;4996:4226:68;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1466:3:108;6270:20:68;;;;;6266:143;;1252:20722:107;6695:300:68;;;;;;;;1252:20722:107;;6695:300:68;;7259:375;;7700:21;1252:20722:107;4996:4226:68;:::o;6266:143::-;1829:135:59;;;3060:42:68;1829:135:59;;;;;5792:368:68;1252:20722:107;;1466:3:108;1252:20722:107;;;6119:26:68;:::o;4996:4226::-;;1252:20722:107;;;;-1:-1:-1;;1252:20722:107;4996:4226:68;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;940:4:59;-1:-1:-1;940:4:59;7214:31:68;;7259:375;;;8094:1;1252:20722:107;;8075:1:68;1252:20722:107;8074:21:68;1252:20722:107;;;940:4:59;;1252:20722:107;;;;940:4:59;;1252:20722:107;;;;940:4:59;;1252:20722:107;;;;940:4:59;;1252:20722:107;;;;940:4:59;;1252:20722:107;;;;940:4:59;;1252:20722:107;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;1252:20722:107;6695:300:68;;7259:375;7700:21;1252:20722:107;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;1252:20722:107;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;21472:460:107:-;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;21565:23;;;21561:75;;1252:20722;21650:39;:27;;1252:20722;;21650:20;1252:20722;;;;;;;21650:27;21678:10;1252:20722;;;;;;;;;;;;;;21650:39;1252:20722;;21646:93;;21758:32;21678:10;21758:32;;:::i;:::-;21805:11;;;21801:68;;21879:39;21678:10;21879:27;21678:10;21879:27;1252:20722;;21650:20;1252:20722;;;;;;;21879:39;1252:20722;;-1:-1:-1;;1252:20722:107;21921:4;1252:20722;;;21472:460::o;21801:68::-;1252:20722;;-1:-1:-1;;;21839:19:107;;;;;21646:93;1252:20722;;-1:-1:-1;;;21712:16:107;;;;;14296:213:69;1252:20722:107;14374:24:69;;;;14370:103;;1252:20722:107;14296:213:69;:::o;14370:103::-;1252:20722:107;;;;14421:41:69;;;;;;14452:2;14421:41;;;1252:20722:107;;;;;14421:41:69;10580:184:94;5628:12:107;1252:20722;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:20722:107;;10726:7:94;1252:20722:107;;10736:12:94;1252:20722:107;;;;;;10736:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;10580:184:94;:::o;10446:63:71:-;1252:20722:107;;;;;;;;5628:12;-1:-1:-1;14439:109:71;;;1252:20722:107;;;10446:63:71;;10580:184:94;5272:13:107;1252:20722;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:20722:107;;10726:7:94;1252:20722:107;;10736:12:94;1252:20722:107;;;;;;10736:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;10580:184:94;:::o;10446:63:71:-;1252:20722:107;;;;;;;;5272:13;-1:-1:-1;14439:109:71;;;1252:20722:107;;;10446:63:71;;10580:184:94;1252:20722:107;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:20722:107;;10726:7:94;1252:20722:107;;10736:12:94;:17;:12;;:17;:::i;:::-;1252:20722:107;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1252:20722:107;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;1252:20722:107;;;10446:63:71;;1662:280:95;;;1884:1;1252:20722:107;;;;;;;1884:1:95;1252:20722:107;;;;;;;9478:25:68;;;:::i;6999:207:94:-;5098:13:107;1252:20722;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:94;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;1252:20722:107;;7168:7:94;1252:20722:107;;7178:17:94;1252:20722:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5098:13:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:41;1252:20722:107;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:20722:107;;;;;;;10049:53:71;14439:109;5098:13:107;-1:-1:-1;14439:109:71;1252:20722:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20722:107;;;;;9870:48:71;9866:149;1252:20722:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;5456:12:107;1252:20722;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:94;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;1252:20722:107;;7168:7:94;1252:20722:107;;7178:17:94;1252:20722:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5456:12:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:20722:107;;;;;;;10049:53:71;14439:109;5456:12:107;-1:-1:-1;14439:109:71;1252:20722:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20722:107;;;;;9870:48:71;9866:149;1252:20722:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;;1252:20722:107;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:94;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;1252:20722:107;;7168:7:94;1252:20722:107;;;7178:12:94;;:17;:12;;:17;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;14439:109;;;;;;14289:265;;10135:48;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;1252:20722:107;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;1252:20722:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:20722:107;;;;;9870:48:71;9866:149;1252:20722:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:20722:107;;;;;;;:::i;:::-;-1:-1:-1;1252:20722:107;;;;;;;:::o;11486:272:94:-;1252:20722:107;;:::i;:::-;;;;:::i;:::-;;5098:13;1252:20722;;;;;;5098:13;-1:-1:-1;1252:20722:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;;;;;;;;;;11718:12:94;1252:20722:107;;;;;;11718:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;:::i;:::-;;;;11672:79:94;;1252:20722:107;11486:272:94;:::o;:::-;1252:20722:107;;:::i;:::-;;;;:::i;:::-;;5456:12;1252:20722;;;;;;5456:12;-1:-1:-1;1252:20722:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;;;;;;;;;;11718:12:94;1252:20722:107;;;;;;11718:12:94;-1:-1:-1;1252:20722:107;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;;;;;:::i;11486:272:94:-;;1252:20722:107;11718:12:94;11452:22:71;11718:31:94;11486:272;1252:20722:107;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;1252:20722:107;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:94;:31;:::i;:::-;1252:20722:107;;;;;;;;;:::i;:::-;;;;;;;11672:79:94;;1252:20722:107;11486:272:94;:::o;7738:720:55:-;;-1:-1:-1;7875:421:55;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:55;;8310:15;;-1:-1:-1;;;;;;1252:20722:107;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:20722:107;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;1252:20722:107;;;8401:40:55;;;1252:20722:107;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:95;;;1252:20722:107;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;1252:20722:107;;;;;;;1258:280:95;:::o;10695:389:71:-;5628:12:107;1252:20722;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:20722:107;;;;;;;;5628:12;10833:17:71;14439:109;;;1252:20722:107;11014:1:71;;1252:20722:107;;;;;;;11030:37:71:o;10695:389::-;5272:13:107;1252:20722;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:20722:107;;;;;;;;5272:13;10833:17:71;14439:109;;;1252:20722:107;11014:1:71;;1252:20722:107;;;;;;;11030:37:71:o;10695:389::-;1252:20722:107;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:20722:107;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;1252:20722:107;11014:1:71;1252:20722:107;;;;;;;11030:37:71;:::o;1776:194:59:-;1829:135;;;;;;;;1252:20722:107;5628:12;1252:20722;;-1:-1:-1;;;1252:20722:107;;;;;;;;;5628:12;1252:20722;;;;;;5628:12;-1:-1:-1;1252:20722:107;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;:::o;:::-;5272:13;1252:20722;;-1:-1:-1;;;1252:20722:107;;;;;;;;;5272:13;1252:20722;;;;;;5272:13;-1:-1:-1;1252:20722:107;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:20722:107;;;;:::o;:::-;;;-1:-1:-1;;;1252:20722:107;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:20722:107;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5628:12:107;1252:20722;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:20722:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:20722:107;;;;;;;;;;;;;;;;;12285:19:71;1252:20722:107;;12423:25:71;;:::o;12247:163::-;1252:20722:107;;12343:52:71;1252:20722:107;12353:41:71;1252:20722:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:20722:107;;12353:41:71;;;1252:20722:107;12343:52:71;:::i;:::-;12247:163;;12099:89;1252:20722:107;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1252:20722:107;12479:52:71;1252:20722:107;12489:41:71;1252:20722:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:20722:107;;12489:41:71;;;1252:20722:107;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5272:13:107;1252:20722;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:20722:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:20722:107;;;;;;;;;;;;;;;;;12247:163:71;1252:20722:107;;12343:52:71;1252:20722:107;12353:41:71;1252:20722:107;;:::i;12353:41:71:-;-1:-1:-1;;;;;1252:20722:107;;12353:41:71;;;1252:20722:107;12343:52:71;:::i;11860:713::-;1252:20722:107;12479:52:71;1252:20722:107;12489:41:71;1252:20722:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:20722:107;;12489:41:71;;;1252:20722:107;12343:52:71;:::i;11657:922::-;1252:20722:107;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:20722:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1252:20722:107;;;;;;;;;;;;;;;;;12247:163:71;1252:20722:107;;;12343:52:71;1252:20722:107;12353:41:71;1252:20722:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:20722:107;;12353:41:71;;;1252:20722:107;12343:52:71;:::i;11860:713::-;1252:20722:107;;12479:52:71;1252:20722:107;12489:41:71;1252:20722:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:20722:107;;12489:41:71;;;1252:20722:107;12343:52:71;:::i;18080:5181:68:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:68;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:68;19383:15;;;19379:90;;18080:5181;19493:7;19486:15;;;19482:90;;18080:5181;19596:7;19589:15;;;19585:89;;18080:5181;19698:6;19691:14;;;19687:87;;18080:5181;19798:6;19791:14;;;19787:87;;18080:5181;19891:14;;19887:61;;18080:5181;20374:1;1252:20722:107;18246:1:68;1252:20722:107;22284:6:68;;;;:::i;:::-;1252:20722:107;;;;;22278:18:68;22393:6;;;;:::i;22387:18::-;22504:6;;;;:::i;22498:18::-;22613:6;;;;:::i;22607:18::-;22723:6;;;;:::i;22717:18::-;22833:6;;;;:::i;22827:18::-;23237:6;;;:::i;:::-;23232:11;;;1252:20722:107;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;1252:20722:107;19887:61:68;;19787:87;1252:20722:107;;;;;19787:87:68;;;19687;1252:20722:107;;;;;19687:87:68;;;19585:89;1252:20722:107;;;;;19585:89:68;;;19482:90;1252:20722:107;;;;;19482:90:68;;;19379;1252:20722:107;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1252:20722:107;-1:-1:-1;1252:20722:107;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:20722:107;;3731:5:68;;;1252:20722:107;;;;;;;;;5098:13;-1:-1:-1;14439:109:71;1252:20722:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20722:107;;;;;-1:-1:-1;13189:136:71;1252:20722:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:20722:107;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:20722:107;;3731:5:68;;;1252:20722:107;;;;;;;;;5456:12;-1:-1:-1;14439:109:71;1252:20722:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:20722:107;;;;;-1:-1:-1;13189:136:71;1252:20722:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:20722:107;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;1252:20722:107;;3731:5:68;;;1252:20722:107;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1252:20722:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:20722:107;;;;;-1:-1:-1;13189:136:71;1252:20722:107;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;1252:20722:107;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"69978":[{"start":5176,"length":32},{"start":6398,"length":32}],"69981":[{"start":7457,"length":32},{"start":8806,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DELEGATOR_FACTORY()":"6da3e06d","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init()":"dc0b1d71","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","activeBalanceOf(address)":"59f769a9","activeBalanceOfAt(address,uint48,bytes)":"efb559d6","activeShares()":"bfefcd7b","activeSharesAt(uint48,bytes)":"50f22068","activeSharesOf(address)":"9d66201b","activeSharesOfAt(address,uint48,bytes)":"2d73c69c","activeStake()":"bd49c35f","activeStakeAt(uint48,bytes)":"810da75d","burner()":"27810b6e","claim(address,uint256)":"aad3ec96","claimBatch(address,uint256[])":"7c04c80a","collateral()":"d8dfeb45","currentEpoch()":"76671808","currentEpochStart()":"61a8c8c4","delegator()":"ce9b7930","deposit(address,uint256)":"47e7ef24","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochAt(uint48)":"7953b33b","epochDuration()":"4ff0876a","epochDurationInit()":"46361671","epochDurationSetEpochsDelay()":"c642b050","epochStart(uint256)":"aa9354a3","flashFee(address,uint256)":"d9d98ce4","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoan(address,address,uint256,bytes)":"5cffe9de","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isInitialized()":"392e53cd","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","maxFlashLoan(address)":"613255ab","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","previousEpochStart()":"281f5752","redeem(address,uint256)":"1e9a6950","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setDelegator(address)":"83cd9cc3","setDepositLimit(uint256)":"bdc8144b","setDepositWhitelist(bool)":"4105a7dd","setDepositorWhitelistStatus(address,bool)":"a2861466","setEpochDuration(uint48,uint256)":"83f46c2c","setFlashFeeRate(uint256)":"d626811b","setFlashFeeReceiver(address)":"52741a40","setIsDepositLimit(bool)":"5346e34f","setSlasher(address)":"aabc2496","slashableBalanceOf(address)":"c31e8dd7","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","totalStake()":"8b0e9f3f","withdraw(address,uint256)":"f3fef3a3","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076","withdrawalsOf(uint256,address)":"f5e7ee0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatorFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"slasherFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegatorAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DepositLimitReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientDeposit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientRedemption\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientWithdrawal\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCaptureEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidClaimer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLengthEpochs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNewEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOnBehalfOf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReturnAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxLoanExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewEpochDurationNotReady\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPreviousEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWhitelistedDepositor\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlasherAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AcceptEpochDuration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"epochs\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ClaimBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"name\":\"OnSlash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"}],\"name\":\"SetDelegator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"SetDepositLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetDepositWhitelist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetDepositorWhitelistStatus\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"epochDuration\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochDurationSetEpochsDelay\",\"type\":\"uint256\"}],\"name\":\"SetEpochDuration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"flashFeeRate\",\"type\":\"uint256\"}],\"name\":\"SetFlashFeeRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"flashFeeReceiver\",\"type\":\"address\"}],\"name\":\"SetFlashFeeReceiver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetIsDepositLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"}],\"name\":\"SetSlasher\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DELEGATOR_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SLASHER_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_Vault_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"activeBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"activeBalanceOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeSharesAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"activeSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeSharesOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeStakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"epochs\",\"type\":\"uint256[]\"}],\"name\":\"claimBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"epochAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"epochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"onSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"previousEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator_\",\"type\":\"address\"}],\"name\":\"setDelegator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"setDepositLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setDepositWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setDepositorWhitelistStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"epochDuration_\",\"type\":\"uint48\"},{\"internalType\":\"uint256\",\"name\":\"epochDurationSetEpochsDelay_\",\"type\":\"uint256\"}],\"name\":\"setEpochDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"flashFeeRate_\",\"type\":\"uint256\"}],\"name\":\"setFlashFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"flashFeeReceiver_\",\"type\":\"address\"}],\"name\":\"setFlashFeeReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setIsDepositLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher_\",\"type\":\"address\"}],\"name\":\"setSlasher\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"slashableBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"events\":{\"Claim(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral claimed\",\"claimer\":\"account that claimed\",\"epoch\":\"epoch the collateral was claimed for\",\"recipient\":\"account that received the collateral\"}},\"ClaimBatch(address,address,uint256[],uint256)\":{\"params\":{\"amount\":\"amount of the collateral claimed\",\"claimer\":\"account that claimed\",\"epochs\":\"epochs the collateral was claimed for\",\"recipient\":\"account that received the collateral\"}},\"Deposit(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral deposited\",\"depositor\":\"account that made the deposit\",\"onBehalfOf\":\"account the deposit was made on behalf of\",\"shares\":\"amount of the active shares minted\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(uint256,uint48,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to slash\",\"captureTimestamp\":\"time point when the stake was captured\",\"slashedAmount\":\"real amount of the collateral slashed\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"SetDelegator(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"delegator\":\"vault's delegator to delegate the stake to networks and operators\"}},\"SetDepositLimit(uint256)\":{\"params\":{\"limit\":\"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)\"}},\"SetDepositWhitelist(bool)\":{\"params\":{\"status\":\"if enabled deposit whitelist\"}},\"SetDepositorWhitelistStatus(address,bool)\":{\"params\":{\"account\":\"account for which the whitelist status is set\",\"status\":\"if whitelisted the account\"}},\"SetEpochDuration(uint48,uint256)\":{\"params\":{\"epochDuration\":\"epoch duration\",\"epochDurationSetEpochsDelay\":\"delay for the epoch duration set in epochs\"}},\"SetFlashFeeRate(uint256)\":{\"params\":{\"flashFeeRate\":\"flash fee rate\"}},\"SetFlashFeeReceiver(address)\":{\"params\":{\"flashFeeReceiver\":\"flash fee receiver\"}},\"SetIsDepositLimit(bool)\":{\"params\":{\"status\":\"if enabled deposit limit\"}},\"SetSlasher(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"slasher\":\"vault's slasher to provide a slashing mechanism to networks\"}},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral withdrawn\",\"burnedShares\":\"amount of the active shares burned\",\"claimer\":\"account that needs to claim the withdrawal\",\"mintedShares\":\"amount of the epoch withdrawal shares minted\",\"withdrawer\":\"account that made the withdrawal\"}}},\"kind\":\"dev\",\"methods\":{\"activeBalanceOf(address)\":{\"params\":{\"account\":\"account to get the active balance for\"},\"returns\":{\"_0\":\"active balance for the account\"}},\"activeBalanceOfAt(address,uint48,bytes)\":{\"params\":{\"account\":\"account to get the active balance for\",\"hints\":\"hints for checkpoints' indexes\",\"timestamp\":\"time point to get the active balance for the account at\"},\"returns\":{\"_0\":\"active balance for the account at the timestamp\"}},\"activeShares()\":{\"returns\":{\"_0\":\"total number of active shares\"}},\"activeSharesAt(uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the total number of active shares at\"},\"returns\":{\"_0\":\"total number of active shares at the timestamp\"}},\"activeSharesOf(address)\":{\"params\":{\"account\":\"account to get the number of active shares for\"},\"returns\":{\"_0\":\"number of active shares for the account\"}},\"activeSharesOfAt(address,uint48,bytes)\":{\"params\":{\"account\":\"account to get the number of active shares for\",\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the number of active shares for the account at\"},\"returns\":{\"_0\":\"number of active shares for the account at the timestamp\"}},\"activeStake()\":{\"returns\":{\"_0\":\"total amount of active stake\"}},\"activeStakeAt(uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the total active stake at\"},\"returns\":{\"_0\":\"total amount of active stake at the timestamp\"}},\"claim(address,uint256)\":{\"params\":{\"epoch\":\"epoch to claim the collateral for\",\"recipient\":\"account that receives the collateral\"},\"returns\":{\"amount\":\"amount of the collateral claimed\"}},\"claimBatch(address,uint256[])\":{\"params\":{\"epochs\":\"epochs to claim the collateral for\",\"recipient\":\"account that receives the collateral\"},\"returns\":{\"amount\":\"amount of the collateral claimed\"}},\"currentEpoch()\":{\"returns\":{\"_0\":\"current epoch\"}},\"currentEpochStart()\":{\"returns\":{\"_0\":\"start of the current epoch\"}},\"deposit(address,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to deposit\",\"onBehalfOf\":\"account the deposit is made on behalf of\"},\"returns\":{\"depositedAmount\":\"real amount of the collateral deposited\",\"mintedShares\":\"amount of the active shares minted\"}},\"epochAt(uint48)\":{\"details\":\"Reverts if the timestamp is less than the start of the epoch 0.\",\"params\":{\"timestamp\":\"time point to get the epoch at\"},\"returns\":{\"_0\":\"epoch at the timestamp\"}},\"epochDuration()\":{\"returns\":{\"_0\":\"duration of the epoch\"}},\"epochDurationInit()\":{\"returns\":{\"_0\":\"time point of the epoch duration set\"}},\"epochDurationSetEpochsDelay()\":{\"returns\":{\"_0\":\"delay for the epoch duration set\"}},\"epochStart(uint256)\":{\"params\":{\"epoch\":\"epoch to get the start of\"},\"returns\":{\"_0\":\"start of the epoch\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isInitialized()\":{\"returns\":{\"_0\":\"if the vault is fully initialized\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lended.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"nextEpochStart()\":{\"returns\":{\"_0\":\"start of the next epoch\"}},\"onSlash(uint256,uint48)\":{\"details\":\"Only the slasher can call this function.\",\"params\":{\"amount\":\"amount to slash\",\"captureTimestamp\":\"time point when the stake was captured\"},\"returns\":{\"slashedAmount\":\"real amount of the collateral slashed\"}},\"previousEpochStart()\":{\"details\":\"Reverts if the current epoch is 0.\",\"returns\":{\"_0\":\"start of the previous epoch\"}},\"redeem(address,uint256)\":{\"params\":{\"claimer\":\"account that needs to claim the withdrawal\",\"shares\":\"amount of the active shares to redeem\"},\"returns\":{\"mintedShares\":\"amount of the epoch withdrawal shares minted\",\"withdrawnAssets\":\"amount of the collateral withdrawn\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setDelegator(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"delegator\":\"vault's delegator to delegate the stake to networks and operators\"}},\"setDepositLimit(uint256)\":{\"details\":\"Only a DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"limit\":\"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)\"}},\"setDepositWhitelist(bool)\":{\"details\":\"Only a DEPOSIT_WHITELIST_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit whitelist\"}},\"setDepositorWhitelistStatus(address,bool)\":{\"details\":\"Only a DEPOSITOR_WHITELIST_ROLE holder can call this function.\",\"params\":{\"account\":\"account for which the whitelist status is set\",\"status\":\"if whitelisting the account\"}},\"setEpochDuration(uint48,uint256)\":{\"details\":\"Only a EPOCH_DURATION_SET_ROLE holder can call this function. Can be accepted after `epochDurationSetEpochsDelay` epochs.\",\"params\":{\"epochDurationSetEpochsDelay_\":\"delay for the epoch duration set in epochs\",\"epochDuration_\":\"epoch duration\"}},\"setFlashFeeRate(uint256)\":{\"details\":\"Only a FLASH_FEE_RATE_SET_ROLE holder can call this function.\",\"params\":{\"flashFeeRate_\":\"flash fee rate\"}},\"setFlashFeeReceiver(address)\":{\"details\":\"Only a FLASH_FEE_RECEIVER_SET_ROLE holder can call this function.\",\"params\":{\"flashFeeReceiver_\":\"flash fee receiver\"}},\"setIsDepositLimit(bool)\":{\"details\":\"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit limit\"}},\"setSlasher(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"slasher\":\"vault's slasher to provide a slashing mechanism to networks\"}},\"slashableBalanceOf(address)\":{\"params\":{\"account\":\"account to get the slashable collateral for\"},\"returns\":{\"_0\":\"total amount of the account's slashable collateral\"}},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"totalStake()\":{\"returns\":{\"_0\":\"total amount of the slashable collateral\"}},\"withdraw(address,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to withdraw\",\"claimer\":\"account that needs to claim the withdrawal\"},\"returns\":{\"burnedShares\":\"amount of the active shares burned\",\"mintedShares\":\"amount of the epoch withdrawal shares minted\"}},\"withdrawalsOf(uint256,address)\":{\"params\":{\"account\":\"account to get the withdrawals for\",\"epoch\":\"epoch to get the withdrawals for the account at\"},\"returns\":{\"_0\":\"withdrawals for the account at the epoch\"}}},\"stateVariables\":{\"DELEGATOR_FACTORY\":{\"return\":\"address of the delegator factory\",\"returns\":{\"_0\":\"address of the delegator factory\"}},\"SLASHER_FACTORY\":{\"return\":\"address of the slasher factory\",\"returns\":{\"_0\":\"address of the slasher factory\"}}},\"version\":1},\"userdoc\":{\"events\":{\"AcceptEpochDuration()\":{\"notice\":\"Emitted when a pending epoch duration is accepted.\"},\"Claim(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a claim is made.\"},\"ClaimBatch(address,address,uint256[],uint256)\":{\"notice\":\"Emitted when a batch claim is made.\"},\"Deposit(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a deposit is made.\"},\"OnSlash(uint256,uint48,uint256)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetDelegator(address)\":{\"notice\":\"Emitted when a delegator is set.\"},\"SetDepositLimit(uint256)\":{\"notice\":\"Emitted when a deposit limit is set.\"},\"SetDepositWhitelist(bool)\":{\"notice\":\"Emitted when a deposit whitelist status is enabled/disabled.\"},\"SetDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Emitted when a depositor whitelist status is set.\"},\"SetEpochDuration(uint48,uint256)\":{\"notice\":\"Emitted when a epoch duration is set (can be accepted after `epochDurationSetEpochsDelay` epochs).\"},\"SetFlashFeeRate(uint256)\":{\"notice\":\"Emitted when a flash fee rate is set.\"},\"SetFlashFeeReceiver(address)\":{\"notice\":\"Emitted when a flash fee receiver is set.\"},\"SetIsDepositLimit(bool)\":{\"notice\":\"Emitted when a deposit limit status is enabled/disabled.\"},\"SetSlasher(address)\":{\"notice\":\"Emitted when a slasher is set.\"},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a withdrawal is made.\"}},\"kind\":\"user\",\"methods\":{\"DELEGATOR_FACTORY()\":{\"notice\":\"Get the delegator factory's address.\"},\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"SLASHER_FACTORY()\":{\"notice\":\"Get the slasher factory's address.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"activeBalanceOf(address)\":{\"notice\":\"Get an active balance for a particular account.\"},\"activeBalanceOfAt(address,uint48,bytes)\":{\"notice\":\"Get an active balance for a particular account at a given timestamp using hints.\"},\"activeShares()\":{\"notice\":\"Get a total number of active shares in the vault.\"},\"activeSharesAt(uint48,bytes)\":{\"notice\":\"Get a total number of active shares in the vault at a given timestamp using a hint.\"},\"activeSharesOf(address)\":{\"notice\":\"Get a number of active shares for a particular account.\"},\"activeSharesOfAt(address,uint48,bytes)\":{\"notice\":\"Get a total number of active shares for a particular account at a given timestamp using a hint.\"},\"activeStake()\":{\"notice\":\"Get a total amount of active stake in the vault.\"},\"activeStakeAt(uint48,bytes)\":{\"notice\":\"Get a total amount of active stake in the vault at a given timestamp using a hint.\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"claim(address,uint256)\":{\"notice\":\"Claim collateral from the vault.\"},\"claimBatch(address,uint256[])\":{\"notice\":\"Claim collateral from the vault for multiple epochs.\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"currentEpoch()\":{\"notice\":\"Get a current vault epoch.\"},\"currentEpochStart()\":{\"notice\":\"Get a start of the current vault epoch.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"deposit(address,uint256)\":{\"notice\":\"Deposit collateral into the vault.\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"epochAt(uint48)\":{\"notice\":\"Get an epoch at a given timestamp.\"},\"epochDuration()\":{\"notice\":\"Get a duration of the vault epoch.\"},\"epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set.\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochStart(uint256)\":{\"notice\":\"Get a start of the epoch.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isInitialized()\":{\"notice\":\"Check if the vault is fully initialized (a delegator and a slasher are set).\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"previousEpochStart()\":{\"notice\":\"Get a start of the previous vault epoch.\"},\"redeem(address,uint256)\":{\"notice\":\"Redeem collateral from the vault (it will be claimable after the next epoch).\"},\"setDelegator(address)\":{\"notice\":\"Set a delegator.\"},\"setDepositLimit(uint256)\":{\"notice\":\"Set a deposit limit.\"},\"setDepositWhitelist(bool)\":{\"notice\":\"Enable/disable deposit whitelist.\"},\"setDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Set a depositor whitelist status.\"},\"setEpochDuration(uint48,uint256)\":{\"notice\":\"Set an epoch duration (can be only greater than the current one).\"},\"setFlashFeeRate(uint256)\":{\"notice\":\"Set a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"setFlashFeeReceiver(address)\":{\"notice\":\"Set a flash fee receiver.\"},\"setIsDepositLimit(bool)\":{\"notice\":\"Enable/disable deposit limit.\"},\"setSlasher(address)\":{\"notice\":\"Set a slasher.\"},\"slashableBalanceOf(address)\":{\"notice\":\"Get a total amount of the collateral that can be slashed for a given account.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"totalStake()\":{\"notice\":\"Get a total amount of the collateral that can be slashed.\"},\"withdraw(address,uint256)\":{\"notice\":\"Withdraw collateral from the vault (it will be claimable after the next epoch).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"},\"withdrawalsOf(uint256,address)\":{\"notice\":\"Get withdrawals for a particular account at a given epoch (zero if claimed).\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultImplementation.sol\":\"VaultImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/libraries/ERC4626Math.sol\":{\"keccak256\":\"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653\",\"dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB\"]},\"src/contracts/vault/v1.1/VaultImplementation.sol\":{\"keccak256\":\"0xafbc3a4da1e80aa55e19549d6f7c672a97c9a39be21a2aa843ea8d1f5496e4a3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6d02d13e4508aa5579876b25224f8cef992222d1da872ec77c7d8aa1c7932ef8\",\"dweb:/ipfs/QmX7JKMFvaALVnoUwNUueKfmnTTgGhomkrCmTZ8ombm5Be\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a\",\"dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IRegistry.sol\":{\"keccak256\":\"0x474c981518bb6ac974ba2a1274c49fd918d3b5acf1f3710e59786c5e3c8fc8bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db439e8880386dd308f8c67e612e9b15067fdffb29d6d0fd89c4edf820f30014\",\"dweb:/ipfs/QmQJuzgU17EZyPMoJNwknPkveK1Nwx1ByhZCBJzgRgcpvK\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/delegator/IBaseDelegator.sol\":{\"keccak256\":\"0x96bb312f032e17accce3f8f80936d99468029d6b37c9ca74acdb4b026a0148ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a66dcb5b7d1a6ef6a363431ea98ebd78bc4fdd3d7a134d9b542dc66e7d025c2\",\"dweb:/ipfs/QmRhTPLd2ZAyRHmJUFUcWKs9b3if49QY17LYZuRqWmghw8\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0\",\"dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68\",\"dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"delegatorFactory","type":"address"},{"internalType":"address","name":"slasherFactory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[],"type":"error","name":"AlreadyClaimed"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DelegatorAlreadyInitialized"},{"inputs":[],"type":"error","name":"DepositLimitReached"},{"inputs":[],"type":"error","name":"InsufficientClaim"},{"inputs":[],"type":"error","name":"InsufficientDeposit"},{"inputs":[],"type":"error","name":"InsufficientExitWindow"},{"inputs":[],"type":"error","name":"InsufficientRedemption"},{"inputs":[],"type":"error","name":"InsufficientWithdrawal"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCaptureEpoch"},{"inputs":[],"type":"error","name":"InvalidClaimer"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidDelegator"},{"inputs":[],"type":"error","name":"InvalidEpoch"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidLengthEpochs"},{"inputs":[],"type":"error","name":"InvalidNewEpochDuration"},{"inputs":[],"type":"error","name":"InvalidOnBehalfOf"},{"inputs":[],"type":"error","name":"InvalidReceiver"},{"inputs":[],"type":"error","name":"InvalidRecipient"},{"inputs":[],"type":"error","name":"InvalidReturnAmount"},{"inputs":[],"type":"error","name":"InvalidSlasher"},{"inputs":[],"type":"error","name":"InvalidTimestamp"},{"inputs":[],"type":"error","name":"MaxLoanExceeded"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NewEpochDurationNotReady"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NoPreviousEpoch"},{"inputs":[],"type":"error","name":"NotDelegator"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotWhitelistedDepositor"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[],"type":"error","name":"SlasherAlreadyInitialized"},{"inputs":[],"type":"error","name":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[],"type":"event","name":"AcceptEpochDuration","anonymous":false},{"inputs":[{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"epoch","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Claim","anonymous":false},{"inputs":[{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256[]","name":"epochs","type":"uint256[]","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"ClaimBatch","anonymous":false},{"inputs":[{"internalType":"address","name":"depositor","type":"address","indexed":true},{"internalType":"address","name":"onBehalfOf","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"shares","type":"uint256","indexed":false}],"type":"event","name":"Deposit","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","indexed":false},{"internalType":"uint256","name":"slashedAmount","type":"uint256","indexed":false}],"type":"event","name":"OnSlash","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true}],"type":"event","name":"SetDelegator","anonymous":false},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256","indexed":false}],"type":"event","name":"SetDepositLimit","anonymous":false},{"inputs":[{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetDepositWhitelist","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetDepositorWhitelistStatus","anonymous":false},{"inputs":[{"internalType":"uint48","name":"epochDuration","type":"uint48","indexed":false},{"internalType":"uint256","name":"epochDurationSetEpochsDelay","type":"uint256","indexed":false}],"type":"event","name":"SetEpochDuration","anonymous":false},{"inputs":[{"internalType":"uint256","name":"flashFeeRate","type":"uint256","indexed":false}],"type":"event","name":"SetFlashFeeRate","anonymous":false},{"inputs":[{"internalType":"address","name":"flashFeeReceiver","type":"address","indexed":false}],"type":"event","name":"SetFlashFeeReceiver","anonymous":false},{"inputs":[{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetIsDepositLimit","anonymous":false},{"inputs":[{"internalType":"address","name":"slasher","type":"address","indexed":true}],"type":"event","name":"SetSlasher","anonymous":false},{"inputs":[{"internalType":"address","name":"withdrawer","type":"address","indexed":true},{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"burnedShares","type":"uint256","indexed":false},{"internalType":"uint256","name":"mintedShares","type":"uint256","indexed":false}],"type":"event","name":"Withdraw","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DELEGATOR_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_Vault_init"},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"activeBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeBalanceOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activeShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeSharesAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"activeSharesOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeSharesOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activeStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeStakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"claim","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256[]","name":"epochs","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"claimBatch","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentEpochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"onBehalfOf","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deposit","outputs":[{"internalType":"uint256","name":"depositedAmount","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"epochAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"epochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"view","type":"function","name":"flashFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IERC3156FlashBorrower","name":"receiver","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"flashLoan","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"maxFlashLoan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"nonpayable","type":"function","name":"onSlash","outputs":[{"internalType":"uint256","name":"slashedAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"previousEpochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"redeem","outputs":[{"internalType":"uint256","name":"withdrawnAssets","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"delegator_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDelegator"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDepositLimit"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setDepositWhitelist"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setDepositorWhitelistStatus"},{"inputs":[{"internalType":"uint48","name":"epochDuration_","type":"uint48"},{"internalType":"uint256","name":"epochDurationSetEpochsDelay_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setEpochDuration"},{"inputs":[{"internalType":"uint256","name":"flashFeeRate_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setFlashFeeRate"},{"inputs":[{"internalType":"address","name":"flashFeeReceiver_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFlashFeeReceiver"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setIsDepositLimit"},{"inputs":[{"internalType":"address","name":"slasher_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSlasher"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"slashableBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw","outputs":[{"internalType":"uint256","name":"burnedShares","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"activeBalanceOf(address)":{"params":{"account":"account to get the active balance for"},"returns":{"_0":"active balance for the account"}},"activeBalanceOfAt(address,uint48,bytes)":{"params":{"account":"account to get the active balance for","hints":"hints for checkpoints' indexes","timestamp":"time point to get the active balance for the account at"},"returns":{"_0":"active balance for the account at the timestamp"}},"activeShares()":{"returns":{"_0":"total number of active shares"}},"activeSharesAt(uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","timestamp":"time point to get the total number of active shares at"},"returns":{"_0":"total number of active shares at the timestamp"}},"activeSharesOf(address)":{"params":{"account":"account to get the number of active shares for"},"returns":{"_0":"number of active shares for the account"}},"activeSharesOfAt(address,uint48,bytes)":{"params":{"account":"account to get the number of active shares for","hint":"hint for the checkpoint index","timestamp":"time point to get the number of active shares for the account at"},"returns":{"_0":"number of active shares for the account at the timestamp"}},"activeStake()":{"returns":{"_0":"total amount of active stake"}},"activeStakeAt(uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","timestamp":"time point to get the total active stake at"},"returns":{"_0":"total amount of active stake at the timestamp"}},"claim(address,uint256)":{"params":{"epoch":"epoch to claim the collateral for","recipient":"account that receives the collateral"},"returns":{"amount":"amount of the collateral claimed"}},"claimBatch(address,uint256[])":{"params":{"epochs":"epochs to claim the collateral for","recipient":"account that receives the collateral"},"returns":{"amount":"amount of the collateral claimed"}},"currentEpoch()":{"returns":{"_0":"current epoch"}},"currentEpochStart()":{"returns":{"_0":"start of the current epoch"}},"deposit(address,uint256)":{"params":{"amount":"amount of the collateral to deposit","onBehalfOf":"account the deposit is made on behalf of"},"returns":{"depositedAmount":"real amount of the collateral deposited","mintedShares":"amount of the active shares minted"}},"epochAt(uint48)":{"details":"Reverts if the timestamp is less than the start of the epoch 0.","params":{"timestamp":"time point to get the epoch at"},"returns":{"_0":"epoch at the timestamp"}},"epochDuration()":{"returns":{"_0":"duration of the epoch"}},"epochDurationInit()":{"returns":{"_0":"time point of the epoch duration set"}},"epochDurationSetEpochsDelay()":{"returns":{"_0":"delay for the epoch duration set"}},"epochStart(uint256)":{"params":{"epoch":"epoch to get the start of"},"returns":{"_0":"start of the epoch"}},"flashFee(address,uint256)":{"details":"The fee to be charged for a given loan.","params":{"amount":"The amount of tokens lent.","token":"The loan currency."},"returns":{"_0":"The amount of `token` to be charged for the loan, on top of the returned principal."}},"flashLoan(address,address,uint256,bytes)":{"details":"Initiate a flash loan.","params":{"amount":"The amount of tokens lent.","data":"Arbitrary data structure, intended to contain user-defined parameters.","receiver":"The receiver of the tokens in the loan, and the receiver of the callback.","token":"The loan currency."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"isInitialized()":{"returns":{"_0":"if the vault is fully initialized"}},"maxFlashLoan(address)":{"details":"The amount of currency available to be lended.","params":{"token":"The loan currency."},"returns":{"_0":"The amount of `token` that can be borrowed."}},"nextEpochStart()":{"returns":{"_0":"start of the next epoch"}},"onSlash(uint256,uint48)":{"details":"Only the slasher can call this function.","params":{"amount":"amount to slash","captureTimestamp":"time point when the stake was captured"},"returns":{"slashedAmount":"real amount of the collateral slashed"}},"previousEpochStart()":{"details":"Reverts if the current epoch is 0.","returns":{"_0":"start of the previous epoch"}},"redeem(address,uint256)":{"params":{"claimer":"account that needs to claim the withdrawal","shares":"amount of the active shares to redeem"},"returns":{"mintedShares":"amount of the epoch withdrawal shares minted","withdrawnAssets":"amount of the collateral withdrawn"}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"setDelegator(address)":{"details":"Can be set only once.","params":{"delegator":"vault's delegator to delegate the stake to networks and operators"}},"setDepositLimit(uint256)":{"details":"Only a DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"limit":"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)"}},"setDepositWhitelist(bool)":{"details":"Only a DEPOSIT_WHITELIST_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit whitelist"}},"setDepositorWhitelistStatus(address,bool)":{"details":"Only a DEPOSITOR_WHITELIST_ROLE holder can call this function.","params":{"account":"account for which the whitelist status is set","status":"if whitelisting the account"}},"setEpochDuration(uint48,uint256)":{"details":"Only a EPOCH_DURATION_SET_ROLE holder can call this function. Can be accepted after `epochDurationSetEpochsDelay` epochs.","params":{"epochDurationSetEpochsDelay_":"delay for the epoch duration set in epochs","epochDuration_":"epoch duration"}},"setFlashFeeRate(uint256)":{"details":"Only a FLASH_FEE_RATE_SET_ROLE holder can call this function.","params":{"flashFeeRate_":"flash fee rate"}},"setFlashFeeReceiver(address)":{"details":"Only a FLASH_FEE_RECEIVER_SET_ROLE holder can call this function.","params":{"flashFeeReceiver_":"flash fee receiver"}},"setIsDepositLimit(bool)":{"details":"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit limit"}},"setSlasher(address)":{"details":"Can be set only once.","params":{"slasher":"vault's slasher to provide a slashing mechanism to networks"}},"slashableBalanceOf(address)":{"params":{"account":"account to get the slashable collateral for"},"returns":{"_0":"total amount of the account's slashable collateral"}},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"totalStake()":{"returns":{"_0":"total amount of the slashable collateral"}},"withdraw(address,uint256)":{"params":{"amount":"amount of the collateral to withdraw","claimer":"account that needs to claim the withdrawal"},"returns":{"burnedShares":"amount of the active shares burned","mintedShares":"amount of the epoch withdrawal shares minted"}},"withdrawalsOf(uint256,address)":{"params":{"account":"account to get the withdrawals for","epoch":"epoch to get the withdrawals for the account at"},"returns":{"_0":"withdrawals for the account at the epoch"}}},"version":1},"userdoc":{"kind":"user","methods":{"DELEGATOR_FACTORY()":{"notice":"Get the delegator factory's address."},"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"SLASHER_FACTORY()":{"notice":"Get the slasher factory's address."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"activeBalanceOf(address)":{"notice":"Get an active balance for a particular account."},"activeBalanceOfAt(address,uint48,bytes)":{"notice":"Get an active balance for a particular account at a given timestamp using hints."},"activeShares()":{"notice":"Get a total number of active shares in the vault."},"activeSharesAt(uint48,bytes)":{"notice":"Get a total number of active shares in the vault at a given timestamp using a hint."},"activeSharesOf(address)":{"notice":"Get a number of active shares for a particular account."},"activeSharesOfAt(address,uint48,bytes)":{"notice":"Get a total number of active shares for a particular account at a given timestamp using a hint."},"activeStake()":{"notice":"Get a total amount of active stake in the vault."},"activeStakeAt(uint48,bytes)":{"notice":"Get a total amount of active stake in the vault at a given timestamp using a hint."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"claim(address,uint256)":{"notice":"Claim collateral from the vault."},"claimBatch(address,uint256[])":{"notice":"Claim collateral from the vault for multiple epochs."},"collateral()":{"notice":"Get a vault collateral."},"currentEpoch()":{"notice":"Get a current vault epoch."},"currentEpochStart()":{"notice":"Get a start of the current vault epoch."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"deposit(address,uint256)":{"notice":"Deposit collateral into the vault."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"epochAt(uint48)":{"notice":"Get an epoch at a given timestamp."},"epochDuration()":{"notice":"Get a duration of the vault epoch."},"epochDurationInit()":{"notice":"Get a time point of the epoch duration set."},"epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs."},"epochStart(uint256)":{"notice":"Get a start of the epoch."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isInitialized()":{"notice":"Check if the vault is fully initialized (a delegator and a slasher are set)."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"nextEpochStart()":{"notice":"Get a start of the next vault epoch."},"onSlash(uint256,uint48)":{"notice":"Slash callback for burning collateral."},"previousEpochStart()":{"notice":"Get a start of the previous vault epoch."},"redeem(address,uint256)":{"notice":"Redeem collateral from the vault (it will be claimable after the next epoch)."},"setDelegator(address)":{"notice":"Set a delegator."},"setDepositLimit(uint256)":{"notice":"Set a deposit limit."},"setDepositWhitelist(bool)":{"notice":"Enable/disable deposit whitelist."},"setDepositorWhitelistStatus(address,bool)":{"notice":"Set a depositor whitelist status."},"setEpochDuration(uint48,uint256)":{"notice":"Set an epoch duration (can be only greater than the current one)."},"setFlashFeeRate(uint256)":{"notice":"Set a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"setFlashFeeReceiver(address)":{"notice":"Set a flash fee receiver."},"setIsDepositLimit(bool)":{"notice":"Enable/disable deposit limit."},"setSlasher(address)":{"notice":"Set a slasher."},"slashableBalanceOf(address)":{"notice":"Get a total amount of the collateral that can be slashed for a given account."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"totalStake()":{"notice":"Get a total amount of the collateral that can be slashed."},"withdraw(address,uint256)":{"notice":"Withdraw collateral from the vault (it will be claimable after the next epoch)."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."},"withdrawalsOf(uint256,address)":{"notice":"Get withdrawals for a particular account at a given epoch (zero if claimed)."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultImplementation.sol":"VaultImplementation"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/libraries/ERC4626Math.sol":{"keccak256":"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939","urls":["bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653","dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB"],"license":"MIT"},"src/contracts/vault/v1.1/VaultImplementation.sol":{"keccak256":"0xafbc3a4da1e80aa55e19549d6f7c672a97c9a39be21a2aa843ea8d1f5496e4a3","urls":["bzz-raw://6d02d13e4508aa5579876b25224f8cef992222d1da872ec77c7d8aa1c7932ef8","dweb:/ipfs/QmX7JKMFvaALVnoUwNUueKfmnTTgGhomkrCmTZ8ombm5Be"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x2230e61348f99e4d7a8e254915a9a34d20b2827dd6216b131f8be0c26206058f","urls":["bzz-raw://c88f0164a70ca4da3eb87d7686dfa50cfedb0952bae3c51ec62bcf0b5ba9a67a","dweb:/ipfs/QmXyB4i2uUu6kMzjNGGYyBAxpvg6Jvyru6ASs2HiWYiQAs"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IRegistry.sol":{"keccak256":"0x474c981518bb6ac974ba2a1274c49fd918d3b5acf1f3710e59786c5e3c8fc8bb","urls":["bzz-raw://db439e8880386dd308f8c67e612e9b15067fdffb29d6d0fd89c4edf820f30014","dweb:/ipfs/QmQJuzgU17EZyPMoJNwknPkveK1Nwx1ByhZCBJzgRgcpvK"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/delegator/IBaseDelegator.sol":{"keccak256":"0x96bb312f032e17accce3f8f80936d99468029d6b37c9ca74acdb4b026a0148ee","urls":["bzz-raw://2a66dcb5b7d1a6ef6a363431ea98ebd78bc4fdd3d7a134d9b542dc66e7d025c2","dweb:/ipfs/QmRhTPLd2ZAyRHmJUFUcWKs9b3if49QY17LYZuRqWmghw8"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x5b0d11b3c9bf1328f51aa16ddc2590a1c8d7003af8de828d222ce4125cf94f77","urls":["bzz-raw://d85a3e8fa63b9f3b85b6caed36a46bc79aa05fb39f53929cb2b9c61ada5affa0","dweb:/ipfs/QmXANw7Y9bMeF8UjcMdGc1YCiR49XCvsMduhtLgeETaKuX"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x419f3326692edb6f91adc7e078164953bceaea0f8f8e0681cbcc038ece858aea","urls":["bzz-raw://5eaa4d3c7dd6ee5e6f94e0e3f7060253d2fef2a833a3045eee5688c77dbcbe68","dweb:/ipfs/QmW3wv8FVmUNJQfB2QeUUaBnJjKWHMGWD6rfRedToE67kb"],"license":"MIT"}},"version":1},"id":107}