ETH Price: $2,285.36 (+0.38%)

Token

CC0 (CC0)
 

Overview

Max Total Supply

268,162 CC0

Holders

50

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
eemree.eth
Balance
16 CC0

Value
$0.00
0x317Bc38b66566566529C41462bA774F489b4a63f
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MerkleClaimERC20

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2022-05-01
*/

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/MerkleProof.sol


// OpenZeppelin Contracts (last updated v4.6.0) (utils/cryptography/MerkleProof.sol)

pragma solidity ^0.8.0;

/**
 * @dev These functions deal with verification of Merkle Trees proofs.
 *
 * The proofs can be generated using the JavaScript library
 * https://github.com/miguelmota/merkletreejs[merkletreejs].
 * Note: the hashing algorithm should be keccak256 and pair sorting should be enabled.
 *
 * See `test/utils/cryptography/MerkleProof.test.js` for some examples.
 *
 * WARNING: You should avoid using leaf values that are 64 bytes long prior to
 * hashing, or use a hash function other than keccak256 for hashing leaves.
 * This is because the concatenation of a sorted pair of internal nodes in
 * the merkle tree could be reinterpreted as a leaf value.
 */
library MerkleProof {
    /**
     * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree
     * defined by `root`. For this, a `proof` must be provided, containing
     * sibling hashes on the branch from the leaf to the root of the tree. Each
     * pair of leaves and each pair of pre-images are assumed to be sorted.
     */
    function verify(
        bytes32[] memory proof,
        bytes32 root,
        bytes32 leaf
    ) internal pure returns (bool) {
        return processProof(proof, leaf) == root;
    }

    /**
     * @dev Returns the rebuilt hash obtained by traversing a Merkle tree up
     * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt
     * hash matches the root of the tree. When processing the proof, the pairs
     * of leafs & pre-images are assumed to be sorted.
     *
     * _Available since v4.4._
     */
    function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) {
        bytes32 computedHash = leaf;
        for (uint256 i = 0; i < proof.length; i++) {
            bytes32 proofElement = proof[i];
            if (computedHash <= proofElement) {
                // Hash(current computed hash + current element of the proof)
                computedHash = _efficientHash(computedHash, proofElement);
            } else {
                // Hash(current element of the proof + current computed hash)
                computedHash = _efficientHash(proofElement, computedHash);
            }
        }
        return computedHash;
    }

    function _efficientHash(bytes32 a, bytes32 b) private pure returns (bytes32 value) {
        assembly {
            mstore(0x00, a)
            mstore(0x20, b)
            value := keccak256(0x00, 0x40)
        }
    }
}

// File: https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC20.sol


