Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 1 from a total of 1 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Initialize | 22912305 | 272 days ago | IN | 0 ETH | 0.00049489 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Heuristics suggest this may be a proxy contract. Verify using the Proxy Contract Checker
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"uint256","name":"allocated","type":"uint256"},{"internalType":"uint256","name":"maximum","type":"uint256"},{"internalType":"uint256","name":"capId","type":"uint256"}],"name":"AllocationTooHigh","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AlreadyOwnsRole","type":"error"},{"inputs":[],"name":"AlreadyUpgraded","type":"error"},{"inputs":[],"name":"AmountMustBePositive","type":"error"},{"inputs":[],"name":"CannotRemoveSelf","type":"error"},{"inputs":[{"internalType":"uint256","name":"capId","type":"uint256"}],"name":"CapExists","type":"error"},{"inputs":[],"name":"CapHasWallets","type":"error"},{"inputs":[{"internalType":"uint256","name":"currentTime","type":"uint256"},{"internalType":"uint256","name":"startDate","type":"uint256"},{"internalType":"uint256","name":"cliffEnd","type":"uint256"}],"name":"CliffNotReached","type":"error"},{"inputs":[{"internalType":"uint256","name":"waitUntil","type":"uint256"}],"name":"CoolDownActive","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","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":[],"name":"EnforcedPause","type":"error"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ExceedsMaximumSupply","type":"error"},{"inputs":[{"internalType":"uint256","name":"allowedTime","type":"uint256"}],"name":"ExecutionDelayNotMet","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"ExistingActiveProposal","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[{"internalType":"uint8","name":"status","type":"uint8"}],"name":"Failed","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"inputs":[],"name":"InitialReleaseTooLarge","type":"error"},{"inputs":[{"internalType":"uint16","name":"requiredApprovals","type":"uint16"},{"internalType":"uint16","name":"approvals","type":"uint16"}],"name":"InsufficientApprovals","type":"error"},{"inputs":[{"internalType":"uint256","name":"required","type":"uint256"},{"internalType":"uint256","name":"available","type":"uint256"}],"name":"InsufficientContractBalance","type":"error"},{"inputs":[],"name":"InvalidAddress","type":"error"},{"inputs":[],"name":"InvalidAllocation","type":"error"},{"inputs":[],"name":"InvalidAllocationParameters","type":"error"},{"inputs":[{"internalType":"uint256","name":"capId","type":"uint256"}],"name":"InvalidCapId","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[{"internalType":"uint8","name":"proposalType","type":"uint8"}],"name":"InvalidProposalType","type":"error"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint16","name":"quorum","type":"uint16"}],"name":"InvalidQuorumErr","type":"error"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"InvalidRole","type":"error"},{"inputs":[],"name":"LimitTooHigh","type":"error"},{"inputs":[{"internalType":"uint256","name":"walletBalance","type":"uint256"},{"internalType":"uint256","name":"requiredBalance","type":"uint256"}],"name":"LowBalance","type":"error"},{"inputs":[{"internalType":"uint256","name":"available","type":"uint256"},{"internalType":"uint256","name":"required","type":"uint256"}],"name":"LowContractBalance","type":"error"},{"inputs":[],"name":"MinimumRoleNoRequired","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotPendingOwner","type":"error"},{"inputs":[],"name":"NothingDue","type":"error"},{"inputs":[],"name":"NothingToClaim","type":"error"},{"inputs":[{"internalType":"uint8","name":"stauts","type":"uint8"}],"name":"OperationFailed","type":"error"},{"inputs":[],"name":"OutOfRangeVestingPlan","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"uint8","name":"err","type":"uint8"}],"name":"ProposalErr","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint8","name":"status","type":"uint8"}],"name":"RoleAssignment","type":"error"},{"inputs":[{"internalType":"uint256","name":"capId","type":"uint256"}],"name":"StartDateNotSet","type":"error"},{"inputs":[],"name":"TGEAlreadyInitiated","type":"error"},{"inputs":[],"name":"TGENotInitiated","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"TimeLockActive","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"inputs":[],"name":"TransferRestricted","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"uint256","name":"capId","type":"uint256"}],"name":"WalletExistsInCap","type":"error"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"uint256","name":"capId","type":"uint256"}],"name":"WalletNotInCap","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":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":true,"internalType":"uint256","name":"capId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"chainId","type":"uint256"}],"name":"ClaimProcessed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"startTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"cliffPeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"vestingPeriod","type":"uint256"}],"name":"DistributionWalletAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"wallet","type":"address"},{"indexed":true,"internalType":"uint256","name":"capId","type":"uint256"}],"name":"DistributionWalletRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"action","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"address","name":"caller","type":"address"}],"name":"EA","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"proposalId","type":"bytes32"},{"indexed":true,"internalType":"uint8","name":"proposalType","type":"uint8"},{"indexed":true,"internalType":"address","name":"approver","type":"address"}],"name":"ProposalApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"proposalId","type":"bytes32"},{"indexed":true,"internalType":"uint8","name":"proposalType","type":"uint8"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"proposalId","type":"bytes32"},{"indexed":true,"internalType":"uint8","name":"proposalType","type":"uint8"},{"indexed":true,"internalType":"address","name":"target","type":"address"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"proposalId","type":"bytes32"},{"indexed":true,"internalType":"uint8","name":"proposalType","type":"uint8"},{"indexed":true,"internalType":"address","name":"target","type":"address"}],"name":"ProposalExpired","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"proposalId","type":"bytes32"},{"indexed":true,"internalType":"uint8","name":"proposalType","type":"uint8"}],"name":"ProposalReadyForExecution","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newQuorum","type":"uint256"}],"name":"QuorumUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"RU","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":false,"internalType":"uint256","name":"totalAllocation","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"TGEInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"}],"name":"TokenDistributionInitialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensReturnedToStorage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"TransactionLimitUpdated","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":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"uint8","name":"action","type":"uint8"}],"name":"VestingCapAction","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"capId","type":"uint256"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"uint256","name":"startDate","type":"uint256"},{"internalType":"uint256","name":"totalAllocation","type":"uint256"},{"internalType":"uint256","name":"cliff","type":"uint256"},{"internalType":"uint256","name":"vestingTerm","type":"uint256"},{"internalType":"uint256","name":"vestingPlan","type":"uint256"},{"internalType":"uint256","name":"initialRelease","type":"uint256"}],"name":"addVestingCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"adminCount","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":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"proposalId","type":"bytes32"}],"name":"approveProposal","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":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"uint256","name":"capId","type":"uint256"}],"name":"calculateDueTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"capIds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"capId","type":"uint256"},{"internalType":"uint256","name":"chainId","type":"uint256"}],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxProposalsToCheck","type":"uint256"}],"name":"cleanupExpiredProposals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"proposalType","type":"uint8"},{"internalType":"uint40","name":"id","type":"uint40"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint96","name":"amount","type":"uint96"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"createProposal","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"op","type":"uint8"}],"name":"emergencyAction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"proposalId","type":"bytes32"}],"name":"executeProposal","outputs":[],"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":"uint256","name":"capId","type":"uint256"}],"name":"getWalletsInCap","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"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":"proposalId","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasProposalApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address","name":"_storageToken","type":"address"},{"internalType":"address","name":"initialOwner","type":"address"},{"internalType":"address","name":"initialAdmin","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initiateTGE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pendingProposals","outputs":[{"internalType":"uint8","name":"proposalType","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"proposalIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"proposalRegistry","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"proposals","outputs":[{"internalType":"uint8","name":"proposalType","type":"uint8"},{"internalType":"address","name":"target","type":"address"},{"internalType":"uint40","name":"id","type":"uint40"},{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint96","name":"amount","type":"uint96"},{"components":[{"internalType":"uint64","name":"expiryTime","type":"uint64"},{"internalType":"uint64","name":"executionTime","type":"uint64"},{"internalType":"uint16","name":"approvals","type":"uint16"},{"internalType":"uint8","name":"status","type":"uint8"}],"internalType":"struct ProposalTypes.ProposalConfig","name":"config","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"capId","type":"uint256"}],"name":"removeVestingCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"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":"bytes32","name":"","type":"bytes32"}],"name":"roleConfigs","outputs":[{"internalType":"uint16","name":"quorum","type":"uint16"},{"internalType":"uint240","name":"transactionLimit","type":"uint240"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint16","name":"quorum","type":"uint16"}],"name":"setRoleQuorum","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint240","name":"limit","type":"uint240"}],"name":"setRoleTransactionLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"storageToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"timeConfigs","outputs":[{"internalType":"uint64","name":"lastActivityTime","type":"uint64"},{"internalType":"uint64","name":"roleChangeTimeLock","type":"uint64"},{"internalType":"uint64","name":"whitelistLockTime","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferBackToStorage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"upgradeProposals","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"vestingCaps","outputs":[{"internalType":"uint256","name":"totalAllocation","type":"uint256"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"uint256","name":"cliff","type":"uint256"},{"internalType":"uint256","name":"vestingTerm","type":"uint256"},{"internalType":"uint256","name":"vestingPlan","type":"uint256"},{"internalType":"uint256","name":"initialRelease","type":"uint256"},{"internalType":"uint256","name":"startDate","type":"uint256"},{"internalType":"uint256","name":"allocatedToWallets","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"vestingWallets","outputs":[{"internalType":"uint256","name":"capId","type":"uint256"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"claimed","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60a0806040523461002b57306080526157c290816200003082396080518181816139e50152613ac40152f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461465e5750806306fdde0314614581578063095ea7b3146145025780630cbb65a5146144cb5780631036ec021461443257806318160ddd146143f657806323b872dd14614318578063248a9ca3146142df5780632b7832b3146142c35780632f2ff15d1461427a578063313ce5671461425f57806332ed5b12146141815780633594979e1461413457806336568abe146140ed57806337c5c31b146140c757806345998c4a14613eea57806345f806ab14613eb25780634f1ef28614613a4757806352d1902d146139cb57806353bc95851461373b578063554bb03e146136e4578063580c9766146133d35780635c975abb146133a5578063605968161461333f57806360b480db1461328857806370a0823114613231578063715018a6146131ca57806379ba50971461315e578063820ab447146130e75780638689d2ce146130ac5780638da5cb5b1461307a5780638ea6bde314612e7f57806391d1485414612e2957806395d89b4114612d09578063980ff6c61461227e578063a217fddf14612264578063a9059cbb14612233578063acf9368d14612204578063ad3cb1cc146121c3578063b8ae3c0e14611f97578063bc2cf53b14611f6d578063c0c53b8b14611b4a578063c5c0c7c714611528578063d04aeb7714611447578063d547741f146113fc578063da35c664146113df578063dd62ed3e14611397578063e30c397814611371578063ed5ef4d514611347578063f1db1299146111b8578063f20b5b2c14610449578063f2fde38b1461035c578063f538e1dc146103275763fdb6ed131461026e575f80fd5b3461032357602080600319360112610323576004355f52600d8152600860405f2001604051908183825491828152019081925f52845f20905f5b868282106103065786866102be828803836147e9565b60405192839281840190828552518091526040840192915f5b8281106102e657505050500390f35b83516001600160a01b0316855286955093810193928101926001016102d7565b83546001600160a01b0316855290930192600192830192016102a8565b5f80fd5b34610323576020366003190112610323576004355f5260046020526040805f205481519061ffff8116825260101c6020820152f35b34610323576020366003190112610323576103756146f8565b61037d614b7b565b610385614ba5565b61038d61507f565b6001600160a01b0380911690811561043757600260095460ff81169060ff19161717600955816001600160601b0360a01b600a541617600a556103f0335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b5f805160206156ed83398151915254167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a360015f8051602061574d83398151915255005b60405163e6c4247b60e01b8152600490fd5b3461032357602036600319011261032357610462614b7b565b61046a614ba5565b610472614bd4565b6004355f52600160205260405f206001600160a01b03815460081c161561119f576003810160ff815460901c166111865760048201335f528060205260ff60405f20541661116e576104c33361503c565b6104cb61510c565b6104d6600435614c68565b61113e57335f5260205260405f20600160ff19825416179055805461ffff92838260801c16918483146108925761ffff60801b1916600190920160801b61ffff60801b1691909117918290555460ff169033826004357f3c0f196cc03fec6343da43b6eeada7b4c06059ed23a3e3a8a7464ddcd446e44f5f80a45f8051602061576d83398151915292835f5260046020528060405f205416908260801c1610159081611157575b506105c0575b6105ad335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b60015f8051602061574d83398151915255005b6004357f0c2b94d6f8073b73c5045b01f337646a318263c8fe920f83025492e9a00cd9735f80a36105ef614b7b565b6105f7614bd4565b6004355f52600160205260405f20610610600435614c68565b61113e5760ff815416600181148015611134575b156108c257506004355f52600160205260405f209182549060ff82169160028314908180156108b8575b6106dd575b505050506003915060ff81546001600160a01b038160081c16918291166004355f805160206156cd8339815191525f80a45f5260026020525f604081205501600160901b60ff60901b198254161790556004355f5260016020526106cb60405f2060035f918281558260018201558260028201550155565b6106d66004356155a3565b8080610583565b60016001600160a01b03819260081c1696015493145f146107e2575090837f74fe7eb3b80696557e733330b9e0fab450287d2b7457610f7ddcc8d052f6431f9261072960039684614f38565b5082146107d1575b805f528460205261077460405f2063ffffffff61074d42614879565b825467ffffffffffffffff60401b1916911660401b67ffffffffffffffff60401b16179055565b61079e335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b604080516001600160a01b0392909216825233602083015281019190915260016060820152608090a15b82808080610653565b6107db5f5461486b565b5f55610731565b6107f2575b5050600391506107c8565b8114610874575b80836108286003957f74fe7eb3b80696557e733330b9e0fab450287d2b7457610f7ddcc8d052f6431f94614fbc565b50805f52846020525f604081205561086a6040519283923390845f92949360609260808301966001600160a01b03809216845216602083015260408201520152565b0390a182806107e7565b5f549060028211156108a6578115610892575f199091015f556107f9565b634e487b7160e01b5f52601160045260245ffd5b6040516346eb72d360e01b8152600490fd5b506001841461064e565b909150600381036108d5575b50506106d6565b600403610abe5760028101546001600160a01b03811690308214610aa55760a01c8015610a93576040516370a0823160e01b8152306004820152602081602481865afa908115610a39575f91610a61575b50818110610a44575060209060446001600160a01b03855460081c165f604051958694859363a9059cbb60e01b8552600485015260248401525af1908115610a39575f91610a0a575b50156109f1576001600160a01b03815460081c165f5260026020525f60408120556004355f5260016020526109b860405f2060035f918281558260018201558260028201550155565b6109c36004356155a3565b5460ff6001600160a01b038260081c1691166004355f805160206156cd8339815191525f80a45b80806108ce565b60405163dc7ce3bb60e01b815260026004820152602490fd5b610a2c915060203d602011610a32575b610a2481836147e9565b8101906148c5565b8261096f565b503d610a1a565b6040513d5f823e3d90fd5b6044916040519163d043851160e01b835260048301526024820152fd5b90506020813d602011610a8b575b81610a7c602093836147e9565b81010312610323575184610926565b3d9150610a6f565b604051632e11316f60e11b8152600490fd5b60405163dc7ce3bb60e01b815260016004820152602490fd5b6004355f52600160205260405f2090815460ff8116600781145f14610f42575050815464ffffffffff8160a81c165f52600d60205260405f2092600684015415610f1f5760018101548015610f07575b600282015460a01c908115610ef5576001600160a01b038460081c165f52600e60205260405f2064ffffffffff8560a81c165f52602052600260405f200154610ebf576001600160a01b03600c54166040516318160ddd60e01b8152602081600481855afa908115610a39575f91610e8d575b508311610e7457610b9887546007890154906148b8565b808411610e2b57506004600b5416610da6575b50600360405191610bbb83614798565b64ffffffffff8660a81c168352602083019081526040830184815260608401915f83526001600160a01b038860081c165f52600e60205260405f2064ffffffffff8960a81c165f5260205260405f209451855551600185015551600284015551910155610c2c816007870154614898565b600786015560088501948554600160401b811015610d92576001600160a01b0380957f82df6d5b4d9f1e17dcb2fd044206391a3180190fd39a6697d34ebdc3c684303f93610caa610c878560039c6001608098018155614783565b858560081c16906001600160a01b038084549260031b9316831b921b1916179055565b6006810154908a60028201549101549160405197885260208801526040870152606086015260081c1692a25b5460081c165f5260026020525f6040812055610d12335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b60ff81546001600160a01b038160081c16918291166004355f805160206156cd8339815191525f80a45f5260026020525f604081205501600160901b60ff60901b198254161790556004355f526001602052610d8260405f2060035f918281558260018201558260028201550155565b610d8d6004356155a3565b6109ea565b634e487b7160e01b5f52604160045260245ffd5b6020602491604051928380926370a0823160e01b82523060048301525afa908115610a39575f91610df9575b5082811015610bab57826044916040519163b7ddd88b60e01b835260048301526024820152fd5b90506020813d602011610e23575b81610e14602093836147e9565b81010312610323575187610dd2565b3d9150610e07565b60405163c283a5af60e01b81526001600160a01b03600888901c16600482015260248101859052604481019190915264ffffffffff60a887901c166064820152608490fd5b0390fd5b60405163be87eb9160e01b815260048101849052602490fd5b90506020813d602011610eb7575b81610ea8602093836147e9565b81010312610323575188610b81565b3d9150610e9b565b60405163778ac9bb60e01b81526001600160a01b03600886901c16600482015264ffffffffff60a886901c166024820152604490fd5b6040516305d7ba1960e11b8152600490fd5b506d155b9b985b59590815d85b1b195d60921b610b0e565b604051636c4afe8f60e01b815260a883901c64ffffffffff166004820152602490fd5b600814610f5b575b506001600160a01b03600392610cd6565b6001600160a01b0364ffffffffff8260a81c169160081c1692835f52600e60205260405f20825f5260205260405f20600d602052600260405f209101805490811561110c57600783018054600894939192911161110357610fbe905482546148b8565b90555b01915f5b8354808210156110ef57866001600160a01b03610fe28488614783565b90549060031b1c1614610ff85750600101610fc5565b5f1996918188019182116108925761102d6001600160a01b0361101e61104c9489614783565b90549060031b1c169187614783565b9091906001600160a01b038084549260031b9316831b921b1916179055565b83549384156110db576003966001600160a01b039501906110856110708383614783565b6001600160a01b0382549160031b1b19169055565b555b805f52600e60205260405f20825f526020525f866040822082815582600182015582600282015501557f69fd8ab32600e05c316e75a852dd218f56af25f371ba178fe72af7c882c1a5ba5f80a39250610f4a565b634e487b7160e01b5f52603160045260245ffd5b50506001600160a01b039250600394611087565b505f9055610fc1565b604051633811668f60e01b81526001600160a01b038816600482015260248101869052604490fd5b5060028114610624565b604051633f6aad8160e01b815260026004820152602490fd5b6001600160401b03915060401c164210158361057d565b604051633f6aad8160e01b8152600480820152602490fd5b604051633f6aad8160e01b815260036004820152602490fd5b604051633f6aad8160e01b815260016004820152602490fd5b346103235760208060031936011261032357600435906111d6614ba5565b6111de614b7b565b6111e6614bd4565b8115610a93576001600160a01b03600c54166040516370a0823160e01b81523060048201528281602481855afa908115610a39575f9161131a575b508381106112fc575060405163a9059cbb60e01b81526001600160a01b038216600482015260248101849052908290829060449082905f905af190816112df575b50611279576040516312171d8360e31b8152600490fd5b7f666c3223aab19ecaae2d22e3e4d5425ae72c3ee054781221d1445c94f37c88e4916112c5335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b604051908152a160015f8051602061574d83398151915255005b6112f590833d8511610a3257610a2481836147e9565b5083611262565b60449084604051916367f4ad2360e01b835260048301526024820152fd5b90508281813d8311611340575b61133181836147e9565b81010312610323575184611221565b503d611327565b34610323576020366003190112610323576004355f526006602052602060405f2054604051908152f35b34610323575f3660031901126103235760206001600160a01b03600a5416604051908152f35b34610323576040366003190112610323576113b06146f8565b6001600160a01b036113c96113c361470e565b9261480a565b91165f52602052602060405f2054604051908152f35b34610323575f366003190112610323576020600754604051908152f35b346103235760403660031901126103235761144560043561141b61470e565b90805f525f8051602061570d833981519152602052611440600160405f200154614c3a565b614fbc565b005b346103235760403660031901126103235760043560243561ffff811680910361032357611472614b7b565b61147a614ba5565b611482614bd4565b60018111156115095760207fd2afc01d78a1704d817d422b306b9916dc92cdbe21b85ee6c6c42a8b7e95de6c91835f526004825260405f208161ffff198254161790556114ef335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b604051908152a260015f8051602061574d83398151915255005b60405163e3d16f7b60e01b815260048101929092526024820152604490fd5b346103235760c03660031901126103235761154161485b565b60243564ffffffffff811681036103235761155a614724565b916001600160601b0360843516608435036103235760a4356001600160a01b039283821682036103235761158c614b7b565b611594614ba5565b61159c614bd4565b83851615610437576115ad3361503c565b6115b561510c565b8385165f52600260205260ff60405f205416611b3057600160ff84161490818015611b23575b156118fc57505f8051602061576d83398151915260643514908115806118d0575b806118a4575b61188a5780611850575b156117b057506064355f525f8051602061570d83398151915260205260405f208385165f5260205260ff60405f205416611788575b61167a60405160208101906001600160601b03198760601b168252606435603482015260348152611671816147ce565b519020836154c0565b805f52600160205260405f2061169086826154f4565b6064356001820155805460ff191660ff8516179055925b6007545f5260086020528360405f205560075490845f5260066020528160405f20556001820180921161089257608060ff7f0d467ee5623eb30873c5a5a531a83bb62202b429e7618a22328aa8ad3e80226a9260209888956007558181165f5260028a5260405f208389168419825416179055816040519760643589526001600160601b03608435168c8a015216604088015233606088015216951693a461176f335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b60015f8051602061574d83398151915255604051908152f35b604051635cafa26160e11b815283851660048201526064803560248301526001604483015290fd5b600260ff8416146117c2575b50611641565b6064355f525f8051602061570d83398151915260205260405f208486165f5260205260ff60405f20541615611828573384861614611816578061180a575b6108a657846117bc565b5060025f541115611800565b604051635e03d55f60e01b8152600490fd5b604051635cafa26160e11b815284861660048201526064803560248301526002604483015290fd5b8486165f5260036020526001600160401b0360405f205460401c161561160c57604051634400e76560e11b81528587166004820152602490fd5b60405163125a2bb760e01b81526064356004820152602490fd5b507f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15686064351415611602565b507fc010ccdcf54c5ad6331f4a1a31e2bdc65d2e1634418e8054c3f93e1dfef7874c60643514156115fc565b905060ff8316600303611a1f57503083851614611a0d578284165f52600560205260405f205480611999575b506040516020810190600360f81b82526001600160601b03198660601b1660218201524260418201526041815261195e81614798565b51902092835f52600160205260405f2061197886826154f4565b600360ff19825416179055838186165f52600560205260405f20555b6116a7565b5f818152600160205260409020600301546001600160401b031642106119f4578385165f5260056020525f60408120555f5260016020526119ee60405f2060035f918281558260018201558260028201550155565b84611928565b604051633f6aad8160e01b815260056004820152602490fd5b60405163108223e160e21b8152600490fd5b60ff8316600403611b0a57503083821614610aa5576001600160601b036084351615610a93578284165f52600260205260ff60405f205416611af057611aa560405160208101906001600160601b0319808860601b1683528460601b1660348201526001600160601b0360a01b60843560a01b16604882015260348152611671816147ce565b92835f526001602052611994600260405f20611ac188826154f4565b805460ff191660ff87161781556001600160a01b038585161660843560a01b6001600160a01b03191617910155565b604051631dc690f760e31b81528385166004820152602490fd5b611b1d9060843590866064359186615173565b926116a7565b50600260ff8516146115db565b604051631dc690f760e31b81528486166004820152602490fd5b3461032357606036600319011261032357611b636146f8565b611b6b61470e565b611b73614724565b907ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090815460ff8160401c168015611f59575b611f475768ffffffffffffffffff1916680100000000000000011782556001600160a01b03938416801561043757818516801580158181611f3d575b61043757611bee615628565b8190611f33575b61043757611c01615628565b611c09615628565b611f1b57611d0690611c1a846150b7565b611c22615628565b611c2a615628565b611c32615628565b60015f8051602061574d83398151915255611c4b615628565b611c53615628565b611c7b60ff19945f8051602061572d833981519152868154169055611c76615628565b614e8b565b50611c8586614e8b565b5060025f556001600160401b03611c9b42614879565b16905f528660209660038852611cd78360405f209067ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b165f5260405f209067ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b6001600b541615611d4f575b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2848468ff000000000000000019815416905560405160018152a1005b806001600160601b0360a0959493951b600c541617600c5560405163095ea7b360e01b95868252306004830152602496825f898095015286816044815f895af19081611efe575b50611db3576040516380d7eceb60e01b8152600360048201528390fd5b855f91604484600c54169160405194859384928352306004840152811980998401525af19081611ee1575b50611dfb576040516380d7eceb60e01b8152600260048201528790fd5b84604491600c989495969798541660405192838092636eb1769f60e11b825230600483015230888301525afa908115610a39575f91611eb4575b5003611e9e575060017fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2945f600755600b549060ff821691161717600b557fcf6e06116a82c1b468912f23d8bb1d126edbb21bc0864d6d5169e3be39b1a8185f80a28380611d12565b6040516380d7eceb60e01b815260016004820152fd5b90508581813d8311611eda575b611ecb81836147e9565b81010312610323575187611e35565b503d611ec1565b611ef790873d8911610a3257610a2481836147e9565b5088611dde565b611f1490883d8a11610a3257610a2481836147e9565b5089611d96565b604051631e4fbdf760e01b81525f6004820152602490fd5b5086861615611bf5565b5087871615611be2565b60405163f92ee8a960e01b8152600490fd5b5060016001600160401b0382161015611ba6565b34610323576020366003190112610323576004355f526008602052602060405f2054604051908152f35b3461032357602036600319011261032357611fb061485b565b611fb8614ba5565b611fc0614bd4565b64ffffffffff60095460081c16611fd681614889565b42106121a35750335f5260036020526001600160401b0360405f205460401c16421061218b5760ff16600181036120e45760607f3482adf51e5f8d42b10efeff354212c91eb480ee9245864936e080f30d4a9ded91612033614b7b565b5f8051602061572d833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a15b60095465ffffffffff004260081b169065ffffffffff001916176009556120be335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b604051908152426020820152336040820152a160015f8051602061574d83398151915255005b60028103612173575f8051602061572d8339815191529081549060ff821615612161577f3482adf51e5f8d42b10efeff354212c91eb480ee9245864936e080f30d4a9ded9260609260ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1612077565b604051638dfc202b60e01b8152600490fd5b60405163dc7ce3bb60e01b81525f6004820152602490fd5b60405163152c1de960e31b8152336004820152602490fd5b6121ae602491614889565b6040519063191abf4160e21b82526004820152fd5b34610323575f366003190112610323576122006040516121e2816147b3565b60058152640352e302e360dc1b6020820152604051918291826146b1565b0390f35b3461032357604036600319011261032357602061222b6122226146f8565b602435906148fb565b604051908152f35b346103235760403660031901126103235761225961224f6146f8565b6024359033614d8f565b602060405160018152f35b34610323575f3660031901126103235760206040515f8152f35b3461032357602036600319011261032357612297614b7b565b61229f614ba5565b6122a7614bd4565b6004355f52600160205260405f206001600160a01b03815460081c161561119f575f8051602061576d83398151915290815f52600460205261ffff908160405f2054169060028210612ceb5760030154918260801c1690808210612cc757505060ff8160901c16611186576001600160401b039060401c16804210612caf57506123303361503c565b61233861510c565b612340614b7b565b612348614bd4565b6004355f52600160205260405f20612361600435614c68565b61113e5760ff815416600181148015612ca5575b156125bf57506004355f52600160205260405f209182549060ff82169160028314908180156125b5575b612427575b505050506003915060ff81546001600160a01b038160081c16918291166004355f805160206156cd8339815191525f80a45f5260026020525f604081205501600160901b60ff60901b198254161790556004355f52600160205261241c60405f2060035f918281558260018201558260028201550155565b6105836004356155a3565b60016001600160a01b03819260081c1696015493145f14612505575090837f74fe7eb3b80696557e733330b9e0fab450287d2b7457610f7ddcc8d052f6431f9261247360039684614f38565b5082146124f4575b805f528460205261249760405f2063ffffffff61074d42614879565b6124c1335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b604080516001600160a01b0392909216825233602083015281019190915260016060820152608090a15b828080806123a4565b6124fe5f5461486b565b5f5561247b565b612515575b5050600391506124eb565b8114612597575b808361254b6003957f74fe7eb3b80696557e733330b9e0fab450287d2b7457610f7ddcc8d052f6431f94614fbc565b50805f52846020525f604081205561258d6040519283923390845f92949360609260808301966001600160a01b03809216845216602083015260408201520152565b0390a1828061250a565b5f549060028211156108a6578115610892575f199091015f5561251c565b506001841461239f565b909150600381036125d2575b5050610583565b60040361273f5760028101546001600160a01b03811690308214610aa55760a01c8015610a93576040516370a0823160e01b8152306004820152602081602481865afa908115610a39575f9161270d575b50818110610a44575060209060446001600160a01b03855460081c165f604051958694859363a9059cbb60e01b8552600485015260248401525af1908115610a39575f916126ee575b50156109f1576001600160a01b03815460081c165f5260026020525f60408120556004355f5260016020526126b560405f2060035f918281558260018201558260028201550155565b6126c06004356155a3565b5460ff6001600160a01b038260081c1691166004355f805160206156cd8339815191525f80a45b80806125cb565b612707915060203d602011610a3257610a2481836147e9565b8261266c565b90506020813d602011612737575b81612728602093836147e9565b81010312610323575184612623565b3d915061271b565b6004355f52600160205260405f2090815460ff8116600781145f14612ac4575050815464ffffffffff8160a81c165f52600d60205260405f2092600684015415610f1f5760018101548015612aac575b600282015460a01c908115610ef5576001600160a01b038460081c165f52600e60205260405f2064ffffffffff8560a81c165f52602052600260405f200154610ebf576001600160a01b03600c54166040516318160ddd60e01b8152602081600481855afa908115610a39575f91612a7a575b508311610e745761281987546007890154906148b8565b808411610e2b57506004600b54166129f5575b5060036040519161283c83614798565b64ffffffffff8660a81c168352602083019081526040830184815260608401915f83526001600160a01b038860081c165f52600e60205260405f2064ffffffffff8960a81c165f5260205260405f2094518555516001850155516002840155519101556128ad816007870154614898565b6007860155600885015492600160401b841015610d925760806001600160a01b037f82df6d5b4d9f1e17dcb2fd044206391a3180190fd39a6697d34ebdc3c684303f9260039861290d610c87896001869b01600885015560088401614783565b6006810154908a60028201549101549160405197885260208801526040870152606086015260081c1692a25b5460081c165f5260026020525f6040812055612975335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b60ff81546001600160a01b038160081c16918291166004355f805160206156cd8339815191525f80a45f5260026020525f604081205501600160901b60ff60901b198254161790556004355f5260016020526129e560405f2060035f918281558260018201558260028201550155565b6129f06004356155a3565b6126e7565b6020602491604051928380926370a0823160e01b82523060048301525afa908115610a39575f91612a48575b508281101561282c57826044916040519163b7ddd88b60e01b835260048301526024820152fd5b90506020813d602011612a72575b81612a63602093836147e9565b81010312610323575187612a21565b3d9150612a56565b90506020813d602011612aa4575b81612a95602093836147e9565b81010312610323575188612802565b3d9150612a88565b506d155b9b985b59590815d85b1b195d60921b61278f565b600814612add575b506001600160a01b03600392612939565b916001600160a01b038360081c165f52600e60205260405f2064ffffffffff8460a81c165f5260205260405f20600d60205260405f20906002810154908115612c6f576007830180546008949391929111612c66576002612b4191015482546148b8565b90555b01905f5b825480821015612c52576001600160a01b03612b648386614783565b828960089493941c1692549060031b1c1614612b835750600101612b48565b5f1995918187019182116108925761102d6001600160a01b03612ba9612bb89488614783565b90549060031b1c169186614783565b82549283156110db576003956001600160a01b03940190612bdc6110708383614783565b555b828160081c165f52600e60205260405f2064ffffffffff8260a81c165f526020525f856040822082815582600182015582600282015501558264ffffffffff8260a81c169160081c167f69fd8ab32600e05c316e75a852dd218f56af25f371ba178fe72af7c882c1a5ba5f80a39250612acc565b50506001600160a01b039150600393612bde565b505f9055612b44565b604051633811668f60e01b81526001600160a01b03600888901c16600482015264ffffffffff60a888901c166024820152604490fd5b5060028114612375565b6024906040519063b3c3657560e01b82526004820152fd5b60405163d93d307960e01b815261ffff918216600482015291166024820152604490fd5b604484836040519163e3d16f7b60e01b835260048301526024820152fd5b34610323575f366003190112610323576040515f907f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480549060018260011c9160018416938415612e1f575b6020948585108114612e0b57848752908115612de95750600114612d90575b61220085612d84818903826147e9565b604051918291826146b1565b5f9081529294507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b828410612dd6575050508161220093612d84928201019385612d74565b8054858501870152928501928101612db9565b60ff191686860152505050151560051b8201019150612d848161220085612d74565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612d55565b3461032357604036600319011261032357612e4261470e565b6004355f525f8051602061570d8339815191526020526001600160a01b0360405f2091165f52602052602060ff60405f2054166040519015158152f35b3461032357604036600319011261032357600435612e9b614ba5565b612ea3614b7b565b6004600b54161561306857612eb881336148fb565b801561305657335f526020600e815260405f20835f528152600360405f2001612ee2838254614898565b90556001600160a01b03600c54166040516370a0823160e01b81523060048201528281602481855afa908115610a39575f91613029575b508381106112fc575060405163a9059cbb60e01b815233600482015260248101849052908290829060449082905f905af1908161300c575b50612f68576040516312171d8360e31b8152600490fd5b612f92335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b7f896e034966eaaf1adc54acc0f257056febbd300c9e47182cf761982cf1f5e430604051918383523392a2604080519182524260208301526024359082015233907f943efc330a9c200dbdcea50d94f0b092cee5bf23f8e0a4c6c5b89e6555db692c90606090a360015f8051602061574d83398151915255005b61302290833d8511610a3257610a2481836147e9565b5084612f51565b90508281813d831161304f575b61304081836147e9565b81010312610323575185612f19565b503d613036565b6040516321bf6c6760e21b8152600490fd5b60405163c00e38b160e01b8152600490fd5b34610323575f3660031901126103235760206001600160a01b035f805160206156ed8339815191525416604051908152f35b34610323576020366003190112610323576001600160a01b036130cd6146f8565b165f526002602052602060ff60405f205416604051908152f35b34610323576020366003190112610323576004355f52600d60205261010060405f20805490600181015490600281015460038201546004830154906005840154926007600686015495015495604051978852602088015260408701526060860152608085015260a084015260c083015260e0820152f35b34610323575f36600319011261032357613176614b7b565b61317e614ba5565b600a546001600160a01b03811633036131b8576009805460ff19811660fd9091161790556001600160a01b031916600a556105ad336150b7565b604051630614e5c760e21b8152600490fd5b34610323575f366003190112610323576131e261507f565b5f805160206156ed83398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610323576020366003190112610323576001600160a01b036132526146f8565b165f527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00602052602060405f2054604051908152f35b34610323576040366003190112610323576004356024356001600160f01b03811690818103610323577fbc7dd2f39eeb1ef90aab6893a46a26ef7aad204fd38f6cdaf42648a7e26f0fc9916020916132de614b7b565b6132e6614ba5565b6132ee614bd4565b6132f73361503c565b845f526004835260405f209061ffff82549181199060101b1691161790556114ef335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b34610323576040366003190112610323576001600160a01b036133606146f8565b165f52600e60205260405f206024355f52602052608060405f208054906001810154906003600282015491015491604051938452602084015260408301526060820152f35b34610323575f36600319011261032357602060ff5f8051602061572d83398151915254166040519015158152f35b34610323576101003660031901126103235760c43560a4356084356133f6614ba5565b6133fe614b7b565b613406614bd4565b604435906004355f52600d60205260405f20546136cb5760643515610ef557606460e435116136b957828410156136a75763386409004201804211610892576004600b541661369f575b50620151809381858102048514821517156108925762278d009184838102048314851517156108925781838102048314821517156108925760405194602086018681106001600160401b03821117610d92576040525f865260405196876101208101106001600160401b036101208a011117610d925784926101208901604052606435895260243560208a015202604088015202606086015202608084015260e43560a084015260c08301525f60e08301526101008201526004355f52600d602052610100600860405f20835181556020840151600182015560408401516002820155606084015160038201556080840151600482015560a0840151600582015560c0840151600682015560e0840151600782015501910151908151906001600160401b038211610d9257600160401b92838311610d92578154838355808410613679575b50602001905f5260205f205f5b83811061365c57600f5485811015610d92576135c78160016135e29301600f5561473a565b6004929192359083549060031b91821b915f19901b19161790565b905561360e335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b7fbb885b49713d097af639f0aa3d2e16cbb548bb112acc2fda5f2bea08586f3eb860606040516004358152602435602082015260016040820152a160015f8051602061574d83398151915255005b60019060206001600160a01b0385511694019381840155016135a2565b825f528360205f2091820191015b8181106136945750613595565b5f8155600101613687565b915084613450565b6040516309a086d360e01b8152600490fd5b604051630639f75360e01b8152600490fd5b602460405163873e7e3560e01b81526004356004820152fd5b34610323576020366003190112610323576001600160a01b036137056146f8565b165f526003602052606060405f20546001600160401b03604051918181168352818160401c16602084015260801c166040820152f35b346103235760208060031936011261032357600435613758614ba5565b613760614b7b565b613768614bd4565b805f52600d825260405f209060019283830154928054156139b2576007810154158015906139a5575b613993578490835f52600d83528160405f20915f83555f828401556002905f600285015560086003945f60038201555f60048201555f60058201555f60068201555f6007820155018054905f815581613976575b50506008015f835b61393b575b5050505f905b613870575b827fbb885b49713d097af639f0aa3d2e16cbb548bb112acc2fda5f2bea08586f3eb8606087898861384e335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b60405192835282015260026040820152a15f8051602061574d83398151915255005b600f8054908183101561393457866138878461473a565b905490861b1c1461389c5750508201826137f8565b95949291909693505f1996878101908111610892576138cc6138c06138e29261473a565b905490851b1c9261473a565b819391549060031b91821b915f19901b19161790565b905584549485156110db57867fbb885b49713d097af639f0aa3d2e16cbb548bb112acc2fda5f2bea08586f3eb897606097019261391e8461473a565b81939154921b1b191690555591928591946137fd565b50506137fd565b815481101561397157806001600160a01b03613958869385614783565b905490881b1c165f528388525f604081205501836137ed565b6137f2565b5f52865f20908101905b818110156137e5575f8155869401613980565b604051639e7aafd960e01b8152600490fd5b5060088101541515613791565b604051633b1b08df60e11b815260048101849052602490fd5b34610323575f366003190112610323576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003613a355760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b60405163703e46dd60e11b8152600490fd5b604036600319011261032357613a5b6146f8565b60249081356001600160401b0391828211610323573660238301121561032357816004013590613a8a82614840565b613a9760405191826147e9565b828152602092838201943688838301011161032357815f92898793018837830101526001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016803014908115613e84575b50613a3557613afc614ba5565b613b04614b7b565b613b0c614bd4565b808316958615610437575f8051602061576d83398151915291825f526004865260405f209261ffff908185541660028110613e67575050885f526005875260405f2054928315613e4f57835f526001885260405f2092613b6b85614c68565b613e37578354600360ff821614801590613e28575b8015613e15575b8015613e05575b613ded5760081c1694851561043757829054169160038401928354918260801c1690808210612cc757505060401c16804210613dd657509060ff91895f52600588525f6040812055600160901b8360901b19825416179055835f52600287525f6040812055825f5260018752613c1860405f2060035f918281558260018201558260028201550155565b613c21836155a3565b613c4b335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b5416905f805160206156cd8339815191525f80a460015f8051602061574d833981519152556040516352d1902d60e01b81528381600481895afa5f9181613da7575b50613caa57604051634c9c8ce360e01b8152600481018790528790fd5b8590877f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91828103613d925750843b15613d7c575080546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115613d6157505f6114459481925190845af4903d15613d58573d613d3c81614840565b90613d4a60405192836147e9565b81525f81943d92013e615669565b60609250615669565b935050505034613d6d57005b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101849052fd5b60405190632a87526960e21b82526004820152fd5b9091508481813d8311613dcf575b613dbf81836147e9565b8101031261032357519088613c8d565b503d613db5565b8a906040519063b3c3657560e01b82526004820152fd5b604051633f6aad8160e01b8152600160048201528d90fd5b5042836003870154161115613b8e565b5060ff600386015460901c161515613b87565b508b828260081c161415613b80565b604051633f6aad8160e01b8152600260048201528c90fd5b604051633f6aad8160e01b8152600160048201528b90fd5b604492508b6040519263e3d16f7b60e01b84526004840152820152fd5b9050817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141588613aef565b34610323576020366003190112610323576001600160a01b03613ed36146f8565b165f526005602052602060405f2054604051908152f35b34610323575f36600319011261032357613f02614ba5565b613f0a614b7b565b613f12614bd4565b6004600b54166140b5575f805b600f54811015613fa457613f328161473a565b90549060031b1c805f52600d60205260405f209081549081613f5a575b505050600101613f1f565b909193613f6f83600792426006890155614898565b9401549182811015613f4f57608493506040519263c283a5af60e01b84525f6004850152602484015260448301526064820152fd5b50602460206001600160a01b03600c5416604051928380926370a0823160e01b82523060048301525afa908115610a39575f91614083575b50818110614064577f299101e15893e5859ad685db53d31d3fd3df502a641af4d062defd4333e0ce2f6040836004600b5460ff81169060ff19161717600b55614045335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b8151908152426020820152a160015f8051602061574d83398151915255005b60405163b7ddd88b60e01b815260048101929092526024820152604490fd5b90506020813d6020116140ad575b8161409e602093836147e9565b81010312610323575182613fdc565b3d9150614091565b604051630713c7f160e31b8152600490fd5b34610323575f3660031901126103235760206001600160a01b03600c5416604051908152f35b346103235760403660031901126103235761410661470e565b336001600160a01b038216036141225761144590600435614fbc565b60405163334bd91960e11b8152600490fd5b346103235760403660031901126103235761414d61470e565b6004355f5260016020526001600160a01b03600460405f200191165f52602052602060ff60405f2054166040519015158152f35b34610323576020366003190112610323576004355f52600160205261014060405f2060ff8154916001600160a01b0360018201546002830154926003604051916141ca83614798565b0154936001600160401b03809281871681526020810192828860401c16845261ffff966040830196888a60801c1688528a606085019a60901c168a5264ffffffffff6040519c8d8d821690528d6020858360081c1691015260a81c1660408d015260608c0152811660808b015260a01c60a08a0152511660c0880152511660e086015251166101008401525116610120820152f35b34610323575f36600319011261032357602060405160128152f35b346103235760403660031901126103235761144560043561429961470e565b90805f525f8051602061570d8339815191526020526142be600160405f200154614c3a565b614f38565b34610323575f3660031901126103235760205f54604051908152f35b34610323576020366003190112610323576004355f525f8051602061570d8339815191526020526020600160405f200154604051908152f35b34610323576060366003190112610323576143316146f8565b61433961470e565b604435906143468361480a565b335f5260205260405f2054925f198410614365575b6122599350614d8f565b8284106143d0576001600160a01b038116156143b85733156143a057826122599461438f8361480a565b335f526020520360405f205561435b565b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610323575f3660031901126103235760207f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0254604051908152f35b34610323576020806003193601126103235760043561444f614b7b565b614457614ba5565b61445f614bd4565b5f6007545b828210806144c2575b15610583575f19019061447f9061486b565b91815f5260088085526001600160a01b0360405f205491825f526001875260405f2054901c16156144bc576144b390614c68565b505b9190614464565b506144b5565b5080151561446d565b3461032357602036600319011261032357600435600f54811015610323576144f460209161473a565b90546040519160031b1c8152f35b346103235760403660031901126103235761451b6146f8565b6024359033156143b8576001600160a01b03169081156143a05761453e3361480a565b825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610323575f366003190112610323576040515f907f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0380549060018260011c9160018416938415614654575b6020948585108114612e0b57848752908115612de957506001146145fb5761220085612d84818903826147e9565b5f9081529294507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b828410614641575050508161220093612d84928201019385612d74565b8054858501870152928501928101614624565b92607f16926145cd565b34610323576020366003190112610323576004359063ffffffff60e01b821680920361032357602091637965db0b60e01b81149081156146a0575b5015158152f35b6301ffc9a760e01b14905083614699565b602080825282518183018190529093925f5b8281106146e457505060409293505f838284010152601f8019910116010190565b8181018601518482016040015285016146c3565b600435906001600160a01b038216820361032357565b602435906001600160a01b038216820361032357565b604435906001600160a01b038216820361032357565b600f5481101561476f57600f5f527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80201905f90565b634e487b7160e01b5f52603260045260245ffd5b805482101561476f575f5260205f2001905f90565b608081019081106001600160401b03821117610d9257604052565b604081019081106001600160401b03821117610d9257604052565b606081019081106001600160401b03821117610d9257604052565b90601f801991011681019081106001600160401b03821117610d9257604052565b6001600160a01b03165f527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0160205260405f2090565b6001600160401b038111610d9257601f01601f191660200190565b6004359060ff8216820361032357565b5f1981146108925760010190565b9062015180820180921161089257565b90610708820180921161089257565b9190820180921161089257565b8181029291811591840414171561089257565b9190820391821161089257565b90816020910312610323575180151581036103235790565b81156148e7570490565b634e487b7160e01b5f52601260045260245ffd5b9190805f52602090600d8252604090815f20926001600160a01b0380961693845f52600e8252835f20835f528252835f209060049081810154928315614b6b5760020154988915614b5b5760068201549081158015614b45575b614b0957858491600c541689519283809263313ce56760e01b82525afa8015614aff575f90614ac7575b60ff915016604d8111614ab45784916149a86149c692600a0a96879260028701540142036148dd565b6149c0826149bb62278d009687946148a5565b6148a5565b046148dd565b92600383015492858c848604808811614aaa575b506149eb6149f493926005926148a5565b910154906148a5565b8560640290606482048703614a9757614a1791614a10916148dd565b809c6148b8565b93828102928184041490151715614a84575092614a47600398999a93614a4c614a5294614a4785614a58996148a5565b6148dd565b906148a5565b90614898565b945f52600e8152825f20915f52525f20015480821115614a7e57614a7b916148b8565b90565b50505f90565b601190634e487b7160e01b5f525260245ffd5b601183634e487b7160e01b5f525260245ffd5b96506149eb6149da565b601184634e487b7160e01b5f525260245ffd5b508581813d8311614af8575b614add81836147e9565b81010312610323575160ff811681036103235760ff9061497f565b503d614ad3565b88513d5f823e3d90fd5b5082610e7088614b1d600286015485614898565b9051634e3fe9db60e11b81524293810193845260208401949094526040830152829160600190565b50614b54600284015483614898565b4210614955565b86516312d37ee560e31b81528390fd5b865163dc4c0dd160e01b81528390fd5b60ff5f8051602061572d8339815191525416614b9357565b60405163d93c066560e01b8152600490fd5b5f8051602061574d8339815191526002815414614bc25760029055565b604051633ee5aeb560e01b8152600490fd5b335f9081527fb16e88c42fd4e48df2dd6a2eabd6bc9aec654ec170056b470819f8892cc6431c60205260409020545f8051602061576d8339815191529060ff1615614c1c5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b805f525f8051602061570d83398151915260205260405f20335f5260205260ff60405f20541615614c1c5750565b805f52602090600182526040805f206001600160401b03600382015416421015614c9457505050505f90565b614cff60ff928254848116600381145f14614d3b5750506001600160a01b03835460081c165f52600586525f818120555b60016001600160a01b039687855460081c165f52600281525f83812055865f52525f2060035f918281558260018201558260028201550155565b614d08836155a3565b54928360081c169216907f3da09301d339c352716a9dd9e36d57cb845a96e873063386bae4ce372868eaaa5f80a4600190565b60078103614d635750506001600160a01b03835460081c165f52600286525f81812055614cc5565b600814614d71575b50614cc5565b6001600160a01b039060081c165f52600286525f818120555f614d6b565b916001600160a01b03808416928315614e735716928315614e5b57825f527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace008060205260405f205491838310614e28575091806020927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef94865f5284520360405f2055845f5260405f20818154019055604051908152a3565b60405163391434e360e21b81526001600160a01b0391909116600482015260248101929092525060448101829052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b6001600160a01b03165f8181527fb16e88c42fd4e48df2dd6a2eabd6bc9aec654ec170056b470819f8892cc6431c60205260409020545f8051602061576d83398151915291905f8051602061570d8339815191529060ff16614f3157825f5260205260405f20815f5260205260405f20600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b90815f525f8051602061570d833981519152806020526001600160a01b0360405f20921691825f5260205260ff60405f205416155f14614f3157825f5260205260405f20815f5260205260405f20600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b90815f525f8051602061570d833981519152806020526001600160a01b0360405f20921691825f5260205260ff60405f2054165f14614f3157825f5260205260405f20815f5260205260405f2060ff19815416905533917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6001600160a01b0316805f5260036020526001600160401b0360405f205460401c1642106150675750565b6024906040519063152c1de960e31b82526004820152fd5b6001600160a01b035f805160206156ed8339815191525416330361509f57565b60405163118cdaa760e01b8152336004820152602490fd5b5f805160206156ed8339815191529081546001600160a01b0380921692836001600160601b0360a01b8316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b5f8051602061576d8339815191525f81905260046020527f49b573c16d0a3fe96af74a58679870c9f48517274761ed80ca9ceccb8126cb735461ffff1660028110615155575050565b604492506040519163e3d16f7b60e01b835260048301526024820152fd5b60ff8116929091600784036153705764ffffffffff811690815f52602092600d8452604094855f20805490811561535857600701546001600160601b038b1691806151be8484614898565b1161531c575050506001600160a01b03821693845f52600e8652865f20905f5285526002865f2001546152ea57835f526002855260ff865f2054166152d257916152c39161529e61525260029796958951888101906001600160601b03198660601b16825264ffffffffff60d81b8760d81b1660348201528d603982015260398152615249816147ce565b519020906154c0565b9a8b5f5260018752615267895f2093846154f4565b60ff199a8a8c8554161784556001840155878301906001600160a01b038254916001600160601b0360a01b9060a01b169116179055565b805464ffffffffff60a81b191660a89290921b64ffffffffff60a81b16919091179055565b5f52525f209182541617905590565b8551631dc690f760e31b815260048101859052602490fd5b50845163778ac9bb60e01b81526001600160a01b0391909116600482015264ffffffffff919091166024820152604490fd5b886084936001600160a01b0361533488958b956148b8565b925163c283a5af60e01b815294166004850152602484015260448301526064820152fd5b8751633b1b08df60e11b815260048101879052602490fd5b935091935060088414615396576040516337d0292760e01b815260048101859052602490fd5b6001600160a01b038293949216805f52602090600e8252604092835f2064ffffffffff88165f5283526002845f2001541561549357815f526002835260ff845f20541661547b57906152c361541e600294938651858101906001600160601b03198b60601b16825264ffffffffff60d81b8c60d81b16603482015260198152615249816147b3565b97885f5260018452615433865f2098896154f4565b875464ffffffffff60a81b19881679ffffffffff0000000000000000000000000000000000000000ff199091161760a89190911b64ffffffffff60a81b161790965560ff1995565b8351631dc690f760e31b815260048101839052602490fd5b8351633811668f60e01b81526001600160a01b038716600482015264ffffffffff88166024820152604490fd5b9060405190602082019260ff60f81b9060f81b1683526021820152426041820152604181526154ee81614798565b51902090565b90610100600160a81b0382549160081b1690610100600160a81b0319161781556202a300420190814211610892576004916155766001600160401b03806003850193166001600160401b031984541617835561554f42614879565b835467ffffffffffffffff60401b1916911660401b67ffffffffffffffff60401b16178255565b805461ffff60801b1916600160801b179055335f908152910160205260409020805460ff19166001179055565b805f526006602052604090815f2054916007549283811015615622575f1993808501908111610892575f526008602052815f2054815f5280835f20555f526006602052815f205560075491838301928311610892575f928352600860205282828120558252600660205281205560075490810190811161089257600755565b50505050565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561565757565b604051631afcd79f60e31b8152600490fd5b90615690575080511561567e57805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806156c3575b6156a1575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561569956fe081d73570a8276b92d814808f596e3f0c0d3a55249e405201ff631d59e9af4979016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a26469706673582212200ca0129b44fd6009d623c2fafe5e46547a7ae964b0174874183bf1c7764fcee164736f6c63430008180033
Deployed Bytecode
0x6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461465e5750806306fdde0314614581578063095ea7b3146145025780630cbb65a5146144cb5780631036ec021461443257806318160ddd146143f657806323b872dd14614318578063248a9ca3146142df5780632b7832b3146142c35780632f2ff15d1461427a578063313ce5671461425f57806332ed5b12146141815780633594979e1461413457806336568abe146140ed57806337c5c31b146140c757806345998c4a14613eea57806345f806ab14613eb25780634f1ef28614613a4757806352d1902d146139cb57806353bc95851461373b578063554bb03e146136e4578063580c9766146133d35780635c975abb146133a5578063605968161461333f57806360b480db1461328857806370a0823114613231578063715018a6146131ca57806379ba50971461315e578063820ab447146130e75780638689d2ce146130ac5780638da5cb5b1461307a5780638ea6bde314612e7f57806391d1485414612e2957806395d89b4114612d09578063980ff6c61461227e578063a217fddf14612264578063a9059cbb14612233578063acf9368d14612204578063ad3cb1cc146121c3578063b8ae3c0e14611f97578063bc2cf53b14611f6d578063c0c53b8b14611b4a578063c5c0c7c714611528578063d04aeb7714611447578063d547741f146113fc578063da35c664146113df578063dd62ed3e14611397578063e30c397814611371578063ed5ef4d514611347578063f1db1299146111b8578063f20b5b2c14610449578063f2fde38b1461035c578063f538e1dc146103275763fdb6ed131461026e575f80fd5b3461032357602080600319360112610323576004355f52600d8152600860405f2001604051908183825491828152019081925f52845f20905f5b868282106103065786866102be828803836147e9565b60405192839281840190828552518091526040840192915f5b8281106102e657505050500390f35b83516001600160a01b0316855286955093810193928101926001016102d7565b83546001600160a01b0316855290930192600192830192016102a8565b5f80fd5b34610323576020366003190112610323576004355f5260046020526040805f205481519061ffff8116825260101c6020820152f35b34610323576020366003190112610323576103756146f8565b61037d614b7b565b610385614ba5565b61038d61507f565b6001600160a01b0380911690811561043757600260095460ff81169060ff19161717600955816001600160601b0360a01b600a541617600a556103f0335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b5f805160206156ed83398151915254167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a360015f8051602061574d83398151915255005b60405163e6c4247b60e01b8152600490fd5b3461032357602036600319011261032357610462614b7b565b61046a614ba5565b610472614bd4565b6004355f52600160205260405f206001600160a01b03815460081c161561119f576003810160ff815460901c166111865760048201335f528060205260ff60405f20541661116e576104c33361503c565b6104cb61510c565b6104d6600435614c68565b61113e57335f5260205260405f20600160ff19825416179055805461ffff92838260801c16918483146108925761ffff60801b1916600190920160801b61ffff60801b1691909117918290555460ff169033826004357f3c0f196cc03fec6343da43b6eeada7b4c06059ed23a3e3a8a7464ddcd446e44f5f80a45f8051602061576d83398151915292835f5260046020528060405f205416908260801c1610159081611157575b506105c0575b6105ad335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b60015f8051602061574d83398151915255005b6004357f0c2b94d6f8073b73c5045b01f337646a318263c8fe920f83025492e9a00cd9735f80a36105ef614b7b565b6105f7614bd4565b6004355f52600160205260405f20610610600435614c68565b61113e5760ff815416600181148015611134575b156108c257506004355f52600160205260405f209182549060ff82169160028314908180156108b8575b6106dd575b505050506003915060ff81546001600160a01b038160081c16918291166004355f805160206156cd8339815191525f80a45f5260026020525f604081205501600160901b60ff60901b198254161790556004355f5260016020526106cb60405f2060035f918281558260018201558260028201550155565b6106d66004356155a3565b8080610583565b60016001600160a01b03819260081c1696015493145f146107e2575090837f74fe7eb3b80696557e733330b9e0fab450287d2b7457610f7ddcc8d052f6431f9261072960039684614f38565b5082146107d1575b805f528460205261077460405f2063ffffffff61074d42614879565b825467ffffffffffffffff60401b1916911660401b67ffffffffffffffff60401b16179055565b61079e335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b604080516001600160a01b0392909216825233602083015281019190915260016060820152608090a15b82808080610653565b6107db5f5461486b565b5f55610731565b6107f2575b5050600391506107c8565b8114610874575b80836108286003957f74fe7eb3b80696557e733330b9e0fab450287d2b7457610f7ddcc8d052f6431f94614fbc565b50805f52846020525f604081205561086a6040519283923390845f92949360609260808301966001600160a01b03809216845216602083015260408201520152565b0390a182806107e7565b5f549060028211156108a6578115610892575f199091015f556107f9565b634e487b7160e01b5f52601160045260245ffd5b6040516346eb72d360e01b8152600490fd5b506001841461064e565b909150600381036108d5575b50506106d6565b600403610abe5760028101546001600160a01b03811690308214610aa55760a01c8015610a93576040516370a0823160e01b8152306004820152602081602481865afa908115610a39575f91610a61575b50818110610a44575060209060446001600160a01b03855460081c165f604051958694859363a9059cbb60e01b8552600485015260248401525af1908115610a39575f91610a0a575b50156109f1576001600160a01b03815460081c165f5260026020525f60408120556004355f5260016020526109b860405f2060035f918281558260018201558260028201550155565b6109c36004356155a3565b5460ff6001600160a01b038260081c1691166004355f805160206156cd8339815191525f80a45b80806108ce565b60405163dc7ce3bb60e01b815260026004820152602490fd5b610a2c915060203d602011610a32575b610a2481836147e9565b8101906148c5565b8261096f565b503d610a1a565b6040513d5f823e3d90fd5b6044916040519163d043851160e01b835260048301526024820152fd5b90506020813d602011610a8b575b81610a7c602093836147e9565b81010312610323575184610926565b3d9150610a6f565b604051632e11316f60e11b8152600490fd5b60405163dc7ce3bb60e01b815260016004820152602490fd5b6004355f52600160205260405f2090815460ff8116600781145f14610f42575050815464ffffffffff8160a81c165f52600d60205260405f2092600684015415610f1f5760018101548015610f07575b600282015460a01c908115610ef5576001600160a01b038460081c165f52600e60205260405f2064ffffffffff8560a81c165f52602052600260405f200154610ebf576001600160a01b03600c54166040516318160ddd60e01b8152602081600481855afa908115610a39575f91610e8d575b508311610e7457610b9887546007890154906148b8565b808411610e2b57506004600b5416610da6575b50600360405191610bbb83614798565b64ffffffffff8660a81c168352602083019081526040830184815260608401915f83526001600160a01b038860081c165f52600e60205260405f2064ffffffffff8960a81c165f5260205260405f209451855551600185015551600284015551910155610c2c816007870154614898565b600786015560088501948554600160401b811015610d92576001600160a01b0380957f82df6d5b4d9f1e17dcb2fd044206391a3180190fd39a6697d34ebdc3c684303f93610caa610c878560039c6001608098018155614783565b858560081c16906001600160a01b038084549260031b9316831b921b1916179055565b6006810154908a60028201549101549160405197885260208801526040870152606086015260081c1692a25b5460081c165f5260026020525f6040812055610d12335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b60ff81546001600160a01b038160081c16918291166004355f805160206156cd8339815191525f80a45f5260026020525f604081205501600160901b60ff60901b198254161790556004355f526001602052610d8260405f2060035f918281558260018201558260028201550155565b610d8d6004356155a3565b6109ea565b634e487b7160e01b5f52604160045260245ffd5b6020602491604051928380926370a0823160e01b82523060048301525afa908115610a39575f91610df9575b5082811015610bab57826044916040519163b7ddd88b60e01b835260048301526024820152fd5b90506020813d602011610e23575b81610e14602093836147e9565b81010312610323575187610dd2565b3d9150610e07565b60405163c283a5af60e01b81526001600160a01b03600888901c16600482015260248101859052604481019190915264ffffffffff60a887901c166064820152608490fd5b0390fd5b60405163be87eb9160e01b815260048101849052602490fd5b90506020813d602011610eb7575b81610ea8602093836147e9565b81010312610323575188610b81565b3d9150610e9b565b60405163778ac9bb60e01b81526001600160a01b03600886901c16600482015264ffffffffff60a886901c166024820152604490fd5b6040516305d7ba1960e11b8152600490fd5b506d155b9b985b59590815d85b1b195d60921b610b0e565b604051636c4afe8f60e01b815260a883901c64ffffffffff166004820152602490fd5b600814610f5b575b506001600160a01b03600392610cd6565b6001600160a01b0364ffffffffff8260a81c169160081c1692835f52600e60205260405f20825f5260205260405f20600d602052600260405f209101805490811561110c57600783018054600894939192911161110357610fbe905482546148b8565b90555b01915f5b8354808210156110ef57866001600160a01b03610fe28488614783565b90549060031b1c1614610ff85750600101610fc5565b5f1996918188019182116108925761102d6001600160a01b0361101e61104c9489614783565b90549060031b1c169187614783565b9091906001600160a01b038084549260031b9316831b921b1916179055565b83549384156110db576003966001600160a01b039501906110856110708383614783565b6001600160a01b0382549160031b1b19169055565b555b805f52600e60205260405f20825f526020525f866040822082815582600182015582600282015501557f69fd8ab32600e05c316e75a852dd218f56af25f371ba178fe72af7c882c1a5ba5f80a39250610f4a565b634e487b7160e01b5f52603160045260245ffd5b50506001600160a01b039250600394611087565b505f9055610fc1565b604051633811668f60e01b81526001600160a01b038816600482015260248101869052604490fd5b5060028114610624565b604051633f6aad8160e01b815260026004820152602490fd5b6001600160401b03915060401c164210158361057d565b604051633f6aad8160e01b8152600480820152602490fd5b604051633f6aad8160e01b815260036004820152602490fd5b604051633f6aad8160e01b815260016004820152602490fd5b346103235760208060031936011261032357600435906111d6614ba5565b6111de614b7b565b6111e6614bd4565b8115610a93576001600160a01b03600c54166040516370a0823160e01b81523060048201528281602481855afa908115610a39575f9161131a575b508381106112fc575060405163a9059cbb60e01b81526001600160a01b038216600482015260248101849052908290829060449082905f905af190816112df575b50611279576040516312171d8360e31b8152600490fd5b7f666c3223aab19ecaae2d22e3e4d5425ae72c3ee054781221d1445c94f37c88e4916112c5335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b604051908152a160015f8051602061574d83398151915255005b6112f590833d8511610a3257610a2481836147e9565b5083611262565b60449084604051916367f4ad2360e01b835260048301526024820152fd5b90508281813d8311611340575b61133181836147e9565b81010312610323575184611221565b503d611327565b34610323576020366003190112610323576004355f526006602052602060405f2054604051908152f35b34610323575f3660031901126103235760206001600160a01b03600a5416604051908152f35b34610323576040366003190112610323576113b06146f8565b6001600160a01b036113c96113c361470e565b9261480a565b91165f52602052602060405f2054604051908152f35b34610323575f366003190112610323576020600754604051908152f35b346103235760403660031901126103235761144560043561141b61470e565b90805f525f8051602061570d833981519152602052611440600160405f200154614c3a565b614fbc565b005b346103235760403660031901126103235760043560243561ffff811680910361032357611472614b7b565b61147a614ba5565b611482614bd4565b60018111156115095760207fd2afc01d78a1704d817d422b306b9916dc92cdbe21b85ee6c6c42a8b7e95de6c91835f526004825260405f208161ffff198254161790556114ef335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b604051908152a260015f8051602061574d83398151915255005b60405163e3d16f7b60e01b815260048101929092526024820152604490fd5b346103235760c03660031901126103235761154161485b565b60243564ffffffffff811681036103235761155a614724565b916001600160601b0360843516608435036103235760a4356001600160a01b039283821682036103235761158c614b7b565b611594614ba5565b61159c614bd4565b83851615610437576115ad3361503c565b6115b561510c565b8385165f52600260205260ff60405f205416611b3057600160ff84161490818015611b23575b156118fc57505f8051602061576d83398151915260643514908115806118d0575b806118a4575b61188a5780611850575b156117b057506064355f525f8051602061570d83398151915260205260405f208385165f5260205260ff60405f205416611788575b61167a60405160208101906001600160601b03198760601b168252606435603482015260348152611671816147ce565b519020836154c0565b805f52600160205260405f2061169086826154f4565b6064356001820155805460ff191660ff8516179055925b6007545f5260086020528360405f205560075490845f5260066020528160405f20556001820180921161089257608060ff7f0d467ee5623eb30873c5a5a531a83bb62202b429e7618a22328aa8ad3e80226a9260209888956007558181165f5260028a5260405f208389168419825416179055816040519760643589526001600160601b03608435168c8a015216604088015233606088015216951693a461176f335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b60015f8051602061574d83398151915255604051908152f35b604051635cafa26160e11b815283851660048201526064803560248301526001604483015290fd5b600260ff8416146117c2575b50611641565b6064355f525f8051602061570d83398151915260205260405f208486165f5260205260ff60405f20541615611828573384861614611816578061180a575b6108a657846117bc565b5060025f541115611800565b604051635e03d55f60e01b8152600490fd5b604051635cafa26160e11b815284861660048201526064803560248301526002604483015290fd5b8486165f5260036020526001600160401b0360405f205460401c161561160c57604051634400e76560e11b81528587166004820152602490fd5b60405163125a2bb760e01b81526064356004820152602490fd5b507f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15686064351415611602565b507fc010ccdcf54c5ad6331f4a1a31e2bdc65d2e1634418e8054c3f93e1dfef7874c60643514156115fc565b905060ff8316600303611a1f57503083851614611a0d578284165f52600560205260405f205480611999575b506040516020810190600360f81b82526001600160601b03198660601b1660218201524260418201526041815261195e81614798565b51902092835f52600160205260405f2061197886826154f4565b600360ff19825416179055838186165f52600560205260405f20555b6116a7565b5f818152600160205260409020600301546001600160401b031642106119f4578385165f5260056020525f60408120555f5260016020526119ee60405f2060035f918281558260018201558260028201550155565b84611928565b604051633f6aad8160e01b815260056004820152602490fd5b60405163108223e160e21b8152600490fd5b60ff8316600403611b0a57503083821614610aa5576001600160601b036084351615610a93578284165f52600260205260ff60405f205416611af057611aa560405160208101906001600160601b0319808860601b1683528460601b1660348201526001600160601b0360a01b60843560a01b16604882015260348152611671816147ce565b92835f526001602052611994600260405f20611ac188826154f4565b805460ff191660ff87161781556001600160a01b038585161660843560a01b6001600160a01b03191617910155565b604051631dc690f760e31b81528385166004820152602490fd5b611b1d9060843590866064359186615173565b926116a7565b50600260ff8516146115db565b604051631dc690f760e31b81528486166004820152602490fd5b3461032357606036600319011261032357611b636146f8565b611b6b61470e565b611b73614724565b907ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090815460ff8160401c168015611f59575b611f475768ffffffffffffffffff1916680100000000000000011782556001600160a01b03938416801561043757818516801580158181611f3d575b61043757611bee615628565b8190611f33575b61043757611c01615628565b611c09615628565b611f1b57611d0690611c1a846150b7565b611c22615628565b611c2a615628565b611c32615628565b60015f8051602061574d83398151915255611c4b615628565b611c53615628565b611c7b60ff19945f8051602061572d833981519152868154169055611c76615628565b614e8b565b50611c8586614e8b565b5060025f556001600160401b03611c9b42614879565b16905f528660209660038852611cd78360405f209067ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b165f5260405f209067ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b6001600b541615611d4f575b7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2848468ff000000000000000019815416905560405160018152a1005b806001600160601b0360a0959493951b600c541617600c5560405163095ea7b360e01b95868252306004830152602496825f898095015286816044815f895af19081611efe575b50611db3576040516380d7eceb60e01b8152600360048201528390fd5b855f91604484600c54169160405194859384928352306004840152811980998401525af19081611ee1575b50611dfb576040516380d7eceb60e01b8152600260048201528790fd5b84604491600c989495969798541660405192838092636eb1769f60e11b825230600483015230888301525afa908115610a39575f91611eb4575b5003611e9e575060017fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2945f600755600b549060ff821691161717600b557fcf6e06116a82c1b468912f23d8bb1d126edbb21bc0864d6d5169e3be39b1a8185f80a28380611d12565b6040516380d7eceb60e01b815260016004820152fd5b90508581813d8311611eda575b611ecb81836147e9565b81010312610323575187611e35565b503d611ec1565b611ef790873d8911610a3257610a2481836147e9565b5088611dde565b611f1490883d8a11610a3257610a2481836147e9565b5089611d96565b604051631e4fbdf760e01b81525f6004820152602490fd5b5086861615611bf5565b5087871615611be2565b60405163f92ee8a960e01b8152600490fd5b5060016001600160401b0382161015611ba6565b34610323576020366003190112610323576004355f526008602052602060405f2054604051908152f35b3461032357602036600319011261032357611fb061485b565b611fb8614ba5565b611fc0614bd4565b64ffffffffff60095460081c16611fd681614889565b42106121a35750335f5260036020526001600160401b0360405f205460401c16421061218b5760ff16600181036120e45760607f3482adf51e5f8d42b10efeff354212c91eb480ee9245864936e080f30d4a9ded91612033614b7b565b5f8051602061572d833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a15b60095465ffffffffff004260081b169065ffffffffff001916176009556120be335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b604051908152426020820152336040820152a160015f8051602061574d83398151915255005b60028103612173575f8051602061572d8339815191529081549060ff821615612161577f3482adf51e5f8d42b10efeff354212c91eb480ee9245864936e080f30d4a9ded9260609260ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1612077565b604051638dfc202b60e01b8152600490fd5b60405163dc7ce3bb60e01b81525f6004820152602490fd5b60405163152c1de960e31b8152336004820152602490fd5b6121ae602491614889565b6040519063191abf4160e21b82526004820152fd5b34610323575f366003190112610323576122006040516121e2816147b3565b60058152640352e302e360dc1b6020820152604051918291826146b1565b0390f35b3461032357604036600319011261032357602061222b6122226146f8565b602435906148fb565b604051908152f35b346103235760403660031901126103235761225961224f6146f8565b6024359033614d8f565b602060405160018152f35b34610323575f3660031901126103235760206040515f8152f35b3461032357602036600319011261032357612297614b7b565b61229f614ba5565b6122a7614bd4565b6004355f52600160205260405f206001600160a01b03815460081c161561119f575f8051602061576d83398151915290815f52600460205261ffff908160405f2054169060028210612ceb5760030154918260801c1690808210612cc757505060ff8160901c16611186576001600160401b039060401c16804210612caf57506123303361503c565b61233861510c565b612340614b7b565b612348614bd4565b6004355f52600160205260405f20612361600435614c68565b61113e5760ff815416600181148015612ca5575b156125bf57506004355f52600160205260405f209182549060ff82169160028314908180156125b5575b612427575b505050506003915060ff81546001600160a01b038160081c16918291166004355f805160206156cd8339815191525f80a45f5260026020525f604081205501600160901b60ff60901b198254161790556004355f52600160205261241c60405f2060035f918281558260018201558260028201550155565b6105836004356155a3565b60016001600160a01b03819260081c1696015493145f14612505575090837f74fe7eb3b80696557e733330b9e0fab450287d2b7457610f7ddcc8d052f6431f9261247360039684614f38565b5082146124f4575b805f528460205261249760405f2063ffffffff61074d42614879565b6124c1335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b604080516001600160a01b0392909216825233602083015281019190915260016060820152608090a15b828080806123a4565b6124fe5f5461486b565b5f5561247b565b612515575b5050600391506124eb565b8114612597575b808361254b6003957f74fe7eb3b80696557e733330b9e0fab450287d2b7457610f7ddcc8d052f6431f94614fbc565b50805f52846020525f604081205561258d6040519283923390845f92949360609260808301966001600160a01b03809216845216602083015260408201520152565b0390a1828061250a565b5f549060028211156108a6578115610892575f199091015f5561251c565b506001841461239f565b909150600381036125d2575b5050610583565b60040361273f5760028101546001600160a01b03811690308214610aa55760a01c8015610a93576040516370a0823160e01b8152306004820152602081602481865afa908115610a39575f9161270d575b50818110610a44575060209060446001600160a01b03855460081c165f604051958694859363a9059cbb60e01b8552600485015260248401525af1908115610a39575f916126ee575b50156109f1576001600160a01b03815460081c165f5260026020525f60408120556004355f5260016020526126b560405f2060035f918281558260018201558260028201550155565b6126c06004356155a3565b5460ff6001600160a01b038260081c1691166004355f805160206156cd8339815191525f80a45b80806125cb565b612707915060203d602011610a3257610a2481836147e9565b8261266c565b90506020813d602011612737575b81612728602093836147e9565b81010312610323575184612623565b3d915061271b565b6004355f52600160205260405f2090815460ff8116600781145f14612ac4575050815464ffffffffff8160a81c165f52600d60205260405f2092600684015415610f1f5760018101548015612aac575b600282015460a01c908115610ef5576001600160a01b038460081c165f52600e60205260405f2064ffffffffff8560a81c165f52602052600260405f200154610ebf576001600160a01b03600c54166040516318160ddd60e01b8152602081600481855afa908115610a39575f91612a7a575b508311610e745761281987546007890154906148b8565b808411610e2b57506004600b54166129f5575b5060036040519161283c83614798565b64ffffffffff8660a81c168352602083019081526040830184815260608401915f83526001600160a01b038860081c165f52600e60205260405f2064ffffffffff8960a81c165f5260205260405f2094518555516001850155516002840155519101556128ad816007870154614898565b6007860155600885015492600160401b841015610d925760806001600160a01b037f82df6d5b4d9f1e17dcb2fd044206391a3180190fd39a6697d34ebdc3c684303f9260039861290d610c87896001869b01600885015560088401614783565b6006810154908a60028201549101549160405197885260208801526040870152606086015260081c1692a25b5460081c165f5260026020525f6040812055612975335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b60ff81546001600160a01b038160081c16918291166004355f805160206156cd8339815191525f80a45f5260026020525f604081205501600160901b60ff60901b198254161790556004355f5260016020526129e560405f2060035f918281558260018201558260028201550155565b6129f06004356155a3565b6126e7565b6020602491604051928380926370a0823160e01b82523060048301525afa908115610a39575f91612a48575b508281101561282c57826044916040519163b7ddd88b60e01b835260048301526024820152fd5b90506020813d602011612a72575b81612a63602093836147e9565b81010312610323575187612a21565b3d9150612a56565b90506020813d602011612aa4575b81612a95602093836147e9565b81010312610323575188612802565b3d9150612a88565b506d155b9b985b59590815d85b1b195d60921b61278f565b600814612add575b506001600160a01b03600392612939565b916001600160a01b038360081c165f52600e60205260405f2064ffffffffff8460a81c165f5260205260405f20600d60205260405f20906002810154908115612c6f576007830180546008949391929111612c66576002612b4191015482546148b8565b90555b01905f5b825480821015612c52576001600160a01b03612b648386614783565b828960089493941c1692549060031b1c1614612b835750600101612b48565b5f1995918187019182116108925761102d6001600160a01b03612ba9612bb89488614783565b90549060031b1c169186614783565b82549283156110db576003956001600160a01b03940190612bdc6110708383614783565b555b828160081c165f52600e60205260405f2064ffffffffff8260a81c165f526020525f856040822082815582600182015582600282015501558264ffffffffff8260a81c169160081c167f69fd8ab32600e05c316e75a852dd218f56af25f371ba178fe72af7c882c1a5ba5f80a39250612acc565b50506001600160a01b039150600393612bde565b505f9055612b44565b604051633811668f60e01b81526001600160a01b03600888901c16600482015264ffffffffff60a888901c166024820152604490fd5b5060028114612375565b6024906040519063b3c3657560e01b82526004820152fd5b60405163d93d307960e01b815261ffff918216600482015291166024820152604490fd5b604484836040519163e3d16f7b60e01b835260048301526024820152fd5b34610323575f366003190112610323576040515f907f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480549060018260011c9160018416938415612e1f575b6020948585108114612e0b57848752908115612de95750600114612d90575b61220085612d84818903826147e9565b604051918291826146b1565b5f9081529294507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b828410612dd6575050508161220093612d84928201019385612d74565b8054858501870152928501928101612db9565b60ff191686860152505050151560051b8201019150612d848161220085612d74565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612d55565b3461032357604036600319011261032357612e4261470e565b6004355f525f8051602061570d8339815191526020526001600160a01b0360405f2091165f52602052602060ff60405f2054166040519015158152f35b3461032357604036600319011261032357600435612e9b614ba5565b612ea3614b7b565b6004600b54161561306857612eb881336148fb565b801561305657335f526020600e815260405f20835f528152600360405f2001612ee2838254614898565b90556001600160a01b03600c54166040516370a0823160e01b81523060048201528281602481855afa908115610a39575f91613029575b508381106112fc575060405163a9059cbb60e01b815233600482015260248101849052908290829060449082905f905af1908161300c575b50612f68576040516312171d8360e31b8152600490fd5b612f92335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b7f896e034966eaaf1adc54acc0f257056febbd300c9e47182cf761982cf1f5e430604051918383523392a2604080519182524260208301526024359082015233907f943efc330a9c200dbdcea50d94f0b092cee5bf23f8e0a4c6c5b89e6555db692c90606090a360015f8051602061574d83398151915255005b61302290833d8511610a3257610a2481836147e9565b5084612f51565b90508281813d831161304f575b61304081836147e9565b81010312610323575185612f19565b503d613036565b6040516321bf6c6760e21b8152600490fd5b60405163c00e38b160e01b8152600490fd5b34610323575f3660031901126103235760206001600160a01b035f805160206156ed8339815191525416604051908152f35b34610323576020366003190112610323576001600160a01b036130cd6146f8565b165f526002602052602060ff60405f205416604051908152f35b34610323576020366003190112610323576004355f52600d60205261010060405f20805490600181015490600281015460038201546004830154906005840154926007600686015495015495604051978852602088015260408701526060860152608085015260a084015260c083015260e0820152f35b34610323575f36600319011261032357613176614b7b565b61317e614ba5565b600a546001600160a01b03811633036131b8576009805460ff19811660fd9091161790556001600160a01b031916600a556105ad336150b7565b604051630614e5c760e21b8152600490fd5b34610323575f366003190112610323576131e261507f565b5f805160206156ed83398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610323576020366003190112610323576001600160a01b036132526146f8565b165f527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00602052602060405f2054604051908152f35b34610323576040366003190112610323576004356024356001600160f01b03811690818103610323577fbc7dd2f39eeb1ef90aab6893a46a26ef7aad204fd38f6cdaf42648a7e26f0fc9916020916132de614b7b565b6132e6614ba5565b6132ee614bd4565b6132f73361503c565b845f526004835260405f209061ffff82549181199060101b1691161790556114ef335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b34610323576040366003190112610323576001600160a01b036133606146f8565b165f52600e60205260405f206024355f52602052608060405f208054906001810154906003600282015491015491604051938452602084015260408301526060820152f35b34610323575f36600319011261032357602060ff5f8051602061572d83398151915254166040519015158152f35b34610323576101003660031901126103235760c43560a4356084356133f6614ba5565b6133fe614b7b565b613406614bd4565b604435906004355f52600d60205260405f20546136cb5760643515610ef557606460e435116136b957828410156136a75763386409004201804211610892576004600b541661369f575b50620151809381858102048514821517156108925762278d009184838102048314851517156108925781838102048314821517156108925760405194602086018681106001600160401b03821117610d92576040525f865260405196876101208101106001600160401b036101208a011117610d925784926101208901604052606435895260243560208a015202604088015202606086015202608084015260e43560a084015260c08301525f60e08301526101008201526004355f52600d602052610100600860405f20835181556020840151600182015560408401516002820155606084015160038201556080840151600482015560a0840151600582015560c0840151600682015560e0840151600782015501910151908151906001600160401b038211610d9257600160401b92838311610d92578154838355808410613679575b50602001905f5260205f205f5b83811061365c57600f5485811015610d92576135c78160016135e29301600f5561473a565b6004929192359083549060031b91821b915f19901b19161790565b905561360e335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b7fbb885b49713d097af639f0aa3d2e16cbb548bb112acc2fda5f2bea08586f3eb860606040516004358152602435602082015260016040820152a160015f8051602061574d83398151915255005b60019060206001600160a01b0385511694019381840155016135a2565b825f528360205f2091820191015b8181106136945750613595565b5f8155600101613687565b915084613450565b6040516309a086d360e01b8152600490fd5b604051630639f75360e01b8152600490fd5b602460405163873e7e3560e01b81526004356004820152fd5b34610323576020366003190112610323576001600160a01b036137056146f8565b165f526003602052606060405f20546001600160401b03604051918181168352818160401c16602084015260801c166040820152f35b346103235760208060031936011261032357600435613758614ba5565b613760614b7b565b613768614bd4565b805f52600d825260405f209060019283830154928054156139b2576007810154158015906139a5575b613993578490835f52600d83528160405f20915f83555f828401556002905f600285015560086003945f60038201555f60048201555f60058201555f60068201555f6007820155018054905f815581613976575b50506008015f835b61393b575b5050505f905b613870575b827fbb885b49713d097af639f0aa3d2e16cbb548bb112acc2fda5f2bea08586f3eb8606087898861384e335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b60405192835282015260026040820152a15f8051602061574d83398151915255005b600f8054908183101561393457866138878461473a565b905490861b1c1461389c5750508201826137f8565b95949291909693505f1996878101908111610892576138cc6138c06138e29261473a565b905490851b1c9261473a565b819391549060031b91821b915f19901b19161790565b905584549485156110db57867fbb885b49713d097af639f0aa3d2e16cbb548bb112acc2fda5f2bea08586f3eb897606097019261391e8461473a565b81939154921b1b191690555591928591946137fd565b50506137fd565b815481101561397157806001600160a01b03613958869385614783565b905490881b1c165f528388525f604081205501836137ed565b6137f2565b5f52865f20908101905b818110156137e5575f8155869401613980565b604051639e7aafd960e01b8152600490fd5b5060088101541515613791565b604051633b1b08df60e11b815260048101849052602490fd5b34610323575f366003190112610323576001600160a01b037f00000000000000000000000026a1113772f8340a06158229fa0cd1db43ffeaa1163003613a355760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b60405163703e46dd60e11b8152600490fd5b604036600319011261032357613a5b6146f8565b60249081356001600160401b0391828211610323573660238301121561032357816004013590613a8a82614840565b613a9760405191826147e9565b828152602092838201943688838301011161032357815f92898793018837830101526001600160a01b03807f00000000000000000000000026a1113772f8340a06158229fa0cd1db43ffeaa116803014908115613e84575b50613a3557613afc614ba5565b613b04614b7b565b613b0c614bd4565b808316958615610437575f8051602061576d83398151915291825f526004865260405f209261ffff908185541660028110613e67575050885f526005875260405f2054928315613e4f57835f526001885260405f2092613b6b85614c68565b613e37578354600360ff821614801590613e28575b8015613e15575b8015613e05575b613ded5760081c1694851561043757829054169160038401928354918260801c1690808210612cc757505060401c16804210613dd657509060ff91895f52600588525f6040812055600160901b8360901b19825416179055835f52600287525f6040812055825f5260018752613c1860405f2060035f918281558260018201558260028201550155565b613c21836155a3565b613c4b335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b5416905f805160206156cd8339815191525f80a460015f8051602061574d833981519152556040516352d1902d60e01b81528381600481895afa5f9181613da7575b50613caa57604051634c9c8ce360e01b8152600481018790528790fd5b8590877f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91828103613d925750843b15613d7c575080546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115613d6157505f6114459481925190845af4903d15613d58573d613d3c81614840565b90613d4a60405192836147e9565b81525f81943d92013e615669565b60609250615669565b935050505034613d6d57005b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101849052fd5b60405190632a87526960e21b82526004820152fd5b9091508481813d8311613dcf575b613dbf81836147e9565b8101031261032357519088613c8d565b503d613db5565b8a906040519063b3c3657560e01b82526004820152fd5b604051633f6aad8160e01b8152600160048201528d90fd5b5042836003870154161115613b8e565b5060ff600386015460901c161515613b87565b508b828260081c161415613b80565b604051633f6aad8160e01b8152600260048201528c90fd5b604051633f6aad8160e01b8152600160048201528b90fd5b604492508b6040519263e3d16f7b60e01b84526004840152820152fd5b9050817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141588613aef565b34610323576020366003190112610323576001600160a01b03613ed36146f8565b165f526005602052602060405f2054604051908152f35b34610323575f36600319011261032357613f02614ba5565b613f0a614b7b565b613f12614bd4565b6004600b54166140b5575f805b600f54811015613fa457613f328161473a565b90549060031b1c805f52600d60205260405f209081549081613f5a575b505050600101613f1f565b909193613f6f83600792426006890155614898565b9401549182811015613f4f57608493506040519263c283a5af60e01b84525f6004850152602484015260448301526064820152fd5b50602460206001600160a01b03600c5416604051928380926370a0823160e01b82523060048301525afa908115610a39575f91614083575b50818110614064577f299101e15893e5859ad685db53d31d3fd3df502a641af4d062defd4333e0ce2f6040836004600b5460ff81169060ff19161717600b55614045335f52600360205260405f206001600160401b0342166001600160401b0319825416179055565b8151908152426020820152a160015f8051602061574d83398151915255005b60405163b7ddd88b60e01b815260048101929092526024820152604490fd5b90506020813d6020116140ad575b8161409e602093836147e9565b81010312610323575182613fdc565b3d9150614091565b604051630713c7f160e31b8152600490fd5b34610323575f3660031901126103235760206001600160a01b03600c5416604051908152f35b346103235760403660031901126103235761410661470e565b336001600160a01b038216036141225761144590600435614fbc565b60405163334bd91960e11b8152600490fd5b346103235760403660031901126103235761414d61470e565b6004355f5260016020526001600160a01b03600460405f200191165f52602052602060ff60405f2054166040519015158152f35b34610323576020366003190112610323576004355f52600160205261014060405f2060ff8154916001600160a01b0360018201546002830154926003604051916141ca83614798565b0154936001600160401b03809281871681526020810192828860401c16845261ffff966040830196888a60801c1688528a606085019a60901c168a5264ffffffffff6040519c8d8d821690528d6020858360081c1691015260a81c1660408d015260608c0152811660808b015260a01c60a08a0152511660c0880152511660e086015251166101008401525116610120820152f35b34610323575f36600319011261032357602060405160128152f35b346103235760403660031901126103235761144560043561429961470e565b90805f525f8051602061570d8339815191526020526142be600160405f200154614c3a565b614f38565b34610323575f3660031901126103235760205f54604051908152f35b34610323576020366003190112610323576004355f525f8051602061570d8339815191526020526020600160405f200154604051908152f35b34610323576060366003190112610323576143316146f8565b61433961470e565b604435906143468361480a565b335f5260205260405f2054925f198410614365575b6122599350614d8f565b8284106143d0576001600160a01b038116156143b85733156143a057826122599461438f8361480a565b335f526020520360405f205561435b565b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610323575f3660031901126103235760207f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0254604051908152f35b34610323576020806003193601126103235760043561444f614b7b565b614457614ba5565b61445f614bd4565b5f6007545b828210806144c2575b15610583575f19019061447f9061486b565b91815f5260088085526001600160a01b0360405f205491825f526001875260405f2054901c16156144bc576144b390614c68565b505b9190614464565b506144b5565b5080151561446d565b3461032357602036600319011261032357600435600f54811015610323576144f460209161473a565b90546040519160031b1c8152f35b346103235760403660031901126103235761451b6146f8565b6024359033156143b8576001600160a01b03169081156143a05761453e3361480a565b825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610323575f366003190112610323576040515f907f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0380549060018260011c9160018416938415614654575b6020948585108114612e0b57848752908115612de957506001146145fb5761220085612d84818903826147e9565b5f9081529294507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b828410614641575050508161220093612d84928201019385612d74565b8054858501870152928501928101614624565b92607f16926145cd565b34610323576020366003190112610323576004359063ffffffff60e01b821680920361032357602091637965db0b60e01b81149081156146a0575b5015158152f35b6301ffc9a760e01b14905083614699565b602080825282518183018190529093925f5b8281106146e457505060409293505f838284010152601f8019910116010190565b8181018601518482016040015285016146c3565b600435906001600160a01b038216820361032357565b602435906001600160a01b038216820361032357565b604435906001600160a01b038216820361032357565b600f5481101561476f57600f5f527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80201905f90565b634e487b7160e01b5f52603260045260245ffd5b805482101561476f575f5260205f2001905f90565b608081019081106001600160401b03821117610d9257604052565b604081019081106001600160401b03821117610d9257604052565b606081019081106001600160401b03821117610d9257604052565b90601f801991011681019081106001600160401b03821117610d9257604052565b6001600160a01b03165f527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0160205260405f2090565b6001600160401b038111610d9257601f01601f191660200190565b6004359060ff8216820361032357565b5f1981146108925760010190565b9062015180820180921161089257565b90610708820180921161089257565b9190820180921161089257565b8181029291811591840414171561089257565b9190820391821161089257565b90816020910312610323575180151581036103235790565b81156148e7570490565b634e487b7160e01b5f52601260045260245ffd5b9190805f52602090600d8252604090815f20926001600160a01b0380961693845f52600e8252835f20835f528252835f209060049081810154928315614b6b5760020154988915614b5b5760068201549081158015614b45575b614b0957858491600c541689519283809263313ce56760e01b82525afa8015614aff575f90614ac7575b60ff915016604d8111614ab45784916149a86149c692600a0a96879260028701540142036148dd565b6149c0826149bb62278d009687946148a5565b6148a5565b046148dd565b92600383015492858c848604808811614aaa575b506149eb6149f493926005926148a5565b910154906148a5565b8560640290606482048703614a9757614a1791614a10916148dd565b809c6148b8565b93828102928184041490151715614a84575092614a47600398999a93614a4c614a5294614a4785614a58996148a5565b6148dd565b906148a5565b90614898565b945f52600e8152825f20915f52525f20015480821115614a7e57614a7b916148b8565b90565b50505f90565b601190634e487b7160e01b5f525260245ffd5b601183634e487b7160e01b5f525260245ffd5b96506149eb6149da565b601184634e487b7160e01b5f525260245ffd5b508581813d8311614af8575b614add81836147e9565b81010312610323575160ff811681036103235760ff9061497f565b503d614ad3565b88513d5f823e3d90fd5b5082610e7088614b1d600286015485614898565b9051634e3fe9db60e11b81524293810193845260208401949094526040830152829160600190565b50614b54600284015483614898565b4210614955565b86516312d37ee560e31b81528390fd5b865163dc4c0dd160e01b81528390fd5b60ff5f8051602061572d8339815191525416614b9357565b60405163d93c066560e01b8152600490fd5b5f8051602061574d8339815191526002815414614bc25760029055565b604051633ee5aeb560e01b8152600490fd5b335f9081527fb16e88c42fd4e48df2dd6a2eabd6bc9aec654ec170056b470819f8892cc6431c60205260409020545f8051602061576d8339815191529060ff1615614c1c5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b805f525f8051602061570d83398151915260205260405f20335f5260205260ff60405f20541615614c1c5750565b805f52602090600182526040805f206001600160401b03600382015416421015614c9457505050505f90565b614cff60ff928254848116600381145f14614d3b5750506001600160a01b03835460081c165f52600586525f818120555b60016001600160a01b039687855460081c165f52600281525f83812055865f52525f2060035f918281558260018201558260028201550155565b614d08836155a3565b54928360081c169216907f3da09301d339c352716a9dd9e36d57cb845a96e873063386bae4ce372868eaaa5f80a4600190565b60078103614d635750506001600160a01b03835460081c165f52600286525f81812055614cc5565b600814614d71575b50614cc5565b6001600160a01b039060081c165f52600286525f818120555f614d6b565b916001600160a01b03808416928315614e735716928315614e5b57825f527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace008060205260405f205491838310614e28575091806020927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef94865f5284520360405f2055845f5260405f20818154019055604051908152a3565b60405163391434e360e21b81526001600160a01b0391909116600482015260248101929092525060448101829052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b6001600160a01b03165f8181527fb16e88c42fd4e48df2dd6a2eabd6bc9aec654ec170056b470819f8892cc6431c60205260409020545f8051602061576d83398151915291905f8051602061570d8339815191529060ff16614f3157825f5260205260405f20815f5260205260405f20600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b90815f525f8051602061570d833981519152806020526001600160a01b0360405f20921691825f5260205260ff60405f205416155f14614f3157825f5260205260405f20815f5260205260405f20600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b90815f525f8051602061570d833981519152806020526001600160a01b0360405f20921691825f5260205260ff60405f2054165f14614f3157825f5260205260405f20815f5260205260405f2060ff19815416905533917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6001600160a01b0316805f5260036020526001600160401b0360405f205460401c1642106150675750565b6024906040519063152c1de960e31b82526004820152fd5b6001600160a01b035f805160206156ed8339815191525416330361509f57565b60405163118cdaa760e01b8152336004820152602490fd5b5f805160206156ed8339815191529081546001600160a01b0380921692836001600160601b0360a01b8316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b5f8051602061576d8339815191525f81905260046020527f49b573c16d0a3fe96af74a58679870c9f48517274761ed80ca9ceccb8126cb735461ffff1660028110615155575050565b604492506040519163e3d16f7b60e01b835260048301526024820152fd5b60ff8116929091600784036153705764ffffffffff811690815f52602092600d8452604094855f20805490811561535857600701546001600160601b038b1691806151be8484614898565b1161531c575050506001600160a01b03821693845f52600e8652865f20905f5285526002865f2001546152ea57835f526002855260ff865f2054166152d257916152c39161529e61525260029796958951888101906001600160601b03198660601b16825264ffffffffff60d81b8760d81b1660348201528d603982015260398152615249816147ce565b519020906154c0565b9a8b5f5260018752615267895f2093846154f4565b60ff199a8a8c8554161784556001840155878301906001600160a01b038254916001600160601b0360a01b9060a01b169116179055565b805464ffffffffff60a81b191660a89290921b64ffffffffff60a81b16919091179055565b5f52525f209182541617905590565b8551631dc690f760e31b815260048101859052602490fd5b50845163778ac9bb60e01b81526001600160a01b0391909116600482015264ffffffffff919091166024820152604490fd5b886084936001600160a01b0361533488958b956148b8565b925163c283a5af60e01b815294166004850152602484015260448301526064820152fd5b8751633b1b08df60e11b815260048101879052602490fd5b935091935060088414615396576040516337d0292760e01b815260048101859052602490fd5b6001600160a01b038293949216805f52602090600e8252604092835f2064ffffffffff88165f5283526002845f2001541561549357815f526002835260ff845f20541661547b57906152c361541e600294938651858101906001600160601b03198b60601b16825264ffffffffff60d81b8c60d81b16603482015260198152615249816147b3565b97885f5260018452615433865f2098896154f4565b875464ffffffffff60a81b19881679ffffffffff0000000000000000000000000000000000000000ff199091161760a89190911b64ffffffffff60a81b161790965560ff1995565b8351631dc690f760e31b815260048101839052602490fd5b8351633811668f60e01b81526001600160a01b038716600482015264ffffffffff88166024820152604490fd5b9060405190602082019260ff60f81b9060f81b1683526021820152426041820152604181526154ee81614798565b51902090565b90610100600160a81b0382549160081b1690610100600160a81b0319161781556202a300420190814211610892576004916155766001600160401b03806003850193166001600160401b031984541617835561554f42614879565b835467ffffffffffffffff60401b1916911660401b67ffffffffffffffff60401b16178255565b805461ffff60801b1916600160801b179055335f908152910160205260409020805460ff19166001179055565b805f526006602052604090815f2054916007549283811015615622575f1993808501908111610892575f526008602052815f2054815f5280835f20555f526006602052815f205560075491838301928311610892575f928352600860205282828120558252600660205281205560075490810190811161089257600755565b50505050565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561565757565b604051631afcd79f60e31b8152600490fd5b90615690575080511561567e57805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806156c3575b6156a1575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561569956fe081d73570a8276b92d814808f596e3f0c0d3a55249e405201ff631d59e9af4979016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a26469706673582212200ca0129b44fd6009d623c2fafe5e46547a7ae964b0174874183bf1c7764fcee164736f6c63430008180033
🤖 Code Reader Beta
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.


