ETH Price: $3,046.65 (-0.62%)
Gas: 7 Gwei

Token

Tribe (TRIBE)
 

Overview

Max Total Supply

1,000,000,000 TRIBE

Holders

14,490 ( 0.014%)

Total Transfers

-

Market

Price

$0.31 @ 0.000102 ETH (-31.58%)

Onchain Market Cap

$310,144,523.39

Circulating Supply Market Cap

$166,272,990.38

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Tribe DAO is a community and ecosystem of decentralised finance protocols and products

Market

Volume (24H):$2,202,804.13
Market Capitalization:$166,272,990.38
Circulating Supply:536,114,546.00 TRIBE
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Tribe

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
File 1 of 1 : Tribe.sol
pragma solidity ^0.6.0;
pragma experimental ABIEncoderV2;

// Forked from Uniswap's UNI
// Reference: https://etherscan.io/address/0x1f9840a85d5af5bf1d1762f925bdaddc4201f984#code

contract Tribe {
    /// @notice EIP-20 token name for this token
    // solhint-disable-next-line const-name-snakecase
    string public constant name = "Tribe";

    /// @notice EIP-20 token symbol for this token
    // solhint-disable-next-line const-name-snakecase
    string public constant symbol = "TRIBE";

    /// @notice EIP-20 token decimals for this token
    // solhint-disable-next-line const-name-snakecase
    uint8 public constant decimals = 18;

    /// @notice Total number of tokens in circulation
    // solhint-disable-next-line const-name-snakecase
    uint public totalSupply = 1_000_000_000e18; // 1 billion Tribe

    /// @notice Address which may mint new tokens
    address public minter;

    /// @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 Tribe token
     * @param account The initial account to grant all the tokens
     * @param minter_ The account with minting ability
     */
    constructor(address account, address minter_) public {
        balances[account] = uint96(totalSupply);
        emit Transfer(address(0), account, totalSupply);
        minter = minter_;
        emit MinterChanged(address(0), minter);
    }

    /**
     * @notice Change the minter address
     * @param minter_ The address of the new minter
     */
    function setMinter(address minter_) external {
        require(msg.sender == minter, "Tribe: 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, "Tribe: only the minter can mint");
        require(dst != address(0), "Tribe: cannot transfer to the zero address");

        // mint the amount
        uint96 amount = safe96(rawAmount, "Tribe: amount exceeds 96 bits");
        uint96 safeSupply = safe96(totalSupply, "Tribe: totalSupply exceeds 96 bits");
        totalSupply = add96(safeSupply, amount, "Tribe: totalSupply exceeds 96 bits");

        // transfer the amount to the recipient
        balances[dst] = add96(balances[dst], amount, "Tribe: 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, "Tribe: 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, "Tribe: 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), "Tribe: invalid signature");
        require(signatory == owner, "Tribe: unauthorized");
        // solhint-disable-next-line not-rely-on-time
        require(block.timestamp <= deadline, "Tribe: 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, "Tribe: 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, "Tribe: amount exceeds 96 bits");

        if (spender != src && spenderAllowance != uint96(-1)) {
            uint96 newAllowance = sub96(spenderAllowance, amount, "Tribe: 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), "Tribe: invalid signature");
        require(nonce == nonces[signatory]++, "Tribe: invalid nonce");
        // solhint-disable-next-line not-rely-on-time
        require(block.timestamp <= expiry, "Tribe: 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, "Tribe: 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), "Tribe: cannot transfer from the zero address");
        require(dst != address(0), "Tribe: cannot transfer to the zero address");

        balances[src] = sub96(balances[src], amount, "Tribe: transfer amount exceeds balance");
        balances[dst] = add96(balances[dst], amount, "Tribe: 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, "Tribe: 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, "Tribe: vote amount overflows");
                _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew);
            }
        }
    }

    function _writeCheckpoint(address delegatee, uint32 nCheckpoints, uint96 oldVotes, uint96 newVotes) internal {
      uint32 blockNumber = safe32(block.number, "Tribe: 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;
        // solhint-disable-next-line no-inline-assembly
        assembly { chainId := chainid() }
        return chainId;
    }
}

Settings
{
  "metadata": {
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"minter_","type":"address"}],"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":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"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"}]

