Loading
[ { "inputs": [ { "internalType": "string", "name": "__name", "type": "string" }, { "internalType": "string", "name": "__symbol", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "name": "AddressEmptyCode", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "AddressInsufficientBalance", "type": "error" }, { "inputs": [], "name": "CheckpointUnorderedInsertion", "type": "error" }, { "inputs": [], "name": "ECDSAInvalidSignature", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "ECDSAInvalidSignatureLength", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "ECDSAInvalidSignatureS", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "increasedSupply", "type": "uint256" }, { "internalType": "uint256", "name": "cap", "type": "uint256" } ], "name": "ERC20ExceededSafeSupply", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "timepoint", "type": "uint256" }, { "internalType": "uint48", "name": "clock", "type": "uint48" } ], "name": "ERC5805FutureLookup", "type": "error" }, { "inputs": [], "name": "ERC6372InconsistentClock", "type": "error" }, { "inputs": [], "name": "FailedInnerCall", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } ], "name": "InvalidAccountNonce", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [], "name": "MathOverflowedMulDiv", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "x", "type": "uint256" }, { "internalType": "uint256", "name": "y", "type": "uint256" } ], "name": "PRBMath_MulDiv18_Overflow", "type": "error" }, { "inputs": [ { "internalType": "UD60x18", "name": "x", "type": "uint256" } ], "name": "PRBMath_UD60x18_Exp2_InputTooBig", "type": "error" }, { "inputs": [ { "internalType": "UD60x18", "name": "x", "type": "uint256" } ], "name": "PRBMath_UD60x18_Log_InputTooSmall", "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": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "expiry", "type": "uint256" } ], "name": "VotesExpiredSignature", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "batchIndex", "type": "uint256" } ], "name": "VotingEscrowIncentiveAlreadyClaimed", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "internalType": "uint256", "name": "claimTimepoint", "type": "uint256" } ], "name": "VotingEscrowIncentiveTimepointInFuture", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "VotingEscrowInvalidAddress", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "VotingEscrowInvalidAmount", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "duration", "type": "uint256" }, { "internalType": "uint256", "name": "minDuration", "type": "uint256" }, { "internalType": "uint256", "name": "maxDuration", "type": "uint256" } ], "name": "VotingEscrowInvalidDuration", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "newEnd", "type": "uint256" }, { "internalType": "uint256", "name": "oldEnd", "type": "uint256" } ], "name": "VotingEscrowInvalidEndTime", "type": "error" }, { "inputs": [ { "internalType": "contract IERC20", "name": "incentiveToken", "type": "address" } ], "name": "VotingEscrowInvalidExtendIncentiveToken", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "legacyLockupEnd", "type": "uint256" }, { "internalType": "uint256", "name": "minimumLockupEnd", "type": "uint256" } ], "name": "VotingEscrowLockupEndTooShortToSync", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "batchIndex", "type": "uint256" } ], "name": "VotingEscrowNoIncentivesToClaim", "type": "error" }, { "inputs": [], "name": "VotingEscrowNoSupplyAtTimepoint", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "extender", "type": "address" }, { "internalType": "uint256", "name": "lockupId", "type": "uint256" } ], "name": "VotingEscrowNotApprovedExtender", "type": "error" }, { "inputs": [], "name": "VotingEscrowStakeAlreadyRedeemed", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "currentTime", "type": "uint256" }, { "internalType": "uint256", "name": "endTime", "type": "uint256" } ], "name": "VotingEscrowStakeStillLocked", "type": "error" }, { "inputs": [], "name": "VotingEscrowTransferNotSupported", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "batchIndex", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "claimAmount", "type": "uint256" } ], "name": "ClaimIncentiveBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "timepoint", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "stakeDuration", "type": "uint256" }, { "indexed": false, "internalType": "contract IERC20", "name": "incentiveToken", "type": "address" } ], "name": "CreateNewIncentiveBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "fromDelegate", "type": "address" }, { "indexed": true, "internalType": "address", "name": "toDelegate", "type": "address" } ], "name": "DelegateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegate", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "previousVotes", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newVotes", "type": "uint256" } ], "name": "DelegateVotesChanged", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "staker", "type": "address" }, { "indexed": false, "internalType": "address", "name": "extender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "lockupId", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "newState", "type": "bool" } ], "name": "ExtenderApproval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "lockupId", "type": "uint256" }, { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "indexed": false, "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "", "type": "tuple" } ], "name": "Stake", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "staker", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "legacyLockupIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "Sync", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "lockupId", "type": "uint256" }, { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "indexed": false, "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "", "type": "tuple" } ], "name": "Unstake", "type": "event" }, { "inputs": [], "name": "CLOCK_MODE", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "MAX_STAKE_DURATION", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MIN_STAKE_DURATION", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MIN_SYNC_DURATION", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "YEAR_BASE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "extender", "type": "address" }, { "internalType": "uint256", "name": "lockupId", "type": "uint256" } ], "name": "approveExtender", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint32", "name": "pos", "type": "uint32" } ], "name": "checkpoints", "outputs": [ { "components": [ { "internalType": "uint48", "name": "_key", "type": "uint48" }, { "internalType": "uint208", "name": "_value", "type": "uint208" } ], "internalType": "struct Checkpoints.Checkpoint208", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "batchIndex", "type": "uint256" } ], "name": "claimAndBatchInformation", "outputs": [ { "components": [ { "internalType": "bool", "name": "timepointInPast", "type": "bool" }, { "internalType": "bool", "name": "hasClaimed", "type": "bool" }, { "internalType": "uint128", "name": "claimAmount", "type": "uint128" } ], "internalType": "struct IMaverickV2VotingEscrowBase.ClaimInformation", "name": "claimInformation", "type": "tuple" }, { "components": [ { "internalType": "uint128", "name": "totalIncentives", "type": "uint128" }, { "internalType": "uint128", "name": "stakeDuration", "type": "uint128" }, { "internalType": "uint48", "name": "claimTimepoint", "type": "uint48" }, { "internalType": "contract IERC20", "name": "incentiveToken", "type": "address" } ], "internalType": "struct IMaverickV2VotingEscrowBase.BatchInformation", "name": "batchInformation", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "batchIndex", "type": "uint256" } ], "name": "claimFromIncentiveBatch", "outputs": [ { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "lockup", "type": "tuple" }, { "internalType": "uint128", "name": "claimAmount", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "batchIndex", "type": "uint256" }, { "internalType": "uint256", "name": "lockupId", "type": "uint256" } ], "name": "claimFromIncentiveBatchAndExtend", "outputs": [ { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "lockup", "type": "tuple" }, { "internalType": "uint128", "name": "claimAmount", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "clock", "outputs": [ { "internalType": "uint48", "name": "", "type": "uint48" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint48", "name": "timepoint", "type": "uint48" }, { "internalType": "uint128", "name": "stakeDuration", "type": "uint128" }, { "internalType": "contract IERC20", "name": "incentiveToken", "type": "address" } ], "name": "createIncentiveBatch", "outputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "delegateBySig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "delegates", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "lockupId", "type": "uint256" }, { "internalType": "uint256", "name": "duration", "type": "uint256" }, { "internalType": "uint128", "name": "amount", "type": "uint128" } ], "name": "extendForAccount", "outputs": [ { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "newLockup", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "lockupId", "type": "uint256" }, { "internalType": "uint256", "name": "duration", "type": "uint256" }, { "internalType": "uint128", "name": "amount", "type": "uint128" } ], "name": "extendForSender", "outputs": [ { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "newLockup", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "staker", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getLockup", "outputs": [ { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "lockup", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastBalanceOf", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "incentiveBatchCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "batchIndex", "type": "uint256" } ], "name": "incentiveBatchInformation", "outputs": [ { "components": [ { "internalType": "uint128", "name": "totalIncentives", "type": "uint128" }, { "internalType": "uint128", "name": "stakeDuration", "type": "uint128" }, { "internalType": "uint48", "name": "claimTimepoint", "type": "uint48" }, { "internalType": "contract IERC20", "name": "incentiveToken", "type": "address" } ], "internalType": "struct IMaverickV2VotingEscrowBase.BatchInformation", "name": "info", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "incentiveToken", "type": "address" } ], "name": "incentiveTotals", "outputs": [ { "components": [ { "internalType": "uint128", "name": "totalIncentives", "type": "uint128" }, { "internalType": "uint128", "name": "claimedIncentives", "type": "uint128" } ], "internalType": "struct IMaverickV2VotingEscrowBase.TokenIncentiveTotals", "name": "totals", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "extender", "type": "address" }, { "internalType": "uint256", "name": "lockupId", "type": "uint256" } ], "name": "isApprovedExtender", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "legacyVeMav", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "staker", "type": "address" } ], "name": "lockupCount", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "lockupIds", "type": "uint256[]" } ], "name": "merge", "outputs": [ { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "newLockup", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } ], "name": "multicall", "outputs": [ { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "numCheckpoints", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint256", "name": "duration", "type": "uint256" } ], "name": "previewVotes", "outputs": [ { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "lockup", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "extender", "type": "address" }, { "internalType": "uint256", "name": "lockupId", "type": "uint256" } ], "name": "revokeExtender", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint256", "name": "duration", "type": "uint256" }, { "internalType": "address", "name": "to", "type": "address" } ], "name": "stake", "outputs": [ { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "lockup", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint256", "name": "duration", "type": "uint256" } ], "name": "stakeToSender", "outputs": [ { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "lockup", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startTimestamp", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "staker", "type": "address" }, { "internalType": "uint256", "name": "legacyLockupIndex", "type": "uint256" } ], "name": "sync", "outputs": [ { "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "staker", "type": "address" }, { "internalType": "uint256", "name": "legacyLockupIndex", "type": "uint256" } ], "name": "syncBalances", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "lockupId", "type": "uint256" }, { "internalType": "address", "name": "to", "type": "address" } ], "name": "unstake", "outputs": [ { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "lockup", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "lockupId", "type": "uint256" } ], "name": "unstakeToSender", "outputs": [ { "components": [ { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "uint128", "name": "end", "type": "uint128" }, { "internalType": "uint256", "name": "votes", "type": "uint256" } ], "internalType": "struct IMaverickV2VotingEscrowBase.Lockup", "name": "lockup", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" } ]
6101c060408181523461032a5761593f803803809161001e8286610591565b84398201818382031261032a5782516001600160401b03929083811161032a578261004a9186016105d7565b936020928382015185811161032a5761006392016105d7565b91815194828601868110868211176104aa57835260019283875282870195603160f81b875282518181116104aa5760038054918783811c93168015610587575b8784101461057157601f9283811161052b575b5080878482116001146104cb576000916104c0575b5060001982841b1c191690881b1781555b8751918383116104aa5760049889548981811c911680156104a0575b8982101461048b579081838695949311610436575b50889184116001146103d0576000936103c5575b505082881b92600019911b1c19161786555b61013c8361064a565b9661012097885261014c896107db565b93610140948552858151910120988960e0525190209461010098868a524660a052835196868801917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528589015260608801524660808801523060a088015260a0875260c0870192878410908411176103b057828452865190206080523060c052600c5563f57f77fb60e01b8152838187816000335af19485156103a557600095610370575b505061018093845261016092428452815195630d0c657560e21b875281878281335afa96871561033657600097610341575b506101a0878152835163900cf0cf60e01b815290979091839183919082906001600160a01b03165afa91821561033657600092610303575b50508352519461501e968761092188396080518761473b015260a051876147f6015260c0518761470c015260e0518761478a015251866147b001525185610fd601525184611000015251838181611a68015261254c01525182818161082101528181610b7701528181610d0301528181610f2f0152818161112d0152818161171501528181611b3d01528181611c42015261208a0152518181816109a80152611d1d0152f35b90809250813d831161032f575b61031a8183610591565b8101031261032a5751388061025d565b600080fd5b503d610310565b83513d6000823e3d90fd5b610362919750823d8411610369575b61035a8183610591565b81019061062b565b9538610225565b503d610350565b61039592955060c09085903d871161039d575b61038d8285610591565b01019061062b565b9238806101f3565b3d9150610383565b82513d6000823e3d90fd5b604188634e487b7160e01b6000525260246000fd5b015191503880610121565b9190899450601f198416928b600052896000209360005b8b8282106104205750508511610406575b50505050811b018655610133565b01519060f884600019921b161c19169055388080806103f8565b8385015187558d989096019593840193016103e7565b90919293508a600052886000208380870160051c8201928b8810610482575b918c918897969594930160051c01915b82811061047357505061010d565b600081558796508c9101610465565b92508192610455565b60228b634e487b7160e01b6000525260246000fd5b90607f16906100f8565b634e487b7160e01b600052604160045260246000fd5b9050860151386100cb565b899250601f1982169084600052896000209160005b8b82821061051557505083116104fd575b5050811b0181556100dc565b88015160001983861b60f8161c1916905538806104f1565b838c015185558d969094019392830192016104e0565b82600052876000208480840160051c8201928a8510610568575b0160051c019089905b82811061055c5750506100b6565b6000815501899061054e565b92508192610545565b634e487b7160e01b600052602260045260246000fd5b92607f16926100a3565b601f909101601f19168101906001600160401b038211908210176104aa57604052565b60005b8381106105c75750506000910152565b81810151838201526020016105b7565b81601f8201121561032a5780516001600160401b0381116104aa576040519261060a601f8301601f191660200185610591565b8184526020828401011161032a5761062891602080850191016105b4565b90565b9081602091031261032a57516001600160a01b038116810361032a5790565b805160209190828110156106c5575090601f825111610685578082519201519080831061067657501790565b82600019910360031b1b161790565b6044906106b79260405193849263305a27a960e01b8452806004850152825192839182602487015286860191016105b4565b601f01601f19168101030190fd5b6001600160401b0381116104aa576005928354926001938481811c911680156107d1575b8382101461057157601f811161079d575b5081601f8411600114610737575092829391839260009461072c575b50501b916000199060031b1c191617905560ff90565b015192503880610716565b919083601f1981168760005284600020946000905b88838310610783575050501061076a575b505050811b01905560ff90565b015160001960f88460031b161c1916905538808061075d565b85870151885590960195948501948793509081019061074c565b8560005284601f846000209201871c820191601f8601881c015b8281106107c55750506106fa565b600081550185906107b7565b90607f16906106e9565b8051602090818110156108055750601f825111610685578082519201519080831061067657501790565b906001600160401b0382116104aa57600654926001938481811c91168015610916575b8382101461057157601f81116108df575b5081601f8411600114610877575092829391839260009461086c575b50501b916000199060031b1c19161760065560ff90565b015192503880610855565b919083601f198116600660005284600020946000905b888383106108c557505050106108ac575b505050811b0160065560ff90565b015160001960f88460031b161c1916905538808061089e565b85870151885590960195948501948793509081019061088d565b600660005284601f84600020920160051c820191601f860160051c015b82811061090a575050610839565b600081550185906108fc565b90607f169061082856fe6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610352578063095ea7b3146102bc57806318160ddd1461034d5780631c177d27146103485780631ef3467b1461034357806323b872dd1461033e5780633082f0e914610339578063313ce5671461033457806331df68b51461032f578063343195d41461032a5780633668cec6146103255780633a46b1a8146103205780634695ae4b1461031b5780634bf5d7e914610316578063587cde1e146103115780635c19a95c1461030c578063664cbd101461030757806369fae797146103025780636fcfff45146102fd57806370a08231146102f85780637ecebe00146102f35780638381e182146102ee57806384b0196e146102e95780638de66772146102e45780638e539e8c146102df5780638fc56be7146102da57806390cacc55146102d557806391ddadf4146102d057806394b6b099146102cb57806395d89b41146102c65780639ab24eb0146102c1578063a9059cbb146102bc578063aa902b4d146102b7578063ac9650d8146102b2578063af9c6f8d146102ad578063b6155ac4146102a8578063b803369d146102a3578063b8d25dea1461029e578063c3cda52014610299578063c55dae6314610294578063cc596e411461028f578063ce1780b21461028a578063d7b7d40514610285578063dd62ed3e14610280578063de62d8421461027b578063e0c570ba14610276578063e6fd48bc14610271578063ea4914ef1461026c578063ebcd5e9514610267578063ef4fcafa14610262578063f0ed024f1461025d5763f1127ed81461025857600080fd5b611f39565b611ee7565b611c6c565b611bc5565b611a8b565b611a50565b611a32565b61199b565b61182b565b611800565b6117d5565b611739565b6116f5565b61160a565b6115ec565b6115ae565b61150a565b611499565b611433565b611392565b6104aa565b611344565b61129c565b611279565b61124d565b6111a5565b61116f565b611151565b6110d2565b610fbb565b610ed1565b610e93565b610e4f565b610dca565b610d6e565b610cd1565b610ca9565b610c69565b610c0b565b610b47565b610a47565b6109cc565b610988565b61093c565b610911565b6105f3565b6105dd565b61054b565b6104e9565b6104cb565b6103ab565b919082519283825260005b848110610383575050601f19601f8460006020809697860101520116010190565b602081830181015184830182015201610362565b9060206103a8928181520190610357565b90565b3461049457600080600319360112610491576040519080600354906103cf82611fce565b80855291602091600191828116908115610464575060011461040c575b610408866103fc81880382611953565b60405191829182610397565b0390f35b9350600384527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b838510610451575050505081016020016103fc82610408386103ec565b8054868601840152938201938101610434565b879650610408979450602093506103fc95925060ff1991501682840152151560051b8201019293386103ec565b80fd5b600080fd5b6001600160a01b0381160361049457565b34610494576040600319360112610494576104c6600435610499565b612008565b34610494576000600319360112610494576020600254604051908152f35b346104945760006003193601126104945760206040516301e133808152f35b6001600160801b0381160361049457565b610549909291926060810193604080916001600160801b0380825116855260208201511660208501520151910152565b565b3461049457606060031936011261049457606061058360043561056d81610508565b6044359061057a82610499565b60243590612051565b6105af6040518092604080916001600160801b0380825116855260208201511660208501520151910152565bf35b6003196060910112610494576004356105c981610499565b906024356105d681610499565b9060443590565b34610494576105eb366105b1565b505050612008565b346104945760806003193601126104945760043561061081610508565b6024359065ffffffffffff82168203610494576044359161063083610508565b6064359161063d83610499565b6001600160801b03928382169384156108d757851680610816575b50906108037f9725da1fa479215c591213e78f092ac517f492a21c413428b24ffdc2f9287ad29392610408966107bc601154976106f76106ab856001600160a01b03166000526010602052604060002090565b6106c5886106c083546001600160801b031690565b6120f5565b6001600160801b03167fffffffffffffffffffffffffffffffff00000000000000000000000000000000825416179055565b6107a18361070f8b600052600f602052604060002090565b60018101805465ffffffffffff8c1660308a901b79ffffffffffffffffffffffffffffffffffffffff000000000000167fffffffffffff00000000000000000000000000000000000000000000000000009092169190911717905560809190911b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001600160801b038916179055565b6107b46107af601154612115565b601155565b303385612a9a565b604080513381526001600160801b03958616602082015265ffffffffffff909616908601529290921660608401526001600160a01b039091166080830152819060a0820190565b0390a16040519081529081906020820190565b6001600160a01b03807f0000000000000000000000000000000000000000000000000000000000000000169083161460001461088b577f9725da1fa479215c591213e78f092ac517f492a21c413428b24ffdc2f9287ad29392916104089661088061080393612b04565b965091929350610658565b6040517f7a1e2e830000000000000000000000000000000000000000000000000000000081526001600160801b03871660048201526000602482018190526044820152606490fd5b0390fd5b6040517fe58b425f0000000000000000000000000000000000000000000000000000000081526001600160801b0384166004820152602490fd5b3461049457600060031936011261049457602060405160128152f35b90600052602052604060002090565b34610494576040600319360112610494576001600160a01b0360043561096181610499565b16600052601260205260406000206024356000526020526020604060002054604051908152f35b346104945760006003193601126104945760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610494576020600319360112610494576109e5612124565b50600435600052600f6020526080610a006040600020612149565b6105af60405180926001600160a01b03606080926001600160801b03808251168652602082015116602086015265ffffffffffff6040820151166040860152015116910152565b3461049457604060031936011261049457600435610a6481610499565b602435610a7042612b68565b65ffffffffffff8116821015610ac6576104086001600160d01b03610ab5846001600160a01b0387166000526009602052610aaf604060002091612b68565b90612bb3565b604051911681529081906020820190565b6040517fecd3f81e000000000000000000000000000000000000000000000000000000008152600481019290925265ffffffffffff166024820152604490fd5b9092916001600160801b03606091610b41846080810197604080916001600160801b0380825116855260208201511660208501520151910152565b16910152565b3461049457604060031936011261049457610b60612032565b50610b6c600435612c92565b6001600160a01b03807f0000000000000000000000000000000000000000000000000000000000000000169082161480610c02575b15610bc65750610bb79060243590339084612ee4565b61040860405192839283610b06565b6040517fa1c118cc0000000000000000000000000000000000000000000000000000000081526001600160a01b03919091166004820152602490fd5b50811515610ba1565b3461049457600060031936011261049457610408604051610c2b816118a6565b600e81527f6d6f64653d74696d657374616d700000000000000000000000000000000000006020820152604051918291602083526020830190610357565b34610494576020600319360112610494576020600435610c8881610499565b6001600160a01b038091166000526008825260406000205416604051908152f35b3461049457602060031936011261049457610ccf600435610cc981610499565b33613065565b005b3461049457602060031936011261049457610cea612032565b610cf5600435612c92565b6001600160a01b03939293807f0000000000000000000000000000000000000000000000000000000000000000169082161480610d65575b15610d495750610bb79150610d40612032565b50339083612779565b610d6091506001600160801b038416903390613100565b610bb7565b50811515610d2d565b34610494576001600160a01b03610dae610d87366105b1565b9316600052600e6020526040600020906001600160a01b0316600052602052604060002090565b90600052602052602060ff604060002054166040519015158152f35b34610494576020600319360112610494576001600160a01b03600435610def81610499565b16600052600960205260406000205463ffffffff90818111610e175760209160405191168152f35b604490604051907f6dfcc650000000000000000000000000000000000000000000000000000000008252602060048301526024820152fd5b34610494576020600319360112610494576020610e8b600435610e7181610499565b6001600160a01b0316600052600060205260406000205490565b604051908152f35b34610494576020600319360112610494576001600160a01b03600435610eb881610499565b1660005260076020526020604060002054604051908152f35b3461049457604060031936011261049457602435610eee81610499565b610ef6612032565b50610eff613152565b610f0b6004353361318d565b6001600160801b0380602083015116804210610f845750606092610f5391835116907f0000000000000000000000000000000000000000000000000000000000000000613100565b6001600c556105af6040518092604080916001600160801b0380825116855260208201511660208501520151910152565b604490604051907f1bdc35520000000000000000000000000000000000000000000000000000000082524260048301526024820152fd5b34610494576000806003193601126104915761107590610ffa7f0000000000000000000000000000000000000000000000000000000000000000614495565b906110247f00000000000000000000000000000000000000000000000000000000000000006145af565b9060405191611032836118ff565b8183526110836020916040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e0602089015260e0880190610357565b908682036040880152610357565b904660608601523060808601528260a086015284820360c0860152602080855193848152019401925b8281106110bb57505050500390f35b8351855286955093810193928101926001016110ac565b34610494576020600319360112610494576110eb612032565b506110f4612032565b506110fd613152565b6111096004353361318d565b6001600160801b039081602082015116804210610f845750610f53606092825116337f0000000000000000000000000000000000000000000000000000000000000000613100565b34610494576020600319360112610494576020610e8b6004356121af565b3461049457604060031936011261049457606061058360043561119181610508565b611199612032565b50339060243590612051565b34610494576040600319360112610494576004356111c281610499565b7fe1a682fee508b99b4da912b0d402fc0f91d2f09b19fcdc5fc121750d3fb284b960806001600160a01b036024359316600093818552600e60205261121c60408620336001600160a01b0316600052602052604060002090565b81865260205260408520600160ff19825416179055604051913383526020830152604082015260016060820152a180f35b3461049457600060031936011261049457602061126942612b68565b65ffffffffffff60405191168152f35b346104945760006003193601126104945760206040516714d1120d7b1600008152f35b3461049457600080600319360112610491576040519080600454906112c082611fce565b8085529160209160019182811690811561046457506001146112ec57610408866103fc81880382611953565b9350600484527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b838510611331575050505081016020016103fc82610408386103ec565b8054868601840152938201938101611314565b34610494576020600319360112610494576001600160a01b0360043561136981610499565b16600052600960205260206001600160d01b0361138960406000206132b9565b16604051908152f35b34610494576000600319360112610494576020604051630784ce008152f35b6020808201906020835283518092526040830192602060408460051b8301019501936000915b8483106113e75750505050505090565b9091929394958480611423837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528a51610357565b98019301930191949392906113d7565b346104945760206003193601126104945767ffffffffffffffff6004358181116104945736602382011215610494578060040135918211610494573660248360051b830101116104945761040891602461148d920161236b565b604051918291826113b1565b34610494576020600319360112610494576001600160a01b036004356114be81610499565b6114c6612400565b501660005260106020526040806000208151906114e2826118a6565b546001600160801b0390602082821693848152019060801c8152835192835251166020820152f35b346104945760406003193601126104945760043561152781610499565b7fe1a682fee508b99b4da912b0d402fc0f91d2f09b19fcdc5fc121750d3fb284b960806001600160a01b036024359316600093818552600e60205261158160408620336001600160a01b0316600052602052604060002090565b8186526020526040852060ff1981541690556040519133835260208301526040820152836060820152a180f35b34610494576020600319360112610494576001600160a01b036004356115d381610499565b16600052600d6020526020604060002054604051908152f35b34610494576000600319360112610494576020601154604051908152f35b346104945760c06003193601126104945760043561162781610499565b6044359060243560643560ff81168103610494578342116116c4576116b8610ccf946116bf926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf84526001600160a01b03881660408401528660608401526080830152608082526116a08261191b565b6116b360a4359360843593519020613333565b613374565b918261338c565b613065565b602484604051907f4683af0e0000000000000000000000000000000000000000000000000000000082526004820152fd5b346104945760006003193601126104945760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346104945760406003193601126104945760e06105af61176760043561175e81610499565b60243590612419565b6001600160801b036040809493945194805115158652602081015115156020870152015116604084015260608301906001600160a01b03606080926001600160801b03808251168652602082015116602086015265ffffffffffff6040820151166040860152015116910152565b346104945760406003193601126104945760606105836004356117f781610508565b60243590612518565b34610494576040600319360112610494576020610e8b60043561182281610499565b60243590612588565b3461049457604060031936011261049457602061188760043561184d81610499565b6001600160a01b036024359161186283610499565b16600052600183526040600020906001600160a01b0316600052602052604060002090565b54604051908152f35b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176118c257604052565b611890565b6060810190811067ffffffffffffffff8211176118c257604052565b6080810190811067ffffffffffffffff8211176118c257604052565b6020810190811067ffffffffffffffff8211176118c257604052565b60a0810190811067ffffffffffffffff8211176118c257604052565b60c0810190811067ffffffffffffffff8211176118c257604052565b90601f601f19910116810190811067ffffffffffffffff8211176118c257604052565b60405190610549826118a6565b67ffffffffffffffff81116118c25760051b60200190565b34610494576020806003193601126104945760043567ffffffffffffffff81116104945736602382011215610494578060040135906119d982611983565b916119e76040519384611953565b8083526024602084019160051b8301019136831161049457602401905b828210611a2357610408611a1785612626565b60405191829182610519565b81358152908401908401611a04565b346104945760006003193601126104945760206040516224ea008152f35b346104945760006003193601126104945760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461049457608060031936011261049457600435611aa881610499565b6024359060643590611ab982610508565b611ac1612032565b5033600052600e602052611aec816040600020906001600160a01b0316600052602052604060002090565b8360005260205260ff604060002054161580611bb2575b611b6757611b20610408936001600160801b039260443585612ee4565b911680611b35575b5060405191829182610519565b611b619030337f0000000000000000000000000000000000000000000000000000000000000000612a9a565b38611b28565b6040517ffa72b3c60000000000000000000000000000000000000000000000000000000081526001600160a01b03919091166004820152336024820152604481019290925250606490fd5b50336001600160a01b0382161415611b03565b34610494576060600319360112610494576060604435611be481610508565b611bec612032565b506001600160801b03611c056004353360243585612ee4565b911680611c3a575b506105af6040518092604080916001600160801b0380825116855260208201511660208501520151910152565b611c669030337f0000000000000000000000000000000000000000000000000000000000000000612a9a565b38611c0d565b34610494576040806003193601126104945760043590611c8b82610499565b60243590611c97613152565b611cb4836001600160a01b03166000526012602052604060002090565b91611cc9818490600052602052604060002090565b5482517fc93d0b1e0000000000000000000000000000000000000000000000000000000081526001600160a01b03861660048201526024810183905294909190606086806044810103816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa958615611ee257600096611eb1575b50602086016001600160801b03611d6c82516001600160801b031690565b168015159081611e9f575b50611e405750836104089601518095848203611da9575b878287611d9b6001600c55565b519081529081906020820190565b83611de691867ff10fc780c78f994a214c79a2ae8d8b7bfe7cc3f0f935a8f05a29525e71d7f127978511600014611e145761092d90850386613fc9565b5583516001600160a01b03919091168152602081019190915260408101849052606090a13880808481611d8e565b84818110611e2e575b505090600052602052604060002090565b611e39910386613e76565b3884611e1d565b5184906001600160801b03166108d3611e5842612701565b92519283927ff63a94ef00000000000000000000000000000000000000000000000000000000845260048401602090939291936001600160801b0360408201951681520152565b9050611eaa42612701565b1138611d77565b611ed491965060603d606011611edb575b611ecc8183611953565b8101906126b2565b9438611d4e565b503d611ec2565b6126f5565b34610494576040600319360112610494576001600160a01b03600435611f0c81610499565b611f14612032565b5016600052600d6020526060610583611f33602435604060002061272d565b50612749565b3461049457604060031936011261049457600435611f5681610499565b60243563ffffffff8116810361049457611fa5611fab916001600160a01b03604094611f80612400565b50611f89612400565b5016600052600960205283600020611f9f612400565b506149ed565b50614a05565b6001600160d01b03602083519265ffffffffffff81511684520151166020820152f35b90600182811c92168015611ffe575b6020831014611fe857565b634e487b7160e01b600052602260045260246000fd5b91607f1691611fdd565b60046040517f0890f15b000000000000000000000000000000000000000000000000000000008152fd5b6040519061203f826118c7565b60006040838281528260208201520152565b92919061205c612032565b506001600160801b0384169384156120ae5791612085916105499361207f612032565b50612779565b9230337f0000000000000000000000000000000000000000000000000000000000000000612a9a565b602485604051907fe58b425f0000000000000000000000000000000000000000000000000000000082526004820152fd5b634e487b7160e01b600052601160045260246000fd5b9190916001600160801b038080941691160191821161211057565b6120df565b60001981146121105760010190565b60405190612131826118e3565b60006060838281528260208201528260408201520152565b90604051612156816118e3565b60606001600160a01b036001839580546001600160801b038116865260801c6020860152015465ffffffffffff8116604085015260301c16910152565b67ffffffffffffffff81116118c257601f01601f191660200190565b6121b842612b68565b9065ffffffffffff91828116821015610ac657506121d590612b68565b600a5490600090826005811161223c575b506121f193506142df565b806121fc5750600090565b61220d6001600160d01b0391612617565b600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c1690565b90926122478261419f565b8203918211612110576121f194600a60005280837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908516106000146122935750915b386121e6565b92915061229f90612712565b9061228d565b634e487b7160e01b600052603260045260246000fd5b919081101561231b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049457019081359167ffffffffffffffff8311610494576020018236038113610494579190565b6122a5565b92919261232c82612193565b9161233a6040519384611953565b829481845281830111610494578281602093846000960137010152565b805182101561231b5760209160051b010190565b91909161237783611983565b6123846040519182611953565b838152601f1961239385611983565b0160005b8181106123ef575050809360005b8181106123b25750505050565b806123d36123cd6123c660019486896122bb565b3691612320565b30613315565b6123dd8286612357565b526123e88185612357565b50016123a5565b806060602080938601015201612397565b6040519061240d826118a6565b60006020838281520152565b9091612423612032565b9261242c612124565b50600052600f60205260406000209161244483612149565b9265ffffffffffff60408501511642811080875261246157505050565b61248b6001600160801b0391828751169061248561247f8288612588565b916121af565b9161352f565b8181116124e0579260026124d7936124b76124d094610549971660408b01906001600160801b03169052565b01906001600160a01b0316600052602052604060002090565b5460ff1690565b15156020850152565b604490604051907f6dfcc650000000000000000000000000000000000000000000000000000000008252608060048301526024820152fd5b61258190929192612527612032565b9361253181612b04565b6125776125726001600160801b0380934201168060208901527f0000000000000000000000000000000000000000000000000000000000000000900361341b565b6135b2565b91168085526134ba565b6040830152565b61259142612b68565b9065ffffffffffff918281168410156125d55750916125d1916001600160a01b036001600160d01b039416600052600b6020526040600020911690612bb3565b1690565b6040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810185905265ffffffffffff919091166024820152604490fd5b90600019820191821161211057565b9061262f612032565b5060008061263b612032565b506000915b845183101561268d576001906126606126598588612357565b513361318d565b9260206126796001600160801b039283875116906120f5565b940151168181119082180218920191612640565b929392428103925082116121105782511561231b5760206103a893015191339161294b565b908160609103126104945760408051916126cb836118c7565b80516126d681610508565b835260208101516126e681610508565b60208401520151604082015290565b6040513d6000823e3d90fd5b906301e13380820180921161211057565b906001820180921161211057565b9190820180921161211057565b805482101561231b5760005260206000209060011b0190600090565b90604051612756816118c7565b60406001829480546001600160801b038116855260801c60208501520154910152565b90612782613152565b6001600160a01b03831691821561284f577f2cf2760beabc25d90a144af74e4c0c2ad37f8905e59bfd71873a652d43f24daa916127be91612518565b836127dd82956001600160a01b0316600052600d602052604060002090565b50612804826127ff836001600160a01b0316600052600d602052604060002090565b6128e7565b612835600019612827836001600160a01b0316600052600d602052604060002090565b540191604084015190613fc9565b61284460405192839283612915565b0390a2906001600c55565b602483604051907f08b838520000000000000000000000000000000000000000000000000000000082526004820152fd5b634e487b7160e01b600052600060045260246000fd5b91906128e2578051602082015160801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001600160801b0390911617825560019060400151910155565b612880565b90815491680100000000000000008310156118c2578261290f9160016105499501815561272d565b90612896565b916020610549929493608081019581520190604080916001600160801b0380825116855260208201511660208501520151910152565b91929092612957612032565b50612960613152565b81936001600160a01b038216938415612a69577f2cf2760beabc25d90a144af74e4c0c2ad37f8905e59bfd71873a652d43f24daa9392916129a091612518565b948580936129c1846001600160a01b0316600052600d602052604060002090565b548110612a3557506129eb91506127ff836001600160a01b0316600052600d602052604060002090565b612a19600019612827836001600160a01b0316600052600d602052604060002090565b604084015190613fc9565b612a2860405192839283612915565b0390a26103a86001600c55565b839161290f612a6492612a5f612a1996976001600160a01b0316600052600d602052604060002090565b61272d565b612a0e565b602485604051907f08b838520000000000000000000000000000000000000000000000000000000082526004820152fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201526001600160a01b039283166024820152929091166044830152606482019290925261054991612aff82608481015b03601f198101845283611953565b6140ff565b6224ea008082108015612b5b575b612b1a575050565b60649250604051917f7a1e2e8300000000000000000000000000000000000000000000000000000000835260048301526024820152630784ce006044820152fd5b50630784ce008211612b12565b65ffffffffffff90818111612b7b571690565b604490604051907f6dfcc650000000000000000000000000000000000000000000000000000000008252603060048301526024820152fd5b908154906000918060058111612c46575b50915b828110612bf657505080612bdc575050600090565b612be590612617565b906000526020600020015460301c90565b90918082169080831860011c8201809211612110578460005265ffffffffffff8083602060002001541690851610600014612c345750915b90612bc7565b929150612c4090612712565b90612c2e565b90612c508261419f565b8203918211612110578460005265ffffffffffff8083602060002001541690841610600014612c8157505b38612bc4565b9250612c8c90612712565b91612c7b565b90612c9d8233612419565b9190612cb0612cac8251151590565b1590565b612e8957604081016001600160801b039182612cd383516001600160801b031690565b1615612e515760200151612e1957612e046020612df5837f14c936be9ba822bf3fb663f4fd4e737b2d8dba39cae8807a876d23c78cc0d66a612d4099612d9c8a612d65612d596060612d2f612e129c516001600160801b031690565b93019e8f516001600160a01b031690565b6001600160a01b03166000526010602052604060002090565b916106c0835460801c90565b6001600160801b037fffffffffffffffffffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b612dc6612db93360026124b785600052600f602052604060002090565b600160ff19825416179055565b8251604080519283523360208401526001600160801b0390911690820152606090a1516001600160801b031690565b9501516001600160801b031690565b94516001600160a01b031690565b9293169190565b6040517f8278318100000000000000000000000000000000000000000000000000000000815233600482015260248101869052604490fd5b6040517f7538f08100000000000000000000000000000000000000000000000000000000815233600482015260248101879052604490fd5b6108d3612e9f604085015165ffffffffffff1690565b6040517f0e076a9500000000000000000000000000000000000000000000000000000000815242600482015265ffffffffffff90911660248201529081906044820190565b90939291612ef0612032565b50612efb838261318d565b92612f116001600160801b0393848651166120f5565b91612f1a612032565b50612f23613152565b81966001600160a01b038216938415612a69577f2cf2760beabc25d90a144af74e4c0c2ad37f8905e59bfd71873a652d43f24daa939291612f6391612518565b97888093612f84846001600160a01b0316600052600d602052604060002090565b54811061303b5750612fae91506127ff836001600160a01b0316600052600d602052604060002090565b612fd1600019612827836001600160a01b0316600052600d602052604060002090565b612fe060405192839283612915565b0390a2612fed6001600c55565b602081818601511692015116808210613004575050565b60449250604051917fa7e6d08300000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b839161290f612a6492612a5f612fd196976001600160a01b0316600052600d602052604060002090565b610549916130fa6001600160a01b03927fffffffffffffffffffffffff0000000000000000000000000000000000000000848216948560005260086020526040600020958654968288169788938816948591161790557f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f600080a46001600160a01b0316600052600060205260406000205490565b9161435a565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000060208201526001600160a01b039092166024830152604482019290925261054991612aff8260648101612af1565b6002600c5414613163576002600c55565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b9190613197612032565b506001600160a01b0383169081600052600d6020526131bd611f3382604060002061272d565b936001600160801b0360208601511615613248576131f282612a5f836001600160a01b0316600052600d602052604060002090565b9290926128e25761323486926000600186827f3021f19f08b91dd44fa42bf59363bcf5805f08c2c98b1269c651d4d84b5f870498550155604084015190613e76565b61324360405192839283612915565b0390a2565b60046040517fabb19609000000000000000000000000000000000000000000000000000000008152fd5b600a54806132805750600090565b8060001981011161211057600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c90565b8054806132c7575050600090565b60001991818381011161211057600052602060002001015460301c90565b3d15613310573d906132f682612193565b916133046040519384611953565b82523d6000602084013e565b606090565b6000806103a893602081519101845af461332d6132e5565b9161466f565b60429061333e614702565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b916103a893916133839361481c565b909291926148c0565b6001600160a01b038116600052600760205260406000208054928391600183019055036133b7575050565b6040517f752d88c00000000000000000000000000000000000000000000000000000000081526001600160a01b039190911660048201526024810191909152604490fd5b8115613405570490565b634e487b7160e01b600052601260045260246000fd5b670de0b6b3a764000080820290600019818409908280831092039180830392146134ad576301e133809082821115613483577f98f5be4dd1e14769fbd6666224dc1eb80dd2e0a3d2c8b328f57e76b7ae103957940990828211900360f91b910360071c170290565b60046040517f227bc153000000000000000000000000000000000000000000000000000000008152fd5b50506301e1338091500490565b90808202906000198184099082808310920391808303921461351e57670de0b6b3a76400009082821115613483577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac10669940990828211900360ee1b910360121c170290565b5050670de0b6b3a764000091500490565b909182820291600019848209938380861095039480860395146135a557848311156134835782910981600003821680920460028082600302188083028203028083028203028083028203028083028203028083028203028092029003029360018380600003040190848311900302920304170290565b5050906103a892506133fb565b806135c45750670de0b6b3a764000090565b670de0b6b3a76400008114613e69576135e4906135df614997565b614ae9565b680a688906bd8affffff8111613e3857670de0b6b3a764000080604092831b04907780000000000000000000000000000000000000000000000067ff000000000000008316613d1b575b66ff0000000000008316613c13575b65ff00000000008316613b13575b64ff000000008316613a1b575b63ff000000831661392b575b62ff00008316613843575b61ff008316613763575b60ff831661368c575b02911c60bf031c90565b60808316613751575b83831661373f575b6020831661372d575b6010831661371b575b60088316613709575b600483166136f7575b600283166136e5575b6001831615613682576801000000000000000102831c613682565b6801000000000000000102831c6136ca565b6801000000000000000302831c6136c1565b6801000000000000000602831c6136b8565b6801000000000000000b02831c6136af565b6801000000000000001602831c6136a6565b6801000000000000002c02831c61369d565b6801000000000000005902831c613695565b6180008316613831575b614000831661381f575b612000831661380d575b61100083166137fb575b61080083166137e9575b61040083166137d7575b61020083166137c5575b61010083161561367957680100000000000000b102831c613679565b6801000000000000016302831c6137a9565b680100000000000002c602831c61379f565b6801000000000000058c02831c613795565b68010000000000000b1702831c61378b565b6801000000000000162e02831c613781565b68010000000000002c5d02831c613777565b680100000000000058b902831c61376d565b628000008316613919575b624000008316613907575b6220000083166138f5575b6210000083166138e3575b6208000083166138d1575b6204000083166138bf575b6202000083166138ad575b6201000083161561366f576801000000000000b17202831c61366f565b680100000000000162e402831c613890565b6801000000000002c5c802831c613885565b68010000000000058b9102831c61387a565b680100000000000b172102831c61386f565b68010000000000162e4302831c613864565b680100000000002c5c8602831c613859565b6801000000000058b90c02831c61384e565b63800000008316613a09575b634000000083166139f7575b632000000083166139e5575b631000000083166139d3575b630800000083166139c1575b630400000083166139af575b6302000000831661399d575b63010000008316156136645768010000000000b1721802831c613664565b6801000000000162e43002831c61397f565b68010000000002c5c86002831c613973565b680100000000058b90c002831c613967565b6801000000000b17217f02831c61395b565b680100000000162e42ff02831c61394f565b6801000000002c5c85fe02831c613943565b68010000000058b90bfc02831c613937565b6480000000008316613b01575b6440000000008316613aef575b6420000000008316613add575b6410000000008316613acb575b6408000000008316613ab9575b6404000000008316613aa7575b6402000000008316613a95575b64010000000083161561365857680100000000b17217f802831c613658565b68010000000162e42ff102831c613a76565b680100000002c5c85fe302831c613a69565b6801000000058b90bfce02831c613a5c565b68010000000b17217fbb02831c613a4f565b6801000000162e42fff002831c613a42565b68010000002c5c8601cc02831c613a35565b680100000058b90c0b4902831c613a28565b658000000000008316613c01575b654000000000008316613bef575b652000000000008316613bdd575b651000000000008316613bcb575b650800000000008316613bb9575b650400000000008316613ba7575b650200000000008316613b95575b6501000000000083161561364b576801000000b17218355102831c61364b565b680100000162e430e5a202831c613b75565b6801000002c5c863b73f02831c613b67565b68010000058b90cf1e6e02831c613b59565b680100000b1721bcfc9a02831c613b4b565b68010000162e43f4f83102831c613b3d565b680100002c5c89d5ec6d02831c613b2f565b6801000058b91b5bc9ae02831c613b21565b66800000000000008316613d09575b66400000000000008316613cf7575b66200000000000008316613ce5575b66100000000000008316613cd3575b66080000000000008316613cc1575b66040000000000008316613caf575b66020000000000008316613c9d575b660100000000000083161561363d5768010000b17255775c0402831c61363d565b6801000162e525ee054702831c613c7c565b68010002c5cc37da949202831c613c6d565b680100058ba01fb9f96d02831c613c5e565b6801000b175effdc76ba02831c613c4f565b680100162f3904051fa102831c613c40565b6801002c605e2e8cec5002831c613c31565b68010058c86da1c09ea202831c613c22565b6780000000000000008316613e19575b6740000000000000008316613e07575b6720000000000000008316613df5575b6710000000000000008316613de3575b6708000000000000008316613dd1575b6704000000000000008316613dbf575b6702000000000000008316613dad575b67010000000000000083161561362e57680100b1afa5abcbed6102831c61362e565b68010163da9fb33356d802831c613d8b565b680102c9a3e778060ee702831c613d7b565b6801059b0d31585743ae02831c613d6b565b68010b5586cf9890f62a02831c613d5b565b6801172b83c7d517adce02831c613d4b565b6801306fe0a31b7152df02831c613d3b565b5077b504f333f9de648480000000000000000000000000000000613d2b565b602490604051907fb3b6ba1f0000000000000000000000000000000000000000000000000000000082526004820152fd5b506714d1120d7b16000090565b906001600160a01b0382168015613f9857613ea4836001600160a01b03166000526000602052604060002090565b54828110613f4f57908260009203613ecf856001600160a01b03166000526000602052604060002090565b55613edd8360025403600255565b6040518381527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a3613f138183614b9b565b80613f1c575050565b613f45613f3f613f4b936001600160a01b0316600052600b602052604060002090565b91614a54565b90614aa0565b5050565b6040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602481019190915260448101839052606490fd5b60246040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152fd5b906001600160a01b03821680156140ce57613fee613fe983600254612720565b600255565b61400b836001600160a01b03166000526000602052604060002090565b8054830190556040518281526000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a36002546001600160d01b03811161408e575061405c8183614c40565b80614065575050565b614088613f3f613f4b936001600160a01b0316600052600b602052604060002090565b90614ab4565b6040517f1cb15d2600000000000000000000000000000000000000000000000000000000815260048101919091526001600160d01b036024820152604490fd5b60246040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152fd5b6001600160a01b03169061412a600080836020829551910182875af16141236132e5565b908461466f565b908151918215159283614173575b5050506141425750565b602490604051907f5274afe70000000000000000000000000000000000000000000000000000000082526004820152fd5b81929350906020918101031261419b5760200151908115918215036104915750388080614138565b5080fd5b80156142d9578061427261426b61426161425761424d61424361423961422f60016103a89a6000908b60801c806142cd575b508060401c806142c0575b508060201c806142b3575b508060101c806142a6575b508060081c80614299575b508060041c8061428c575b508060021c8061427f575b50821c614278575b811c1b614228818b6133fb565b0160011c90565b614228818a6133fb565b61422881896133fb565b61422881886133fb565b61422881876133fb565b61422881866133fb565b61422881856133fb565b80926133fb565b90614a29565b810161421b565b6002915091019038614213565b6004915091019038614208565b60089150910190386141fd565b60109150910190386141f2565b60209150910190386141e7565b60409150910190386141dc565b915050608090386141d1565b50600090565b905b8281106142ed57505090565b90918082169080831860011c820180921161211057600a60005265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908516106000146143485750915b906142e1565b92915061435490612712565b90614342565b91906001600160a01b039283821693811690848214158061448c575b614382575b5050505050565b816143ff575b505082614397575b808061437b565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491614088613f3f6143dc936001600160a01b03166000526009602052604060002090565b604080516001600160d01b039384168152919092166020820152a2388080614390565b61446a6144407fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724926001600160a01b03166000526009602052604060002090565b61444986614a54565b61446461445542612b68565b9161445f846132b9565b614a3b565b91614f06565b604080516001600160d01b039384168152919092166020820152a23880614388565b50831515614376565b60ff81146144eb5760ff811690601f82116144c157604051916144b7836118a6565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b506040516005548160006144fe83611fce565b8083529260209060019081811690811561458a5750600114614529575b50506103a892500382611953565b91509260056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0936000925b82841061457257506103a8945050508101602001388061451b565b85548785018301529485019486945092810192614557565b9050602093506103a895925060ff1991501682840152151560051b820101388061451b565b60ff81146145d15760ff811690601f82116144c157604051916144b7836118a6565b506040516006548160006145e483611fce565b8083529260209060019081811690811561458a575060011461460e5750506103a892500382611953565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b82841061465757506103a8945050508101602001388061451b565b8554878501830152948501948694509281019261463c565b906146ae575080511561468457805190602001fd5b60046040517f1425ea42000000000000000000000000000000000000000000000000000000008152fd5b815115806146f9575b6146bf575090565b6024906001600160a01b03604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b156146b7565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163014806147f3575b1561475d577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526147ed81611937565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614614734565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161489457926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa15611ee25780516001600160a01b0381161561488b57918190565b50809160019190565b50505060009160039190565b600411156148aa57565b634e487b7160e01b600052602160045260246000fd5b6148c9816148a0565b806148d2575050565b6148db816148a0565b6001810361490d5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b614916816148a0565b60028103614950576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101839052602490fd5b8061495c6003926148a0565b146149645750565b6040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004810191909152602490fd5b60006706f05b59d3b200006714d1120d7b160000815b6149b657505090565b80670de0b6b3a764000091020490671bc16d674ec800008210156149df575b60011c90816149ad565b809192019160011c906149d5565b805482101561231b5760005260206000200190600090565b90604051614a12816118a6565b915465ffffffffffff8116835260301c6020830152565b9080821015614a36575090565b905090565b6001600160d01b03918216908216039190821161211057565b6001600160d01b0390818111614a68571690565b604490604051907f6dfcc65000000000000000000000000000000000000000000000000000000000825260d060048301526024820152fd5b614ab09161446461445542612b68565b9091565b614ab091614464614ac442612b68565b91614ace846132b9565b9190916001600160d01b038080941691160191821161211057565b91909160001983820983820291828083109203918083039214614b8a57670de0b6b3a76400009081831015614b5057947faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066994950990828211900360ee1b910360121c170290565b6040517f5173648d000000000000000000000000000000000000000000000000000000008152600481019190915260248101869052604490fd5b5050670de0b6b3a764000090049150565b90610549916001600160a01b038091168015614c18575b614bd9614bbe84614a54565b614bd3614bca42612b68565b9161445f613272565b90614daf565b50506000908152600860205260408120549080527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7548216911661435a565b614c39614c2484614a54565b614bd3614c3042612b68565b91614ace613272565b5050614bb2565b9061054991614c51614c2483614a54565b50506001600160a01b03809116908115614ca1575b60086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c75460009283526040909220548116911661435a565b614cad614bbe84614a54565b5050614c66565b600a5490680100000000000000008210156118c2576001820180600a5582101561231b576001600160d01b03602061054993600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80192614d3565ffffffffffff825116859065ffffffffffff1665ffffffffffff19825416179055565b0151825465ffffffffffff16911660301b65ffffffffffff1916179055565b8054680100000000000000008110156118c257614d76916001820181556149ed565b6128e2576001600160d01b03602083614d3565ffffffffffff610549965116859065ffffffffffff1665ffffffffffff19825416179055565b600a54919291908115614edc57614dfa614df5614dcb84612617565b600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80190565b614a05565b805165ffffffffffff8381169491168410614eb25785602093614e7695614e35614e2a865165ffffffffffff1690565b65ffffffffffff1690565b03614e7a5750614e4a614dcb614e6893612617565b9065ffffffffffff65ffffffffffff1983549260301b169116179055565b01516001600160d01b031690565b9190565b9050614ead9150614e9a614e8c611976565b65ffffffffffff9092168252565b6001600160d01b03871681850152614cb4565b614e68565b60046040517f2520601d000000000000000000000000000000000000000000000000000000008152fd5b614f009150614eec614e8c611976565b6001600160d01b0384166020820152614cb4565b60009190565b805492939291908215614fc457614f2f614df5614f2285612617565b8360005260206000200190565b90614f40825165ffffffffffff1690565b65ffffffffffff84811691168110614eb257614e76946020948892614f6e614e2a875165ffffffffffff1690565b03614f915750614e6892614f84614e4a92612617565b9060005260206000200190565b915050614ead91614fb1614fa3611976565b65ffffffffffff9093168352565b6001600160d01b03881682860152614d54565b614f009250614fd4614fa3611976565b6001600160d01b0385166020830152614d5456fea264697066735822122015d8d40deb412bfba563d8316a07e226155c5bfad872ae63b15aef4a18de980764736f6c6343000819003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000576654d4156000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000576654d4156000000000000000000000000000000000000000000000000000000