pragma solidity >=0.8.0;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);

    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /*//////////////////////////////////////////////////////////////
                            METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    /*//////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;

    /*//////////////////////////////////////////////////////////////
                            EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 internal immutable INITIAL_CHAIN_ID;

    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
    }

    /*//////////////////////////////////////////////////////////////
                               ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.

        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(from, to, amount);

        return true;
    }

    /*//////////////////////////////////////////////////////////////
                             EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256(
                                    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
                                ),
                                owner,
                                spender,
                                value,
                                nonces[owner]++,
                                deadline
                            )
                        )
                    )
                ),
                v,
                r,
                s
            );

            require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER");

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                    keccak256(bytes(name)),
                    keccak256("1"),
                    block.chainid,
                    address(this)
                )
            );
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;

        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {
            totalSupply -= amount;
        }

        emit Transfer(from, address(0), amount);
    }
}

// File: contracts/MerkleClaimERC20.sol


pragma solidity >=0.8.0;

/// ============ Imports ============



/// @title MerkleClaimERC20
/// @notice ERC20 claimable by members of a merkle tree
/// @author Anish Agnihotri <[email protected]>
/// @dev Solmate ERC20 includes unused _burn logic that can be removed to optimize deployment cost
contract MerkleClaimERC20 is ERC20 {

  /// ============ Immutable storage ============

  /// @notice ERC20-claimee inclusion root
  bytes32 public immutable merkleRoot;

  /// ============ Mutable storage ============

  /// @notice Mapping of addresses who have claimed tokens
  mapping(address => bool) public hasClaimed;

  /// ============ Errors ============

  /// @notice Thrown if address has already claimed
  error AlreadyClaimed();
  /// @notice Thrown if address/amount are not part of Merkle tree
  error NotInMerkle();

  /// ============ Constructor ============

  /// @notice Creates a new MerkleClaimERC20 contract
  /// @param _name of token
  /// @param _symbol of token
  /// @param _decimals of token
  /// @param _merkleRoot of claimees
  constructor(
    string memory _name,
    string memory _symbol,
    uint8 _decimals,
    bytes32 _merkleRoot
  ) ERC20(_name, _symbol, _decimals) {
    merkleRoot = _merkleRoot; // Update root
  }

  /// ============ Events ============

  /// @notice Emitted after a successful token claim
  /// @param to recipient of claim
  /// @param amount of tokens claimed
  event Claim(address indexed to, uint256 amount);

  /// ============ Functions ============

  /// @notice Allows claiming tokens if address is part of merkle tree
  /// @param to address of claimee
  /// @param amount of tokens owed to claimee
  /// @param proof merkle proof to prove address and amount are in tree
  function claim(address to, uint256 amount, bytes32[] calldata proof) external {
    // Throw if address has already claimed tokens
    if (hasClaimed[to]) revert AlreadyClaimed();

    // Verify merkle proof, or revert if not in tree
    bytes32 leaf = keccak256(abi.encodePacked(to, amount));
    bool isValidLeaf = MerkleProof.verify(proof, merkleRoot, leaf);
    if (!isValidLeaf) revert NotInMerkle();

    // Set address to claimed
    hasClaimed[to] = true;

    // Mint tokens to address
    _mint(to, amount);

    // Emit claim event
    emit Claim(to, amount);
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyClaimed","type":"error"},{"inputs":[],"name":"NotInMerkle","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":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claim","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":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"hasClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","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":[],"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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

6101006040523480156200001257600080fd5b50604051620022563803806200225683398181016040528101906200003891906200029e565b83838382600090805190602001906200005392919062000142565b5081600190805190602001906200006c92919062000142565b508060ff1660808160ff1660f81b815250504660a0818152505062000096620000b260201b60201c565b60c081815250505050508060e0818152505050505050620006af565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000e691906200040c565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016200012795949392919062000425565b60405160208183030381529060405280519060200120905090565b82805462000150906200058c565b90600052602060002090601f016020900481019282620001745760008555620001c0565b82601f106200018f57805160ff1916838001178555620001c0565b82800160010185558215620001c0579182015b82811115620001bf578251825591602001919060010190620001a2565b5b509050620001cf9190620001d3565b5090565b5b80821115620001ee576000816000905550600101620001d4565b5090565b6000620002096200020384620004ab565b62000482565b9050828152602081018484840111156200022857620002276200065b565b5b6200023584828562000556565b509392505050565b6000815190506200024e816200067b565b92915050565b600082601f8301126200026c576200026b62000656565b5b81516200027e848260208601620001f2565b91505092915050565b600081519050620002988162000695565b92915050565b60008060008060808587031215620002bb57620002ba62000665565b5b600085015167ffffffffffffffff811115620002dc57620002db62000660565b5b620002ea8782880162000254565b945050602085015167ffffffffffffffff8111156200030e576200030d62000660565b5b6200031c8782880162000254565b93505060406200032f8782880162000287565b925050606062000342878288016200023d565b91505092959194509250565b620003598162000501565b82525050565b6200036a8162000515565b82525050565b600081546200037f816200058c565b6200038b8186620004f6565b94506001821660008114620003a95760018114620003bb57620003f2565b60ff19831686528186019350620003f2565b620003c685620004e1565b60005b83811015620003ea57815481890152600182019150602081019050620003c9565b838801955050505b50505092915050565b62000406816200053f565b82525050565b60006200041a828462000370565b915081905092915050565b600060a0820190506200043c60008301886200035f565b6200044b60208301876200035f565b6200045a60408301866200035f565b620004696060830185620003fb565b6200047860808301846200034e565b9695505050505050565b60006200048e620004a1565b90506200049c8282620005c2565b919050565b6000604051905090565b600067ffffffffffffffff821115620004c957620004c862000627565b5b620004d4826200066a565b9050602081019050919050565b60008190508160005260206000209050919050565b600081905092915050565b60006200050e826200051f565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156200057657808201518184015260208101905062000559565b8381111562000586576000848401525b50505050565b60006002820490506001821680620005a557607f821691505b60208210811415620005bc57620005bb620005f8565b5b50919050565b620005cd826200066a565b810181811067ffffffffffffffff82111715620005ef57620005ee62000627565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b620006868162000515565b81146200069257600080fd5b50565b620006a08162000549565b8114620006ac57600080fd5b50565b60805160f81c60a05160c05160e051611b63620006f36000396000818161070801526108a501526000610786015260006107520152600061072c0152611b636000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80633d13f8741161009757806395d89b411161006657806395d89b411461029c578063a9059cbb146102ba578063d505accf146102ea578063dd62ed3e14610306576100f5565b80633d13f874146101f057806370a082311461020c57806373b2e80e1461023c5780637ecebe001461026c576100f5565b806323b872dd116100d357806323b872dd146101665780632eb4a7ab14610196578063313ce567146101b45780633644e515146101d2576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610336565b60405161010f91906116e4565b60405180910390f35b610132600480360381019061012d91906112d6565b6103c4565b60405161013f91906115b5565b60405180910390f35b6101506104b6565b60405161015d9190611746565b60405180910390f35b610180600480360381019061017b91906111e1565b6104bc565b60405161018d91906115b5565b60405180910390f35b61019e610706565b6040516101ab91906115d0565b60405180910390f35b6101bc61072a565b6040516101c99190611761565b60405180910390f35b6101da61074e565b6040516101e791906115d0565b60405180910390f35b61020a60048036038101906102059190611316565b6107ab565b005b61022660048036038101906102219190611174565b6109bb565b6040516102339190611746565b60405180910390f35b61025660048036038101906102519190611174565b6109d3565b60405161026391906115b5565b60405180910390f35b61028660048036038101906102819190611174565b6109f3565b6040516102939190611746565b60405180910390f35b6102a4610a0b565b6040516102b191906116e4565b60405180910390f35b6102d460048036038101906102cf91906112d6565b610a99565b6040516102e191906115b5565b60405180910390f35b61030460048036038101906102ff9190611234565b610bad565b005b610320600480360381019061031b91906111a1565b610ea6565b60405161032d9190611746565b60405180910390f35b60008054610343906118df565b80601f016020809104026020016040519081016040528092919081815260200182805461036f906118df565b80156103bc5780601f10610391576101008083540402835291602001916103bc565b820191906000526020600020905b81548152906001019060200180831161039f57829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104a49190611746565b60405180910390a36001905092915050565b60025481565b600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105f25782816105719190611819565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106419190611819565b9250508190555082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516106f29190611746565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000046146107845761077f610ecb565b6107a6565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561082f576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848460405160200161084492919061153b565b60405160208183030381529060405280519060200120905060006108ca848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050507f000000000000000000000000000000000000000000000000000000000000000084610f57565b905080610903576040517f8a585be200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506109658686610f6e565b8573ffffffffffffffffffffffffffffffffffffffff167f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4866040516109ab9190611746565b60405180910390a2505050505050565b60036020528060005260406000206000915090505481565b60066020528060005260406000206000915054906101000a900460ff1681565b60056020528060005260406000206000915090505481565b60018054610a18906118df565b80601f0160208091040260200160405190810160405280929190818152602001828054610a44906118df565b8015610a915780601f10610a6657610100808354040283529160200191610a91565b820191906000526020600020905b815481529060010190602001808311610a7457829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610aea9190611819565b9250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b9b9190611746565b60405180910390a36001905092915050565b42841015610bf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be790611726565b60405180910390fd5b60006001610bfc61074e565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a600560008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b604051602001610c84969594939291906115eb565b60405160208183030381529060405280519060200120604051602001610cab92919061157e565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051610ce1949392919061169f565b6020604051602081039080840390855afa158015610d03573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610d7757508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610db6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dad90611706565b60405180910390fd5b85600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610e959190611746565b60405180910390a350505050505050565b6004602052816000526040600020602052806000526040600020600091509150505481565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610efd9190611567565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610f3c95949392919061164c565b60405160208183030381529060405280519060200120905090565b600082610f64858461103e565b1490509392505050565b8060026000828254610f8091906117c3565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110329190611746565b60405180910390a35050565b60008082905060005b84518110156110a8576000858281518110611065576110646119f0565b5b602002602001015190508083116110875761108083826110b3565b9250611094565b61109181846110b3565b92505b5080806110a090611911565b915050611047565b508091505092915050565b600082600052816020526040600020905092915050565b6000813590506110d981611ad1565b92915050565b60008083601f8401126110f5576110f4611a24565b5b8235905067ffffffffffffffff81111561111257611111611a1f565b5b60208301915083602082028301111561112e5761112d611a29565b5b9250929050565b60008135905061114481611ae8565b92915050565b60008135905061115981611aff565b92915050565b60008135905061116e81611b16565b92915050565b60006020828403121561118a57611189611a33565b5b6000611198848285016110ca565b91505092915050565b600080604083850312156111b8576111b7611a33565b5b60006111c6858286016110ca565b92505060206111d7858286016110ca565b9150509250929050565b6000806000606084860312156111fa576111f9611a33565b5b6000611208868287016110ca565b9350506020611219868287016110ca565b925050604061122a8682870161114a565b9150509250925092565b600080600080600080600060e0888a03121561125357611252611a33565b5b60006112618a828b016110ca565b97505060206112728a828b016110ca565b96505060406112838a828b0161114a565b95505060606112948a828b0161114a565b94505060806112a58a828b0161115f565b93505060a06112b68a828b01611135565b92505060c06112c78a828b01611135565b91505092959891949750929550565b600080604083850312156112ed576112ec611a33565b5b60006112fb858286016110ca565b925050602061130c8582860161114a565b9150509250929050565b600080600080606085870312156113305761132f611a33565b5b600061133e878288016110ca565b945050602061134f8782880161114a565b935050604085013567ffffffffffffffff8111156113705761136f611a2e565b5b61137c878288016110df565b925092505092959194509250565b6113938161184d565b82525050565b6113aa6113a58261184d565b61195a565b82525050565b6113b98161185f565b82525050565b6113c88161186b565b82525050565b6113df6113da8261186b565b61196c565b82525050565b600081546113f2816118df565b6113fc818661179c565b9450600182166000811461141757600181146114285761145b565b60ff1983168652818601935061145b565b6114318561177c565b60005b8381101561145357815481890152600182019150602081019050611434565b838801955050505b50505092915050565b600061146f82611791565b61147981856117a7565b93506114898185602086016118ac565b61149281611a38565b840191505092915050565b60006114aa6002836117b8565b91506114b582611a56565b600282019050919050565b60006114cd600e836117a7565b91506114d882611a7f565b602082019050919050565b60006114f06017836117a7565b91506114fb82611aa8565b602082019050919050565b61150f81611895565b82525050565b61152661152182611895565b611988565b82525050565b6115358161189f565b82525050565b60006115478285611399565b6014820191506115578284611515565b6020820191508190509392505050565b600061157382846113e5565b915081905092915050565b60006115898261149d565b915061159582856113ce565b6020820191506115a582846113ce565b6020820191508190509392505050565b60006020820190506115ca60008301846113b0565b92915050565b60006020820190506115e560008301846113bf565b92915050565b600060c08201905061160060008301896113bf565b61160d602083018861138a565b61161a604083018761138a565b6116276060830186611506565b6116346080830185611506565b61164160a0830184611506565b979650505050505050565b600060a08201905061166160008301886113bf565b61166e60208301876113bf565b61167b60408301866113bf565b6116886060830185611506565b611695608083018461138a565b9695505050505050565b60006080820190506116b460008301876113bf565b6116c1602083018661152c565b6116ce60408301856113bf565b6116db60608301846113bf565b95945050505050565b600060208201905081810360008301526116fe8184611464565b905092915050565b6000602082019050818103600083015261171f816114c0565b9050919050565b6000602082019050818103600083015261173f816114e3565b9050919050565b600060208201905061175b6000830184611506565b92915050565b6000602082019050611776600083018461152c565b92915050565b60008190508160005260206000209050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006117ce82611895565b91506117d983611895565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561180e5761180d611992565b5b828201905092915050565b600061182482611895565b915061182f83611895565b92508282101561184257611841611992565b5b828203905092915050565b600061185882611875565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156118ca5780820151818401526020810190506118af565b838111156118d9576000848401525b50505050565b600060028204905060018216806118f757607f821691505b6020821081141561190b5761190a6119c1565b5b50919050565b600061191c82611895565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561194f5761194e611992565b5b600182019050919050565b600061196582611976565b9050919050565b6000819050919050565b600061198182611a49565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f494e56414c49445f5349474e4552000000000000000000000000000000000000600082015250565b7f5045524d49545f444541444c494e455f45585049524544000000000000000000600082015250565b611ada8161184d565b8114611ae557600080fd5b50565b611af18161186b565b8114611afc57600080fd5b50565b611b0881611895565b8114611b1357600080fd5b50565b611b1f8161189f565b8114611b2a57600080fd5b5056fea2646970667358221220f6fe991a3e52f3fc0befca3a915bdac4d6a625653f17a621db830a98ccc9ac3864736f6c63430008070033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012be735b2cdd16b3bc695a896be53bf079847bb32f5e06b596c4a7fc12f61ccee00000000000000000000000000000000000000000000000000000000000000003434330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034343300000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80633d13f8741161009757806395d89b411161006657806395d89b411461029c578063a9059cbb146102ba578063d505accf146102ea578063dd62ed3e14610306576100f5565b80633d13f874146101f057806370a082311461020c57806373b2e80e1461023c5780637ecebe001461026c576100f5565b806323b872dd116100d357806323b872dd146101665780632eb4a7ab14610196578063313ce567146101b45780633644e515146101d2576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610336565b60405161010f91906116e4565b60405180910390f35b610132600480360381019061012d91906112d6565b6103c4565b60405161013f91906115b5565b60405180910390f35b6101506104b6565b60405161015d9190611746565b60405180910390f35b610180600480360381019061017b91906111e1565b6104bc565b60405161018d91906115b5565b60405180910390f35b61019e610706565b6040516101ab91906115d0565b60405180910390f35b6101bc61072a565b6040516101c99190611761565b60405180910390f35b6101da61074e565b6040516101e791906115d0565b60405180910390f35b61020a60048036038101906102059190611316565b6107ab565b005b61022660048036038101906102219190611174565b6109bb565b6040516102339190611746565b60405180910390f35b61025660048036038101906102519190611174565b6109d3565b60405161026391906115b5565b60405180910390f35b61028660048036038101906102819190611174565b6109f3565b6040516102939190611746565b60405180910390f35b6102a4610a0b565b6040516102b191906116e4565b60405180910390f35b6102d460048036038101906102cf91906112d6565b610a99565b6040516102e191906115b5565b60405180910390f35b61030460048036038101906102ff9190611234565b610bad565b005b610320600480360381019061031b91906111a1565b610ea6565b60405161032d9190611746565b60405180910390f35b60008054610343906118df565b80601f016020809104026020016040519081016040528092919081815260200182805461036f906118df565b80156103bc5780601f10610391576101008083540402835291602001916103bc565b820191906000526020600020905b81548152906001019060200180831161039f57829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104a49190611746565b60405180910390a36001905092915050565b60025481565b600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105f25782816105719190611819565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106419190611819565b9250508190555082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516106f29190611746565b60405180910390a360019150509392505050565b7fbe735b2cdd16b3bc695a896be53bf079847bb32f5e06b596c4a7fc12f61ccee081565b7f000000000000000000000000000000000000000000000000000000000000001281565b60007f000000000000000000000000000000000000000000000000000000000000000146146107845761077f610ecb565b6107a6565b7f22e7b6429da08499219b1b6975d896b5abdecdf247eb401ee875fbfbf892cb865b905090565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561082f576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848460405160200161084492919061153b565b60405160208183030381529060405280519060200120905060006108ca848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050507fbe735b2cdd16b3bc695a896be53bf079847bb32f5e06b596c4a7fc12f61ccee084610f57565b905080610903576040517f8a585be200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506109658686610f6e565b8573ffffffffffffffffffffffffffffffffffffffff167f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4866040516109ab9190611746565b60405180910390a2505050505050565b60036020528060005260406000206000915090505481565b60066020528060005260406000206000915054906101000a900460ff1681565b60056020528060005260406000206000915090505481565b60018054610a18906118df565b80601f0160208091040260200160405190810160405280929190818152602001828054610a44906118df565b8015610a915780601f10610a6657610100808354040283529160200191610a91565b820191906000526020600020905b815481529060010190602001808311610a7457829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610aea9190611819565b9250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b9b9190611746565b60405180910390a36001905092915050565b42841015610bf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be790611726565b60405180910390fd5b60006001610bfc61074e565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a600560008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b604051602001610c84969594939291906115eb565b60405160208183030381529060405280519060200120604051602001610cab92919061157e565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051610ce1949392919061169f565b6020604051602081039080840390855afa158015610d03573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610d7757508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610db6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dad90611706565b60405180910390fd5b85600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610e959190611746565b60405180910390a350505050505050565b6004602052816000526040600020602052806000526040600020600091509150505481565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610efd9190611567565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610f3c95949392919061164c565b60405160208183030381529060405280519060200120905090565b600082610f64858461103e565b1490509392505050565b8060026000828254610f8091906117c3565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110329190611746565b60405180910390a35050565b60008082905060005b84518110156110a8576000858281518110611065576110646119f0565b5b602002602001015190508083116110875761108083826110b3565b9250611094565b61109181846110b3565b92505b5080806110a090611911565b915050611047565b508091505092915050565b600082600052816020526040600020905092915050565b6000813590506110d981611ad1565b92915050565b60008083601f8401126110f5576110f4611a24565b5b8235905067ffffffffffffffff81111561111257611111611a1f565b5b60208301915083602082028301111561112e5761112d611a29565b5b9250929050565b60008135905061114481611ae8565b92915050565b60008135905061115981611aff565b92915050565b60008135905061116e81611b16565b92915050565b60006020828403121561118a57611189611a33565b5b6000611198848285016110ca565b91505092915050565b600080604083850312156111b8576111b7611a33565b5b60006111c6858286016110ca565b92505060206111d7858286016110ca565b9150509250929050565b6000806000606084860312156111fa576111f9611a33565b5b6000611208868287016110ca565b9350506020611219868287016110ca565b925050604061122a8682870161114a565b9150509250925092565b600080600080600080600060e0888a03121561125357611252611a33565b5b60006112618a828b016110ca565b97505060206112728a828b016110ca565b96505060406112838a828b0161114a565b95505060606112948a828b0161114a565b94505060806112a58a828b0161115f565b93505060a06112b68a828b01611135565b92505060c06112c78a828b01611135565b91505092959891949750929550565b600080604083850312156112ed576112ec611a33565b5b60006112fb858286016110ca565b925050602061130c8582860161114a565b9150509250929050565b600080600080606085870312156113305761132f611a33565b5b600061133e878288016110ca565b945050602061134f8782880161114a565b935050604085013567ffffffffffffffff8111156113705761136f611a2e565b5b61137c878288016110df565b925092505092959194509250565b6113938161184d565b82525050565b6113aa6113a58261184d565b61195a565b82525050565b6113b98161185f565b82525050565b6113c88161186b565b82525050565b6113df6113da8261186b565b61196c565b82525050565b600081546113f2816118df565b6113fc818661179c565b9450600182166000811461141757600181146114285761145b565b60ff1983168652818601935061145b565b6114318561177c565b60005b8381101561145357815481890152600182019150602081019050611434565b838801955050505b50505092915050565b600061146f82611791565b61147981856117a7565b93506114898185602086016118ac565b61149281611a38565b840191505092915050565b60006114aa6002836117b8565b91506114b582611a56565b600282019050919050565b60006114cd600e836117a7565b91506114d882611a7f565b602082019050919050565b60006114f06017836117a7565b91506114fb82611aa8565b602082019050919050565b61150f81611895565b82525050565b61152661152182611895565b611988565b82525050565b6115358161189f565b82525050565b60006115478285611399565b6014820191506115578284611515565b6020820191508190509392505050565b600061157382846113e5565b915081905092915050565b60006115898261149d565b915061159582856113ce565b6020820191506115a582846113ce565b6020820191508190509392505050565b60006020820190506115ca60008301846113b0565b92915050565b60006020820190506115e560008301846113bf565b92915050565b600060c08201905061160060008301896113bf565b61160d602083018861138a565b61161a604083018761138a565b6116276060830186611506565b6116346080830185611506565b61164160a0830184611506565b979650505050505050565b600060a08201905061166160008301886113bf565b61166e60208301876113bf565b61167b60408301866113bf565b6116886060830185611506565b611695608083018461138a565b9695505050505050565b60006080820190506116b460008301876113bf565b6116c1602083018661152c565b6116ce60408301856113bf565b6116db60608301846113bf565b95945050505050565b600060208201905081810360008301526116fe8184611464565b905092915050565b6000602082019050818103600083015261171f816114c0565b9050919050565b6000602082019050818103600083015261173f816114e3565b9050919050565b600060208201905061175b6000830184611506565b92915050565b6000602082019050611776600083018461152c565b92915050565b60008190508160005260206000209050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006117ce82611895565b91506117d983611895565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561180e5761180d611992565b5b828201905092915050565b600061182482611895565b915061182f83611895565b92508282101561184257611841611992565b5b828203905092915050565b600061185882611875565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156118ca5780820151818401526020810190506118af565b838111156118d9576000848401525b50505050565b600060028204905060018216806118f757607f821691505b6020821081141561190b5761190a6119c1565b5b50919050565b600061191c82611895565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561194f5761194e611992565b5b600182019050919050565b600061196582611976565b9050919050565b6000819050919050565b600061198182611a49565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f494e56414c49445f5349474e4552000000000000000000000000000000000000600082015250565b7f5045524d49545f444541444c494e455f45585049524544000000000000000000600082015250565b611ada8161184d565b8114611ae557600080fd5b50565b611af18161186b565b8114611afc57600080fd5b50565b611b0881611895565b8114611b1357600080fd5b50565b611b1f8161189f565b8114611b2a57600080fd5b5056fea2646970667358221220f6fe991a3e52f3fc0befca3a915bdac4d6a625653f17a621db830a98ccc9ac3864736f6c63430008070033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012be735b2cdd16b3bc695a896be53bf079847bb32f5e06b596c4a7fc12f61ccee00000000000000000000000000000000000000000000000000000000000000003434330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034343300000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): CC0
Arg [1] : _symbol (string): CC0
Arg [2] : _decimals (uint8): 18
Arg [3] : _merkleRoot (bytes32): 0xbe735b2cdd16b3bc695a896be53bf079847bb32f5e06b596c4a7fc12f61ccee0

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : be735b2cdd16b3bc695a896be53bf079847bb32f5e06b596c4a7fc12f61ccee0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 4343300000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 4343300000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

10159:2092:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5305:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4111:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5923:612;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10298:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3884:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8265:179;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11657:591;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4146:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10451:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4572:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3855:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5530:385;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6730:1527;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4199:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3828:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5305:217::-;5379:4;5429:6;5396:9;:21;5406:10;5396:21;;;;;;;;;;;;;;;:30;5418:7;5396:30;;;;;;;;;;;;;;;:39;;;;5474:7;5453:37;;5462:10;5453:37;;;5483:6;5453:37;;;;;;:::i;:::-;;;;;;;;5510:4;5503:11;;5305:217;;;;:::o;4111:26::-;;;;:::o;5923:612::-;6045:4;6062:15;6080:9;:15;6090:4;6080:15;;;;;;;;;;;;;;;:27;6096:10;6080:27;;;;;;;;;;;;;;;;6062:45;;6171:17;6160:7;:28;6156:80;;6230:6;6220:7;:16;;;;:::i;:::-;6190:9;:15;6200:4;6190:15;;;;;;;;;;;;;;;:27;6206:10;6190:27;;;;;;;;;;;;;;;:46;;;;6156:80;6268:6;6249:9;:15;6259:4;6249:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;6442:6;6425:9;:13;6435:2;6425:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;6492:2;6477:26;;6486:4;6477:26;;;6496:6;6477:26;;;;;;:::i;:::-;;;;;;;;6523:4;6516:11;;;5923:612;;;;;:::o;10298:35::-;;;:::o;3884:31::-;;;:::o;8265:179::-;8322:7;8366:16;8349:13;:33;:87;;8412:24;:22;:24::i;:::-;8349:87;;;8385:24;8349:87;8342:94;;8265:179;:::o;11657:591::-;11798:10;:14;11809:2;11798:14;;;;;;;;;;;;;;;;;;;;;;;;;11794:43;;;11821:16;;;;;;;;;;;;;;11794:43;11900:12;11942:2;11946:6;11925:28;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11915:39;;;;;;11900:54;;11961:16;11980:43;11999:5;;11980:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12006:10;12018:4;11980:18;:43::i;:::-;11961:62;;12035:11;12030:38;;12055:13;;;;;;;;;;;;;;12030:38;12125:4;12108:10;:14;12119:2;12108:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12169:17;12175:2;12179:6;12169:5;:17::i;:::-;12231:2;12225:17;;;12235:6;12225:17;;;;;;:::i;:::-;;;;;;;;11735:513;;11657:591;;;;:::o;4146:44::-;;;;;;;;;;;;;;;;;:::o;10451:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;4572:41::-;;;;;;;;;;;;;;;;;:::o;3855:20::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5530:385::-;5600:4;5642:6;5617:9;:21;5627:10;5617:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;5816:6;5799:9;:13;5809:2;5799:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;5872:2;5851:32;;5860:10;5851:32;;;5876:6;5851:32;;;;;;:::i;:::-;;;;;;;;5903:4;5896:11;;5530:385;;;;:::o;6730:1527::-;6958:15;6946:8;:27;;6938:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7171:24;7198:827;7338:18;:16;:18::i;:::-;7468:167;7670:5;7710:7;7752:5;7792:6;:13;7799:5;7792:13;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;7842:8;7423:458;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7383:525;;;;;;7258:673;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7226:724;;;;;;7969:1;7989;8009;7198:827;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7171:854;;8078:1;8050:30;;:16;:30;;;;:59;;;;;8104:5;8084:25;;:16;:25;;;8050:59;8042:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;8184:5;8145:9;:27;8155:16;8145:27;;;;;;;;;;;;;;;:36;8173:7;8145:36;;;;;;;;;;;;;;;:44;;;;7146:1055;8234:7;8218:31;;8227:5;8218:31;;;8243:5;8218:31;;;;;;:::i;:::-;;;;;;;;6730:1527;;;;;;;:::o;4199:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8452:457::-;8517:7;8618:95;8752:4;8736:22;;;;;;:::i;:::-;;;;;;;;8781:14;8818:13;8862:4;8585:301;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8557:344;;;;;;8537:364;;8452:457;:::o;1273:190::-;1398:4;1451;1422:25;1435:5;1442:4;1422:12;:25::i;:::-;:33;1415:40;;1273:190;;;;;:::o;9109:335::-;9195:6;9180:11;;:21;;;;;;;:::i;:::-;;;;;;;;9369:6;9352:9;:13;9362:2;9352:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;9425:2;9404:32;;9421:1;9404:32;;;9429:6;9404:32;;;;;;:::i;:::-;;;;;;;;9109:335;;:::o;1824:675::-;1907:7;1927:20;1950:4;1927:27;;1970:9;1965:497;1989:5;:12;1985:1;:16;1965:497;;;2023:20;2046:5;2052:1;2046:8;;;;;;;;:::i;:::-;;;;;;;;2023:31;;2089:12;2073;:28;2069:382;;2216:42;2231:12;2245;2216:14;:42::i;:::-;2201:57;;2069:382;;;2393:42;2408:12;2422;2393:14;:42::i;:::-;2378:57;;2069:382;2008:454;2003:3;;;;;:::i;:::-;;;;1965:497;;;;2479:12;2472:19;;;1824:675;;;;:::o;2507:224::-;2575:13;2638:1;2632:4;2625:15;2667:1;2661:4;2654:15;2708:4;2702;2692:21;2683:30;;2507:224;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;169:568::-;242:8;252:6;302:3;295:4;287:6;283:17;279:27;269:122;;310:79;;:::i;:::-;269:122;423:6;410:20;400:30;;453:18;445:6;442:30;439:117;;;475:79;;:::i;:::-;439:117;589:4;581:6;577:17;565:29;;643:3;635:4;627:6;623:17;613:8;609:32;606:41;603:128;;;650:79;;:::i;:::-;603:128;169:568;;;;;:::o;743:139::-;789:5;827:6;814:20;805:29;;843:33;870:5;843:33;:::i;:::-;743:139;;;;:::o;888:::-;934:5;972:6;959:20;950:29;;988:33;1015:5;988:33;:::i;:::-;888:139;;;;:::o;1033:135::-;1077:5;1115:6;1102:20;1093:29;;1131:31;1156:5;1131:31;:::i;:::-;1033:135;;;;:::o;1174:329::-;1233:6;1282:2;1270:9;1261:7;1257:23;1253:32;1250:119;;;1288:79;;:::i;:::-;1250:119;1408:1;1433:53;1478:7;1469:6;1458:9;1454:22;1433:53;:::i;:::-;1423:63;;1379:117;1174:329;;;;:::o;1509:474::-;1577:6;1585;1634:2;1622:9;1613:7;1609:23;1605:32;1602:119;;;1640:79;;:::i;:::-;1602:119;1760:1;1785:53;1830:7;1821:6;1810:9;1806:22;1785:53;:::i;:::-;1775:63;;1731:117;1887:2;1913:53;1958:7;1949:6;1938:9;1934:22;1913:53;:::i;:::-;1903:63;;1858:118;1509:474;;;;;:::o;1989:619::-;2066:6;2074;2082;2131:2;2119:9;2110:7;2106:23;2102:32;2099:119;;;2137:79;;:::i;:::-;2099:119;2257:1;2282:53;2327:7;2318:6;2307:9;2303:22;2282:53;:::i;:::-;2272:63;;2228:117;2384:2;2410:53;2455:7;2446:6;2435:9;2431:22;2410:53;:::i;:::-;2400:63;;2355:118;2512:2;2538:53;2583:7;2574:6;2563:9;2559:22;2538:53;:::i;:::-;2528:63;;2483:118;1989:619;;;;;:::o;2614:1199::-;2725:6;2733;2741;2749;2757;2765;2773;2822:3;2810:9;2801:7;2797:23;2793:33;2790:120;;;2829:79;;:::i;:::-;2790:120;2949:1;2974:53;3019:7;3010:6;2999:9;2995:22;2974:53;:::i;:::-;2964:63;;2920:117;3076:2;3102:53;3147:7;3138:6;3127:9;3123:22;3102:53;:::i;:::-;3092:63;;3047:118;3204:2;3230:53;3275:7;3266:6;3255:9;3251:22;3230:53;:::i;:::-;3220:63;;3175:118;3332:2;3358:53;3403:7;3394:6;3383:9;3379:22;3358:53;:::i;:::-;3348:63;;3303:118;3460:3;3487:51;3530:7;3521:6;3510:9;3506:22;3487:51;:::i;:::-;3477:61;;3431:117;3587:3;3614:53;3659:7;3650:6;3639:9;3635:22;3614:53;:::i;:::-;3604:63;;3558:119;3716:3;3743:53;3788:7;3779:6;3768:9;3764:22;3743:53;:::i;:::-;3733:63;;3687:119;2614:1199;;;;;;;;;;:::o;3819:474::-;3887:6;3895;3944:2;3932:9;3923:7;3919:23;3915:32;3912:119;;;3950:79;;:::i;:::-;3912:119;4070:1;4095:53;4140:7;4131:6;4120:9;4116:22;4095:53;:::i;:::-;4085:63;;4041:117;4197:2;4223:53;4268:7;4259:6;4248:9;4244:22;4223:53;:::i;:::-;4213:63;;4168:118;3819:474;;;;;:::o;4299:849::-;4403:6;4411;4419;4427;4476:2;4464:9;4455:7;4451:23;4447:32;4444:119;;;4482:79;;:::i;:::-;4444:119;4602:1;4627:53;4672:7;4663:6;4652:9;4648:22;4627:53;:::i;:::-;4617:63;;4573:117;4729:2;4755:53;4800:7;4791:6;4780:9;4776:22;4755:53;:::i;:::-;4745:63;;4700:118;4885:2;4874:9;4870:18;4857:32;4916:18;4908:6;4905:30;4902:117;;;4938:79;;:::i;:::-;4902:117;5051:80;5123:7;5114:6;5103:9;5099:22;5051:80;:::i;:::-;5033:98;;;;4828:313;4299:849;;;;;;;:::o;5154:118::-;5241:24;5259:5;5241:24;:::i;:::-;5236:3;5229:37;5154:118;;:::o;5278:157::-;5383:45;5403:24;5421:5;5403:24;:::i;:::-;5383:45;:::i;:::-;5378:3;5371:58;5278:157;;:::o;5441:109::-;5522:21;5537:5;5522:21;:::i;:::-;5517:3;5510:34;5441:109;;:::o;5556:118::-;5643:24;5661:5;5643:24;:::i;:::-;5638:3;5631:37;5556:118;;:::o;5680:157::-;5785:45;5805:24;5823:5;5805:24;:::i;:::-;5785:45;:::i;:::-;5780:3;5773:58;5680:157;;:::o;5865:849::-;5970:3;6007:5;6001:12;6036:36;6062:9;6036:36;:::i;:::-;6088:88;6169:6;6164:3;6088:88;:::i;:::-;6081:95;;6207:1;6196:9;6192:17;6223:1;6218:137;;;;6369:1;6364:344;;;;6185:523;;6218:137;6302:4;6298:9;6287;6283:25;6278:3;6271:38;6338:6;6333:3;6329:16;6322:23;;6218:137;;6364:344;6431:41;6466:5;6431:41;:::i;:::-;6494:1;6508:154;6522:6;6519:1;6516:13;6508:154;;;6596:7;6590:14;6586:1;6581:3;6577:11;6570:35;6646:1;6637:7;6633:15;6622:26;;6544:4;6541:1;6537:12;6532:17;;6508:154;;;6691:6;6686:3;6682:16;6675:23;;6371:337;;6185:523;;5974:740;;5865:849;;;;:::o;6720:364::-;6808:3;6836:39;6869:5;6836:39;:::i;:::-;6891:71;6955:6;6950:3;6891:71;:::i;:::-;6884:78;;6971:52;7016:6;7011:3;7004:4;6997:5;6993:16;6971:52;:::i;:::-;7048:29;7070:6;7048:29;:::i;:::-;7043:3;7039:39;7032:46;;6812:272;6720:364;;;;:::o;7090:400::-;7250:3;7271:84;7353:1;7348:3;7271:84;:::i;:::-;7264:91;;7364:93;7453:3;7364:93;:::i;:::-;7482:1;7477:3;7473:11;7466:18;;7090:400;;;:::o;7496:366::-;7638:3;7659:67;7723:2;7718:3;7659:67;:::i;:::-;7652:74;;7735:93;7824:3;7735:93;:::i;:::-;7853:2;7848:3;7844:12;7837:19;;7496:366;;;:::o;7868:::-;8010:3;8031:67;8095:2;8090:3;8031:67;:::i;:::-;8024:74;;8107:93;8196:3;8107:93;:::i;:::-;8225:2;8220:3;8216:12;8209:19;;7868:366;;;:::o;8240:118::-;8327:24;8345:5;8327:24;:::i;:::-;8322:3;8315:37;8240:118;;:::o;8364:157::-;8469:45;8489:24;8507:5;8489:24;:::i;:::-;8469:45;:::i;:::-;8464:3;8457:58;8364:157;;:::o;8527:112::-;8610:22;8626:5;8610:22;:::i;:::-;8605:3;8598:35;8527:112;;:::o;8645:397::-;8785:3;8800:75;8871:3;8862:6;8800:75;:::i;:::-;8900:2;8895:3;8891:12;8884:19;;8913:75;8984:3;8975:6;8913:75;:::i;:::-;9013:2;9008:3;9004:12;8997:19;;9033:3;9026:10;;8645:397;;;;;:::o;9048:273::-;9179:3;9201:94;9291:3;9282:6;9201:94;:::i;:::-;9194:101;;9312:3;9305:10;;9048:273;;;;:::o;9327:663::-;9568:3;9590:148;9734:3;9590:148;:::i;:::-;9583:155;;9748:75;9819:3;9810:6;9748:75;:::i;:::-;9848:2;9843:3;9839:12;9832:19;;9861:75;9932:3;9923:6;9861:75;:::i;:::-;9961:2;9956:3;9952:12;9945:19;;9981:3;9974:10;;9327:663;;;;;:::o;9996:210::-;10083:4;10121:2;10110:9;10106:18;10098:26;;10134:65;10196:1;10185:9;10181:17;10172:6;10134:65;:::i;:::-;9996:210;;;;:::o;10212:222::-;10305:4;10343:2;10332:9;10328:18;10320:26;;10356:71;10424:1;10413:9;10409:17;10400:6;10356:71;:::i;:::-;10212:222;;;;:::o;10440:775::-;10673:4;10711:3;10700:9;10696:19;10688:27;;10725:71;10793:1;10782:9;10778:17;10769:6;10725:71;:::i;:::-;10806:72;10874:2;10863:9;10859:18;10850:6;10806:72;:::i;:::-;10888;10956:2;10945:9;10941:18;10932:6;10888:72;:::i;:::-;10970;11038:2;11027:9;11023:18;11014:6;10970:72;:::i;:::-;11052:73;11120:3;11109:9;11105:19;11096:6;11052:73;:::i;:::-;11135;11203:3;11192:9;11188:19;11179:6;11135:73;:::i;:::-;10440:775;;;;;;;;;:::o;11221:664::-;11426:4;11464:3;11453:9;11449:19;11441:27;;11478:71;11546:1;11535:9;11531:17;11522:6;11478:71;:::i;:::-;11559:72;11627:2;11616:9;11612:18;11603:6;11559:72;:::i;:::-;11641;11709:2;11698:9;11694:18;11685:6;11641:72;:::i;:::-;11723;11791:2;11780:9;11776:18;11767:6;11723:72;:::i;:::-;11805:73;11873:3;11862:9;11858:19;11849:6;11805:73;:::i;:::-;11221:664;;;;;;;;:::o;11891:545::-;12064:4;12102:3;12091:9;12087:19;12079:27;;12116:71;12184:1;12173:9;12169:17;12160:6;12116:71;:::i;:::-;12197:68;12261:2;12250:9;12246:18;12237:6;12197:68;:::i;:::-;12275:72;12343:2;12332:9;12328:18;12319:6;12275:72;:::i;:::-;12357;12425:2;12414:9;12410:18;12401:6;12357:72;:::i;:::-;11891:545;;;;;;;:::o;12442:313::-;12555:4;12593:2;12582:9;12578:18;12570:26;;12642:9;12636:4;12632:20;12628:1;12617:9;12613:17;12606:47;12670:78;12743:4;12734:6;12670:78;:::i;:::-;12662:86;;12442:313;;;;:::o;12761:419::-;12927:4;12965:2;12954:9;12950:18;12942:26;;13014:9;13008:4;13004:20;13000:1;12989:9;12985:17;12978:47;13042:131;13168:4;13042:131;:::i;:::-;13034:139;;12761:419;;;:::o;13186:::-;13352:4;13390:2;13379:9;13375:18;13367:26;;13439:9;13433:4;13429:20;13425:1;13414:9;13410:17;13403:47;13467:131;13593:4;13467:131;:::i;:::-;13459:139;;13186:419;;;:::o;13611:222::-;13704:4;13742:2;13731:9;13727:18;13719:26;;13755:71;13823:1;13812:9;13808:17;13799:6;13755:71;:::i;:::-;13611:222;;;;:::o;13839:214::-;13928:4;13966:2;13955:9;13951:18;13943:26;;13979:67;14043:1;14032:9;14028:17;14019:6;13979:67;:::i;:::-;13839:214;;;;:::o;14140:144::-;14192:4;14215:3;14207:11;;14238:3;14235:1;14228:14;14272:4;14269:1;14259:18;14251:26;;14140:144;;;:::o;14290:99::-;14342:6;14376:5;14370:12;14360:22;;14290:99;;;:::o;14395:147::-;14496:11;14533:3;14518:18;;14395:147;;;;:::o;14548:169::-;14632:11;14666:6;14661:3;14654:19;14706:4;14701:3;14697:14;14682:29;;14548:169;;;;:::o;14723:148::-;14825:11;14862:3;14847:18;;14723:148;;;;:::o;14877:305::-;14917:3;14936:20;14954:1;14936:20;:::i;:::-;14931:25;;14970:20;14988:1;14970:20;:::i;:::-;14965:25;;15124:1;15056:66;15052:74;15049:1;15046:81;15043:107;;;15130:18;;:::i;:::-;15043:107;15174:1;15171;15167:9;15160:16;;14877:305;;;;:::o;15188:191::-;15228:4;15248:20;15266:1;15248:20;:::i;:::-;15243:25;;15282:20;15300:1;15282:20;:::i;:::-;15277:25;;15321:1;15318;15315:8;15312:34;;;15326:18;;:::i;:::-;15312:34;15371:1;15368;15364:9;15356:17;;15188:191;;;;:::o;15385:96::-;15422:7;15451:24;15469:5;15451:24;:::i;:::-;15440:35;;15385:96;;;:::o;15487:90::-;15521:7;15564:5;15557:13;15550:21;15539:32;;15487:90;;;:::o;15583:77::-;15620:7;15649:5;15638:16;;15583:77;;;:::o;15666:126::-;15703:7;15743:42;15736:5;15732:54;15721:65;;15666:126;;;:::o;15798:77::-;15835:7;15864:5;15853:16;;15798:77;;;:::o;15881:86::-;15916:7;15956:4;15949:5;15945:16;15934:27;;15881:86;;;:::o;15973:307::-;16041:1;16051:113;16065:6;16062:1;16059:13;16051:113;;;16150:1;16145:3;16141:11;16135:18;16131:1;16126:3;16122:11;16115:39;16087:2;16084:1;16080:10;16075:15;;16051:113;;;16182:6;16179:1;16176:13;16173:101;;;16262:1;16253:6;16248:3;16244:16;16237:27;16173:101;16022:258;15973:307;;;:::o;16286:320::-;16330:6;16367:1;16361:4;16357:12;16347:22;;16414:1;16408:4;16404:12;16435:18;16425:81;;16491:4;16483:6;16479:17;16469:27;;16425:81;16553:2;16545:6;16542:14;16522:18;16519:38;16516:84;;;16572:18;;:::i;:::-;16516:84;16337:269;16286:320;;;:::o;16612:233::-;16651:3;16674:24;16692:5;16674:24;:::i;:::-;16665:33;;16720:66;16713:5;16710:77;16707:103;;;16790:18;;:::i;:::-;16707:103;16837:1;16830:5;16826:13;16819:20;;16612:233;;;:::o;16851:100::-;16890:7;16919:26;16939:5;16919:26;:::i;:::-;16908:37;;16851:100;;;:::o;16957:79::-;16996:7;17025:5;17014:16;;16957:79;;;:::o;17042:94::-;17081:7;17110:20;17124:5;17110:20;:::i;:::-;17099:31;;17042:94;;;:::o;17142:79::-;17181:7;17210:5;17199:16;;17142:79;;;:::o;17227:180::-;17275:77;17272:1;17265:88;17372:4;17369:1;17362:15;17396:4;17393:1;17386:15;17413:180;17461:77;17458:1;17451:88;17558:4;17555:1;17548:15;17582:4;17579:1;17572:15;17599:180;17647:77;17644:1;17637:88;17744:4;17741:1;17734:15;17768:4;17765:1;17758:15;17785:117;17894:1;17891;17884:12;17908:117;18017:1;18014;18007:12;18031:117;18140:1;18137;18130:12;18154:117;18263:1;18260;18253:12;18277:117;18386:1;18383;18376:12;18400:102;18441:6;18492:2;18488:7;18483:2;18476:5;18472:14;18468:28;18458:38;;18400:102;;;:::o;18508:94::-;18541:8;18589:5;18585:2;18581:14;18560:35;;18508:94;;;:::o;18608:214::-;18748:66;18744:1;18736:6;18732:14;18725:90;18608:214;:::o;18828:164::-;18968:16;18964:1;18956:6;18952:14;18945:40;18828:164;:::o;18998:173::-;19138:25;19134:1;19126:6;19122:14;19115:49;18998:173;:::o;19177:122::-;19250:24;19268:5;19250:24;:::i;:::-;19243:5;19240:35;19230:63;;19289:1;19286;19279:12;19230:63;19177:122;:::o;19305:::-;19378:24;19396:5;19378:24;:::i;:::-;19371:5;19368:35;19358:63;;19417:1;19414;19407:12;19358:63;19305:122;:::o;19433:::-;19506:24;19524:5;19506:24;:::i;:::-;19499:5;19496:35;19486:63;;19545:1;19542;19535:12;19486:63;19433:122;:::o;19561:118::-;19632:22;19648:5;19632:22;:::i;:::-;19625:5;19622:33;19612:61;;19669:1;19666;19659:12;19612:61;19561:118;:::o

Swarm Source

ipfs://f6fe991a3e52f3fc0befca3a915bdac4d6a625653f17a621db830a98ccc9ac38
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.