60806040526b033b2e3c9fd0803ce80000006000553480156200002157600080fd5b506040516200210938038062002109833981016040819052620000449162000121565b600080546001600160a01b0384168083526003602052604080842080546001600160601b0319166001600160601b0390941693909317909255825491519092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620000b2919062000179565b60405180910390a3600180546001600160a01b0319166001600160a01b0383811691909117918290556040517f3b0007eb941cf645526cbb3a4fdaecda9d28ce4843167d9263b536a1f1edc0f69262000111926000929116906200015f565b60405180910390a150506200019b565b6000806040838503121562000134578182fd5b8251620001418162000182565b6020840151909250620001548162000182565b809150509250929050565b6001600160a01b0392831681529116602082015260400190565b90815260200190565b6001600160a01b03811681146200019857600080fd5b50565b611f5e80620001ab6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063c3cda5201161007c578063c3cda520146102cc578063d505accf146102df578063dd62ed3e146102f2578063e7a324dc14610305578063f1127ed81461030d578063fca3b5aa1461032e57610158565b806370a0823114610258578063782d6fe11461026b5780637ecebe001461028b57806395d89b411461029e578063a9059cbb146102a6578063b4b5ea57146102b957610158565b806330adf81f1161011557806330adf81f146101e0578063313ce567146101e857806340c10f19146101fd578063587cde1e146102125780635c19a95c146102255780636fcfff451461023857610158565b806306fdde031461015d578063075461721461017b578063095ea7b31461019057806318160ddd146101b057806320606b70146101c557806323b872dd146101cd575b600080fd5b610165610341565b6040516101729190611b78565b60405180910390f35b610183610362565b6040516101729190611a9c565b6101a361019e3660046118ab565b610371565b6040516101729190611aca565b6101b861043b565b6040516101729190611ad5565b6101b8610441565b6101a36101db3660046117ff565b610458565b6101b86105a7565b6101f06105b3565b6040516101729190611e1c565b61021061020b3660046118ab565b6105b8565b005b6101836102203660046117b0565b610794565b6102106102333660046117b0565b6107af565b61024b6102463660046117b0565b6107bc565b6040516101729190611dec565b6101b86102663660046117b0565b6107d4565b61027e6102793660046118ab565b6107f8565b6040516101729190611e2a565b6101b86102993660046117b0565b610a06565b610165610a18565b6101a36102b43660046118ab565b610a39565b61027e6102c73660046117b0565b610a80565b6102106102da3660046118d5565b610af1565b6102106102ed36600461183f565b610cd8565b6101b86103003660046117cb565b610fcc565b6101b8611000565b61032061031b36600461192e565b61100c565b604051610172929190611dfd565b61021061033c3660046117b0565b611041565b60405180604001604052806005815260200164547269626560d81b81525081565b6001546001600160a01b031681565b60008060001983141561038757506000196103b7565b6103b4836040518060400160405280601d8152602001600080516020611f098339815191528152506110d4565b90505b3360008181526002602090815260408083206001600160a01b03891680855292529182902080546001600160601b0319166001600160601b03861617905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610427908590611e2a565b60405180910390a360019150505b92915050565b60005481565b60405161044d906119f2565b604051809103902081565b6001600160a01b038316600090815260026020908152604080832033808552908352818420548251808401909352601d8352600080516020611f0983398151915293830193909352916001600160601b03169083906104b89086906110d4565b9050866001600160a01b0316836001600160a01b0316141580156104e557506001600160601b0382811614155b1561058f57600061050f8383604051806060016040528060308152602001611eb360309139611103565b6001600160a01b038981166000818152600260209081526040808320948a16808452949091529081902080546001600160601b0319166001600160601b0386161790555192935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610585908590611e2a565b60405180910390a3505b61059a878783611142565b5060019695505050505050565b60405161044d90611988565b601281565b6001546001600160a01b031633146105eb5760405162461bcd60e51b81526004016105e290611bcb565b60405180910390fd5b6001600160a01b0382166106115760405162461bcd60e51b81526004016105e290611c02565b6000610640826040518060400160405280601d8152602001600080516020611f098339815191528152506110d4565b90506000610668600054604051806060016040528060228152602001611e91602291396110d4565b905061068d8183604051806060016040528060228152602001611e9160229139611305565b6001600160601b0390811660009081556001600160a01b0386168152600360209081526040918290205482518084019093528183527f54726962653a207472616e7366657220616d6f756e74206f766572666c6f7773918301919091526106f79216908490611305565b6001600160a01b03851660008181526003602052604080822080546001600160601b0319166001600160601b03959095169490941790935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610761908690611e2a565b60405180910390a36001600160a01b0380851660009081526004602052604081205461078e921684611341565b50505050565b6004602052600090815260409020546001600160a01b031681565b6107b9338261150d565b50565b60066020526000908152604090205463ffffffff1681565b6001600160a01b03166000908152600360205260409020546001600160601b031690565b60004382106108195760405162461bcd60e51b81526004016105e290611db5565b6001600160a01b03831660009081526006602052604090205463ffffffff1680610847576000915050610435565b6001600160a01b038416600090815260056020908152604080832063ffffffff6000198601811685529252909120541683106108c3576001600160a01b03841660009081526005602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b03169050610435565b6001600160a01b038416600090815260056020908152604080832083805290915290205463ffffffff168310156108fe576000915050610435565b600060001982015b8163ffffffff168163ffffffff1611156109c157600282820363ffffffff16048103610930611771565b506001600160a01b038716600090815260056020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b0316918101919091529087141561099c576020015194506104359350505050565b805163ffffffff168711156109b3578193506109ba565b6001820392505b5050610906565b506001600160a01b038516600090815260056020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b60076020526000908152604090205481565b60405180604001604052806005815260200164545249424560d81b81525081565b600080610a69836040518060400160405280601d8152602001600080516020611f098339815191528152506110d4565b9050610a76338583611142565b5060019392505050565b6001600160a01b03811660009081526006602052604081205463ffffffff1680610aab576000610aea565b6001600160a01b0383166000908152600560209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03165b9392505050565b6000604051610aff906119f2565b604080519182900382208282019091526005825264547269626560d81b6020909201919091527febed0dee75115424b4c6084a9ab165e0c99bcf5a44403d7510e1ad1caeaea506610b4e611591565b30604051602001610b629493929190611b36565b6040516020818303038152906040528051906020012090506000604051610b8890611a4d565b604051908190038120610ba3918a908a908a90602001611b12565b60405160208183030381529060405280519060200120905060008282604051602001610bd092919061196d565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610c0d9493929190611b5a565b6020604051602081039080840390855afa158015610c2f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610c625760405162461bcd60e51b81526004016105e290611cfc565b6001600160a01b03811660009081526007602052604090208054600181019091558914610ca15760405162461bcd60e51b81526004016105e290611d33565b87421115610cc15760405162461bcd60e51b81526004016105e290611c4c565b610ccb818b61150d565b505050505b505050505050565b6000600019861415610ced5750600019610d1d565b610d1a866040518060400160405280601d8152602001600080516020611f098339815191528152506110d4565b90505b6000604051610d2b906119f2565b604080519182900382208282019091526005825264547269626560d81b6020909201919091527febed0dee75115424b4c6084a9ab165e0c99bcf5a44403d7510e1ad1caeaea506610d7a611591565b30604051602001610d8e9493929190611b36565b6040516020818303038152906040528051906020012090506000604051610db490611988565b604080519182900382206001600160a01b038d16600090815260076020908152929020805460018101909155610df69391928e928e928e9290918e9101611ade565b60405160208183030381529060405280519060200120905060008282604051602001610e2392919061196d565b604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051610e609493929190611b5a565b6020604051602081039080840390855afa158015610e82573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610eb55760405162461bcd60e51b81526004016105e290611cfc565b8b6001600160a01b0316816001600160a01b031614610ee65760405162461bcd60e51b81526004016105e290611ccf565b88421115610f065760405162461bcd60e51b81526004016105e290611c4c565b84600260008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160601b0302191690836001600160601b031602179055508a6001600160a01b03168c6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610fb69190611e2a565b60405180910390a3505050505050505050505050565b6001600160a01b0391821660009081526002602090815260408083209390941682529190915220546001600160601b031690565b60405161044d90611a4d565b600560209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b6001546001600160a01b0316331461106b5760405162461bcd60e51b81526004016105e290611d61565b6001546040517f3b0007eb941cf645526cbb3a4fdaecda9d28ce4843167d9263b536a1f1edc0f6916110aa916001600160a01b03909116908490611ab0565b60405180910390a1600180546001600160a01b0319166001600160a01b0392909216919091179055565b600081600160601b84106110fb5760405162461bcd60e51b81526004016105e29190611b78565b509192915050565b6000836001600160601b0316836001600160601b03161115829061113a5760405162461bcd60e51b81526004016105e29190611b78565b505050900390565b6001600160a01b0383166111685760405162461bcd60e51b81526004016105e290611c83565b6001600160a01b03821661118e5760405162461bcd60e51b81526004016105e290611c02565b6001600160a01b0383166000908152600360209081526040918290205482516060810190935260268084526111d9936001600160601b039092169285929190611ee390830139611103565b6001600160a01b03848116600090815260036020908152604080832080546001600160601b0319166001600160601b039687161790559286168252908290205482518084019093528183527f54726962653a207472616e7366657220616d6f756e74206f766572666c6f7773918301919091526112599216908390611305565b6001600160a01b038381166000818152600360205260409081902080546001600160601b0319166001600160601b0395909516949094179093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112c6908590611e2a565b60405180910390a36001600160a01b0380841660009081526004602052604080822054858416835291205461130092918216911683611341565b505050565b6000838301826001600160601b0380871690831610156113385760405162461bcd60e51b81526004016105e29190611b78565b50949350505050565b816001600160a01b0316836001600160a01b03161415801561136c57506000816001600160601b0316115b15611300576001600160a01b03831615611441576001600160a01b03831660009081526006602052604081205463ffffffff1690816113ac5760006113eb565b6001600160a01b0385166000908152600560209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b9050600061142f82856040518060400160405280601d81526020017f54726962653a20766f746520616d6f756e7420756e646572666c6f7773000000815250611103565b905061143d86848484611595565b5050505b6001600160a01b03821615611300576001600160a01b03821660009081526006602052604081205463ffffffff16908161147c5760006114bb565b6001600160a01b0384166000908152600560209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b905060006114ff82856040518060400160405280601c81526020017f54726962653a20766f746520616d6f756e74206f766572666c6f777300000000815250611305565b9050610cd085848484611595565b6001600160a01b03808316600081815260046020818152604080842080546003845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a461078e828483611341565b4690565b60006115b943604051806060016040528060238152602001611e6e6023913961174a565b905060008463ffffffff1611801561160257506001600160a01b038516600090815260056020908152604080832063ffffffff6000198901811685529252909120548282169116145b15611661576001600160a01b0385166000908152600560209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b03851602179055611700565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152600583528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252600690935292909220805460018801909316929091169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405161173b929190611e3e565b60405180910390a25050505050565b600081600160201b84106110fb5760405162461bcd60e51b81526004016105e29190611b78565b604080518082019091526000808252602082015290565b80356001600160a01b038116811461043557600080fd5b803560ff8116811461043557600080fd5b6000602082840312156117c1578081fd5b610aea8383611788565b600080604083850312156117dd578081fd5b6117e78484611788565b91506117f68460208501611788565b90509250929050565b600080600060608486031215611813578081fd5b833561181e81611e58565b9250602084013561182e81611e58565b929592945050506040919091013590565b600080600080600080600060e0888a031215611859578283fd5b6118638989611788565b96506118728960208a01611788565b9550604088013594506060880135935061188f8960808a0161179f565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156118bd578182fd5b6118c78484611788565b946020939093013593505050565b60008060008060008060c087890312156118ed578182fd5b6118f78888611788565b95506020870135945060408701359350611914886060890161179f565b92506080870135915060a087013590509295509295509295565b60008060408385031215611940578182fd5b61194a8484611788565b9150602083013563ffffffff81168114611962578182fd5b809150509250929050565b61190160f01b81526002810192909252602282015260420190565b7f5065726d69742861646472657373206f776e65722c616464726573732073706581527f6e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63656020820152712c75696e7432353620646561646c696e652960701b604082015260520190565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430190565b7f44656c65676174696f6e28616464726573732064656c6567617465652c75696e81527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020820152603a0190565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b938452602084019290925260408301526001600160a01b0316606082015260800190565b93845260ff9290921660208401526040830152606082015260800190565b6000602080835283518082850152825b81811015611ba457858101830151858201604001528201611b88565b81811115611bb55783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601f908201527f54726962653a206f6e6c7920746865206d696e7465722063616e206d696e7400604082015260600190565b6020808252602a908201527f54726962653a2063616e6e6f74207472616e7366657220746f20746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526018908201527f54726962653a207369676e617475726520657870697265640000000000000000604082015260600190565b6020808252602c908201527f54726962653a2063616e6e6f74207472616e736665722066726f6d207468652060408201526b7a65726f206164647265737360a01b606082015260800190565b602080825260139082015272151c9a58994e881d5b985d5d1a1bdc9a5e9959606a1b604082015260600190565b60208082526018908201527f54726962653a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b60208082526014908201527354726962653a20696e76616c6964206e6f6e636560601b604082015260600190565b60208082526034908201527f54726962653a206f6e6c7920746865206d696e7465722063616e206368616e676040820152736520746865206d696e746572206164647265737360601b606082015260800190565b60208082526019908201527f54726962653a206e6f74207965742064657465726d696e656400000000000000604082015260600190565b63ffffffff91909116815260200190565b63ffffffff9290921682526001600160601b0316602082015260400190565b60ff91909116815260200190565b6001600160601b0391909116815260200190565b6001600160601b0392831681529116602082015260400190565b6001600160a01b03811681146107b957600080fdfe54726962653a20626c6f636b206e756d6265722065786365656473203332206269747354726962653a20746f74616c537570706c792065786365656473203936206269747354726962653a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e636554726962653a207472616e7366657220616d6f756e7420657863656564732062616c616e636554726962653a20616d6f756e7420657863656564732039362062697473000000a26469706673582212204b5ab84c8ee5befcd5fba2745834ef385b0d07beb1f852bc25562eb10a137ac064736f6c634300060600330000000000000000000000008d5ed43dca8c2f7dfb20cf7b53cc7e593635d7b900000000000000000000000080f17b512780f313f265dc4ceedb89d1079d67f4

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063c3cda5201161007c578063c3cda520146102cc578063d505accf146102df578063dd62ed3e146102f2578063e7a324dc14610305578063f1127ed81461030d578063fca3b5aa1461032e57610158565b806370a0823114610258578063782d6fe11461026b5780637ecebe001461028b57806395d89b411461029e578063a9059cbb146102a6578063b4b5ea57146102b957610158565b806330adf81f1161011557806330adf81f146101e0578063313ce567146101e857806340c10f19146101fd578063587cde1e146102125780635c19a95c146102255780636fcfff451461023857610158565b806306fdde031461015d578063075461721461017b578063095ea7b31461019057806318160ddd146101b057806320606b70146101c557806323b872dd146101cd575b600080fd5b610165610341565b6040516101729190611b78565b60405180910390f35b610183610362565b6040516101729190611a9c565b6101a361019e3660046118ab565b610371565b6040516101729190611aca565b6101b861043b565b6040516101729190611ad5565b6101b8610441565b6101a36101db3660046117ff565b610458565b6101b86105a7565b6101f06105b3565b6040516101729190611e1c565b61021061020b3660046118ab565b6105b8565b005b6101836102203660046117b0565b610794565b6102106102333660046117b0565b6107af565b61024b6102463660046117b0565b6107bc565b6040516101729190611dec565b6101b86102663660046117b0565b6107d4565b61027e6102793660046118ab565b6107f8565b6040516101729190611e2a565b6101b86102993660046117b0565b610a06565b610165610a18565b6101a36102b43660046118ab565b610a39565b61027e6102c73660046117b0565b610a80565b6102106102da3660046118d5565b610af1565b6102106102ed36600461183f565b610cd8565b6101b86103003660046117cb565b610fcc565b6101b8611000565b61032061031b36600461192e565b61100c565b604051610172929190611dfd565b61021061033c3660046117b0565b611041565b60405180604001604052806005815260200164547269626560d81b81525081565b6001546001600160a01b031681565b60008060001983141561038757506000196103b7565b6103b4836040518060400160405280601d8152602001600080516020611f098339815191528152506110d4565b90505b3360008181526002602090815260408083206001600160a01b03891680855292529182902080546001600160601b0319166001600160601b03861617905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610427908590611e2a565b60405180910390a360019150505b92915050565b60005481565b60405161044d906119f2565b604051809103902081565b6001600160a01b038316600090815260026020908152604080832033808552908352818420548251808401909352601d8352600080516020611f0983398151915293830193909352916001600160601b03169083906104b89086906110d4565b9050866001600160a01b0316836001600160a01b0316141580156104e557506001600160601b0382811614155b1561058f57600061050f8383604051806060016040528060308152602001611eb360309139611103565b6001600160a01b038981166000818152600260209081526040808320948a16808452949091529081902080546001600160601b0319166001600160601b0386161790555192935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610585908590611e2a565b60405180910390a3505b61059a878783611142565b5060019695505050505050565b60405161044d90611988565b601281565b6001546001600160a01b031633146105eb5760405162461bcd60e51b81526004016105e290611bcb565b60405180910390fd5b6001600160a01b0382166106115760405162461bcd60e51b81526004016105e290611c02565b6000610640826040518060400160405280601d8152602001600080516020611f098339815191528152506110d4565b90506000610668600054604051806060016040528060228152602001611e91602291396110d4565b905061068d8183604051806060016040528060228152602001611e9160229139611305565b6001600160601b0390811660009081556001600160a01b0386168152600360209081526040918290205482518084019093528183527f54726962653a207472616e7366657220616d6f756e74206f766572666c6f7773918301919091526106f79216908490611305565b6001600160a01b03851660008181526003602052604080822080546001600160601b0319166001600160601b03959095169490941790935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610761908690611e2a565b60405180910390a36001600160a01b0380851660009081526004602052604081205461078e921684611341565b50505050565b6004602052600090815260409020546001600160a01b031681565b6107b9338261150d565b50565b60066020526000908152604090205463ffffffff1681565b6001600160a01b03166000908152600360205260409020546001600160601b031690565b60004382106108195760405162461bcd60e51b81526004016105e290611db5565b6001600160a01b03831660009081526006602052604090205463ffffffff1680610847576000915050610435565b6001600160a01b038416600090815260056020908152604080832063ffffffff6000198601811685529252909120541683106108c3576001600160a01b03841660009081526005602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b03169050610435565b6001600160a01b038416600090815260056020908152604080832083805290915290205463ffffffff168310156108fe576000915050610435565b600060001982015b8163ffffffff168163ffffffff1611156109c157600282820363ffffffff16048103610930611771565b506001600160a01b038716600090815260056020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b0316918101919091529087141561099c576020015194506104359350505050565b805163ffffffff168711156109b3578193506109ba565b6001820392505b5050610906565b506001600160a01b038516600090815260056020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b60076020526000908152604090205481565b60405180604001604052806005815260200164545249424560d81b81525081565b600080610a69836040518060400160405280601d8152602001600080516020611f098339815191528152506110d4565b9050610a76338583611142565b5060019392505050565b6001600160a01b03811660009081526006602052604081205463ffffffff1680610aab576000610aea565b6001600160a01b0383166000908152600560209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03165b9392505050565b6000604051610aff906119f2565b604080519182900382208282019091526005825264547269626560d81b6020909201919091527febed0dee75115424b4c6084a9ab165e0c99bcf5a44403d7510e1ad1caeaea506610b4e611591565b30604051602001610b629493929190611b36565b6040516020818303038152906040528051906020012090506000604051610b8890611a4d565b604051908190038120610ba3918a908a908a90602001611b12565b60405160208183030381529060405280519060200120905060008282604051602001610bd092919061196d565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610c0d9493929190611b5a565b6020604051602081039080840390855afa158015610c2f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610c625760405162461bcd60e51b81526004016105e290611cfc565b6001600160a01b03811660009081526007602052604090208054600181019091558914610ca15760405162461bcd60e51b81526004016105e290611d33565b87421115610cc15760405162461bcd60e51b81526004016105e290611c4c565b610ccb818b61150d565b505050505b505050505050565b6000600019861415610ced5750600019610d1d565b610d1a866040518060400160405280601d8152602001600080516020611f098339815191528152506110d4565b90505b6000604051610d2b906119f2565b604080519182900382208282019091526005825264547269626560d81b6020909201919091527febed0dee75115424b4c6084a9ab165e0c99bcf5a44403d7510e1ad1caeaea506610d7a611591565b30604051602001610d8e9493929190611b36565b6040516020818303038152906040528051906020012090506000604051610db490611988565b604080519182900382206001600160a01b038d16600090815260076020908152929020805460018101909155610df69391928e928e928e9290918e9101611ade565b60405160208183030381529060405280519060200120905060008282604051602001610e2392919061196d565b604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051610e609493929190611b5a565b6020604051602081039080840390855afa158015610e82573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610eb55760405162461bcd60e51b81526004016105e290611cfc565b8b6001600160a01b0316816001600160a01b031614610ee65760405162461bcd60e51b81526004016105e290611ccf565b88421115610f065760405162461bcd60e51b81526004016105e290611c4c565b84600260008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160601b0302191690836001600160601b031602179055508a6001600160a01b03168c6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610fb69190611e2a565b60405180910390a3505050505050505050505050565b6001600160a01b0391821660009081526002602090815260408083209390941682529190915220546001600160601b031690565b60405161044d90611a4d565b600560209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b6001546001600160a01b0316331461106b5760405162461bcd60e51b81526004016105e290611d61565b6001546040517f3b0007eb941cf645526cbb3a4fdaecda9d28ce4843167d9263b536a1f1edc0f6916110aa916001600160a01b03909116908490611ab0565b60405180910390a1600180546001600160a01b0319166001600160a01b0392909216919091179055565b600081600160601b84106110fb5760405162461bcd60e51b81526004016105e29190611b78565b509192915050565b6000836001600160601b0316836001600160601b03161115829061113a5760405162461bcd60e51b81526004016105e29190611b78565b505050900390565b6001600160a01b0383166111685760405162461bcd60e51b81526004016105e290611c83565b6001600160a01b03821661118e5760405162461bcd60e51b81526004016105e290611c02565b6001600160a01b0383166000908152600360209081526040918290205482516060810190935260268084526111d9936001600160601b039092169285929190611ee390830139611103565b6001600160a01b03848116600090815260036020908152604080832080546001600160601b0319166001600160601b039687161790559286168252908290205482518084019093528183527f54726962653a207472616e7366657220616d6f756e74206f766572666c6f7773918301919091526112599216908390611305565b6001600160a01b038381166000818152600360205260409081902080546001600160601b0319166001600160601b0395909516949094179093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112c6908590611e2a565b60405180910390a36001600160a01b0380841660009081526004602052604080822054858416835291205461130092918216911683611341565b505050565b6000838301826001600160601b0380871690831610156113385760405162461bcd60e51b81526004016105e29190611b78565b50949350505050565b816001600160a01b0316836001600160a01b03161415801561136c57506000816001600160601b0316115b15611300576001600160a01b03831615611441576001600160a01b03831660009081526006602052604081205463ffffffff1690816113ac5760006113eb565b6001600160a01b0385166000908152600560209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b9050600061142f82856040518060400160405280601d81526020017f54726962653a20766f746520616d6f756e7420756e646572666c6f7773000000815250611103565b905061143d86848484611595565b5050505b6001600160a01b03821615611300576001600160a01b03821660009081526006602052604081205463ffffffff16908161147c5760006114bb565b6001600160a01b0384166000908152600560209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b905060006114ff82856040518060400160405280601c81526020017f54726962653a20766f746520616d6f756e74206f766572666c6f777300000000815250611305565b9050610cd085848484611595565b6001600160a01b03808316600081815260046020818152604080842080546003845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a461078e828483611341565b4690565b60006115b943604051806060016040528060238152602001611e6e6023913961174a565b905060008463ffffffff1611801561160257506001600160a01b038516600090815260056020908152604080832063ffffffff6000198901811685529252909120548282169116145b15611661576001600160a01b0385166000908152600560209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b03851602179055611700565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152600583528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252600690935292909220805460018801909316929091169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405161173b929190611e3e565b60405180910390a25050505050565b600081600160201b84106110fb5760405162461bcd60e51b81526004016105e29190611b78565b604080518082019091526000808252602082015290565b80356001600160a01b038116811461043557600080fd5b803560ff8116811461043557600080fd5b6000602082840312156117c1578081fd5b610aea8383611788565b600080604083850312156117dd578081fd5b6117e78484611788565b91506117f68460208501611788565b90509250929050565b600080600060608486031215611813578081fd5b833561181e81611e58565b9250602084013561182e81611e58565b929592945050506040919091013590565b600080600080600080600060e0888a031215611859578283fd5b6118638989611788565b96506118728960208a01611788565b9550604088013594506060880135935061188f8960808a0161179f565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156118bd578182fd5b6118c78484611788565b946020939093013593505050565b60008060008060008060c087890312156118ed578182fd5b6118f78888611788565b95506020870135945060408701359350611914886060890161179f565b92506080870135915060a087013590509295509295509295565b60008060408385031215611940578182fd5b61194a8484611788565b9150602083013563ffffffff81168114611962578182fd5b809150509250929050565b61190160f01b81526002810192909252602282015260420190565b7f5065726d69742861646472657373206f776e65722c616464726573732073706581527f6e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63656020820152712c75696e7432353620646561646c696e652960701b604082015260520190565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430190565b7f44656c65676174696f6e28616464726573732064656c6567617465652c75696e81527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020820152603a0190565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b938452602084019290925260408301526001600160a01b0316606082015260800190565b93845260ff9290921660208401526040830152606082015260800190565b6000602080835283518082850152825b81811015611ba457858101830151858201604001528201611b88565b81811115611bb55783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601f908201527f54726962653a206f6e6c7920746865206d696e7465722063616e206d696e7400604082015260600190565b6020808252602a908201527f54726962653a2063616e6e6f74207472616e7366657220746f20746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526018908201527f54726962653a207369676e617475726520657870697265640000000000000000604082015260600190565b6020808252602c908201527f54726962653a2063616e6e6f74207472616e736665722066726f6d207468652060408201526b7a65726f206164647265737360a01b606082015260800190565b602080825260139082015272151c9a58994e881d5b985d5d1a1bdc9a5e9959606a1b604082015260600190565b60208082526018908201527f54726962653a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b60208082526014908201527354726962653a20696e76616c6964206e6f6e636560601b604082015260600190565b60208082526034908201527f54726962653a206f6e6c7920746865206d696e7465722063616e206368616e676040820152736520746865206d696e746572206164647265737360601b606082015260800190565b60208082526019908201527f54726962653a206e6f74207965742064657465726d696e656400000000000000604082015260600190565b63ffffffff91909116815260200190565b63ffffffff9290921682526001600160601b0316602082015260400190565b60ff91909116815260200190565b6001600160601b0391909116815260200190565b6001600160601b0392831681529116602082015260400190565b6001600160a01b03811681146107b957600080fdfe54726962653a20626c6f636b206e756d6265722065786365656473203332206269747354726962653a20746f74616c537570706c792065786365656473203936206269747354726962653a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e636554726962653a207472616e7366657220616d6f756e7420657863656564732062616c616e636554726962653a20616d6f756e7420657863656564732039362062697473000000a26469706673582212204b5ab84c8ee5befcd5fba2745834ef385b0d07beb1f852bc25562eb10a137ac064736f6c63430006060033

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

