ETH Price: $3,468.41 (+0.13%)

Token

Crypto International (CRI)
 

Overview

Max Total Supply

10,000,850,776 CRI

Holders

13,086 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.021 CRI

Value
$0.00
0x3868094e3448Adc2C5713E7f70F7135d5915449A
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

The CRI Token COSMETA has created a PoS token called Crypto International (CRI) on the Ethereum blockchain. COSMETA is a blockchain startup founded in 2021 aiming to provide representative services including finance, HR services, accounting, trade, and legal advice.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
CRI

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license, Audited

Contract Source Code (Solidity)Audit Report

/**
 *Submitted for verification at Etherscan.io on 2021-11-03
*/

// SPDX-License-Identifier: MIT
// File: @openzeppelin/contracts/utils/Context.sol



pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol



pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol



pragma solidity ^0.8.0;


/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

// File: token.sol

// contracts/SimpleToken.sol

pragma solidity ^0.8.7;




/**
 * @title CRI
 * @dev CRI is the token for Crypto International
 * All rights reserved by Crypto International Inc.
 */
contract CRI is Context, IERC20, IERC20Metadata {

    address private _owner;
    uint256 private _reward;
    uint256 private _reward_period;

    mapping (address => uint256) private _stakes;
    mapping (address => uint256) private _stake_ts;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

     /**
     * @dev Constructor that gives _msgSender() all of existing tokens.
     *
     * - `initialSupply` and `initialReward` should have the unit of 1e-18.
     *
     */
    constructor (
        string memory name_,
        string memory symbol_,
        uint256 initialSupply,
        uint256 initialReward,
        uint32 rewardPeriod
    ) {
        _name = name_;
        _symbol = symbol_;
        _reward = initialReward;
        _reward_period = rewardPeriod;
        _owner = _msgSender();
        _mint(_msgSender(), initialSupply);
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

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

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }

    /**
     * @dev adjusts the per-day reward value per token.
     *
     * - `reward` should have the unit of 1e-18
     *
     */
    function setReward(uint256 reward) public {
      require(_msgSender() == _owner);
      _reward = reward;
    }

    /**
     * @dev mints new tokens.
     *
     * - `amount` specifies amount of tokens to be minted (in 1e-18).
     *
     */
    function mint(uint256 amount) public {
      require(_msgSender() == _owner);
      _mint(_msgSender(), amount);
    }

    /**
     * @dev rewards sender rewards for holding their tokens.
     *
     * CRI wallets can choose to obtain daily reward for tokens they are
     * currently holding. Wallet holders can specify any amount equals to or
     * below their balance to get reward for. Please note that by getting
     * reward, the specified portion of their balance will be locked.
     *
     */
    function getReward() public {
      require(_stake_ts[_msgSender()] <= block.timestamp - _reward_period, "CRI: need to keep stake for at least a day.");

      uint256 unit_reward = _stakes[_msgSender()] * _reward / 1e18;
      uint256 units = (block.timestamp - _stake_ts[_msgSender()]) / _reward_period;

      _stake_ts[_msgSender()] += units * _reward_period;
      _mint(_msgSender(), unit_reward * units);
    }

    /**
     * @dev put tokens into staking.
     *
     * CRI allows user to obtain reward by participating in staking. Users need
     * to explicitly add their tokens for staking to be able to receive reward.
     *
     * - `amount` specifies amount of tokens to add stake for.
     *
     */
    function putStake(uint256 amount) public {
      require(_balances[_msgSender()] >= amount, "CRI: Not enough balance");
      require(_stakes[_msgSender()] == 0, "CRI: Must empty stake first");
      _stakes[_msgSender()] = amount;
      _stake_ts[_msgSender()] = block.timestamp;
      _balances[_msgSender()] -= amount;
    }

    /**
     * @dev retrieve tokens from staking.
     *
     * CRI allows user to obtain reward by participating in staking. Users need
     * to explicitly add their tokens for staking to be able to receive reward.
     *
     */
    function retrieveStake() public {
      require(_stakes[_msgSender()] >= 0, "CRI: Empty stake");
      _balances[_msgSender()] += _stakes[_msgSender()];
      _stakes[_msgSender()] = 0;
    }

    /**
     * @dev view the amount of stake that the sender currently has.
     *
     */
    function viewStake() public
      view
      returns(uint256) {
      return _stakes[_msgSender()];
    }

    /**
     * @dev view the current reward period.
     *
     */
    function viewRewardPeriod() public
      view
      returns(uint256) {
      return _reward_period;
    }

    /**
     * @dev view the currenct reward per token.
     *
     */
    function viewReward() public
      view
      returns(uint256) {
      return _reward;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"uint256","name":"initialReward","type":"uint256"},{"internalType":"uint32","name":"rewardPeriod","type":"uint32"}],"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":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"putStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"setReward","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewRewardPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b506040516200280038038062002800833981810160405281019062000037919062000534565b84600890805190602001906200004f9291906200026b565b508360099080519060200190620000689291906200026b565b50816001819055508063ffffffff166002819055506200008d620000f860201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000ed620000e0620000f860201b60201c565b846200010060201b60201c565b50505050506200079c565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000173576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200016a906200065b565b60405180910390fd5b62000187600083836200026660201b60201c565b80600760008282546200019b9190620006ac565b9250508190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001f39190620006ac565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200025a91906200071a565b60405180910390a35050565b505050565b828054620002799062000766565b90600052602060002090601f0160209004810192826200029d5760008555620002e9565b82601f10620002b857805160ff1916838001178555620002e9565b82800160010185558215620002e9579182015b82811115620002e8578251825591602001919060010190620002cb565b5b509050620002f89190620002fc565b5090565b5b8082111562000317576000816000905550600101620002fd565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620003848262000339565b810181811067ffffffffffffffff82111715620003a657620003a56200034a565b5b80604052505050565b6000620003bb6200031b565b9050620003c9828262000379565b919050565b600067ffffffffffffffff821115620003ec57620003eb6200034a565b5b620003f78262000339565b9050602081019050919050565b60005b838110156200042457808201518184015260208101905062000407565b8381111562000434576000848401525b50505050565b6000620004516200044b84620003ce565b620003af565b90508281526020810184848401111562000470576200046f62000334565b5b6200047d84828562000404565b509392505050565b600082601f8301126200049d576200049c6200032f565b5b8151620004af8482602086016200043a565b91505092915050565b6000819050919050565b620004cd81620004b8565b8114620004d957600080fd5b50565b600081519050620004ed81620004c2565b92915050565b600063ffffffff82169050919050565b6200050e81620004f3565b81146200051a57600080fd5b50565b6000815190506200052e8162000503565b92915050565b600080600080600060a0868803121562000553576200055262000325565b5b600086015167ffffffffffffffff8111156200057457620005736200032a565b5b620005828882890162000485565b955050602086015167ffffffffffffffff811115620005a657620005a56200032a565b5b620005b48882890162000485565b9450506040620005c788828901620004dc565b9350506060620005da88828901620004dc565b9250506080620005ed888289016200051d565b9150509295509295909350565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000643601f83620005fa565b915062000650826200060b565b602082019050919050565b60006020820190508181036000830152620006768162000634565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620006b982620004b8565b9150620006c683620004b8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620006fe57620006fd6200067d565b5b828201905092915050565b6200071481620004b8565b82525050565b600060208201905062000731600083018462000709565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200077f57607f821691505b6020821081141562000796576200079562000737565b5b50919050565b61205480620007ac6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806339509351116100ad578063986f7b1511610071578063986f7b15146102e6578063a0712d6814610304578063a457c2d714610320578063a9059cbb14610350578063dd62ed3e1461038057610121565b806339509351146102545780633d18b912146102845780633dda3da71461028e57806370a082311461029857806395d89b41146102c857610121565b806323b872dd116100f457806323b872dd146101b0578063293be456146101e05780632d53d984146101fc578063313ce5671461021857806334f2015d1461023657610121565b8063046363491461012657806306fdde0314610144578063095ea7b31461016257806318160ddd14610192575b600080fd5b61012e6103b0565b60405161013b919061150b565b60405180910390f35b61014c6103fe565b60405161015991906115bf565b60405180910390f35b61017c60048036038101906101779190611670565b610490565b60405161018991906116cb565b60405180910390f35b61019a6104ae565b6040516101a7919061150b565b60405180910390f35b6101ca60048036038101906101c591906116e6565b6104b8565b6040516101d791906116cb565b60405180910390f35b6101fa60048036038101906101f59190611739565b6105b9565b005b61021660048036038101906102119190611739565b610622565b005b61022061082a565b60405161022d9190611782565b60405180910390f35b61023e610833565b60405161024b919061150b565b60405180910390f35b61026e60048036038101906102699190611670565b61083d565b60405161027b91906116cb565b60405180910390f35b61028c6108e9565b005b610296610ad7565b005b6102b260048036038101906102ad919061179d565b610c52565b6040516102bf919061150b565b60405180910390f35b6102d0610c9b565b6040516102dd91906115bf565b60405180910390f35b6102ee610d2d565b6040516102fb919061150b565b60405180910390f35b61031e60048036038101906103199190611739565b610d37565b005b61033a60048036038101906103359190611670565b610daa565b60405161034791906116cb565b60405180910390f35b61036a60048036038101906103659190611670565b610e9e565b60405161037791906116cb565b60405180910390f35b61039a600480360381019061039591906117ca565b610ebc565b6040516103a7919061150b565b60405180910390f35b6000600360006103be610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60606008805461040d90611839565b80601f016020809104026020016040519081016040528092919081815260200182805461043990611839565b80156104865780601f1061045b57610100808354040283529160200191610486565b820191906000526020600020905b81548152906001019060200180831161046957829003601f168201915b5050505050905090565b60006104a461049d610f43565b8484610f4b565b6001905092915050565b6000600754905090565b60006104c5848484611116565b6000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610510610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610590576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610587906118dd565b60405180910390fd5b6105ad8561059c610f43565b85846105a8919061192c565b610f4b565b60019150509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105f8610f43565b73ffffffffffffffffffffffffffffffffffffffff161461061857600080fd5b8060018190555050565b806005600061062f610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a2906119ac565b60405180910390fd5b6000600360006106b9610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072b90611a18565b60405180910390fd5b8060036000610741610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550426004600061078c610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560006107d7610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610820919061192c565b9250508190555050565b60006012905090565b6000600154905090565b60006108df61084a610f43565b848460066000610858610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108da9190611a38565b610f4b565b6001905092915050565b600254426108f7919061192c565b60046000610903610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561097f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097690611b00565b60405180910390fd5b6000670de0b6b3a764000060015460036000610999610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109de9190611b20565b6109e89190611ba9565b90506000600254600460006109fb610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442610a41919061192c565b610a4b9190611ba9565b905060025481610a5b9190611b20565b60046000610a67610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ab09190611a38565b92505081905550610ad3610ac2610f43565b8284610ace9190611b20565b611398565b5050565b600060036000610ae5610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5890611c26565b60405180910390fd5b60036000610b6d610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460056000610bb4610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bfd9190611a38565b92505081905550600060036000610c12610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060098054610caa90611839565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd690611839565b8015610d235780601f10610cf857610100808354040283529160200191610d23565b820191906000526020600020905b815481529060010190602001808311610d0657829003601f168201915b5050505050905090565b6000600254905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d76610f43565b73ffffffffffffffffffffffffffffffffffffffff1614610d9657600080fd5b610da7610da1610f43565b82611398565b50565b60008060066000610db9610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6d90611cb8565b60405180910390fd5b610e93610e81610f43565b858584610e8e919061192c565b610f4b565b600191505092915050565b6000610eb2610eab610f43565b8484611116565b6001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb290611d4a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561102b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102290611ddc565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611109919061150b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d90611e6e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ed90611f00565b60405180910390fd5b6112018383836114ed565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90611f92565b60405180910390fd5b8181611294919061192c565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113269190611a38565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161138a919061150b565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ff90611ffe565b60405180910390fd5b611414600083836114ed565b80600760008282546114269190611a38565b9250508190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461147c9190611a38565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114e1919061150b565b60405180910390a35050565b505050565b6000819050919050565b611505816114f2565b82525050565b600060208201905061152060008301846114fc565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611560578082015181840152602081019050611545565b8381111561156f576000848401525b50505050565b6000601f19601f8301169050919050565b600061159182611526565b61159b8185611531565b93506115ab818560208601611542565b6115b481611575565b840191505092915050565b600060208201905081810360008301526115d98184611586565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611611826115e6565b9050919050565b61162181611606565b811461162c57600080fd5b50565b60008135905061163e81611618565b92915050565b61164d816114f2565b811461165857600080fd5b50565b60008135905061166a81611644565b92915050565b60008060408385031215611687576116866115e1565b5b60006116958582860161162f565b92505060206116a68582860161165b565b9150509250929050565b60008115159050919050565b6116c5816116b0565b82525050565b60006020820190506116e060008301846116bc565b92915050565b6000806000606084860312156116ff576116fe6115e1565b5b600061170d8682870161162f565b935050602061171e8682870161162f565b925050604061172f8682870161165b565b9150509250925092565b60006020828403121561174f5761174e6115e1565b5b600061175d8482850161165b565b91505092915050565b600060ff82169050919050565b61177c81611766565b82525050565b60006020820190506117976000830184611773565b92915050565b6000602082840312156117b3576117b26115e1565b5b60006117c18482850161162f565b91505092915050565b600080604083850312156117e1576117e06115e1565b5b60006117ef8582860161162f565b92505060206118008582860161162f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185157607f821691505b602082108114156118655761186461180a565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006118c7602883611531565b91506118d28261186b565b604082019050919050565b600060208201905081810360008301526118f6816118ba565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611937826114f2565b9150611942836114f2565b925082821015611955576119546118fd565b5b828203905092915050565b7f4352493a204e6f7420656e6f7567682062616c616e6365000000000000000000600082015250565b6000611996601783611531565b91506119a182611960565b602082019050919050565b600060208201905081810360008301526119c581611989565b9050919050565b7f4352493a204d75737420656d707479207374616b652066697273740000000000600082015250565b6000611a02601b83611531565b9150611a0d826119cc565b602082019050919050565b60006020820190508181036000830152611a31816119f5565b9050919050565b6000611a43826114f2565b9150611a4e836114f2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611a8357611a826118fd565b5b828201905092915050565b7f4352493a206e65656420746f206b656570207374616b6520666f72206174206c60008201527f656173742061206461792e000000000000000000000000000000000000000000602082015250565b6000611aea602b83611531565b9150611af582611a8e565b604082019050919050565b60006020820190508181036000830152611b1981611add565b9050919050565b6000611b2b826114f2565b9150611b36836114f2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611b6f57611b6e6118fd565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611bb4826114f2565b9150611bbf836114f2565b925082611bcf57611bce611b7a565b5b828204905092915050565b7f4352493a20456d707479207374616b6500000000000000000000000000000000600082015250565b6000611c10601083611531565b9150611c1b82611bda565b602082019050919050565b60006020820190508181036000830152611c3f81611c03565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611ca2602583611531565b9150611cad82611c46565b604082019050919050565b60006020820190508181036000830152611cd181611c95565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611d34602483611531565b9150611d3f82611cd8565b604082019050919050565b60006020820190508181036000830152611d6381611d27565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611dc6602283611531565b9150611dd182611d6a565b604082019050919050565b60006020820190508181036000830152611df581611db9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611e58602583611531565b9150611e6382611dfc565b604082019050919050565b60006020820190508181036000830152611e8781611e4b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611eea602383611531565b9150611ef582611e8e565b604082019050919050565b60006020820190508181036000830152611f1981611edd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611f7c602683611531565b9150611f8782611f20565b604082019050919050565b60006020820190508181036000830152611fab81611f6f565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611fe8601f83611531565b9150611ff382611fb2565b602082019050919050565b6000602082019050818103600083015261201781611fdb565b905091905056fea26469706673582212208893b2f7ab108e056f1797fb06e939624df48e97571fe0150e963ed10d04c27564736f6c6343000809003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000204fce5e3e250261100000000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000000000015180000000000000000000000000000000000000000000000000000000000000001443727970746f20496e7465726e6174696f6e616c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000034352490000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806339509351116100ad578063986f7b1511610071578063986f7b15146102e6578063a0712d6814610304578063a457c2d714610320578063a9059cbb14610350578063dd62ed3e1461038057610121565b806339509351146102545780633d18b912146102845780633dda3da71461028e57806370a082311461029857806395d89b41146102c857610121565b806323b872dd116100f457806323b872dd146101b0578063293be456146101e05780632d53d984146101fc578063313ce5671461021857806334f2015d1461023657610121565b8063046363491461012657806306fdde0314610144578063095ea7b31461016257806318160ddd14610192575b600080fd5b61012e6103b0565b60405161013b919061150b565b60405180910390f35b61014c6103fe565b60405161015991906115bf565b60405180910390f35b61017c60048036038101906101779190611670565b610490565b60405161018991906116cb565b60405180910390f35b61019a6104ae565b6040516101a7919061150b565b60405180910390f35b6101ca60048036038101906101c591906116e6565b6104b8565b6040516101d791906116cb565b60405180910390f35b6101fa60048036038101906101f59190611739565b6105b9565b005b61021660048036038101906102119190611739565b610622565b005b61022061082a565b60405161022d9190611782565b60405180910390f35b61023e610833565b60405161024b919061150b565b60405180910390f35b61026e60048036038101906102699190611670565b61083d565b60405161027b91906116cb565b60405180910390f35b61028c6108e9565b005b610296610ad7565b005b6102b260048036038101906102ad919061179d565b610c52565b6040516102bf919061150b565b60405180910390f35b6102d0610c9b565b6040516102dd91906115bf565b60405180910390f35b6102ee610d2d565b6040516102fb919061150b565b60405180910390f35b61031e60048036038101906103199190611739565b610d37565b005b61033a60048036038101906103359190611670565b610daa565b60405161034791906116cb565b60405180910390f35b61036a60048036038101906103659190611670565b610e9e565b60405161037791906116cb565b60405180910390f35b61039a600480360381019061039591906117ca565b610ebc565b6040516103a7919061150b565b60405180910390f35b6000600360006103be610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60606008805461040d90611839565b80601f016020809104026020016040519081016040528092919081815260200182805461043990611839565b80156104865780601f1061045b57610100808354040283529160200191610486565b820191906000526020600020905b81548152906001019060200180831161046957829003601f168201915b5050505050905090565b60006104a461049d610f43565b8484610f4b565b6001905092915050565b6000600754905090565b60006104c5848484611116565b6000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610510610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610590576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610587906118dd565b60405180910390fd5b6105ad8561059c610f43565b85846105a8919061192c565b610f4b565b60019150509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105f8610f43565b73ffffffffffffffffffffffffffffffffffffffff161461061857600080fd5b8060018190555050565b806005600061062f610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a2906119ac565b60405180910390fd5b6000600360006106b9610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072b90611a18565b60405180910390fd5b8060036000610741610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550426004600061078c610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560006107d7610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610820919061192c565b9250508190555050565b60006012905090565b6000600154905090565b60006108df61084a610f43565b848460066000610858610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108da9190611a38565b610f4b565b6001905092915050565b600254426108f7919061192c565b60046000610903610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561097f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097690611b00565b60405180910390fd5b6000670de0b6b3a764000060015460036000610999610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109de9190611b20565b6109e89190611ba9565b90506000600254600460006109fb610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442610a41919061192c565b610a4b9190611ba9565b905060025481610a5b9190611b20565b60046000610a67610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ab09190611a38565b92505081905550610ad3610ac2610f43565b8284610ace9190611b20565b611398565b5050565b600060036000610ae5610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5890611c26565b60405180910390fd5b60036000610b6d610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460056000610bb4610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bfd9190611a38565b92505081905550600060036000610c12610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060098054610caa90611839565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd690611839565b8015610d235780601f10610cf857610100808354040283529160200191610d23565b820191906000526020600020905b815481529060010190602001808311610d0657829003601f168201915b5050505050905090565b6000600254905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d76610f43565b73ffffffffffffffffffffffffffffffffffffffff1614610d9657600080fd5b610da7610da1610f43565b82611398565b50565b60008060066000610db9610f43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6d90611cb8565b60405180910390fd5b610e93610e81610f43565b858584610e8e919061192c565b610f4b565b600191505092915050565b6000610eb2610eab610f43565b8484611116565b6001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb290611d4a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561102b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102290611ddc565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611109919061150b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d90611e6e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ed90611f00565b60405180910390fd5b6112018383836114ed565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90611f92565b60405180910390fd5b8181611294919061192c565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113269190611a38565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161138a919061150b565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ff90611ffe565b60405180910390fd5b611414600083836114ed565b80600760008282546114269190611a38565b9250508190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461147c9190611a38565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114e1919061150b565b60405180910390a35050565b505050565b6000819050919050565b611505816114f2565b82525050565b600060208201905061152060008301846114fc565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611560578082015181840152602081019050611545565b8381111561156f576000848401525b50505050565b6000601f19601f8301169050919050565b600061159182611526565b61159b8185611531565b93506115ab818560208601611542565b6115b481611575565b840191505092915050565b600060208201905081810360008301526115d98184611586565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611611826115e6565b9050919050565b61162181611606565b811461162c57600080fd5b50565b60008135905061163e81611618565b92915050565b61164d816114f2565b811461165857600080fd5b50565b60008135905061166a81611644565b92915050565b60008060408385031215611687576116866115e1565b5b60006116958582860161162f565b92505060206116a68582860161165b565b9150509250929050565b60008115159050919050565b6116c5816116b0565b82525050565b60006020820190506116e060008301846116bc565b92915050565b6000806000606084860312156116ff576116fe6115e1565b5b600061170d8682870161162f565b935050602061171e8682870161162f565b925050604061172f8682870161165b565b9150509250925092565b60006020828403121561174f5761174e6115e1565b5b600061175d8482850161165b565b91505092915050565b600060ff82169050919050565b61177c81611766565b82525050565b60006020820190506117976000830184611773565b92915050565b6000602082840312156117b3576117b26115e1565b5b60006117c18482850161162f565b91505092915050565b600080604083850312156117e1576117e06115e1565b5b60006117ef8582860161162f565b92505060206118008582860161162f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185157607f821691505b602082108114156118655761186461180a565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006118c7602883611531565b91506118d28261186b565b604082019050919050565b600060208201905081810360008301526118f6816118ba565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611937826114f2565b9150611942836114f2565b925082821015611955576119546118fd565b5b828203905092915050565b7f4352493a204e6f7420656e6f7567682062616c616e6365000000000000000000600082015250565b6000611996601783611531565b91506119a182611960565b602082019050919050565b600060208201905081810360008301526119c581611989565b9050919050565b7f4352493a204d75737420656d707479207374616b652066697273740000000000600082015250565b6000611a02601b83611531565b9150611a0d826119cc565b602082019050919050565b60006020820190508181036000830152611a31816119f5565b9050919050565b6000611a43826114f2565b9150611a4e836114f2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611a8357611a826118fd565b5b828201905092915050565b7f4352493a206e65656420746f206b656570207374616b6520666f72206174206c60008201527f656173742061206461792e000000000000000000000000000000000000000000602082015250565b6000611aea602b83611531565b9150611af582611a8e565b604082019050919050565b60006020820190508181036000830152611b1981611add565b9050919050565b6000611b2b826114f2565b9150611b36836114f2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611b6f57611b6e6118fd565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611bb4826114f2565b9150611bbf836114f2565b925082611bcf57611bce611b7a565b5b828204905092915050565b7f4352493a20456d707479207374616b6500000000000000000000000000000000600082015250565b6000611c10601083611531565b9150611c1b82611bda565b602082019050919050565b60006020820190508181036000830152611c3f81611c03565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611ca2602583611531565b9150611cad82611c46565b604082019050919050565b60006020820190508181036000830152611cd181611c95565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611d34602483611531565b9150611d3f82611cd8565b604082019050919050565b60006020820190508181036000830152611d6381611d27565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611dc6602283611531565b9150611dd182611d6a565b604082019050919050565b60006020820190508181036000830152611df581611db9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611e58602583611531565b9150611e6382611dfc565b604082019050919050565b60006020820190508181036000830152611e8781611e4b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611eea602383611531565b9150611ef582611e8e565b604082019050919050565b60006020820190508181036000830152611f1981611edd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611f7c602683611531565b9150611f8782611f20565b604082019050919050565b60006020820190508181036000830152611fab81611f6f565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611fe8601f83611531565b9150611ff382611fb2565b602082019050919050565b6000602082019050818103600083015261201781611fdb565b905091905056fea26469706673582212208893b2f7ab108e056f1797fb06e939624df48e97571fe0150e963ed10d04c27564736f6c63430008090033

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

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000204fce5e3e250261100000000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000000000015180000000000000000000000000000000000000000000000000000000000000001443727970746f20496e7465726e6174696f6e616c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000034352490000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Crypto International
Arg [1] : symbol_ (string): CRI
Arg [2] : initialSupply (uint256): 10000000000000000000000000000
Arg [3] : initialReward (uint256): 200000000000000
Arg [4] : rewardPeriod (uint32): 86400

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000204fce5e3e25026110000000
Arg [3] : 0000000000000000000000000000000000000000000000000000b5e620f48000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000015180
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [6] : 43727970746f20496e7465726e6174696f6e616c000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [8] : 4352490000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

