ERC-20
DeFi
Overview
Max Total Supply
1,000,000,000 BANK
Holders
5,890 (0.00%)
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
$1,041,461.54
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
80 BANKValue
$0.08 ( ~2.08083297240583E-05 Eth) [0.0000%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Bank
Compiler Version
v0.6.11+commit.5ef660b1
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-05-04 */ // SPDX-License-Identifier: MIT pragma solidity >=0.5.16; pragma experimental ABIEncoderV2; // From https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/Math.sol // Subject to the MIT license. /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the addition of two unsigned integers, reverting with custom message on overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, errorMessage); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on underflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot underflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction underflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on underflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot underflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, errorMessage); return c; } /** * @dev Returns the integer division of two unsigned integers. * Reverts on division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. * Reverts with custom message on division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Bank { /// @notice EIP-20 token name for this token string public constant name = "Bankless Token"; /// @notice EIP-20 token symbol for this token string public constant symbol = "BANK"; /// @notice EIP-20 token decimals for this token uint8 public constant decimals = 18; /// @notice Total number of tokens in circulation uint public totalSupply = 1_000_000_000e18; // 1 billion Bank /// @notice Address which may mint new tokens address public minter; /// @notice The timestamp after which minting may occur uint public mintingAllowedAfter; /// @notice Minimum time between mints uint32 public constant minimumTimeBetweenMints = 1 days * 365; /// @notice Cap on the percentage of totalSupply that can be minted at each mint uint8 public constant mintCap = 2; /// @notice Allowance amounts on behalf of others mapping (address => mapping (address => uint96)) internal allowances; /// @notice Official record of token balances for each account mapping (address => uint96) internal balances; /// @notice A record of each accounts delegate mapping (address => address) public delegates; /// @notice A checkpoint for marking number of votes from a given block struct Checkpoint { uint32 fromBlock; uint96 votes; } /// @notice A record of votes checkpoints for each account, by index mapping (address => mapping (uint32 => Checkpoint)) public checkpoints; /// @notice The number of checkpoints for each account mapping (address => uint32) public numCheckpoints; /// @notice The EIP-712 typehash for the contract's domain bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)"); /// @notice The EIP-712 typehash for the delegation struct used by the contract bytes32 public constant DELEGATION_TYPEHASH = keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)"); /// @notice The EIP-712 typehash for the permit struct used by the contract bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"); /// @notice A record of states for signing / validating signatures mapping (address => uint) public nonces; /// @notice An event thats emitted when the minter address is changed event MinterChanged(address minter, address newMinter); /// @notice An event thats emitted when an account changes its delegate event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate); /// @notice An event thats emitted when a delegate account's vote balance changes event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance); /// @notice The standard EIP-20 transfer event event Transfer(address indexed from, address indexed to, uint256 amount); /// @notice The standard EIP-20 approval event event Approval(address indexed owner, address indexed spender, uint256 amount); /** * @notice Construct a new Bank token * @param account The initial account to grant all the tokens * @param minter_ The account with minting ability * @param mintingAllowedAfter_ The timestamp after which minting may occur */ constructor(address account, address minter_, uint mintingAllowedAfter_) public { require(mintingAllowedAfter_ >= block.timestamp, "Bank::constructor: minting can only begin after deployment"); balances[account] = uint96(totalSupply); emit Transfer(address(0), account, totalSupply); minter = minter_; emit MinterChanged(address(0), minter); mintingAllowedAfter = mintingAllowedAfter_; } /** * @notice Change the minter address * @param minter_ The address of the new minter */ function setMinter(address minter_) external { require(msg.sender == minter, "Bank::setMinter: only the minter can change the minter address"); emit MinterChanged(minter, minter_); minter = minter_; } /** * @notice Mint new tokens * @param dst The address of the destination account * @param rawAmount The number of tokens to be minted */ function mint(address dst, uint rawAmount) external { require(msg.sender == minter, "Bank::mint: only the minter can mint"); require(block.timestamp >= mintingAllowedAfter, "Bank::mint: minting not allowed yet"); require(dst != address(0), "Bank::mint: cannot transfer to the zero address"); // record the mint mintingAllowedAfter = SafeMath.add(block.timestamp, minimumTimeBetweenMints); // mint the amount uint96 amount = safe96(rawAmount, "Bank::mint: amount exceeds 96 bits"); require(amount <= SafeMath.div(SafeMath.mul(totalSupply, mintCap), 100), "Bank::mint: exceeded mint cap"); totalSupply = safe96(SafeMath.add(totalSupply, amount), "Bank::mint: totalSupply exceeds 96 bits"); // transfer the amount to the recipient balances[dst] = add96(balances[dst], amount, "Bank::mint: transfer amount overflows"); emit Transfer(address(0), dst, amount); // move delegates _moveDelegates(address(0), delegates[dst], amount); } /** * @notice Get the number of tokens `spender` is approved to spend on behalf of `account` * @param account The address of the account holding the funds * @param spender The address of the account spending the funds * @return The number of tokens approved */ function allowance(address account, address spender) external view returns (uint) { return allowances[account][spender]; } /** * @notice Approve `spender` to transfer up to `amount` from `src` * @dev This will overwrite the approval amount for `spender` * and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve) * @param spender The address of the account which may transfer tokens * @param rawAmount The number of tokens that are approved (2^256-1 means infinite) * @return Whether or not the approval succeeded */ function approve(address spender, uint rawAmount) external returns (bool) { uint96 amount; if (rawAmount == uint(-1)) { amount = uint96(-1); } else { amount = safe96(rawAmount, "Bank::approve: amount exceeds 96 bits"); } allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } /** * @notice Triggers an approval from owner to spends * @param owner The address to approve from * @param spender The address to be approved * @param rawAmount The number of tokens that are approved (2^256-1 means infinite) * @param deadline The time at which to expire the signature * @param v The recovery byte of the signature * @param r Half of the ECDSA signature pair * @param s Half of the ECDSA signature pair */ function permit(address owner, address spender, uint rawAmount, uint deadline, uint8 v, bytes32 r, bytes32 s) external { uint96 amount; if (rawAmount == uint(-1)) { amount = uint96(-1); } else { amount = safe96(rawAmount, "Bank::permit: amount exceeds 96 bits"); } bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this))); bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, rawAmount, nonces[owner]++, deadline)); bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash)); address signatory = ecrecover(digest, v, r, s); require(signatory != address(0), "Bank::permit: invalid signature"); require(signatory == owner, "Bank::permit: unauthorized"); require(now <= deadline, "Bank::permit: signature expired"); allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @notice Get the number of tokens held by the `account` * @param account The address of the account to get the balance of * @return The number of tokens held */ function balanceOf(address account) external view returns (uint) { return balances[account]; } /** * @notice Transfer `amount` tokens from `msg.sender` to `dst` * @param dst The address of the destination account * @param rawAmount The number of tokens to transfer * @return Whether or not the transfer succeeded */ function transfer(address dst, uint rawAmount) external returns (bool) { uint96 amount = safe96(rawAmount, "Bank::transfer: amount exceeds 96 bits"); _transferTokens(msg.sender, dst, amount); return true; } /** * @notice Transfer `amount` tokens from `src` to `dst` * @param src The address of the source account * @param dst The address of the destination account * @param rawAmount The number of tokens to transfer * @return Whether or not the transfer succeeded */ function transferFrom(address src, address dst, uint rawAmount) external returns (bool) { address spender = msg.sender; uint96 spenderAllowance = allowances[src][spender]; uint96 amount = safe96(rawAmount, "Bank::approve: amount exceeds 96 bits"); if (spender != src && spenderAllowance != uint96(-1)) { uint96 newAllowance = sub96(spenderAllowance, amount, "Bank::transferFrom: transfer amount exceeds spender allowance"); allowances[src][spender] = newAllowance; emit Approval(src, spender, newAllowance); } _transferTokens(src, dst, amount); return true; } /** * @notice Delegate votes from `msg.sender` to `delegatee` * @param delegatee The address to delegate votes to */ function delegate(address delegatee) public { return _delegate(msg.sender, delegatee); } /** * @notice Delegates votes from signatory to `delegatee` * @param delegatee The address to delegate votes to * @param nonce The contract state required to match the signature * @param expiry The time at which to expire the signature * @param v The recovery byte of the signature * @param r Half of the ECDSA signature pair * @param s Half of the ECDSA signature pair */ function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) public { bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this))); bytes32 structHash = keccak256(abi.encode(DELEGATION_TYPEHASH, delegatee, nonce, expiry)); bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash)); address signatory = ecrecover(digest, v, r, s); require(signatory != address(0), "Bank::delegateBySig: invalid signature"); require(nonce == nonces[signatory]++, "Bank::delegateBySig: invalid nonce"); require(now <= expiry, "Bank::delegateBySig: signature expired"); return _delegate(signatory, delegatee); } /** * @notice Gets the current votes balance for `account` * @param account The address to get votes balance * @return The number of current votes for `account` */ function getCurrentVotes(address account) external view returns (uint96) { uint32 nCheckpoints = numCheckpoints[account]; return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0; } /** * @notice Determine the prior number of votes for an account as of a block number * @dev Block number must be a finalized block or else this function will revert to prevent misinformation. * @param account The address of the account to check * @param blockNumber The block number to get the vote balance at * @return The number of votes the account had as of the given block */ function getPriorVotes(address account, uint blockNumber) public view returns (uint96) { require(blockNumber < block.number, "Bank::getPriorVotes: not yet determined"); uint32 nCheckpoints = numCheckpoints[account]; if (nCheckpoints == 0) { return 0; } // First check most recent balance if (checkpoints[account][nCheckpoints - 1].fromBlock <= blockNumber) { return checkpoints[account][nCheckpoints - 1].votes; } // Next check implicit zero balance if (checkpoints[account][0].fromBlock > blockNumber) { return 0; } uint32 lower = 0; uint32 upper = nCheckpoints - 1; while (upper > lower) { uint32 center = upper - (upper - lower) / 2; // ceil, avoiding overflow Checkpoint memory cp = checkpoints[account][center]; if (cp.fromBlock == blockNumber) { return cp.votes; } else if (cp.fromBlock < blockNumber) { lower = center; } else { upper = center - 1; } } return checkpoints[account][lower].votes; } function _delegate(address delegator, address delegatee) internal { address currentDelegate = delegates[delegator]; uint96 delegatorBalance = balances[delegator]; delegates[delegator] = delegatee; emit DelegateChanged(delegator, currentDelegate, delegatee); _moveDelegates(currentDelegate, delegatee, delegatorBalance); } function _transferTokens(address src, address dst, uint96 amount) internal { require(src != address(0), "Bank::_transferTokens: cannot transfer from the zero address"); require(dst != address(0), "Bank::_transferTokens: cannot transfer to the zero address"); require(dst != address(this), "Bank::_transferTokens: cannot transfer to token address"); balances[src] = sub96(balances[src], amount, "Bank::_transferTokens: transfer amount exceeds balance"); balances[dst] = add96(balances[dst], amount, "Bank::_transferTokens: transfer amount overflows"); emit Transfer(src, dst, amount); _moveDelegates(delegates[src], delegates[dst], amount); } function _moveDelegates(address srcRep, address dstRep, uint96 amount) internal { if (srcRep != dstRep && amount > 0) { if (srcRep != address(0)) { uint32 srcRepNum = numCheckpoints[srcRep]; uint96 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0; uint96 srcRepNew = sub96(srcRepOld, amount, "Bank::_moveVotes: vote amount underflows"); _writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew); } if (dstRep != address(0)) { uint32 dstRepNum = numCheckpoints[dstRep]; uint96 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0; uint96 dstRepNew = add96(dstRepOld, amount, "Bank::_moveVotes: vote amount overflows"); _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew); } } } function _writeCheckpoint(address delegatee, uint32 nCheckpoints, uint96 oldVotes, uint96 newVotes) internal { uint32 blockNumber = safe32(block.number, "Bank::_writeCheckpoint: block number exceeds 32 bits"); if (nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber) { checkpoints[delegatee][nCheckpoints - 1].votes = newVotes; } else { checkpoints[delegatee][nCheckpoints] = Checkpoint(blockNumber, newVotes); numCheckpoints[delegatee] = nCheckpoints + 1; } emit DelegateVotesChanged(delegatee, oldVotes, newVotes); } function safe32(uint n, string memory errorMessage) internal pure returns (uint32) { require(n < 2**32, errorMessage); return uint32(n); } function safe96(uint n, string memory errorMessage) internal pure returns (uint96) { require(n < 2**96, errorMessage); return uint96(n); } function add96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) { uint96 c = a + b; require(c >= a, errorMessage); return c; } function sub96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) { require(b <= a, errorMessage); return a - b; } function getChainId() internal pure returns (uint) { uint256 chainId; assembly { chainId := chainid() } return chainId; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"minter_","type":"address"},{"internalType":"uint256","name":"mintingAllowedAfter_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"minter","type":"address"},{"indexed":false,"internalType":"address","name":"newMinter","type":"address"}],"name":"MinterChanged","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","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":"rawAmount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint96","name":"votes","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTimeBetweenMints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintCap","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintingAllowedAfter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"minter_","type":"address"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526b033b2e3c9fd0803ce80000006000553480156200002157600080fd5b50604051620026d5380380620026d583398101604081905262000044916200016f565b42811015620000705760405162461bcd60e51b81526004016200006790620001cb565b60405180910390fd5b600080546001600160a01b0385168083526004602052604080842080546001600160601b0319166001600160601b0390941693909317909255825491519092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620000de919062000228565b60405180910390a3600180546001600160a01b0319166001600160a01b0384811691909117918290556040517f3b0007eb941cf645526cbb3a4fdaecda9d28ce4843167d9263b536a1f1edc0f6926200013d92600092911690620001b1565b60405180910390a160025550620002319050565b80516001600160a01b03811681146200016957600080fd5b92915050565b60008060006060848603121562000184578283fd5b62000190858562000151565b9250620001a1856020860162000151565b9150604084015190509250925092565b6001600160a01b0392831681529116602082015260400190565b6020808252603a908201527f42616e6b3a3a636f6e7374727563746f723a206d696e74696e672063616e206f60408201527f6e6c7920626567696e206166746572206465706c6f796d656e74000000000000606082015260800190565b90815260200190565b61249480620002416000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80636fcfff45116100f9578063b4b5ea5711610097578063dd62ed3e11610071578063dd62ed3e1461035b578063e7a324dc1461036e578063f1127ed814610376578063fca3b5aa14610397576101a9565b8063b4b5ea5714610322578063c3cda52014610335578063d505accf14610348576101a9565b8063782d6fe1116100d3578063782d6fe1146102d45780637ecebe00146102f457806395d89b4114610307578063a9059cbb1461030f576101a9565b80636fcfff45146102a657806370a08231146102b957806376c71ca1146102cc576101a9565b806330adf81f1161016657806340c10f191161014057806340c10f1914610256578063587cde1e1461026b5780635c11d62f1461027e5780635c19a95c14610293576101a9565b806330adf81f1461023157806330b36cef14610239578063313ce56714610241576101a9565b806306fdde03146101ae57806307546172146101cc578063095ea7b3146101e157806318160ddd1461020157806320606b701461021657806323b872dd1461021e575b600080fd5b6101b66103aa565b6040516101c39190611cd4565b60405180910390f35b6101d46103d4565b6040516101c39190611bf8565b6101f46101ef366004611a07565b6103e3565b6040516101c39190611c26565b6102096104a2565b6040516101c39190611c31565b6102096104a8565b6101f461022c36600461195b565b6104bf565b610209610606565b610209610612565b610249610618565b6040516101c3919061220a565b610269610264366004611a07565b61061d565b005b6101d461027936600461190c565b610838565b610286610853565b6040516101c391906121da565b6102696102a136600461190c565b61085b565b6102866102b436600461190c565b610868565b6102096102c736600461190c565b610880565b6102496108a4565b6102e76102e2366004611a07565b6108a9565b6040516101c39190612218565b61020961030236600461190c565b610ab7565b6101b6610ac9565b6101f461031d366004611a07565b610ae9565b6102e761033036600461190c565b610b25565b610269610343366004611a31565b610b96565b61026961035636600461199b565b610d86565b610209610369366004611927565b611078565b6102096110ac565b610389610384366004611a8a565b6110b8565b6040516101c39291906121eb565b6102696103a536600461190c565b6110ed565b6040518060400160405280600e81526020016d2130b735b632b9b9902a37b5b2b760911b81525081565b6001546001600160a01b031681565b6000806000198314156103f9575060001961041e565b61041b836040518060600160405280602581526020016123cf60259139611180565b90505b3360008181526003602090815260408083206001600160a01b03891680855292529182902080546001600160601b0319166001600160601b03861617905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061048e908590612218565b60405180910390a360019150505b92915050565b60005481565b6040516104b490611b4e565b604051809103902081565b6001600160a01b03831660009081526003602090815260408083203380855290835281842054825160608101909352602580845291936001600160601b0390911692859261051792889291906123cf90830139611180565b9050866001600160a01b0316836001600160a01b03161415801561054457506001600160601b0382811614155b156105ee57600061056e83836040518060600160405280603d8152602001612311603d91396111af565b6001600160a01b038981166000818152600360209081526040808320948a16808452949091529081902080546001600160601b0319166001600160601b0386161790555192935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105e4908590612218565b60405180910390a3505b6105f98787836111ee565b5060019695505050505050565b6040516104b490611ae4565b60025481565b601281565b6001546001600160a01b031633146106505760405162461bcd60e51b815260040161064790612196565b60405180910390fd5b6002544210156106725760405162461bcd60e51b815260040161064790612153565b6001600160a01b0382166106985760405162461bcd60e51b815260040161064790611d27565b6106a6426301e133806113bd565b60028190555060006106d0826040518060600160405280602281526020016123f460229139611180565b90506106ec6106e5600054600260ff166113e2565b606461141c565b816001600160601b031611156107145760405162461bcd60e51b815260040161064790611f2a565b61074a61072c600054836001600160601b03166113bd565b60405180606001604052806027815260200161228c60279139611180565b6001600160601b0390811660009081556001600160a01b03851681526004602090815260409182902054825160608101909352602580845261079c94919091169285929091906124169083013961145e565b6001600160a01b03841660008181526004602052604080822080546001600160601b0319166001600160601b03959095169490941790935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610806908590612218565b60405180910390a36001600160a01b0380841660009081526005602052604081205461083392168361149a565b505050565b6005602052600090815260409020546001600160a01b031681565b6301e1338081565b610865338261162c565b50565b60076020526000908152604090205463ffffffff1681565b6001600160a01b03166000908152600460205260409020546001600160601b031690565b600281565b60004382106108ca5760405162461bcd60e51b81526004016106479061206d565b6001600160a01b03831660009081526007602052604090205463ffffffff16806108f857600091505061049c565b6001600160a01b038416600090815260066020908152604080832063ffffffff600019860181168552925290912054168310610974576001600160a01b03841660009081526006602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b0316905061049c565b6001600160a01b038416600090815260066020908152604080832083805290915290205463ffffffff168310156109af57600091505061049c565b600060001982015b8163ffffffff168163ffffffff161115610a7257600282820363ffffffff160481036109e16118cd565b506001600160a01b038716600090815260066020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b03169181019190915290871415610a4d5760200151945061049c9350505050565b805163ffffffff16871115610a6457819350610a6b565b6001820392505b50506109b7565b506001600160a01b038516600090815260066020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b60086020526000908152604090205481565b6040518060400160405280600481526020016342414e4b60e01b81525081565b600080610b0e8360405180606001604052806026815260200161234e60269139611180565b9050610b1b3385836111ee565b5060019392505050565b6001600160a01b03811660009081526007602052604081205463ffffffff1680610b50576000610b8f565b6001600160a01b0383166000908152600660209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03165b9392505050565b6000604051610ba490611b4e565b60408051918290038220828201909152600e82526d2130b735b632b9b9902a37b5b2b760911b6020909201919091527fe70d8a187c7ca0f071c2ad1407c90f3a6d00e1270907a73bdee9fc943e03586e610bfc6116b6565b30604051602001610c109493929190611c92565b6040516020818303038152906040528051906020012090506000604051610c3690611ba9565b604051908190038120610c51918a908a908a90602001611c6e565b60405160208183030381529060405280519060200120905060008282604051602001610c7e929190611ac9565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610cbb9493929190611cb6565b6020604051602081039080840390855afa158015610cdd573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610d105760405162461bcd60e51b815260040161064790611e50565b6001600160a01b03811660009081526008602052604090208054600181019091558914610d4f5760405162461bcd60e51b815260040161064790612111565b87421115610d6f5760405162461bcd60e51b815260040161064790611dd3565b610d79818b61162c565b505050505b505050505050565b6000600019861415610d9b5750600019610dc0565b610dbd8660405180606001604052806024815260200161243b60249139611180565b90505b6000604051610dce90611b4e565b60408051918290038220828201909152600e82526d2130b735b632b9b9902a37b5b2b760911b6020909201919091527fe70d8a187c7ca0f071c2ad1407c90f3a6d00e1270907a73bdee9fc943e03586e610e266116b6565b30604051602001610e3a9493929190611c92565b6040516020818303038152906040528051906020012090506000604051610e6090611ae4565b604080519182900382206001600160a01b038d16600090815260086020908152929020805460018101909155610ea29391928e928e928e9290918e9101611c3a565b60405160208183030381529060405280519060200120905060008282604051602001610ecf929190611ac9565b604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051610f0c9493929190611cb6565b6020604051602081039080840390855afa158015610f2e573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610f615760405162461bcd60e51b815260040161064790611e96565b8b6001600160a01b0316816001600160a01b031614610f925760405162461bcd60e51b815260040161064790611f61565b88421115610fb25760405162461bcd60e51b815260040161064790612036565b84600360008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160601b0302191690836001600160601b031602179055508a6001600160a01b03168c6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925876040516110629190612218565b60405180910390a3505050505050505050505050565b6001600160a01b0391821660009081526003602090815260408083209390941682529190915220546001600160601b031690565b6040516104b490611ba9565b600660209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b6001546001600160a01b031633146111175760405162461bcd60e51b8152600401610647906120b4565b6001546040517f3b0007eb941cf645526cbb3a4fdaecda9d28ce4843167d9263b536a1f1edc0f691611156916001600160a01b03909116908490611c0c565b60405180910390a1600180546001600160a01b0319166001600160a01b0392909216919091179055565b600081600160601b84106111a75760405162461bcd60e51b81526004016106479190611cd4565b509192915050565b6000836001600160601b0316836001600160601b0316111582906111e65760405162461bcd60e51b81526004016106479190611cd4565b505050900390565b6001600160a01b0383166112145760405162461bcd60e51b815260040161064790611d76565b6001600160a01b03821661123a5760405162461bcd60e51b815260040161064790611f98565b6001600160a01b0382163014156112635760405162461bcd60e51b815260040161064790611ecd565b6001600160a01b0383166000908152600460209081526040918290205482516060810190935260368084526112ae936001600160601b0390921692859291906122db908301396111af565b6001600160a01b03848116600090815260046020908152604080832080546001600160601b0319166001600160601b03968716179055928616825290829020548251606081019093526030808452611316949190911692859290919061225c9083013961145e565b6001600160a01b038381166000818152600460205260409081902080546001600160601b0319166001600160601b0395909516949094179093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611383908590612218565b60405180910390a36001600160a01b038084166000908152600560205260408082205485841683529120546108339291821691168361149a565b600082820183811015610b8f5760405162461bcd60e51b815260040161064790611e19565b6000826113f15750600061049c565b828202828482816113fe57fe5b0414610b8f5760405162461bcd60e51b815260040161064790611ff5565b6000610b8f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ba565b6000838301826001600160601b0380871690831610156114915760405162461bcd60e51b81526004016106479190611cd4565b50949350505050565b816001600160a01b0316836001600160a01b0316141580156114c557506000816001600160601b0316115b15610833576001600160a01b0383161561157d576001600160a01b03831660009081526007602052604081205463ffffffff169081611505576000611544565b6001600160a01b0385166000908152600660209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b9050600061156b82856040518060600160405280602881526020016122b3602891396111af565b9050611579868484846116f1565b5050505b6001600160a01b03821615610833576001600160a01b03821660009081526007602052604081205463ffffffff1690816115b85760006115f7565b6001600160a01b0384166000908152600660209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b9050600061161e82856040518060600160405280602781526020016123a86027913961145e565b9050610d7e858484846116f1565b6001600160a01b03808316600081815260056020818152604080842080546004845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46116b082848361149a565b50505050565b4690565b600081836116db5760405162461bcd60e51b81526004016106479190611cd4565b5060008385816116e757fe5b0495945050505050565b600061171543604051806060016040528060348152602001612374603491396118a6565b905060008463ffffffff1611801561175e57506001600160a01b038516600090815260066020908152604080832063ffffffff6000198901811685529252909120548282169116145b156117bd576001600160a01b0385166000908152600660209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b0385160217905561185c565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152600683528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252600790935292909220805460018801909316929091169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405161189792919061222c565b60405180910390a25050505050565b600081600160201b84106111a75760405162461bcd60e51b81526004016106479190611cd4565b604080518082019091526000808252602082015290565b80356001600160a01b038116811461049c57600080fd5b803560ff8116811461049c57600080fd5b60006020828403121561191d578081fd5b610b8f83836118e4565b60008060408385031215611939578081fd5b61194384846118e4565b915061195284602085016118e4565b90509250929050565b60008060006060848603121561196f578081fd5b833561197a81612246565b9250602084013561198a81612246565b929592945050506040919091013590565b600080600080600080600060e0888a0312156119b5578283fd5b6119bf89896118e4565b96506119ce8960208a016118e4565b955060408801359450606088013593506119eb8960808a016118fb565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215611a19578182fd5b611a2384846118e4565b946020939093013593505050565b60008060008060008060c08789031215611a49578182fd5b611a5388886118e4565b95506020870135945060408701359350611a7088606089016118fb565b92506080870135915060a087013590509295509295509295565b60008060408385031215611a9c578182fd5b611aa684846118e4565b9150602083013563ffffffff81168114611abe578182fd5b809150509250929050565b61190160f01b81526002810192909252602282015260420190565b7f5065726d69742861646472657373206f776e65722c616464726573732073706581527f6e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63656020820152712c75696e7432353620646561646c696e652960701b604082015260520190565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430190565b7f44656c65676174696f6e28616464726573732064656c6567617465652c75696e81527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020820152603a0190565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b938452602084019290925260408301526001600160a01b0316606082015260800190565b93845260ff9290921660208401526040830152606082015260800190565b6000602080835283518082850152825b81811015611d0057858101830151858201604001528201611ce4565b81811115611d115783604083870101525b50601f01601f1916929092016040019392505050565b6020808252602f908201527f42616e6b3a3a6d696e743a2063616e6e6f74207472616e7366657220746f207460408201526e6865207a65726f206164647265737360881b606082015260800190565b6020808252603c908201527f42616e6b3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260408201527f616e736665722066726f6d20746865207a65726f206164647265737300000000606082015260800190565b60208082526026908201527f42616e6b3a3a64656c656761746542795369673a207369676e617475726520656040820152651e1c1a5c995960d21b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526026908201527f42616e6b3a3a64656c656761746542795369673a20696e76616c6964207369676040820152656e617475726560d01b606082015260800190565b6020808252601f908201527f42616e6b3a3a7065726d69743a20696e76616c6964207369676e617475726500604082015260600190565b60208082526037908201527f42616e6b3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260408201527f616e7366657220746f20746f6b656e2061646472657373000000000000000000606082015260800190565b6020808252601d908201527f42616e6b3a3a6d696e743a206578636565646564206d696e7420636170000000604082015260600190565b6020808252601a908201527f42616e6b3a3a7065726d69743a20756e617574686f72697a6564000000000000604082015260600190565b6020808252603a908201527f42616e6b3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260408201527f616e7366657220746f20746865207a65726f2061646472657373000000000000606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252601f908201527f42616e6b3a3a7065726d69743a207369676e6174757265206578706972656400604082015260600190565b60208082526027908201527f42616e6b3a3a6765745072696f72566f7465733a206e6f742079657420646574604082015266195c9b5a5b995960ca1b606082015260800190565b6020808252603e908201527f42616e6b3a3a7365744d696e7465723a206f6e6c7920746865206d696e74657260408201527f2063616e206368616e676520746865206d696e74657220616464726573730000606082015260800190565b60208082526022908201527f42616e6b3a3a64656c656761746542795369673a20696e76616c6964206e6f6e604082015261636560f01b606082015260800190565b60208082526023908201527f42616e6b3a3a6d696e743a206d696e74696e67206e6f7420616c6c6f776564206040820152621e595d60ea1b606082015260800190565b60208082526024908201527f42616e6b3a3a6d696e743a206f6e6c7920746865206d696e7465722063616e206040820152631b5a5b9d60e21b606082015260800190565b63ffffffff91909116815260200190565b63ffffffff9290921682526001600160601b0316602082015260400190565b60ff91909116815260200190565b6001600160601b0391909116815260200190565b6001600160601b0392831681529116602082015260400190565b6001600160a01b038116811461086557600080fdfe42616e6b3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f777342616e6b3a3a6d696e743a20746f74616c537570706c792065786365656473203936206269747342616e6b3a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f777342616e6b3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e636542616e6b3a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e636542616e6b3a3a7472616e736665723a20616d6f756e742065786365656473203936206269747342616e6b3a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747342616e6b3a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f777342616e6b3a3a617070726f76653a20616d6f756e742065786365656473203936206269747342616e6b3a3a6d696e743a20616d6f756e742065786365656473203936206269747342616e6b3a3a6d696e743a207472616e7366657220616d6f756e74206f766572666c6f777342616e6b3a3a7065726d69743a20616d6f756e7420657863656564732039362062697473a2646970667358221220a96b5bcc0f4c5fc9eb7fa4f0607cd3d6976b06e9e862339c899567a01dc0a9e864736f6c634300060b0033000000000000000000000000f26d1bb347a59f6c283c53156519cc1b1abaca51000000000000000000000000f26d1bb347a59f6c283c53156519cc1b1abaca510000000000000000000000000000000000000000000000000000000066362340
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101a95760003560e01c80636fcfff45116100f9578063b4b5ea5711610097578063dd62ed3e11610071578063dd62ed3e1461035b578063e7a324dc1461036e578063f1127ed814610376578063fca3b5aa14610397576101a9565b8063b4b5ea5714610322578063c3cda52014610335578063d505accf14610348576101a9565b8063782d6fe1116100d3578063782d6fe1146102d45780637ecebe00146102f457806395d89b4114610307578063a9059cbb1461030f576101a9565b80636fcfff45146102a657806370a08231146102b957806376c71ca1146102cc576101a9565b806330adf81f1161016657806340c10f191161014057806340c10f1914610256578063587cde1e1461026b5780635c11d62f1461027e5780635c19a95c14610293576101a9565b806330adf81f1461023157806330b36cef14610239578063313ce56714610241576101a9565b806306fdde03146101ae57806307546172146101cc578063095ea7b3146101e157806318160ddd1461020157806320606b701461021657806323b872dd1461021e575b600080fd5b6101b66103aa565b6040516101c39190611cd4565b60405180910390f35b6101d46103d4565b6040516101c39190611bf8565b6101f46101ef366004611a07565b6103e3565b6040516101c39190611c26565b6102096104a2565b6040516101c39190611c31565b6102096104a8565b6101f461022c36600461195b565b6104bf565b610209610606565b610209610612565b610249610618565b6040516101c3919061220a565b610269610264366004611a07565b61061d565b005b6101d461027936600461190c565b610838565b610286610853565b6040516101c391906121da565b6102696102a136600461190c565b61085b565b6102866102b436600461190c565b610868565b6102096102c736600461190c565b610880565b6102496108a4565b6102e76102e2366004611a07565b6108a9565b6040516101c39190612218565b61020961030236600461190c565b610ab7565b6101b6610ac9565b6101f461031d366004611a07565b610ae9565b6102e761033036600461190c565b610b25565b610269610343366004611a31565b610b96565b61026961035636600461199b565b610d86565b610209610369366004611927565b611078565b6102096110ac565b610389610384366004611a8a565b6110b8565b6040516101c39291906121eb565b6102696103a536600461190c565b6110ed565b6040518060400160405280600e81526020016d2130b735b632b9b9902a37b5b2b760911b81525081565b6001546001600160a01b031681565b6000806000198314156103f9575060001961041e565b61041b836040518060600160405280602581526020016123cf60259139611180565b90505b3360008181526003602090815260408083206001600160a01b03891680855292529182902080546001600160601b0319166001600160601b03861617905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061048e908590612218565b60405180910390a360019150505b92915050565b60005481565b6040516104b490611b4e565b604051809103902081565b6001600160a01b03831660009081526003602090815260408083203380855290835281842054825160608101909352602580845291936001600160601b0390911692859261051792889291906123cf90830139611180565b9050866001600160a01b0316836001600160a01b03161415801561054457506001600160601b0382811614155b156105ee57600061056e83836040518060600160405280603d8152602001612311603d91396111af565b6001600160a01b038981166000818152600360209081526040808320948a16808452949091529081902080546001600160601b0319166001600160601b0386161790555192935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105e4908590612218565b60405180910390a3505b6105f98787836111ee565b5060019695505050505050565b6040516104b490611ae4565b60025481565b601281565b6001546001600160a01b031633146106505760405162461bcd60e51b815260040161064790612196565b60405180910390fd5b6002544210156106725760405162461bcd60e51b815260040161064790612153565b6001600160a01b0382166106985760405162461bcd60e51b815260040161064790611d27565b6106a6426301e133806113bd565b60028190555060006106d0826040518060600160405280602281526020016123f460229139611180565b90506106ec6106e5600054600260ff166113e2565b606461141c565b816001600160601b031611156107145760405162461bcd60e51b815260040161064790611f2a565b61074a61072c600054836001600160601b03166113bd565b60405180606001604052806027815260200161228c60279139611180565b6001600160601b0390811660009081556001600160a01b03851681526004602090815260409182902054825160608101909352602580845261079c94919091169285929091906124169083013961145e565b6001600160a01b03841660008181526004602052604080822080546001600160601b0319166001600160601b03959095169490941790935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610806908590612218565b60405180910390a36001600160a01b0380841660009081526005602052604081205461083392168361149a565b505050565b6005602052600090815260409020546001600160a01b031681565b6301e1338081565b610865338261162c565b50565b60076020526000908152604090205463ffffffff1681565b6001600160a01b03166000908152600460205260409020546001600160601b031690565b600281565b60004382106108ca5760405162461bcd60e51b81526004016106479061206d565b6001600160a01b03831660009081526007602052604090205463ffffffff16806108f857600091505061049c565b6001600160a01b038416600090815260066020908152604080832063ffffffff600019860181168552925290912054168310610974576001600160a01b03841660009081526006602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b0316905061049c565b6001600160a01b038416600090815260066020908152604080832083805290915290205463ffffffff168310156109af57600091505061049c565b600060001982015b8163ffffffff168163ffffffff161115610a7257600282820363ffffffff160481036109e16118cd565b506001600160a01b038716600090815260066020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b03169181019190915290871415610a4d5760200151945061049c9350505050565b805163ffffffff16871115610a6457819350610a6b565b6001820392505b50506109b7565b506001600160a01b038516600090815260066020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b60086020526000908152604090205481565b6040518060400160405280600481526020016342414e4b60e01b81525081565b600080610b0e8360405180606001604052806026815260200161234e60269139611180565b9050610b1b3385836111ee565b5060019392505050565b6001600160a01b03811660009081526007602052604081205463ffffffff1680610b50576000610b8f565b6001600160a01b0383166000908152600660209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03165b9392505050565b6000604051610ba490611b4e565b60408051918290038220828201909152600e82526d2130b735b632b9b9902a37b5b2b760911b6020909201919091527fe70d8a187c7ca0f071c2ad1407c90f3a6d00e1270907a73bdee9fc943e03586e610bfc6116b6565b30604051602001610c109493929190611c92565b6040516020818303038152906040528051906020012090506000604051610c3690611ba9565b604051908190038120610c51918a908a908a90602001611c6e565b60405160208183030381529060405280519060200120905060008282604051602001610c7e929190611ac9565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610cbb9493929190611cb6565b6020604051602081039080840390855afa158015610cdd573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610d105760405162461bcd60e51b815260040161064790611e50565b6001600160a01b03811660009081526008602052604090208054600181019091558914610d4f5760405162461bcd60e51b815260040161064790612111565b87421115610d6f5760405162461bcd60e51b815260040161064790611dd3565b610d79818b61162c565b505050505b505050505050565b6000600019861415610d9b5750600019610dc0565b610dbd8660405180606001604052806024815260200161243b60249139611180565b90505b6000604051610dce90611b4e565b60408051918290038220828201909152600e82526d2130b735b632b9b9902a37b5b2b760911b6020909201919091527fe70d8a187c7ca0f071c2ad1407c90f3a6d00e1270907a73bdee9fc943e03586e610e266116b6565b30604051602001610e3a9493929190611c92565b6040516020818303038152906040528051906020012090506000604051610e6090611ae4565b604080519182900382206001600160a01b038d16600090815260086020908152929020805460018101909155610ea29391928e928e928e9290918e9101611c3a565b60405160208183030381529060405280519060200120905060008282604051602001610ecf929190611ac9565b604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051610f0c9493929190611cb6565b6020604051602081039080840390855afa158015610f2e573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610f615760405162461bcd60e51b815260040161064790611e96565b8b6001600160a01b0316816001600160a01b031614610f925760405162461bcd60e51b815260040161064790611f61565b88421115610fb25760405162461bcd60e51b815260040161064790612036565b84600360008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160601b0302191690836001600160601b031602179055508a6001600160a01b03168c6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925876040516110629190612218565b60405180910390a3505050505050505050505050565b6001600160a01b0391821660009081526003602090815260408083209390941682529190915220546001600160601b031690565b6040516104b490611ba9565b600660209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b6001546001600160a01b031633146111175760405162461bcd60e51b8152600401610647906120b4565b6001546040517f3b0007eb941cf645526cbb3a4fdaecda9d28ce4843167d9263b536a1f1edc0f691611156916001600160a01b03909116908490611c0c565b60405180910390a1600180546001600160a01b0319166001600160a01b0392909216919091179055565b600081600160601b84106111a75760405162461bcd60e51b81526004016106479190611cd4565b509192915050565b6000836001600160601b0316836001600160601b0316111582906111e65760405162461bcd60e51b81526004016106479190611cd4565b505050900390565b6001600160a01b0383166112145760405162461bcd60e51b815260040161064790611d76565b6001600160a01b03821661123a5760405162461bcd60e51b815260040161064790611f98565b6001600160a01b0382163014156112635760405162461bcd60e51b815260040161064790611ecd565b6001600160a01b0383166000908152600460209081526040918290205482516060810190935260368084526112ae936001600160601b0390921692859291906122db908301396111af565b6001600160a01b03848116600090815260046020908152604080832080546001600160601b0319166001600160601b03968716179055928616825290829020548251606081019093526030808452611316949190911692859290919061225c9083013961145e565b6001600160a01b038381166000818152600460205260409081902080546001600160601b0319166001600160601b0395909516949094179093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611383908590612218565b60405180910390a36001600160a01b038084166000908152600560205260408082205485841683529120546108339291821691168361149a565b600082820183811015610b8f5760405162461bcd60e51b815260040161064790611e19565b6000826113f15750600061049c565b828202828482816113fe57fe5b0414610b8f5760405162461bcd60e51b815260040161064790611ff5565b6000610b8f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ba565b6000838301826001600160601b0380871690831610156114915760405162461bcd60e51b81526004016106479190611cd4565b50949350505050565b816001600160a01b0316836001600160a01b0316141580156114c557506000816001600160601b0316115b15610833576001600160a01b0383161561157d576001600160a01b03831660009081526007602052604081205463ffffffff169081611505576000611544565b6001600160a01b0385166000908152600660209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b9050600061156b82856040518060600160405280602881526020016122b3602891396111af565b9050611579868484846116f1565b5050505b6001600160a01b03821615610833576001600160a01b03821660009081526007602052604081205463ffffffff1690816115b85760006115f7565b6001600160a01b0384166000908152600660209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b9050600061161e82856040518060600160405280602781526020016123a86027913961145e565b9050610d7e858484846116f1565b6001600160a01b03808316600081815260056020818152604080842080546004845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46116b082848361149a565b50505050565b4690565b600081836116db5760405162461bcd60e51b81526004016106479190611cd4565b5060008385816116e757fe5b0495945050505050565b600061171543604051806060016040528060348152602001612374603491396118a6565b905060008463ffffffff1611801561175e57506001600160a01b038516600090815260066020908152604080832063ffffffff6000198901811685529252909120548282169116145b156117bd576001600160a01b0385166000908152600660209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b0385160217905561185c565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152600683528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252600790935292909220805460018801909316929091169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405161189792919061222c565b60405180910390a25050505050565b600081600160201b84106111a75760405162461bcd60e51b81526004016106479190611cd4565b604080518082019091526000808252602082015290565b80356001600160a01b038116811461049c57600080fd5b803560ff8116811461049c57600080fd5b60006020828403121561191d578081fd5b610b8f83836118e4565b60008060408385031215611939578081fd5b61194384846118e4565b915061195284602085016118e4565b90509250929050565b60008060006060848603121561196f578081fd5b833561197a81612246565b9250602084013561198a81612246565b929592945050506040919091013590565b600080600080600080600060e0888a0312156119b5578283fd5b6119bf89896118e4565b96506119ce8960208a016118e4565b955060408801359450606088013593506119eb8960808a016118fb565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215611a19578182fd5b611a2384846118e4565b946020939093013593505050565b60008060008060008060c08789031215611a49578182fd5b611a5388886118e4565b95506020870135945060408701359350611a7088606089016118fb565b92506080870135915060a087013590509295509295509295565b60008060408385031215611a9c578182fd5b611aa684846118e4565b9150602083013563ffffffff81168114611abe578182fd5b809150509250929050565b61190160f01b81526002810192909252602282015260420190565b7f5065726d69742861646472657373206f776e65722c616464726573732073706581527f6e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63656020820152712c75696e7432353620646561646c696e652960701b604082015260520190565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430190565b7f44656c65676174696f6e28616464726573732064656c6567617465652c75696e81527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020820152603a0190565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b938452602084019290925260408301526001600160a01b0316606082015260800190565b93845260ff9290921660208401526040830152606082015260800190565b6000602080835283518082850152825b81811015611d0057858101830151858201604001528201611ce4565b81811115611d115783604083870101525b50601f01601f1916929092016040019392505050565b6020808252602f908201527f42616e6b3a3a6d696e743a2063616e6e6f74207472616e7366657220746f207460408201526e6865207a65726f206164647265737360881b606082015260800190565b6020808252603c908201527f42616e6b3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260408201527f616e736665722066726f6d20746865207a65726f206164647265737300000000606082015260800190565b60208082526026908201527f42616e6b3a3a64656c656761746542795369673a207369676e617475726520656040820152651e1c1a5c995960d21b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526026908201527f42616e6b3a3a64656c656761746542795369673a20696e76616c6964207369676040820152656e617475726560d01b606082015260800190565b6020808252601f908201527f42616e6b3a3a7065726d69743a20696e76616c6964207369676e617475726500604082015260600190565b60208082526037908201527f42616e6b3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260408201527f616e7366657220746f20746f6b656e2061646472657373000000000000000000606082015260800190565b6020808252601d908201527f42616e6b3a3a6d696e743a206578636565646564206d696e7420636170000000604082015260600190565b6020808252601a908201527f42616e6b3a3a7065726d69743a20756e617574686f72697a6564000000000000604082015260600190565b6020808252603a908201527f42616e6b3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260408201527f616e7366657220746f20746865207a65726f2061646472657373000000000000606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252601f908201527f42616e6b3a3a7065726d69743a207369676e6174757265206578706972656400604082015260600190565b60208082526027908201527f42616e6b3a3a6765745072696f72566f7465733a206e6f742079657420646574604082015266195c9b5a5b995960ca1b606082015260800190565b6020808252603e908201527f42616e6b3a3a7365744d696e7465723a206f6e6c7920746865206d696e74657260408201527f2063616e206368616e676520746865206d696e74657220616464726573730000606082015260800190565b60208082526022908201527f42616e6b3a3a64656c656761746542795369673a20696e76616c6964206e6f6e604082015261636560f01b606082015260800190565b60208082526023908201527f42616e6b3a3a6d696e743a206d696e74696e67206e6f7420616c6c6f776564206040820152621e595d60ea1b606082015260800190565b60208082526024908201527f42616e6b3a3a6d696e743a206f6e6c7920746865206d696e7465722063616e206040820152631b5a5b9d60e21b606082015260800190565b63ffffffff91909116815260200190565b63ffffffff9290921682526001600160601b0316602082015260400190565b60ff91909116815260200190565b6001600160601b0391909116815260200190565b6001600160601b0392831681529116602082015260400190565b6001600160a01b038116811461086557600080fdfe42616e6b3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f777342616e6b3a3a6d696e743a20746f74616c537570706c792065786365656473203936206269747342616e6b3a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f777342616e6b3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e636542616e6b3a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e636542616e6b3a3a7472616e736665723a20616d6f756e742065786365656473203936206269747342616e6b3a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747342616e6b3a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f777342616e6b3a3a617070726f76653a20616d6f756e742065786365656473203936206269747342616e6b3a3a6d696e743a20616d6f756e742065786365656473203936206269747342616e6b3a3a6d696e743a207472616e7366657220616d6f756e74206f766572666c6f777342616e6b3a3a7065726d69743a20616d6f756e7420657863656564732039362062697473a2646970667358221220a96b5bcc0f4c5fc9eb7fa4f0607cd3d6976b06e9e862339c899567a01dc0a9e864736f6c634300060b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f26d1bb347a59f6c283c53156519cc1b1abaca51000000000000000000000000f26d1bb347a59f6c283c53156519cc1b1abaca510000000000000000000000000000000000000000000000000000000066362340
-----Decoded View---------------
Arg [0] : account (address): 0xf26d1Bb347a59F6C283C53156519cC1B1ABacA51
Arg [1] : minter_ (address): 0xf26d1Bb347a59F6C283C53156519cC1B1ABacA51
Arg [2] : mintingAllowedAfter_ (uint256): 1714824000
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000f26d1bb347a59f6c283c53156519cc1b1abaca51
Arg [1] : 000000000000000000000000f26d1bb347a59f6c283c53156519cc1b1abaca51
Arg [2] : 0000000000000000000000000000000000000000000000000000000066362340
Deployed Bytecode Sourcemap
6669:17290:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6740:46;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7167:21;;;:::i;:::-;;;;;;;:::i;13097:419::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7047:42::-;;;:::i;:::-;;;;;;;:::i;8396:122::-;;;:::i;16183:672::-;;;;;;:::i;:::-;;:::i;8819:137::-;;;:::i;7258:31::-;;;:::i;6948:35::-;;;:::i;:::-;;;;;;;:::i;11114:1065::-;;;;;;:::i;:::-;;:::i;:::-;;7846:45;;;;;;:::i;:::-;;:::i;7342:61::-;;;:::i;:::-;;;;;;;:::i;17003:102::-;;;;;;:::i;:::-;;:::i;8274:49::-;;;;;;:::i;:::-;;:::i;15263:108::-;;;;;;:::i;:::-;;:::i;7498:33::-;;;:::i;19182:1218::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9037:39::-;;;;;;:::i;:::-;;:::i;6847:38::-;;;:::i;15635:238::-;;;;;;:::i;:::-;;:::i;18529:222::-;;;;;;:::i;:::-;;:::i;17539:789::-;;;;;;:::i;:::-;;:::i;14006:1054::-;;;;;;:::i;:::-;;:::i;12483:136::-;;;;;;:::i;:::-;;:::i;8612:117::-;;;:::i;8135:70::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;10707:232::-;;;;;;:::i;:::-;;:::i;6740:46::-;;;;;;;;;;;;;;-1:-1:-1;;;6740:46:0;;;;:::o;7167:21::-;;;-1:-1:-1;;;;;7167:21:0;;:::o;13097:419::-;13165:4;13182:13;-1:-1:-1;;13210:9:0;:21;13206:173;;;-1:-1:-1;;;13206:173:0;;;13309:58;13316:9;13309:58;;;;;;;;;;;;;;;;;:6;:58::i;:::-;13300:67;;13206:173;13402:10;13391:22;;;;:10;:22;;;;;;;;-1:-1:-1;;;;;13391:31:0;;;;;;;;;;;:40;;-1:-1:-1;;;;;;13391:40:0;-1:-1:-1;;;;;13391:40:0;;;;;13449:37;;13391:31;;13402:10;13449:37;;;;13391:40;;13449:37;:::i;:::-;;;;;;;;13504:4;13497:11;;;13097:419;;;;;:::o;7047:42::-;;;;:::o;8396:122::-;8438:80;;;;;:::i;:::-;;;;;;;;8396:122;:::o;16183:672::-;-1:-1:-1;;;;;16347:15:0;;16265:4;16347:15;;;:10;:15;;;;;;;;16300:10;16347:24;;;;;;;;;;16398:58;;;;;;;;;;;;16300:10;;-1:-1:-1;;;;;16347:24:0;;;;16265:4;;16398:58;;16405:9;;16398:58;;;;;;;:6;:58::i;:::-;16382:74;;16484:3;-1:-1:-1;;;;;16473:14:0;:7;-1:-1:-1;;;;;16473:14:0;;;:48;;;;-1:-1:-1;;;;;;16491:30:0;;;;;16473:48;16469:311;;;16538:19;16560:96;16566:16;16584:6;16560:96;;;;;;;;;;;;;;;;;:5;:96::i;:::-;-1:-1:-1;;;;;16671:15:0;;;;;;;:10;:15;;;;;;;;:24;;;;;;;;;;;;;;:39;;-1:-1:-1;;;;;;16671:39:0;-1:-1:-1;;;;;16671:39:0;;;;;16732:36;16671:39;;-1:-1:-1;16671:24:0;;16732:36;;;;16671:39;;16732:36;:::i;:::-;;;;;;;;16469:311;;16792:33;16808:3;16813;16818:6;16792:15;:33::i;:::-;-1:-1:-1;16843:4:0;;16183:672;-1:-1:-1;;;;;;16183:672:0:o;8819:137::-;8861:95;;;;;:::i;7258:31::-;;;;:::o;6948:35::-;6981:2;6948:35;:::o;11114:1065::-;11199:6;;-1:-1:-1;;;;;11199:6:0;11185:10;:20;11177:69;;;;-1:-1:-1;;;11177:69:0;;;;;;;:::i;:::-;;;;;;;;;11284:19;;11265:15;:38;;11257:86;;;;-1:-1:-1;;;11257:86:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11362:17:0;;11354:77;;;;-1:-1:-1;;;11354:77:0;;;;;;;:::i;:::-;11494:54;11507:15;7391:12;11494;:54::i;:::-;11472:19;:76;;;;11589:13;11605:55;11612:9;11605:55;;;;;;;;;;;;;;;;;:6;:55::i;:::-;11589:71;;11689:53;11702:34;11715:11;;7530:1;11702:34;;:12;:34::i;:::-;11738:3;11689:12;:53::i;:::-;11679:6;-1:-1:-1;;;;;11679:63:0;;;11671:105;;;;-1:-1:-1;;;11671:105:0;;;;;;;:::i;:::-;11801:84;11808:33;11821:11;;11834:6;-1:-1:-1;;;;;11808:33:0;:12;:33::i;:::-;11801:84;;;;;;;;;;;;;;;;;:6;:84::i;:::-;-1:-1:-1;;;;;11787:98:0;;;:11;:98;;;-1:-1:-1;;;;;11969:13:0;;;;:8;:13;;;;;;;;;;11963:69;;;;;;;;;;;;;;11969:13;;;;;11984:6;;11963:69;;;;;;;;:5;:69::i;:::-;-1:-1:-1;;;;;11947:13:0;;;;;;:8;:13;;;;;;:85;;-1:-1:-1;;;;;;11947:85:0;-1:-1:-1;;;;;11947:85:0;;;;;;;;;;;12048:33;;11947:13;;;12048:33;;;;12074:6;;12048:33;:::i;:::-;;;;;;;;-1:-1:-1;;;;;12148:14:0;;;12144:1;12148:14;;;:9;:14;;;;;;12121:50;;12148:14;12164:6;12121:14;:50::i;:::-;11114:1065;;;:::o;7846:45::-;;;;;;;;;;;;-1:-1:-1;;;;;7846:45:0;;:::o;7342:61::-;7391:12;7342:61;:::o;17003:102::-;17065:32;17075:10;17087:9;17065;:32::i;:::-;17003:102;:::o;8274:49::-;;;;;;;;;;;;;;;:::o;15263:108::-;-1:-1:-1;;;;;15346:17:0;15322:4;15346:17;;;:8;:17;;;;;;-1:-1:-1;;;;;15346:17:0;;15263:108::o;7498:33::-;7530:1;7498:33;:::o;19182:1218::-;19261:6;19302:12;19288:11;:26;19280:78;;;;-1:-1:-1;;;19280:78:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19393:23:0;;19371:19;19393:23;;;:14;:23;;;;;;;;19431:17;19427:58;;19472:1;19465:8;;;;;19427:58;-1:-1:-1;;;;;19545:20:0;;;;;;:11;:20;;;;;;;;:38;-1:-1:-1;;19566:16:0;;19545:38;;;;;;;;;:48;;:63;-1:-1:-1;19541:147:0;;-1:-1:-1;;;;;19632:20:0;;;;;;:11;:20;;;;;;;;-1:-1:-1;;19653:16:0;;;;19632:38;;;;;;;;:44;-1:-1:-1;;;19632:44:0;;-1:-1:-1;;;;;19632:44:0;;-1:-1:-1;19625:51:0;;19541:147;-1:-1:-1;;;;;19749:20:0;;;;;;:11;:20;;;;;;;;:23;;;;;;;;:33;:23;:33;:47;-1:-1:-1;19745:88:0;;;19820:1;19813:8;;;;;19745:88;19845:12;-1:-1:-1;;19887:16:0;;19914:428;19929:5;19921:13;;:5;:13;;;19914:428;;;19993:1;19976:13;;;19975:19;;;19967:27;;20036:20;;:::i;:::-;-1:-1:-1;;;;;;20059:20:0;;;;;;:11;:20;;;;;;;;:28;;;;;;;;;;;;;20036:51;;;;;;;;;;;;;;;-1:-1:-1;;;20036:51:0;;;-1:-1:-1;;;;;20036:51:0;;;;;;;;;20106:27;;20102:229;;;20161:8;;;;-1:-1:-1;20154:15:0;;-1:-1:-1;;;;20154:15:0;20102:229;20195:12;;:26;;;-1:-1:-1;20191:140:0;;;20250:6;20242:14;;20191:140;;;20314:1;20305:6;:10;20297:18;;20191:140;19914:428;;;;;-1:-1:-1;;;;;;20359:20:0;;;;;;:11;:20;;;;;;;;:27;;;;;;;;;;:33;-1:-1:-1;;;;;;;;20359:33:0;;;;;-1:-1:-1;;19182:1218:0;;;;:::o;9037:39::-;;;;;;;;;;;;;:::o;6847:38::-;;;;;;;;;;;;;;-1:-1:-1;;;6847:38:0;;;;:::o;15635:238::-;15700:4;15717:13;15733:59;15740:9;15733:59;;;;;;;;;;;;;;;;;:6;:59::i;:::-;15717:75;;15803:40;15819:10;15831:3;15836:6;15803:15;:40::i;:::-;-1:-1:-1;15861:4:0;;15635:238;-1:-1:-1;;;15635:238:0:o;18529:222::-;-1:-1:-1;;;;;18635:23:0;;18594:6;18635:23;;;:14;:23;;;;;;;;18676:16;:67;;18742:1;18676:67;;;-1:-1:-1;;;;;18695:20:0;;;;;;:11;:20;;;;;;;;-1:-1:-1;;18716:16:0;;18695:38;;;;;;;;;:44;-1:-1:-1;;;18695:44:0;;-1:-1:-1;;;;;18695:44:0;18676:67;18669:74;18529:222;-1:-1:-1;;;18529:222:0:o;17539:789::-;17655:23;8438:80;;;;;:::i;:::-;;;;;;;;;;17735:4;;;;;;;;;-1:-1:-1;;;17735:4:0;;;;;;;;17719:22;17743:12;:10;:12::i;:::-;17765:4;17691:80;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17681:91;;;;;;17655:117;;17783:18;8658:71;;;;;:::i;:::-;;;;;;;;;17814:57;;17846:9;;17857:5;;17864:6;;17814:57;;;:::i;:::-;;;;;;;;;;;;;17804:68;;;;;;17783:89;;17883:14;17939:15;17956:10;17910:57;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17900:68;;;;;;17883:85;;17979:17;17999:26;18009:6;18017:1;18020;18023;17999:26;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17999:26:0;;-1:-1:-1;;17999:26:0;;;-1:-1:-1;;;;;;;18044:23:0;;18036:74;;;;-1:-1:-1;;;18036:74:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18138:17:0;;;;;;:6;:17;;;;;:19;;;;;;;;18129:28;;18121:75;;;;-1:-1:-1;;;18121:75:0;;;;;;;:::i;:::-;18222:6;18215:3;:13;;18207:64;;;;-1:-1:-1;;;18207:64:0;;;;;;;:::i;:::-;18289:31;18299:9;18310;18289;:31::i;:::-;18282:38;;;;17539:789;;;;;;;:::o;14006:1054::-;14136:13;-1:-1:-1;;14164:9:0;:21;14160:172;;;-1:-1:-1;;;14160:172:0;;;14263:57;14270:9;14263:57;;;;;;;;;;;;;;;;;:6;:57::i;:::-;14254:66;;14160:172;14344:23;8438:80;;;;;:::i;:::-;;;;;;;;;;14424:4;;;;;;;;;-1:-1:-1;;;14424:4:0;;;;;;;;14408:22;14432:12;:10;:12::i;:::-;14454:4;14380:80;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14370:91;;;;;;14344:117;;14472:18;8861:95;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;14558:13:0;;;;;;:6;:13;;;;;;;:15;;;;;;;;14503:81;;8861:95;;14531:5;;14538:7;;14547:9;;14558:15;;14575:8;;14503:81;;:::i;:::-;;;;;;;;;;;;;14493:92;;;;;;14472:113;;14596:14;14652:15;14669:10;14623:57;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14613:68;;;;;;14596:85;;14692:17;14712:26;14722:6;14730:1;14733;14736;14712:26;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14712:26:0;;-1:-1:-1;;14712:26:0;;;-1:-1:-1;;;;;;;14757:23:0;;14749:67;;;;-1:-1:-1;;;14749:67:0;;;;;;;:::i;:::-;14848:5;-1:-1:-1;;;;;14835:18:0;:9;-1:-1:-1;;;;;14835:18:0;;14827:57;;;;-1:-1:-1;;;14827:57:0;;;;;;;:::i;:::-;14910:8;14903:3;:15;;14895:59;;;;-1:-1:-1;;;14895:59:0;;;;;;;:::i;:::-;14996:6;14967:10;:17;14978:5;-1:-1:-1;;;;;14967:17:0;-1:-1:-1;;;;;14967:17:0;;;;;;;;;;;;:26;14985:7;-1:-1:-1;;;;;14967:26:0;-1:-1:-1;;;;;14967:26:0;;;;;;;;;;;;;:35;;;;;-1:-1:-1;;;;;14967:35:0;;;;;-1:-1:-1;;;;;14967:35:0;;;;;;15036:7;-1:-1:-1;;;;;15020:32:0;15029:5;-1:-1:-1;;;;;15020:32:0;;15045:6;15020:32;;;;;;:::i;:::-;;;;;;;;14006:1054;;;;;;;;;;;;:::o;12483:136::-;-1:-1:-1;;;;;12583:19:0;;;12559:4;12583:19;;;:10;:19;;;;;;;;:28;;;;;;;;;;;;-1:-1:-1;;;;;12583:28:0;;12483:136::o;8612:117::-;8658:71;;;;;:::i;8135:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8135:70:0;;-1:-1:-1;;;;;8135:70:0;;:::o;10707:232::-;10785:6;;-1:-1:-1;;;;;10785:6:0;10771:10;:20;10763:95;;;;-1:-1:-1;;;10763:95:0;;;;;;;:::i;:::-;10888:6;;10874:30;;;;;;-1:-1:-1;;;;;10888:6:0;;;;10896:7;;10874:30;:::i;:::-;;;;;;;;10915:6;:16;;-1:-1:-1;;;;;;10915:16:0;-1:-1:-1;;;;;10915:16:0;;;;;;;;;;10707:232::o;23265:161::-;23340:6;23378:12;-1:-1:-1;;;23367:9:0;;23359:32;;;;-1:-1:-1;;;23359:32:0;;;;;;;;:::i;:::-;-1:-1:-1;23416:1:0;;23265:161;-1:-1:-1;;23265:161:0:o;23630:165::-;23716:6;23748:1;-1:-1:-1;;;;;23743:6:0;:1;-1:-1:-1;;;;;23743:6:0;;;23751:12;23735:29;;;;;-1:-1:-1;;;23735:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;23782:5:0;;;23630:165::o;20791:713::-;-1:-1:-1;;;;;20885:17:0;;20877:90;;;;-1:-1:-1;;;20877:90:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20986:17:0;;20978:88;;;;-1:-1:-1;;;20978:88:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21085:20:0;;21100:4;21085:20;;21077:88;;;;-1:-1:-1;;;21077:88:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21200:13:0;;;;;;:8;:13;;;;;;;;;;21194:86;;;;;;;;;;;;;;-1:-1:-1;;;;;21200:13:0;;;;21215:6;;21194:86;;;;;;;:5;:86::i;:::-;-1:-1:-1;;;;;21178:13:0;;;;;;;:8;:13;;;;;;;;:102;;-1:-1:-1;;;;;;21178:102:0;-1:-1:-1;;;;;21178:102:0;;;;;;21313:13;;;;;;;;;;21307:80;;;;;;;;;;;;;;21313:13;;;;;21328:6;;21307:80;;;;;;;;:5;:80::i;:::-;-1:-1:-1;;;;;21291:13:0;;;;;;;:8;:13;;;;;;;:96;;-1:-1:-1;;;;;;21291:96:0;-1:-1:-1;;;;;21291:96:0;;;;;;;;;;;21403:26;;;;;;;;;;21422:6;;21403:26;:::i;:::-;;;;;;;;-1:-1:-1;;;;;21457:14:0;;;;;;;:9;:14;;;;;;;21473;;;;;;;;21442:54;;21457:14;;;;21473;21489:6;21442:14;:54::i;1055:181::-;1113:7;1145:5;;;1169:6;;;;1161:46;;;;-1:-1:-1;;;1161:46:0;;;;;;;:::i;2809:471::-;2867:7;3112:6;3108:47;;-1:-1:-1;3142:1:0;3135:8;;3108:47;3179:5;;;3183:1;3179;:5;:1;3203:5;;;;;:10;3195:56;;;;-1:-1:-1;;;3195:56:0;;;;;;;:::i;4467:132::-;4525:7;4552:39;4556:1;4559;4552:39;;;;;;;;;;;;;;;;;:3;:39::i;23434:188::-;23520:6;23550:5;;;23582:12;-1:-1:-1;;;;;23574:6:0;;;;;;;;23566:29;;;;-1:-1:-1;;;23566:29:0;;;;;;;;:::i;:::-;-1:-1:-1;23613:1:0;23434:188;-1:-1:-1;;;;23434:188:0:o;21512:939::-;21617:6;-1:-1:-1;;;;;21607:16:0;:6;-1:-1:-1;;;;;21607:16:0;;;:30;;;;;21636:1;21627:6;-1:-1:-1;;;;;21627:10:0;;21607:30;21603:841;;;-1:-1:-1;;;;;21658:20:0;;;21654:382;;-1:-1:-1;;;;;21718:22:0;;21699:16;21718:22;;;:14;:22;;;;;;;;;21778:13;:60;;21837:1;21778:60;;;-1:-1:-1;;;;;21794:19:0;;;;;;:11;:19;;;;;;;;-1:-1:-1;;21814:13:0;;21794:34;;;;;;;;;:40;-1:-1:-1;;;21794:40:0;;-1:-1:-1;;;;;21794:40:0;21778:60;21759:79;;21857:16;21876:68;21882:9;21893:6;21876:68;;;;;;;;;;;;;;;;;:5;:68::i;:::-;21857:87;;21963:57;21980:6;21988:9;21999;22010;21963:16;:57::i;:::-;21654:382;;;;-1:-1:-1;;;;;22056:20:0;;;22052:381;;-1:-1:-1;;;;;22116:22:0;;22097:16;22116:22;;;:14;:22;;;;;;;;;22176:13;:60;;22235:1;22176:60;;;-1:-1:-1;;;;;22192:19:0;;;;;;:11;:19;;;;;;;;-1:-1:-1;;22212:13:0;;22192:34;;;;;;;;;:40;-1:-1:-1;;;22192:40:0;;-1:-1:-1;;;;;22192:40:0;22176:60;22157:79;;22255:16;22274:67;22280:9;22291:6;22274:67;;;;;;;;;;;;;;;;;:5;:67::i;:::-;22255:86;;22360:57;22377:6;22385:9;22396;22407;22360:16;:57::i;20408:375::-;-1:-1:-1;;;;;20511:20:0;;;20485:23;20511:20;;;:9;:20;;;;;;;;;;20568:8;:19;;;;;;20598:20;;;;:32;;;-1:-1:-1;;;;;;20598:32:0;;;;;;;20648:54;;20511:20;;;;;-1:-1:-1;;;;;20568:19:0;;;;20598:32;;20511:20;;;20648:54;;20485:23;20648:54;20715:60;20730:15;20747:9;20758:16;20715:14;:60::i;:::-;20408:375;;;;:::o;23803:153::-;23913:9;23803:153;:::o;5087:345::-;5173:7;5275:12;5268:5;5260:28;;;;-1:-1:-1;;;5260:28:0;;;;;;;;:::i;:::-;;5299:9;5315:1;5311;:5;;;;;;;5087:345;-1:-1:-1;;;;;5087:345:0:o;22459:629::-;22577:18;22598:76;22605:12;22598:76;;;;;;;;;;;;;;;;;:6;:76::i;:::-;22577:97;;22704:1;22689:12;:16;;;:85;;;;-1:-1:-1;;;;;;22709:22:0;;;;;;:11;:22;;;;;;;;:65;-1:-1:-1;;22732:16:0;;22709:40;;;;;;;;;:50;:65;;;:50;;:65;22689:85;22685:329;;;-1:-1:-1;;;;;22789:22:0;;;;;;:11;:22;;;;;;;;-1:-1:-1;;22812:16:0;;22789:40;;;;;;;;;:57;;-1:-1:-1;;22789:57:0;-1:-1:-1;;;;;;;;22789:57:0;;;;;;22685:329;;;22914:33;;;;;;;;;;;;;;-1:-1:-1;;;;;22914:33:0;;;;;;;;;;-1:-1:-1;;;;;22875:22:0;;-1:-1:-1;22875:22:0;;;:11;:22;;;;;:36;;;;;;;;;;:72;;;;;;;;;-1:-1:-1;;;22875:72:0;-1:-1:-1;;22875:72:0;;;-1:-1:-1;;22875:72:0;;;;;;;;;;;;;;;22960:25;;;:14;:25;;;;;;;:44;;22875:72;22988:16;;22960:44;;;;;;;;;;;;;22685:329;23050:9;-1:-1:-1;;;;;23029:51:0;;23061:8;23071;23029:51;;;;;;;:::i;:::-;;;;;;;;22459:629;;;;;:::o;23096:161::-;23171:6;23209:12;-1:-1:-1;;;23198:9:0;;23190:32;;;;-1:-1:-1;;;23190:32:0;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;-1:-1;;;;;29492:54;;30566:35;;30556:2;;30615:1;;30605:12;551:126;616:20;;29803:4;29792:16;;31058:33;;31048:2;;31105:1;;31095:12;684:241;;788:2;776:9;767:7;763:23;759:32;756:2;;;-1:-1;;794:12;756:2;856:53;901:7;877:22;856:53;:::i;932:366::-;;;1053:2;1041:9;1032:7;1028:23;1024:32;1021:2;;;-1:-1;;1059:12;1021:2;1121:53;1166:7;1142:22;1121:53;:::i;:::-;1111:63;;1229:53;1274:7;1211:2;1254:9;1250:22;1229:53;:::i;:::-;1219:63;;1015:283;;;;;:::o;1305:491::-;;;;1443:2;1431:9;1422:7;1418:23;1414:32;1411:2;;;-1:-1;;1449:12;1411:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;1501:63;-1:-1;1601:2;1640:22;;72:20;97:33;72:20;97:33;:::i;:::-;1405:391;;1609:63;;-1:-1;;;1709:2;1748:22;;;;346:20;;1405:391::o;1803:991::-;;;;;;;;2007:3;1995:9;1986:7;1982:23;1978:33;1975:2;;;-1:-1;;2014:12;1975:2;2076:53;2121:7;2097:22;2076:53;:::i;:::-;2066:63;;2184:53;2229:7;2166:2;2209:9;2205:22;2184:53;:::i;:::-;2174:63;;2274:2;2317:9;2313:22;346:20;2282:63;;2382:2;2425:9;2421:22;346:20;2390:63;;2509:51;2552:7;2490:3;2532:9;2528:22;2509:51;:::i;:::-;2499:61;;2597:3;2641:9;2637:22;209:20;2606:63;;2706:3;2750:9;2746:22;209:20;2715:63;;1969:825;;;;;;;;;;:::o;2801:366::-;;;2922:2;2910:9;2901:7;2897:23;2893:32;2890:2;;;-1:-1;;2928:12;2890:2;2990:53;3035:7;3011:22;2990:53;:::i;:::-;2980:63;3080:2;3119:22;;;;346:20;;-1:-1;;;2884:283::o;3174:865::-;;;;;;;3361:3;3349:9;3340:7;3336:23;3332:33;3329:2;;;-1:-1;;3368:12;3329:2;3430:53;3475:7;3451:22;3430:53;:::i;:::-;3420:63;;3520:2;3563:9;3559:22;346:20;3528:63;;3628:2;3671:9;3667:22;346:20;3636:63;;3754:51;3797:7;3736:2;3777:9;3773:22;3754:51;:::i;:::-;3744:61;;3842:3;3886:9;3882:22;209:20;3851:63;;3951:3;3995:9;3991:22;209:20;3960:63;;3323:716;;;;;;;;:::o;4046:364::-;;;4166:2;4154:9;4145:7;4141:23;4137:32;4134:2;;;-1:-1;;4172:12;4134:2;4234:53;4279:7;4255:22;4234:53;:::i;:::-;4224:63;;4324:2;4366:9;4362:22;482:20;29709:10;30964:5;29698:22;30940:5;30937:34;30927:2;;-1:-1;;30975:12;30927:2;4332:62;;;;4128:282;;;;;:::o;14090:659::-;-1:-1;;;6740:87;;6725:1;6846:11;;4719:37;;;;14601:12;;;4719:37;14712:12;;;14335:414::o;14756:381::-;9302:34;9282:55;;9371:34;9366:2;9357:12;;9350:56;-1:-1;;;9435:2;9426:12;;9419:42;9266:2;9480:12;;14945:192::o;15144:381::-;10207:34;10187:55;;10276:34;10271:2;10262:12;;10255:56;-1:-1;;;10340:2;10331:12;;10324:27;10171:2;10370:12;;15333:192::o;15532:381::-;12585:34;12565:55;;12654:28;12649:2;12640:12;;12633:50;12549:2;12702:12;;15721:192::o;15920:222::-;-1:-1;;;;;29492:54;;;;4488:37;;16047:2;16032:18;;16018:124::o;16149:333::-;-1:-1;;;;;29492:54;;;4488:37;;29492:54;;16468:2;16453:18;;4488:37;16304:2;16289:18;;16275:207::o;16489:210::-;29325:13;;29318:21;4602:34;;16610:2;16595:18;;16581:118::o;16706:222::-;4719:37;;;16833:2;16818:18;;16804:124::o;16935:780::-;4719:37;;;-1:-1;;;;;29492:54;;;17367:2;17352:18;;4488:37;29492:54;;;;17450:2;17435:18;;4488:37;17533:2;17518:18;;4719:37;17616:3;17601:19;;4719:37;;;;29503:42;17685:19;;4719:37;17202:3;17187:19;;17173:542::o;17722:556::-;4719:37;;;-1:-1;;;;;29492:54;;;;18098:2;18083:18;;4488:37;18181:2;18166:18;;4719:37;18264:2;18249:18;;4719:37;17933:3;17918:19;;17904:374::o;18285:556::-;4719:37;;;18661:2;18646:18;;4719:37;;;;18744:2;18729:18;;4719:37;-1:-1;;;;;29492:54;18827:2;18812:18;;4488:37;18496:3;18481:19;;18467:374::o;18848:548::-;4719:37;;;29803:4;29792:16;;;;19216:2;19201:18;;13795:35;19299:2;19284:18;;4719:37;19382:2;19367:18;;4719:37;19055:3;19040:19;;19026:370::o;19403:310::-;;19550:2;;19571:17;19564:47;5072:5;28794:12;28951:6;19550:2;19539:9;19535:18;28939:19;-1:-1;30117:101;30131:6;30128:1;30125:13;30117:101;;;30198:11;;;;;30192:18;30179:11;;;28979:14;30179:11;30172:39;30146:10;;30117:101;;;30233:6;30230:1;30227:13;30224:2;;;-1:-1;28979:14;30289:6;19539:9;30280:16;;30273:27;30224:2;-1:-1;30486:7;30470:14;-1:-1;;30466:28;5230:39;;;;28979:14;5230:39;;19521:192;-1:-1;;;19521:192::o;19720:416::-;19920:2;19934:47;;;5506:2;19905:18;;;28939:19;5542:34;28979:14;;;5522:55;-1:-1;;;5597:12;;;5590:39;5648:12;;;19891:245::o;20143:416::-;20343:2;20357:47;;;5899:2;20328:18;;;28939:19;5935:34;28979:14;;;5915:55;6004:30;5990:12;;;5983:52;6054:12;;;20314:245::o;20566:416::-;20766:2;20780:47;;;6305:2;20751:18;;;28939:19;6341:34;28979:14;;;6321:55;-1:-1;;;6396:12;;;6389:30;6438:12;;;20737:245::o;20989:416::-;21189:2;21203:47;;;7096:2;21174:18;;;28939:19;7132:29;28979:14;;;7112:50;7181:12;;;21160:245::o;21412:416::-;21612:2;21626:47;;;7432:2;21597:18;;;28939:19;7468:34;28979:14;;;7448:55;-1:-1;;;7523:12;;;7516:30;7565:12;;;21583:245::o;21835:416::-;22035:2;22049:47;;;7816:2;22020:18;;;28939:19;7852:33;28979:14;;;7832:54;7905:12;;;22006:245::o;22258:416::-;22458:2;22472:47;;;8156:2;22443:18;;;28939:19;8192:34;28979:14;;;8172:55;8261:25;8247:12;;;8240:47;8306:12;;;22429:245::o;22681:416::-;22881:2;22895:47;;;8557:2;22866:18;;;28939:19;8593:31;28979:14;;;8573:52;8644:12;;;22852:245::o;23104:416::-;23304:2;23318:47;;;8895:2;23289:18;;;28939:19;8931:28;28979:14;;;8911:49;8979:12;;;23275:245::o;23527:416::-;23727:2;23741:47;;;9731:2;23712:18;;;28939:19;9767:34;28979:14;;;9747:55;9836:28;9822:12;;;9815:50;9884:12;;;23698:245::o;23950:416::-;24150:2;24164:47;;;10621:2;24135:18;;;28939:19;10657:34;28979:14;;;10637:55;-1:-1;;;10712:12;;;10705:25;10749:12;;;24121:245::o;24373:416::-;24573:2;24587:47;;;11000:2;24558:18;;;28939:19;11036:33;28979:14;;;11016:54;11089:12;;;24544:245::o;24796:416::-;24996:2;25010:47;;;11340:2;24981:18;;;28939:19;11376:34;28979:14;;;11356:55;-1:-1;;;11431:12;;;11424:31;11474:12;;;24967:245::o;25219:416::-;25419:2;25433:47;;;11725:2;25404:18;;;28939:19;11761:34;28979:14;;;11741:55;11830:32;11816:12;;;11809:54;11882:12;;;25390:245::o;25642:416::-;25842:2;25856:47;;;12133:2;25827:18;;;28939:19;12169:34;28979:14;;;12149:55;-1:-1;;;12224:12;;;12217:26;12262:12;;;25813:245::o;26065:416::-;26265:2;26279:47;;;12953:2;26250:18;;;28939:19;12989:34;28979:14;;;12969:55;-1:-1;;;13044:12;;;13037:27;13083:12;;;26236:245::o;26488:416::-;26688:2;26702:47;;;13334:2;26673:18;;;28939:19;13370:34;28979:14;;;13350:55;-1:-1;;;13425:12;;;13418:28;13465:12;;;26659:245::o;27140:218::-;29709:10;29698:22;;;;13680:36;;27265:2;27250:18;;27236:122::o;27365:325::-;29709:10;29698:22;;;;13680:36;;-1:-1;;;;;29881:38;27676:2;27661:18;;14042:36;27516:2;27501:18;;27487:203::o;27697:214::-;29803:4;29792:16;;;;13795:35;;27820:2;27805:18;;27791:120::o;27918:220::-;-1:-1;;;;;29881:38;;;;13912:49;;28044:2;28029:18;;28015:123::o;28370:329::-;-1:-1;;;;;29881:38;;;13912:49;;29881:38;;28685:2;28670:18;;13912:49;28523:2;28508:18;;28494:205::o;30507:117::-;-1:-1;;;;;29492:54;;30566:35;;30556:2;;30615:1;;30605:12
Swarm Source
ipfs://a96b5bcc0f4c5fc9eb7fa4f0607cd3d6976b06e9e862339c899567a01dc0a9e8
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.