0000000000000000000000008d5ed43dca8c2f7dfb20cf7b53cc7e593635d7b900000000000000000000000080f17b512780f313f265dc4ceedb89d1079d67f4

-----Decoded View---------------
Arg [0] : account (address): 0x8d5ED43dCa8C2F7dFB20CF7b53CC7E593635d7b9
Arg [1] : minter_ (address): 0x80f17b512780F313F265dC4CeEDb89D1079D67F4

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000008d5ed43dca8c2f7dfb20cf7b53cc7e593635d7b9
Arg [1] : 00000000000000000000000080f17b512780f313f265dc4ceedb89d1079d67f4


Deployed Bytecode Sourcemap

180:16074:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;180:16074:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;304:37:0;;;:::i;:::-;;;;;;;;;;;;;;;;874:21;;;:::i;:::-;;;;;;;;5774:399;;;;;;;;;:::i;:::-;;;;;;;;756:42;;;:::i;:::-;;;;;;;;1736:122;;;:::i;8808:637::-;;;;;;;;;:::i;2153:137::-;;;:::i;606:35::-;;;:::i;:::-;;;;;;;;4109:767;;;;;;;;;:::i;:::-;;1201:45;;;;;;;;;:::i;9587:100::-;;;;;;;;;:::i;1617:49::-;;;;;;;;;:::i;:::-;;;;;;;;7920:106;;;;;;;;;:::i;11749:1172::-;;;;;;;;;:::i;:::-;;;;;;;;2368:39;;;;;;;;;:::i;453:::-;;;:::i;8282:225::-;;;;;;;;;:::i;11108:219::-;;;;;;;;;:::i;10110:804::-;;;;;;;;;:::i;6651:1073::-;;;;;;;;;:::i;5172:134::-;;;;;;;;;:::i;1949:117::-;;;:::i;1481:70::-;;;;;;;;;:::i;:::-;;;;;;;;;3723:218;;;;;;;;;:::i;304:37::-;;;;;;;;;;;;;;-1:-1:-1;;;304:37:0;;;;:::o;874:21::-;;;-1:-1:-1;;;;;874:21:0;;:::o;5774:399::-;5842:4;5858:13;-1:-1:-1;;5885:9:0;:21;5881:161;;;-1:-1:-1;;;5881:161:0;;;5981:50;5988:9;5981:50;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5981:50:0;;;:6;:50::i;:::-;5972:59;;5881:161;6063:10;6052:22;;;;:10;:22;;;;;;;;-1:-1:-1;;;;;6052:31:0;;;;;;;;;;;:40;;-1:-1:-1;;;;;;6052:40:0;-1:-1:-1;;;;;6052:40:0;;;;;6108:37;;6052:31;;6063:10;6108:37;;;;6052:40;;6108:37;;;;;;;;;;6162:4;6155:11;;;5774:399;;;;;:::o;756:42::-;;;;:::o;1736:122::-;1778:80;;;;;;;;;;;;;;1736:122;:::o;8808:637::-;-1:-1:-1;;;;;8970:15:0;;8890:4;8970:15;;;:10;:15;;;;;;;;8924:10;8970:24;;;;;;;;;;9020:50;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9020:50:0;;;;;;;8924:10;-1:-1:-1;;;;;8970:24:0;;8890:4;;9020:50;;9027:9;;9020:6;:50::i;:::-;9004:66;;9096:3;-1:-1:-1;;;;;9085:14:0;:7;-1:-1:-1;;;;;9085:14:0;;;:48;;;;-1:-1:-1;;;;;;9103:30:0;;;;;9085:48;9081:293;;;9149:19;9171:83;9177:16;9195:6;9171:83;;;;;;;;;;;;;;;;;:5;:83::i;:::-;-1:-1:-1;;;;;9268:15:0;;;;;;;:10;:15;;;;;;;;:24;;;;;;;;;;;;;;:39;;-1:-1:-1;;;;;;9268:39:0;-1:-1:-1;;;;;9268:39:0;;;;;9327:36;9268:39;;-1:-1:-1;9268:24:0;;9327:36;;;;9268:39;;9327:36;;;;;;;;;;9081:293;;9384:33;9400:3;9405;9410:6;9384:15;:33::i;:::-;-1:-1:-1;9434:4:0;;8808:637;-1:-1:-1;;;;;;8808:637:0:o;2153:137::-;2195:95;;;;;;606:35;639:2;606:35;:::o;4109:767::-;4193:6;;-1:-1:-1;;;;;4193:6:0;4179:10;:20;4171:64;;;;-1:-1:-1;;;4171:64:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4253:17:0;;4245:72;;;;-1:-1:-1;;;4245:72:0;;;;;;;;;4355:13;4371:50;4378:9;4371:50;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4371:50:0;;;:6;:50::i;:::-;4355:66;;4431:17;4451:57;4458:11;;4451:57;;;;;;;;;;;;;;;;;:6;:57::i;:::-;4431:77;;4532:63;4538:10;4550:6;4532:63;;;;;;;;;;;;;;;;;:5;:63::i;:::-;-1:-1:-1;;;;;4518:77:0;;;:11;:77;;;-1:-1:-1;;;;;4676:13:0;;;;:8;:13;;;;;;;;;;4670:64;;;;;;;;;;;;;;;;;;;;;4676:13;;4691:6;;4670:5;:64::i;:::-;-1:-1:-1;;;;;4654:13:0;;;;;;:8;:13;;;;;;:80;;-1:-1:-1;;;;;;4654:80:0;-1:-1:-1;;;;;4654:80:0;;;;;;;;;;;4749:33;;4654:13;;;4749:33;;;;4775:6;;4749:33;;;;;;;;;;-1:-1:-1;;;;;4846:14:0;;;4842:1;4846:14;;;:9;:14;;;;;;4819:50;;4846:14;4862:6;4819:14;:50::i;:::-;4109:767;;;;:::o;1201:45::-;;;;;;;;;;;;-1:-1:-1;;;;;1201:45:0;;:::o;9587:100::-;9648:32;9658:10;9670:9;9648;:32::i;:::-;9587:100;:::o;1617:49::-;;;;;;;;;;;;;;;:::o;7920:106::-;-1:-1:-1;;;;;8002:17:0;7979:4;8002:17;;;:8;:17;;;;;;-1:-1:-1;;;;;8002:17:0;;7920:106::o;11749:1172::-;11828:6;11868:12;11854:11;:26;11846:64;;;;-1:-1:-1;;;11846:64:0;;;;;;;;;-1:-1:-1;;;;;11943:23:0;;11921:19;11943:23;;;:14;:23;;;;;;;;11980:17;11976:56;;12020:1;12013:8;;;;;11976:56;-1:-1:-1;;;;;12089:20:0;;;;;;:11;:20;;;;;;;;:38;-1:-1:-1;;12110:16:0;;12089:38;;;;;;;;;:48;;:63;-1:-1:-1;12085:145:0;;-1:-1:-1;;;;;12175:20:0;;;;;;:11;:20;;;;;;;;-1:-1:-1;;12196:16:0;;;;12175:38;;;;;;;;:44;-1:-1:-1;;;12175:44:0;;-1:-1:-1;;;;;12175:44:0;;-1:-1:-1;12168:51:0;;12085:145;-1:-1:-1;;;;;12288:20:0;;;;;;:11;:20;;;;;;;;:23;;;;;;;;:33;:23;:33;:47;-1:-1:-1;12284:86:0;;;12358:1;12351:8;;;;;12284:86;12380:12;-1:-1:-1;;12421:16:0;;12447:418;12462:5;12454:13;;:5;:13;;;12447:418;;;12525:1;12508:13;;;12507:19;;;12499:27;;12567:20;;:::i;:::-;-1:-1:-1;;;;;;12590:20:0;;;;;;:11;:20;;;;;;;;:28;;;;;;;;;;;;;12567:51;;;;;;;;;;;;;;;-1:-1:-1;;;12567:51:0;;;-1:-1:-1;;;;;12567:51:0;;;;;;;;;12636:27;;12632:223;;;12690:8;;;;-1:-1:-1;12683:15:0;;-1:-1:-1;;;;12683:15:0;12632:223;12723:12;;:26;;;-1:-1:-1;12719:136:0;;;12777:6;12769:14;;12719:136;;;12839:1;12830:6;:10;12822:18;;12719:136;12447:418;;;;;-1:-1:-1;;;;;;12881:20:0;;;;;;:11;:20;;;;;;;;:27;;;;;;;;;;:33;-1:-1:-1;;;;;;;;12881:33:0;;;;;-1:-1:-1;;11749:1172:0;;;;:::o;2368:39::-;;;;;;;;;;;;;:::o;453:::-;;;;;;;;;;;;;;-1:-1:-1;;;453:39:0;;;;:::o;8282:225::-;8347:4;8363:13;8379:50;8386:9;8379:50;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8379:50:0;;;:6;:50::i;:::-;8363:66;;8439:40;8455:10;8467:3;8472:6;8439:15;:40::i;:::-;-1:-1:-1;8496:4:0;;8282:225;-1:-1:-1;;;8282:225:0:o;11108:219::-;-1:-1:-1;;;;;11213:23:0;;11173:6;11213:23;;;:14;:23;;;;;;;;11253:16;:67;;11319:1;11253:67;;;-1:-1:-1;;;;;11272:20:0;;;;;;:11;:20;;;;;;;;-1:-1:-1;;11293:16:0;;11272:38;;;;;;;;;:44;-1:-1:-1;;;11272:44:0;;-1:-1:-1;;;;;11272:44:0;11253:67;11246:74;11108:219;-1:-1:-1;;;11108:219:0:o;10110:804::-;10225:23;1778:80;;;;;;;;;;;;;;;;10305:4;;;;;;;;;-1:-1:-1;;;10305:4:0;;;;;;;;10289:22;10313:12;:10;:12::i;:::-;10335:4;10261:80;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;10261:80:0;;;10251:91;;;;;;10225:117;;10352:18;1995:71;;;;;;;;;;;;;;;10383:57;;10415:9;;10426:5;;10433:6;;10383:57;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;10383:57:0;;;10373:68;;;;;;10352:89;;10451:14;10507:15;10524:10;10478:57;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;10478:57:0;;;10468:68;;;;;;10451:85;;10546:17;10566:26;10576:6;10584:1;10587;10590;10566:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;10566:26:0;;-1:-1:-1;;10566:26:0;;;-1:-1:-1;;;;;;;10610:23:0;;10602:60;;;;-1:-1:-1;;;10602:60:0;;;;;;;;;-1:-1:-1;;;;;10689:17:0;;;;;;:6;:17;;;;;:19;;;;;;;;10680:28;;10672:61;;;;-1:-1:-1;;;10672:61:0;;;;;;;;;10824:6;10805:15;:25;;10797:62;;;;-1:-1:-1;;;10797:62:0;;;;;;;;;10876:31;10886:9;10897;10876;:31::i;:::-;10869:38;;;;10110:804;;;;;;;:::o;6651:1073::-;6780:13;-1:-1:-1;;6807:9:0;:21;6803:161;;;-1:-1:-1;;;6803:161:0;;;6903:50;6910:9;6903:50;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6903:50:0;;;:6;:50::i;:::-;6894:59;;6803:161;6974:23;1778:80;;;;;;;;;;;;;;;;7054:4;;;;;;;;;-1:-1:-1;;;7054:4:0;;;;;;;;7038:22;7062:12;:10;:12::i;:::-;7084:4;7010:80;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7010:80:0;;;7000:91;;;;;;6974:117;;7101:18;2195:95;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7187:13:0;;;;;;:6;:13;;;;;;;:15;;;;;;;;7132:81;;2195:95;;7160:5;;7167:7;;7176:9;;7187:15;;7204:8;;7132:81;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7132:81:0;;;7122:92;;;;;;7101:113;;7224:14;7280:15;7297:10;7251:57;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7251:57:0;;;7241:68;;;;;;7224:85;;7319:17;7339:26;7349:6;7357:1;7360;7363;7339:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;7339:26:0;;-1:-1:-1;;7339:26:0;;;-1:-1:-1;;;;;;;7383:23:0;;7375:60;;;;-1:-1:-1;;;7375:60:0;;;;;;;;;7466:5;-1:-1:-1;;;;;7453:18:0;:9;-1:-1:-1;;;;;7453:18:0;;7445:50;;;;-1:-1:-1;;;7445:50:0;;;;;;;;;7586:8;7567:15;:27;;7559:64;;;;-1:-1:-1;;;7559:64:0;;;;;;;;;7663:6;7634:10;:17;7645:5;-1:-1:-1;;;;;7634:17:0;-1:-1:-1;;;;;7634:17:0;;;;;;;;;;;;:26;7652:7;-1:-1:-1;;;;;7634:26:0;-1:-1:-1;;;;;7634:26:0;;;;;;;;;;;;;:35;;;;;-1:-1:-1;;;;;7634:35:0;;;;;-1:-1:-1;;;;;7634:35:0;;;;;;7701:7;-1:-1:-1;;;;;7685:32:0;7694:5;-1:-1:-1;;;;;7685:32:0;;7710:6;7685:32;;;;;;;;;;;;;;;6651:1073;;;;;;;;;;;;:::o;5172:134::-;-1:-1:-1;;;;;5271:19:0;;;5248:4;5271:19;;;:10;:19;;;;;;;;:28;;;;;;;;;;;;-1:-1:-1;;;;;5271:28:0;;5172:134::o;1949:117::-;1995:71;;;;;;1481:70;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1481:70:0;;-1:-1:-1;;;;;1481:70:0;;:::o;3723:218::-;3800:6;;-1:-1:-1;;;;;3800:6:0;3786:10;:20;3778:85;;;;-1:-1:-1;;;3778:85:0;;;;;;;;;3892:6;;3878:30;;;;;;-1:-1:-1;;;;;3892:6:0;;;;3900:7;;3878:30;;;;;;;;;;3918:6;:16;;-1:-1:-1;;;;;;3918:16:0;-1:-1:-1;;;;;3918:16:0;;;;;;;;;;3723:218::o;15525:158::-;15600:6;15637:12;-1:-1:-1;;;15626:9:0;;15618:32;;;;-1:-1:-1;;;15618:32:0;;;;;;;;;;-1:-1:-1;15674:1:0;;15525:158;-1:-1:-1;;15525:158:0:o;15879:162::-;15965:6;15996:1;-1:-1:-1;;;;;15991:6:0;:1;-1:-1:-1;;;;;15991:6:0;;;15999:12;15983:29;;;;;-1:-1:-1;;;15983:29:0;;;;;;;;;;-1:-1:-1;;;16029:5:0;;;15879:162::o;13300:541::-;-1:-1:-1;;;;;13393:17:0;;13385:74;;;;-1:-1:-1;;;13385:74:0;;;;;;;;;-1:-1:-1;;;;;13477:17:0;;13469:72;;;;-1:-1:-1;;;13469:72:0;;;;;;;;;-1:-1:-1;;;;;13574:13:0;;;;;;:8;:13;;;;;;;;;;13568:70;;;;;;;;;;;;;;-1:-1:-1;;;;;13574:13:0;;;;13589:6;;13568:70;;;;;;;:5;:70::i;:::-;-1:-1:-1;;;;;13552:13:0;;;;;;;:8;:13;;;;;;;;:86;;-1:-1:-1;;;;;;13552:86:0;-1:-1:-1;;;;;13552:86:0;;;;;;13670:13;;;;;;;;;;13664:64;;;;;;;;;;;;;;;;;;;;;13670:13;;13685:6;;13664:5;:64::i;:::-;-1:-1:-1;;;;;13648:13:0;;;;;;;:8;:13;;;;;;;:80;;-1:-1:-1;;;;;;13648:80:0;-1:-1:-1;;;;;13648:80:0;;;;;;;;;;;13743:26;;;;;;;;;;13762:6;;13743:26;;;;;;;;;;-1:-1:-1;;;;;13795:14:0;;;;;;;:9;:14;;;;;;;13811;;;;;;;;13780:54;;13795:14;;;;13811;13827:6;13780:14;:54::i;:::-;13300:541;;;:::o;15689:184::-;15775:6;15804:5;;;15835:12;-1:-1:-1;;;;;15827:6:0;;;;;;;;15819:29;;;;-1:-1:-1;;;15819:29:0;;;;;;;;;;-1:-1:-1;15865:1:0;15689:184;-1:-1:-1;;;;15689:184:0:o;13847:901::-;13951:6;-1:-1:-1;;;;;13941:16:0;:6;-1:-1:-1;;;;;13941:16:0;;;:30;;;;;13970:1;13961:6;-1:-1:-1;;;;;13961:10:0;;13941:30;13937:805;;;-1:-1:-1;;;;;13991:20:0;;;13987:366;;-1:-1:-1;;;;;14050:22:0;;14031:16;14050:22;;;:14;:22;;;;;;;;;14109:13;:60;;14168:1;14109:60;;;-1:-1:-1;;;;;14125:19:0;;;;;;:11;:19;;;;;;;;-1:-1:-1;;14145:13:0;;14125:34;;;;;;;;;:40;-1:-1:-1;;;14125:40:0;;-1:-1:-1;;;;;14125:40:0;14109:60;14090:79;;14187:16;14206:57;14212:9;14223:6;14206:57;;;;;;;;;;;;;;;;;:5;:57::i;:::-;14187:76;;14281:57;14298:6;14306:9;14317;14328;14281:16;:57::i;:::-;13987:366;;;;-1:-1:-1;;;;;14371:20:0;;;14367:365;;-1:-1:-1;;;;;14430:22:0;;14411:16;14430:22;;;:14;:22;;;;;;;;;14489:13;:60;;14548:1;14489:60;;;-1:-1:-1;;;;;14505:19:0;;;;;;:11;:19;;;;;;;;-1:-1:-1;;14525:13:0;;14505:34;;;;;;;;;:40;-1:-1:-1;;;14505:40:0;;-1:-1:-1;;;;;14505:40:0;14489:60;14470:79;;14567:16;14586:56;14592:9;14603:6;14586:56;;;;;;;;;;;;;;;;;:5;:56::i;:::-;14567:75;;14660:57;14677:6;14685:9;14696;14707;14660:16;:57::i;12927:367::-;-1:-1:-1;;;;;13029:20:0;;;13003:23;13029:20;;;:9;:20;;;;;;;;;;13085:8;:19;;;;;;13114:20;;;;:32;;;-1:-1:-1;;;;;;13114:32:0;;;;;;;13162:54;;13029:20;;;;;-1:-1:-1;;;;;13085:19:0;;;;13114:32;;13029:20;;;13162:54;;13003:23;13162:54;13227:60;13242:15;13259:9;13270:16;13227:14;:60::i;16047:205::-;16211:9;16047:205;:::o;14754:601::-;14871:18;14892:59;14899:12;14892:59;;;;;;;;;;;;;;;;;:6;:59::i;:::-;14871:80;;14979:1;14964:12;:16;;;:85;;;;-1:-1:-1;;;;;;14984:22:0;;;;;;:11;:22;;;;;;;;:65;-1:-1:-1;;15007:16:0;;14984:40;;;;;;;;;:50;:65;;;:50;;:65;14964:85;14960:324;;;-1:-1:-1;;;;;15063:22:0;;;;;;:11;:22;;;;;;;;-1:-1:-1;;15086:16:0;;15063:40;;;;;;;;;:57;;-1:-1:-1;;15063:57:0;-1:-1:-1;;;;;;;;15063:57:0;;;;;;14960:324;;;15186:33;;;;;;;;;;;;;;-1:-1:-1;;;;;15186:33:0;;;;;;;;;;-1:-1:-1;;;;;15147:22:0;;-1:-1:-1;15147:22:0;;;:11;:22;;;;;:36;;;;;;;;;;:72;;;;;;;;;-1:-1:-1;;;15147:72:0;-1:-1:-1;;15147:72:0;;;-1:-1:-1;;15147:72:0;;;;;;;;;;;;;;;15231:25;;;:14;:25;;;;;;;:44;;15147:72;15259:16;;15231:44;;;;;;;;;;;;;14960:324;15318:9;-1:-1:-1;;;;;15297:51:0;;15329:8;15339;15297:51;;;;;;;;;;;;;;;;14754:601;;;;;:::o;15361:158::-;15436:6;15473:12;-1:-1:-1;;;15462:9:0;;15454:32;;;;-1:-1:-1;;;15454:32:0;;;;;;;;;180:16074;;;;;;;;;;-1:-1:-1;180:16074:0;;;;;;;;:::o;5:130:-1:-;72:20;;-1:-1;;;;;22644:54;;23718:35;;23708:2;;23767:1;;23757:12;551:126;616:20;;22955:4;22944:16;;24210:33;;24200:2;;24257:1;;24247: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;;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;;;1111:63;;1229:53;1274:7;1211:2;1254:9;1250:22;1229:53;;;1219:63;;1015:283;;;;;;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;;;1501:63;-1:-1;1601:2;1640:22;;72:20;97:33;72:20;97:33;;;1405:391;;1609:63;;-1:-1;;;1709:2;1748:22;;;;346:20;;1405:391;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;;;2066:63;;2184:53;2229:7;2166:2;2209:9;2205:22;2184:53;;;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;;;2499:61;;2597:3;2641:9;2637:22;209:20;2606:63;;2706:3;2750:9;2746:22;209:20;2715:63;;1969:825;;;;;;;;;;;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;;;2980:63;3080:2;3119:22;;;;346:20;;-1:-1;;;2884:283;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;;;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;;;3744:61;;3842:3;3886:9;3882:22;209:20;3851:63;;3951:3;3995:9;3991:22;209:20;3960:63;;3323:716;;;;;;;;;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;;;4224:63;;4324:2;4366:9;4362:22;482:20;22861:10;24116:5;22850:22;24092:5;24089:34;24079:2;;-1:-1;;24127:12;24079:2;4332:62;;;;4128:282;;;;;;10887:650;-1:-1;;;5557:87;;5542:1;5663:11;;4719:37;;;;11389:12;;;4719:37;11500:12;;;11123:414;11544:372;7046:34;7026:55;;7115:34;7110:2;7101:12;;7094:56;-1:-1;;;7179:2;7170:12;;7163:42;7010:2;7224:12;;11724:192;11923:372;8265:34;8245:55;;8334:34;8329:2;8320:12;;8313:56;-1:-1;;;8398:2;8389:12;;8382:27;8229:2;8428:12;;12103:192;12302:372;9084:34;9064:55;;9153:28;9148:2;9139:12;;9132:50;9048:2;9201:12;;12482:192;12681:213;-1:-1;;;;;22644:54;;;;4488:37;;12799:2;12784:18;;12770:124;12901:324;-1:-1;;;;;22644:54;;;4488:37;;22644:54;;13211:2;13196:18;;4488:37;13047:2;13032:18;;13018:207;13232:201;22477:13;;22470:21;4602:34;;13344:2;13329:18;;13315:118;13440:213;4719:37;;;13558:2;13543:18;;13529:124;13660:771;4719:37;;;-1:-1;;;;;22644:54;;;14083:2;14068:18;;4488:37;22644:54;;;;14166:2;14151:18;;4488:37;14249:2;14234:18;;4719:37;14332:3;14317:19;;4719:37;;;;22655:42;14401:19;;4719:37;13918:3;13903:19;;13889:542;14438:547;4719:37;;;-1:-1;;;;;22644:54;;;;14805:2;14790:18;;4488:37;14888:2;14873:18;;4719:37;14971:2;14956:18;;4719:37;14640:3;14625:19;;14611:374;14992:547;4719:37;;;15359:2;15344:18;;4719:37;;;;15442:2;15427:18;;4719:37;-1:-1;;;;;22644:54;15525:2;15510:18;;4488:37;15194:3;15179:19;;15165:374;15546:539;4719:37;;;22955:4;22944:16;;;;15905:2;15890:18;;10592:35;15988:2;15973:18;;4719:37;16071:2;16056:18;;4719:37;15744:3;15729:19;;15715:370;16092:301;;16230:2;;16251:17;16244:47;5072:5;21946:12;22103:6;16230:2;16219:9;16215:18;22091:19;-1:-1;23269:101;23283:6;23280:1;23277:13;23269:101;;;23350:11;;;;;23344:18;23331:11;;;22131:14;23331:11;23324:39;23298:10;;23269:101;;;23385:6;23382:1;23379:13;23376:2;;;-1:-1;22131:14;23441:6;16219:9;23432:16;;23425:27;23376:2;-1:-1;23638:7;23622:14;-1:-1;;23618:28;5230:39;;;;22131:14;5230:39;;16201:192;-1:-1;;;16201:192;16400:407;16591:2;16605:47;;;5913:2;16576:18;;;22091:19;5949:33;22131:14;;;5929:54;6002:12;;;16562:245;16814:407;17005:2;17019:47;;;6253:2;16990:18;;;22091:19;6289:34;22131:14;;;6269:55;-1:-1;;;6344:12;;;6337:34;6390:12;;;16976:245;17228:407;17419:2;17433:47;;;6641:2;17404:18;;;22091:19;6677:26;22131:14;;;6657:47;6723:12;;;17390:245;17642:407;17833:2;17847:47;;;7475:2;17818:18;;;22091:19;7511:34;22131:14;;;7491:55;-1:-1;;;7566:12;;;7559:36;7614:12;;;17804:245;18056:407;18247:2;18261:47;;;7865:2;18232:18;;;22091:19;-1:-1;;;22131:14;;;7881:42;7942:12;;;18218:245;18470:407;18661:2;18675:47;;;8679:2;18646:18;;;22091:19;8715:26;22131:14;;;8695:47;8761:12;;;18632:245;18884:407;19075:2;19089:47;;;9452:2;19060:18;;;22091:19;-1:-1;;;22131:14;;;9468:43;9530:12;;;19046:245;19298:407;19489:2;19503:47;;;9781:2;19474:18;;;22091:19;9817:34;22131:14;;;9797:55;-1:-1;;;9872:12;;;9865:44;9928:12;;;19460:245;19712:407;19903:2;19917:47;;;10179:2;19888:18;;;22091:19;10215:27;22131:14;;;10195:48;10262:12;;;19874:245;20346:209;22861:10;22850:22;;;;10477:36;;20462:2;20447:18;;20433:122;20562:316;22861:10;22850:22;;;;10477:36;;-1:-1;;;;;23033:38;20864:2;20849:18;;10839:36;20704:2;20689:18;;20675:203;20885:205;22955:4;22944:16;;;;10592:35;;20999:2;20984:18;;20970:120;21097:211;-1:-1;;;;;23033:38;;;;10709:49;;21214:2;21199:18;;21185:123;21531:320;-1:-1;;;;;23033:38;;;10709:49;;23033:38;;21837:2;21822:18;;10709:49;21675:2;21660:18;;21646:205;23659:117;-1:-1;;;;;22644:54;;23718:35;;23708:2;;23767:1;;23757:12

Swarm Source

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