4582:12923:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17024:109;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5713:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7880:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6833:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8531:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14625:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16146:333;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6675:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17404:96;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9362:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15407:425;;;:::i;:::-;;16726:195;;;:::i;:::-;;7004:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5932:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17212:109;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14884:121;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10080:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7344:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7582:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17024:109;17079:7;17104;:21;17112:12;:10;:12::i;:::-;17104:21;;;;;;;;;;;;;;;;17097:28;;17024:109;:::o;5713:100::-;5767:13;5800:5;5793:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5713:100;:::o;7880:169::-;7963:4;7980:39;7989:12;:10;:12::i;:::-;8003:7;8012:6;7980:8;:39::i;:::-;8037:4;8030:11;;7880:169;;;;:::o;6833:108::-;6894:7;6921:12;;6914:19;;6833:108;:::o;8531:422::-;8637:4;8654:36;8664:6;8672:9;8683:6;8654:9;:36::i;:::-;8703:24;8730:11;:19;8742:6;8730:19;;;;;;;;;;;;;;;:33;8750:12;:10;:12::i;:::-;8730:33;;;;;;;;;;;;;;;;8703:60;;8802:6;8782:16;:26;;8774:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8864:57;8873:6;8881:12;:10;:12::i;:::-;8914:6;8895:16;:25;;;;:::i;:::-;8864:8;:57::i;:::-;8941:4;8934:11;;;8531:422;;;;;:::o;14625:115::-;14700:6;;;;;;;;;;14684:22;;:12;:10;:12::i;:::-;:22;;;14676:31;;;;;;14726:6;14716:7;:16;;;;14625:115;:::o;16146:333::-;16231:6;16204:9;:23;16214:12;:10;:12::i;:::-;16204:23;;;;;;;;;;;;;;;;:33;;16196:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;16307:1;16282:7;:21;16290:12;:10;:12::i;:::-;16282:21;;;;;;;;;;;;;;;;:26;16274:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;16373:6;16349:7;:21;16357:12;:10;:12::i;:::-;16349:21;;;;;;;;;;;;;;;:30;;;;16414:15;16388:9;:23;16398:12;:10;:12::i;:::-;16388:23;;;;;;;;;;;;;;;:41;;;;16465:6;16438:9;:23;16448:12;:10;:12::i;:::-;16438:23;;;;;;;;;;;;;;;;:33;;;;;;;:::i;:::-;;;;;;;;16146:333;:::o;6675:93::-;6733:5;6758:2;6751:9;;6675:93;:::o;17404:96::-;17460:7;17485;;17478:14;;17404:96;:::o;9362:215::-;9450:4;9467:80;9476:12;:10;:12::i;:::-;9490:7;9536:10;9499:11;:25;9511:12;:10;:12::i;:::-;9499:25;;;;;;;;;;;;;;;:34;9525:7;9499:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;9467:8;:80::i;:::-;9565:4;9558:11;;9362:215;;;;:::o;15407:425::-;15497:14;;15479:15;:32;;;;:::i;:::-;15452:9;:23;15462:12;:10;:12::i;:::-;15452:23;;;;;;;;;;;;;;;;:59;;15444:115;;;;;;;;;;;;:::i;:::-;;;;;;;;;15570:19;15626:4;15616:7;;15592;:21;15600:12;:10;:12::i;:::-;15592:21;;;;;;;;;;;;;;;;:31;;;;:::i;:::-;:38;;;;:::i;:::-;15570:60;;15639:13;15701:14;;15674:9;:23;15684:12;:10;:12::i;:::-;15674:23;;;;;;;;;;;;;;;;15656:15;:41;;;;:::i;:::-;15655:60;;;;:::i;:::-;15639:76;;15761:14;;15753:5;:22;;;;:::i;:::-;15726:9;:23;15736:12;:10;:12::i;:::-;15726:23;;;;;;;;;;;;;;;;:49;;;;;;;:::i;:::-;;;;;;;;15784:40;15790:12;:10;:12::i;:::-;15818:5;15804:11;:19;;;;:::i;:::-;15784:5;:40::i;:::-;15435:397;;15407:425::o;16726:195::-;16800:1;16775:7;:21;16783:12;:10;:12::i;:::-;16775:21;;;;;;;;;;;;;;;;:26;;16767:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;16858:7;:21;16866:12;:10;:12::i;:::-;16858:21;;;;;;;;;;;;;;;;16831:9;:23;16841:12;:10;:12::i;:::-;16831:23;;;;;;;;;;;;;;;;:48;;;;;;;:::i;:::-;;;;;;;;16912:1;16888:7;:21;16896:12;:10;:12::i;:::-;16888:21;;;;;;;;;;;;;;;:25;;;;16726:195::o;7004:127::-;7078:7;7105:9;:18;7115:7;7105:18;;;;;;;;;;;;;;;;7098:25;;7004:127;;;:::o;5932:104::-;5988:13;6021:7;6014:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5932:104;:::o;17212:109::-;17274:7;17299:14;;17292:21;;17212:109;:::o;14884:121::-;14954:6;;;;;;;;;;14938:22;;:12;:10;:12::i;:::-;:22;;;14930:31;;;;;;14970:27;14976:12;:10;:12::i;:::-;14990:6;14970:5;:27::i;:::-;14884:121;:::o;10080:377::-;10173:4;10190:24;10217:11;:25;10229:12;:10;:12::i;:::-;10217:25;;;;;;;;;;;;;;;:34;10243:7;10217:34;;;;;;;;;;;;;;;;10190:61;;10290:15;10270:16;:35;;10262:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10358:67;10367:12;:10;:12::i;:::-;10381:7;10409:15;10390:16;:34;;;;:::i;:::-;10358:8;:67::i;:::-;10445:4;10438:11;;;10080:377;;;;:::o;7344:175::-;7430:4;7447:42;7457:12;:10;:12::i;:::-;7471:9;7482:6;7447:9;:42::i;:::-;7507:4;7500:11;;7344:175;;;;:::o;7582:151::-;7671:7;7698:11;:18;7710:5;7698:18;;;;;;;;;;;;;;;:27;7717:7;7698:27;;;;;;;;;;;;;;;;7691:34;;7582:151;;;;:::o;658:98::-;711:7;738:10;731:17;;658:98;:::o;13436:346::-;13555:1;13538:19;;:5;:19;;;;13530:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13636:1;13617:21;;:7;:21;;;;13609:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13720:6;13690:11;:18;13702:5;13690:18;;;;;;;;;;;;;;;:27;13709:7;13690:27;;;;;;;;;;;;;;;:36;;;;13758:7;13742:32;;13751:5;13742:32;;;13767:6;13742:32;;;;;;:::i;:::-;;;;;;;;13436:346;;;:::o;10947:604::-;11071:1;11053:20;;:6;:20;;;;11045:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;11155:1;11134:23;;:9;:23;;;;11126:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11210:47;11231:6;11239:9;11250:6;11210:20;:47::i;:::-;11270:21;11294:9;:17;11304:6;11294:17;;;;;;;;;;;;;;;;11270:41;;11347:6;11330:13;:23;;11322:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11443:6;11427:13;:22;;;;:::i;:::-;11407:9;:17;11417:6;11407:17;;;;;;;;;;;;;;;:42;;;;11484:6;11460:9;:20;11470:9;11460:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;11525:9;11508:35;;11517:6;11508:35;;;11536:6;11508:35;;;;;;:::i;:::-;;;;;;;;11034:517;10947:604;;;:::o;11833:338::-;11936:1;11917:21;;:7;:21;;;;11909:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11987:49;12016:1;12020:7;12029:6;11987:20;:49::i;:::-;12065:6;12049:12;;:22;;;;;;;:::i;:::-;;;;;;;;12104:6;12082:9;:18;12092:7;12082:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;12147:7;12126:37;;12143:1;12126:37;;;12156:6;12126:37;;;;;;:::i;:::-;;;;;;;;11833:338;;:::o;14385:92::-;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:329::-;4530:6;4579:2;4567:9;4558:7;4554:23;4550:32;4547:119;;;4585:79;;:::i;:::-;4547:119;4705:1;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4676:117;4471:329;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:329::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:474::-;5639:6;5647;5696:2;5684:9;5675:7;5671:23;5667:32;5664:119;;;5702:79;;:::i;:::-;5664:119;5822:1;5847:53;5892:7;5883:6;5872:9;5868:22;5847:53;:::i;:::-;5837:63;;5793:117;5949:2;5975:53;6020:7;6011:6;6000:9;5996:22;5975:53;:::i;:::-;5965:63;;5920:118;5571:474;;;;;:::o;6051:180::-;6099:77;6096:1;6089:88;6196:4;6193:1;6186:15;6220:4;6217:1;6210:15;6237:320;6281:6;6318:1;6312:4;6308:12;6298:22;;6365:1;6359:4;6355:12;6386:18;6376:81;;6442:4;6434:6;6430:17;6420:27;;6376:81;6504:2;6496:6;6493:14;6473:18;6470:38;6467:84;;;6523:18;;:::i;:::-;6467:84;6288:269;6237:320;;;:::o;6563:227::-;6703:34;6699:1;6691:6;6687:14;6680:58;6772:10;6767:2;6759:6;6755:15;6748:35;6563:227;:::o;6796:366::-;6938:3;6959:67;7023:2;7018:3;6959:67;:::i;:::-;6952:74;;7035:93;7124:3;7035:93;:::i;:::-;7153:2;7148:3;7144:12;7137:19;;6796:366;;;:::o;7168:419::-;7334:4;7372:2;7361:9;7357:18;7349:26;;7421:9;7415:4;7411:20;7407:1;7396:9;7392:17;7385:47;7449:131;7575:4;7449:131;:::i;:::-;7441:139;;7168:419;;;:::o;7593:180::-;7641:77;7638:1;7631:88;7738:4;7735:1;7728:15;7762:4;7759:1;7752:15;7779:191;7819:4;7839:20;7857:1;7839:20;:::i;:::-;7834:25;;7873:20;7891:1;7873:20;:::i;:::-;7868:25;;7912:1;7909;7906:8;7903:34;;;7917:18;;:::i;:::-;7903:34;7962:1;7959;7955:9;7947:17;;7779:191;;;;:::o;7976:173::-;8116:25;8112:1;8104:6;8100:14;8093:49;7976:173;:::o;8155:366::-;8297:3;8318:67;8382:2;8377:3;8318:67;:::i;:::-;8311:74;;8394:93;8483:3;8394:93;:::i;:::-;8512:2;8507:3;8503:12;8496:19;;8155:366;;;:::o;8527:419::-;8693:4;8731:2;8720:9;8716:18;8708:26;;8780:9;8774:4;8770:20;8766:1;8755:9;8751:17;8744:47;8808:131;8934:4;8808:131;:::i;:::-;8800:139;;8527:419;;;:::o;8952:177::-;9092:29;9088:1;9080:6;9076:14;9069:53;8952:177;:::o;9135:366::-;9277:3;9298:67;9362:2;9357:3;9298:67;:::i;:::-;9291:74;;9374:93;9463:3;9374:93;:::i;:::-;9492:2;9487:3;9483:12;9476:19;;9135:366;;;:::o;9507:419::-;9673:4;9711:2;9700:9;9696:18;9688:26;;9760:9;9754:4;9750:20;9746:1;9735:9;9731:17;9724:47;9788:131;9914:4;9788:131;:::i;:::-;9780:139;;9507:419;;;:::o;9932:305::-;9972:3;9991:20;10009:1;9991:20;:::i;:::-;9986:25;;10025:20;10043:1;10025:20;:::i;:::-;10020:25;;10179:1;10111:66;10107:74;10104:1;10101:81;10098:107;;;10185:18;;:::i;:::-;10098:107;10229:1;10226;10222:9;10215:16;;9932:305;;;;:::o;10243:230::-;10383:34;10379:1;10371:6;10367:14;10360:58;10452:13;10447:2;10439:6;10435:15;10428:38;10243:230;:::o;10479:366::-;10621:3;10642:67;10706:2;10701:3;10642:67;:::i;:::-;10635:74;;10718:93;10807:3;10718:93;:::i;:::-;10836:2;10831:3;10827:12;10820:19;;10479:366;;;:::o;10851:419::-;11017:4;11055:2;11044:9;11040:18;11032:26;;11104:9;11098:4;11094:20;11090:1;11079:9;11075:17;11068:47;11132:131;11258:4;11132:131;:::i;:::-;11124:139;;10851:419;;;:::o;11276:348::-;11316:7;11339:20;11357:1;11339:20;:::i;:::-;11334:25;;11373:20;11391:1;11373:20;:::i;:::-;11368:25;;11561:1;11493:66;11489:74;11486:1;11483:81;11478:1;11471:9;11464:17;11460:105;11457:131;;;11568:18;;:::i;:::-;11457:131;11616:1;11613;11609:9;11598:20;;11276:348;;;;:::o;11630:180::-;11678:77;11675:1;11668:88;11775:4;11772:1;11765:15;11799:4;11796:1;11789:15;11816:185;11856:1;11873:20;11891:1;11873:20;:::i;:::-;11868:25;;11907:20;11925:1;11907:20;:::i;:::-;11902:25;;11946:1;11936:35;;11951:18;;:::i;:::-;11936:35;11993:1;11990;11986:9;11981:14;;11816:185;;;;:::o;12007:166::-;12147:18;12143:1;12135:6;12131:14;12124:42;12007:166;:::o;12179:366::-;12321:3;12342:67;12406:2;12401:3;12342:67;:::i;:::-;12335:74;;12418:93;12507:3;12418:93;:::i;:::-;12536:2;12531:3;12527:12;12520:19;;12179:366;;;:::o;12551:419::-;12717:4;12755:2;12744:9;12740:18;12732:26;;12804:9;12798:4;12794:20;12790:1;12779:9;12775:17;12768:47;12832:131;12958:4;12832:131;:::i;:::-;12824:139;;12551:419;;;:::o;12976:224::-;13116:34;13112:1;13104:6;13100:14;13093:58;13185:7;13180:2;13172:6;13168:15;13161:32;12976:224;:::o;13206:366::-;13348:3;13369:67;13433:2;13428:3;13369:67;:::i;:::-;13362:74;;13445:93;13534:3;13445:93;:::i;:::-;13563:2;13558:3;13554:12;13547:19;;13206:366;;;:::o;13578:419::-;13744:4;13782:2;13771:9;13767:18;13759:26;;13831:9;13825:4;13821:20;13817:1;13806:9;13802:17;13795:47;13859:131;13985:4;13859:131;:::i;:::-;13851:139;;13578:419;;;:::o;14003:223::-;14143:34;14139:1;14131:6;14127:14;14120:58;14212:6;14207:2;14199:6;14195:15;14188:31;14003:223;:::o;14232:366::-;14374:3;14395:67;14459:2;14454:3;14395:67;:::i;:::-;14388:74;;14471:93;14560:3;14471:93;:::i;:::-;14589:2;14584:3;14580:12;14573:19;;14232:366;;;:::o;14604:419::-;14770:4;14808:2;14797:9;14793:18;14785:26;;14857:9;14851:4;14847:20;14843:1;14832:9;14828:17;14821:47;14885:131;15011:4;14885:131;:::i;:::-;14877:139;;14604:419;;;:::o;15029:221::-;15169:34;15165:1;15157:6;15153:14;15146:58;15238:4;15233:2;15225:6;15221:15;15214:29;15029:221;:::o;15256:366::-;15398:3;15419:67;15483:2;15478:3;15419:67;:::i;:::-;15412:74;;15495:93;15584:3;15495:93;:::i;:::-;15613:2;15608:3;15604:12;15597:19;;15256:366;;;:::o;15628:419::-;15794:4;15832:2;15821:9;15817:18;15809:26;;15881:9;15875:4;15871:20;15867:1;15856:9;15852:17;15845:47;15909:131;16035:4;15909:131;:::i;:::-;15901:139;;15628:419;;;:::o;16053:224::-;16193:34;16189:1;16181:6;16177:14;16170:58;16262:7;16257:2;16249:6;16245:15;16238:32;16053:224;:::o;16283:366::-;16425:3;16446:67;16510:2;16505:3;16446:67;:::i;:::-;16439:74;;16522:93;16611:3;16522:93;:::i;:::-;16640:2;16635:3;16631:12;16624:19;;16283:366;;;:::o;16655:419::-;16821:4;16859:2;16848:9;16844:18;16836:26;;16908:9;16902:4;16898:20;16894:1;16883:9;16879:17;16872:47;16936:131;17062:4;16936:131;:::i;:::-;16928:139;;16655:419;;;:::o;17080:222::-;17220:34;17216:1;17208:6;17204:14;17197:58;17289:5;17284:2;17276:6;17272:15;17265:30;17080:222;:::o;17308:366::-;17450:3;17471:67;17535:2;17530:3;17471:67;:::i;:::-;17464:74;;17547:93;17636:3;17547:93;:::i;:::-;17665:2;17660:3;17656:12;17649:19;;17308:366;;;:::o;17680:419::-;17846:4;17884:2;17873:9;17869:18;17861:26;;17933:9;17927:4;17923:20;17919:1;17908:9;17904:17;17897:47;17961:131;18087:4;17961:131;:::i;:::-;17953:139;;17680:419;;;:::o;18105:225::-;18245:34;18241:1;18233:6;18229:14;18222:58;18314:8;18309:2;18301:6;18297:15;18290:33;18105:225;:::o;18336:366::-;18478:3;18499:67;18563:2;18558:3;18499:67;:::i;:::-;18492:74;;18575:93;18664:3;18575:93;:::i;:::-;18693:2;18688:3;18684:12;18677:19;;18336:366;;;:::o;18708:419::-;18874:4;18912:2;18901:9;18897:18;18889:26;;18961:9;18955:4;18951:20;18947:1;18936:9;18932:17;18925:47;18989:131;19115:4;18989:131;:::i;:::-;18981:139;;18708:419;;;:::o;19133:181::-;19273:33;19269:1;19261:6;19257:14;19250:57;19133:181;:::o;19320:366::-;19462:3;19483:67;19547:2;19542:3;19483:67;:::i;:::-;19476:74;;19559:93;19648:3;19559:93;:::i;:::-;19677:2;19672:3;19668:12;19661:19;;19320:366;;;:::o;19692:419::-;19858:4;19896:2;19885:9;19881:18;19873:26;;19945:9;19939:4;19935:20;19931:1;19920:9;19916:17;19909:47;19973:131;20099:4;19973:131;:::i;:::-;19965:139;;19692:419;;;:::o

Swarm Source

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