ETH Price: $2,673.43 (-2.62%)

Token

Dogereum (DOGEREUM)
 

Overview

Max Total Supply

77,847,600,918.691359750075759795 DOGEREUM

Holders

56

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
fractoshi.eth
Balance
392,839,070.403609480812494692 DOGEREUM

Value
$0.00
0x7f0413995ecf9e921cd9c0658afeca39d59289b3
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
Dogereum

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-06-06
*/

// SPDX-License-Identifier: MIT

/**
 * 
 * 8888888b.   .d88888b.   .d8888b.  8888888888 8888888b.  8888888888 888     888 888b     d888 
 * 888  "Y88b d88P" "Y88b d88P  Y88b 888        888   Y88b 888        888     888 8888b   d8888 
 * 888    888 888     888 888    888 888        888    888 888        888     888 88888b.d88888 
 * 888    888 888     888 888        8888888    888   d88P 8888888    888     888 888Y88888P888 
 * 888    888 888     888 888  88888 888        8888888P"  888        888     888 888 Y888P 888 
 * 888    888 888     888 888    888 888        888 T88b   888        888     888 888  Y8P  888 
 * 888  .d88P Y88b. .d88P Y88b  d88P 888        888  T88b  888        Y88b. .d88P 888   "   888 
 * 8888888P"   "Y88888P"   "Y8888P88 8888888888 888   T88b 8888888888  "Y88888P"  888       888 
 * 
 * 
 * 
 * 
 * Supply cap: 100 billion (wow)
 * 
 * Locked liquidity on Uniswap and SushiSwap
 *   - 25 billion added to DOGEREUM/ETH LPs
 *   - 25 billion added to DOGEREUM/renDOGE LPs (much love for Dogecoin)
 * Perpetual faucet to support adoption
 *   - Starting faucet balance: 50 billion
 *   - Each address can use the faucet one time
 *   - The faucet will pay out 1% of its current balance (payouts will decrease over time)
 *   - Send zero ETH to the contract address to use the faucet:
 *     0xA389d50A9D8163cbFa4145FD41f8865715A64929
 * 
 */

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);
}

/**
 * @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);
}

/*
 * @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) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @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");
        unchecked {
            _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");
        unchecked {
            _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");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _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:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, 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);
    }
}

contract Dogereum is ERC20 {
    mapping (address => bool) public excluded;

    // Initial faucet balance: 50 billion
    uint256 public faucetBalance = 5e28;

    constructor() ERC20("Dogereum", "DOGEREUM") {
        // Initial LP balance: 50 billion
        _mint(_msgSender(), 5e28);
        // 12.5 billion added to ETH<>DOGEREUM LP (Uniswap V2)
        //   Proof of burn: 0x24d30a01cb8e355a1873ae6d5aa266325947658671124979a7f28c1f4eaa23ea 
        // 12.5 billion added to renDOGE<>DOGEREUM LP (Uniswap V2)
        //   Proof of burn: 0xe8d3d976d25c899055e1def5895acc936d712f964c7ba4642820a1e9d459e7e6
        // 12.5 billion added to ETH<>DOGEREUM LP (SushiSwap)
        //   Proof of burn: 0x2777cfeccbe34c65cb556c5be69a9f5cd7637f51bdacb6722d292bb8aeb74279
        // 12.5 billion added to renDOGE<>DOGEREUM LP (SushiSwap)
        //   Proof of burn: 0x1538b6b9bbb9ef20d866a5d58b636da7ea997890b063fc89524f0cb52c5f494c
    }

    function useFaucet() public {
        // Ensure that each address only uses the faucet once
        require(excluded[_msgSender()] == false, "This address has already used the faucet");
        excluded[_msgSender()] = true;

        // Calculate amount and decrease faucet balance
        uint256 amount = faucetBalance/100;
        faucetBalance -= amount;

        // Mint tokens
        _mint(_msgSender(), amount);

        // Supply cap: 100 billion
        require(totalSupply() <= 1e29);
    }

    // You can send zero ETH to the contract address to use the faucet (added for convenience)
    // Contract address: 0xA389d50A9D8163cbFa4145FD41f8865715A64929
    receive() external payable {
        if (msg.value > 0) {
            // Return ETH to sender
            (bool success, ) = _msgSender().call{value: msg.value}("");
            require(success, "ETH transfer failed");
        }

        useFaucet();
    }
}

// Much fun. Very courage. Such love. We are all Shiba Inu.

Contract Security Audit

Contract ABI

[{"inputs":[],"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":[{"internalType":"address","name":"","type":"address"}],"name":"excluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"faucetBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"useFaucet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526ba18f07d736b90be5500000006006553480156200002157600080fd5b506040518060400160405280600881526020017f446f67657265756d0000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f444f47455245554d0000000000000000000000000000000000000000000000008152508160039080519060200190620000a69291906200024e565b508060049080519060200190620000bf9291906200024e565b505050620000ef620000d6620000f560201b60201c565b6ba18f07d736b90be550000000620000fd60201b60201c565b620004aa565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000170576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001679062000336565b60405180910390fd5b806002600082825462000184919062000386565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001db919062000386565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000242919062000358565b60405180910390a35050565b8280546200025c90620003ed565b90600052602060002090601f016020900481019282620002805760008555620002cc565b82601f106200029b57805160ff1916838001178555620002cc565b82800160010185558215620002cc579182015b82811115620002cb578251825591602001919060010190620002ae565b5b509050620002db9190620002df565b5090565b5b80821115620002fa576000816000905550600101620002e0565b5090565b60006200030d601f8362000375565b91506200031a8262000481565b602082019050919050565b6200033081620003e3565b82525050565b600060208201905081810360008301526200035181620002fe565b9050919050565b60006020820190506200036f600083018462000325565b92915050565b600082825260208201905092915050565b60006200039382620003e3565b9150620003a083620003e3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620003d857620003d762000423565b5b828201905092915050565b6000819050919050565b600060028204905060018216806200040657607f821691505b602082108114156200041d576200041c62000452565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611a9480620004ba6000396000f3fe6080604052600436106100e15760003560e01c8063395093511161007f57806395d89b411161005957806395d89b41146103a7578063a457c2d7146103d2578063a9059cbb1461040f578063dd62ed3e1461044c576101ae565b806339509351146102f0578063429cead11461032d57806370a082311461036a576101ae565b806318160ddd116100bb57806318160ddd1461024657806323b872dd1461027157806329814998146102ae578063313ce567146102c5576101ae565b806306fdde03146101b3578063095ea7b3146101de5780631720f5d21461021b576101ae565b366101ae5760003411156101a45760006100f9610489565b73ffffffffffffffffffffffffffffffffffffffff163460405161011c90611361565b60006040518083038185875af1925050503d8060008114610159576040519150601f19603f3d011682016040523d82523d6000602084013e61015e565b606091505b50509050806101a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019990611473565b60405180910390fd5b505b6101ac610491565b005b600080fd5b3480156101bf57600080fd5b506101c86105eb565b6040516101d59190611391565b60405180910390f35b3480156101ea57600080fd5b506102056004803603810190610200919061113e565b61067d565b6040516102129190611376565b60405180910390f35b34801561022757600080fd5b5061023061069b565b60405161023d91906114f3565b60405180910390f35b34801561025257600080fd5b5061025b6106a1565b60405161026891906114f3565b60405180910390f35b34801561027d57600080fd5b50610298600480360381019061029391906110ef565b6106ab565b6040516102a59190611376565b60405180910390f35b3480156102ba57600080fd5b506102c3610491565b005b3480156102d157600080fd5b506102da6107a3565b6040516102e7919061150e565b60405180910390f35b3480156102fc57600080fd5b506103176004803603810190610312919061113e565b6107ac565b6040516103249190611376565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f919061108a565b610858565b6040516103619190611376565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c919061108a565b610878565b60405161039e91906114f3565b60405180910390f35b3480156103b357600080fd5b506103bc6108c0565b6040516103c99190611391565b60405180910390f35b3480156103de57600080fd5b506103f960048036038101906103f4919061113e565b610952565b6040516104069190611376565b60405180910390f35b34801561041b57600080fd5b506104366004803603810190610431919061113e565b610a3d565b6040516104439190611376565b60405180910390f35b34801561045857600080fd5b50610473600480360381019061046e91906110b3565b610a5b565b60405161048091906114f3565b60405180910390f35b600033905090565b60001515600560006104a1610489565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461052b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610522906113f3565b60405180910390fd5b600160056000610539610489565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000606460065461059b91906115a6565b905080600660008282546105af91906115d7565b925050819055506105c76105c1610489565b82610ae2565b6c01431e0fae6d7217caa00000006105dd6106a1565b11156105e857600080fd5b50565b6060600380546105fa90611693565b80601f016020809104026020016040519081016040528092919081815260200182805461062690611693565b80156106735780601f1061064857610100808354040283529160200191610673565b820191906000526020600020905b81548152906001019060200180831161065657829003601f168201915b5050505050905090565b600061069161068a610489565b8484610c2a565b6001905092915050565b60065481565b6000600254905090565b60006106b8848484610df5565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610703610489565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077a90611433565b60405180910390fd5b6107978561078f610489565b858403610c2a565b60019150509392505050565b60006012905090565b600061084e6107b9610489565b8484600160006107c7610489565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108499190611550565b610c2a565b6001905092915050565b60056020528060005260406000206000915054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546108cf90611693565b80601f01602080910402602001604051908101604052809291908181526020018280546108fb90611693565b80156109485780601f1061091d57610100808354040283529160200191610948565b820191906000526020600020905b81548152906001019060200180831161092b57829003601f168201915b5050505050905090565b60008060016000610961610489565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a15906114b3565b60405180910390fd5b610a32610a29610489565b85858403610c2a565b600191505092915050565b6000610a51610a4a610489565b8484610df5565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b49906114d3565b60405180910390fd5b8060026000828254610b649190611550565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bb99190611550565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c1e91906114f3565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9190611493565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d01906113d3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610de891906114f3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c90611453565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ed5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecc906113b3565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5290611413565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fee9190611550565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161105291906114f3565b60405180910390a350505050565b60008135905061106f81611a30565b92915050565b60008135905061108481611a47565b92915050565b60006020828403121561109c57600080fd5b60006110aa84828501611060565b91505092915050565b600080604083850312156110c657600080fd5b60006110d485828601611060565b92505060206110e585828601611060565b9150509250929050565b60008060006060848603121561110457600080fd5b600061111286828701611060565b935050602061112386828701611060565b925050604061113486828701611075565b9150509250925092565b6000806040838503121561115157600080fd5b600061115f85828601611060565b925050602061117085828601611075565b9150509250929050565b6111838161161d565b82525050565b600061119482611529565b61119e818561153f565b93506111ae818560208601611660565b6111b781611752565b840191505092915050565b60006111cf60238361153f565b91506111da82611763565b604082019050919050565b60006111f260228361153f565b91506111fd826117b2565b604082019050919050565b600061121560288361153f565b915061122082611801565b604082019050919050565b600061123860268361153f565b915061124382611850565b604082019050919050565b600061125b60288361153f565b91506112668261189f565b604082019050919050565b600061127e60258361153f565b9150611289826118ee565b604082019050919050565b60006112a1600083611534565b91506112ac8261193d565b600082019050919050565b60006112c460138361153f565b91506112cf82611940565b602082019050919050565b60006112e760248361153f565b91506112f282611969565b604082019050919050565b600061130a60258361153f565b9150611315826119b8565b604082019050919050565b600061132d601f8361153f565b915061133882611a07565b602082019050919050565b61134c81611649565b82525050565b61135b81611653565b82525050565b600061136c82611294565b9150819050919050565b600060208201905061138b600083018461117a565b92915050565b600060208201905081810360008301526113ab8184611189565b905092915050565b600060208201905081810360008301526113cc816111c2565b9050919050565b600060208201905081810360008301526113ec816111e5565b9050919050565b6000602082019050818103600083015261140c81611208565b9050919050565b6000602082019050818103600083015261142c8161122b565b9050919050565b6000602082019050818103600083015261144c8161124e565b9050919050565b6000602082019050818103600083015261146c81611271565b9050919050565b6000602082019050818103600083015261148c816112b7565b9050919050565b600060208201905081810360008301526114ac816112da565b9050919050565b600060208201905081810360008301526114cc816112fd565b9050919050565b600060208201905081810360008301526114ec81611320565b9050919050565b60006020820190506115086000830184611343565b92915050565b60006020820190506115236000830184611352565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061155b82611649565b915061156683611649565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561159b5761159a6116c5565b5b828201905092915050565b60006115b182611649565b91506115bc83611649565b9250826115cc576115cb6116f4565b5b828204905092915050565b60006115e282611649565b91506115ed83611649565b925082821015611600576115ff6116c5565b5b828203905092915050565b600061161682611629565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561167e578082015181840152602081019050611663565b8381111561168d576000848401525b50505050565b600060028204905060018216806116ab57607f821691505b602082108114156116bf576116be611723565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f5468697320616464726573732068617320616c7265616479207573656420746860008201527f6520666175636574000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f455448207472616e73666572206661696c656400000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611a398161160b565b8114611a4457600080fd5b50565b611a5081611649565b8114611a5b57600080fd5b5056fea264697066735822122092d21fb586a41aca6a59fa700e45f3c7c792713d05462c318f0362084414da8464736f6c63430008040033

Deployed Bytecode

0x6080604052600436106100e15760003560e01c8063395093511161007f57806395d89b411161005957806395d89b41146103a7578063a457c2d7146103d2578063a9059cbb1461040f578063dd62ed3e1461044c576101ae565b806339509351146102f0578063429cead11461032d57806370a082311461036a576101ae565b806318160ddd116100bb57806318160ddd1461024657806323b872dd1461027157806329814998146102ae578063313ce567146102c5576101ae565b806306fdde03146101b3578063095ea7b3146101de5780631720f5d21461021b576101ae565b366101ae5760003411156101a45760006100f9610489565b73ffffffffffffffffffffffffffffffffffffffff163460405161011c90611361565b60006040518083038185875af1925050503d8060008114610159576040519150601f19603f3d011682016040523d82523d6000602084013e61015e565b606091505b50509050806101a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019990611473565b60405180910390fd5b505b6101ac610491565b005b600080fd5b3480156101bf57600080fd5b506101c86105eb565b6040516101d59190611391565b60405180910390f35b3480156101ea57600080fd5b506102056004803603810190610200919061113e565b61067d565b6040516102129190611376565b60405180910390f35b34801561022757600080fd5b5061023061069b565b60405161023d91906114f3565b60405180910390f35b34801561025257600080fd5b5061025b6106a1565b60405161026891906114f3565b60405180910390f35b34801561027d57600080fd5b50610298600480360381019061029391906110ef565b6106ab565b6040516102a59190611376565b60405180910390f35b3480156102ba57600080fd5b506102c3610491565b005b3480156102d157600080fd5b506102da6107a3565b6040516102e7919061150e565b60405180910390f35b3480156102fc57600080fd5b506103176004803603810190610312919061113e565b6107ac565b6040516103249190611376565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f919061108a565b610858565b6040516103619190611376565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c919061108a565b610878565b60405161039e91906114f3565b60405180910390f35b3480156103b357600080fd5b506103bc6108c0565b6040516103c99190611391565b60405180910390f35b3480156103de57600080fd5b506103f960048036038101906103f4919061113e565b610952565b6040516104069190611376565b60405180910390f35b34801561041b57600080fd5b506104366004803603810190610431919061113e565b610a3d565b6040516104439190611376565b60405180910390f35b34801561045857600080fd5b50610473600480360381019061046e91906110b3565b610a5b565b60405161048091906114f3565b60405180910390f35b600033905090565b60001515600560006104a1610489565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461052b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610522906113f3565b60405180910390fd5b600160056000610539610489565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000606460065461059b91906115a6565b905080600660008282546105af91906115d7565b925050819055506105c76105c1610489565b82610ae2565b6c01431e0fae6d7217caa00000006105dd6106a1565b11156105e857600080fd5b50565b6060600380546105fa90611693565b80601f016020809104026020016040519081016040528092919081815260200182805461062690611693565b80156106735780601f1061064857610100808354040283529160200191610673565b820191906000526020600020905b81548152906001019060200180831161065657829003601f168201915b5050505050905090565b600061069161068a610489565b8484610c2a565b6001905092915050565b60065481565b6000600254905090565b60006106b8848484610df5565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610703610489565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077a90611433565b60405180910390fd5b6107978561078f610489565b858403610c2a565b60019150509392505050565b60006012905090565b600061084e6107b9610489565b8484600160006107c7610489565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108499190611550565b610c2a565b6001905092915050565b60056020528060005260406000206000915054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546108cf90611693565b80601f01602080910402602001604051908101604052809291908181526020018280546108fb90611693565b80156109485780601f1061091d57610100808354040283529160200191610948565b820191906000526020600020905b81548152906001019060200180831161092b57829003601f168201915b5050505050905090565b60008060016000610961610489565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a15906114b3565b60405180910390fd5b610a32610a29610489565b85858403610c2a565b600191505092915050565b6000610a51610a4a610489565b8484610df5565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b49906114d3565b60405180910390fd5b8060026000828254610b649190611550565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bb99190611550565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c1e91906114f3565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9190611493565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d01906113d3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610de891906114f3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c90611453565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ed5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecc906113b3565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5290611413565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fee9190611550565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161105291906114f3565b60405180910390a350505050565b60008135905061106f81611a30565b92915050565b60008135905061108481611a47565b92915050565b60006020828403121561109c57600080fd5b60006110aa84828501611060565b91505092915050565b600080604083850312156110c657600080fd5b60006110d485828601611060565b92505060206110e585828601611060565b9150509250929050565b60008060006060848603121561110457600080fd5b600061111286828701611060565b935050602061112386828701611060565b925050604061113486828701611075565b9150509250925092565b6000806040838503121561115157600080fd5b600061115f85828601611060565b925050602061117085828601611075565b9150509250929050565b6111838161161d565b82525050565b600061119482611529565b61119e818561153f565b93506111ae818560208601611660565b6111b781611752565b840191505092915050565b60006111cf60238361153f565b91506111da82611763565b604082019050919050565b60006111f260228361153f565b91506111fd826117b2565b604082019050919050565b600061121560288361153f565b915061122082611801565b604082019050919050565b600061123860268361153f565b915061124382611850565b604082019050919050565b600061125b60288361153f565b91506112668261189f565b604082019050919050565b600061127e60258361153f565b9150611289826118ee565b604082019050919050565b60006112a1600083611534565b91506112ac8261193d565b600082019050919050565b60006112c460138361153f565b91506112cf82611940565b602082019050919050565b60006112e760248361153f565b91506112f282611969565b604082019050919050565b600061130a60258361153f565b9150611315826119b8565b604082019050919050565b600061132d601f8361153f565b915061133882611a07565b602082019050919050565b61134c81611649565b82525050565b61135b81611653565b82525050565b600061136c82611294565b9150819050919050565b600060208201905061138b600083018461117a565b92915050565b600060208201905081810360008301526113ab8184611189565b905092915050565b600060208201905081810360008301526113cc816111c2565b9050919050565b600060208201905081810360008301526113ec816111e5565b9050919050565b6000602082019050818103600083015261140c81611208565b9050919050565b6000602082019050818103600083015261142c8161122b565b9050919050565b6000602082019050818103600083015261144c8161124e565b9050919050565b6000602082019050818103600083015261146c81611271565b9050919050565b6000602082019050818103600083015261148c816112b7565b9050919050565b600060208201905081810360008301526114ac816112da565b9050919050565b600060208201905081810360008301526114cc816112fd565b9050919050565b600060208201905081810360008301526114ec81611320565b9050919050565b60006020820190506115086000830184611343565b92915050565b60006020820190506115236000830184611352565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061155b82611649565b915061156683611649565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561159b5761159a6116c5565b5b828201905092915050565b60006115b182611649565b91506115bc83611649565b9250826115cc576115cb6116f4565b5b828204905092915050565b60006115e282611649565b91506115ed83611649565b925082821015611600576115ff6116c5565b5b828203905092915050565b600061161682611629565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561167e578082015181840152602081019050611663565b8381111561168d576000848401525b50505050565b600060028204905060018216806116ab57607f821691505b602082108114156116bf576116be611723565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f5468697320616464726573732068617320616c7265616479207573656420746860008201527f6520666175636574000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f455448207472616e73666572206661696c656400000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611a398161160b565b8114611a4457600080fd5b50565b611a5081611649565b8114611a5b57600080fd5b5056fea264697066735822122092d21fb586a41aca6a59fa700e45f3c7c792713d05462c318f0362084414da8464736f6c63430008040033

Deployed Bytecode Sourcemap

14791:1912:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16490:1;16478:9;:13;16474:195;;;16546:12;16564;:10;:12::i;:::-;:17;;16589:9;16564:39;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16545:58;;;16626:7;16618:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;16474:195;;16681:11;:9;:11::i;:::-;14791:1912;;;;;7551:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9718:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14918:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8671:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10369:458;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15748:515;;;;;;;;;;;;;:::i;:::-;;8513:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11236:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14825:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8842:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7770:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11954:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9182:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9420:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5232:98;5285:7;5312:10;5305:17;;5232:98;:::o;15748:515::-;15884:5;15858:31;;:8;:22;15867:12;:10;:12::i;:::-;15858:22;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;15850:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;15970:4;15945:8;:22;15954:12;:10;:12::i;:::-;15945:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;16044:14;16075:3;16061:13;;:17;;;;:::i;:::-;16044:34;;16106:6;16089:13;;:23;;;;;;;:::i;:::-;;;;;;;;16149:27;16155:12;:10;:12::i;:::-;16169:6;16149:5;:27::i;:::-;16250:4;16233:13;:11;:13::i;:::-;:21;;16225:30;;;;;;15748:515;:::o;7551:100::-;7605:13;7638:5;7631:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7551:100;:::o;9718:169::-;9801:4;9818:39;9827:12;:10;:12::i;:::-;9841:7;9850:6;9818:8;:39::i;:::-;9875:4;9868:11;;9718:169;;;;:::o;14918:35::-;;;;:::o;8671:108::-;8732:7;8759:12;;8752:19;;8671:108;:::o;10369:458::-;10475:4;10492:36;10502:6;10510:9;10521:6;10492:9;:36::i;:::-;10541:24;10568:11;:19;10580:6;10568:19;;;;;;;;;;;;;;;:33;10588:12;:10;:12::i;:::-;10568:33;;;;;;;;;;;;;;;;10541:60;;10640:6;10620:16;:26;;10612:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10727:57;10736:6;10744:12;:10;:12::i;:::-;10777:6;10758:16;:25;10727:8;:57::i;:::-;10815:4;10808:11;;;10369:458;;;;;:::o;8513:93::-;8571:5;8596:2;8589:9;;8513:93;:::o;11236:215::-;11324:4;11341:80;11350:12;:10;:12::i;:::-;11364:7;11410:10;11373:11;:25;11385:12;:10;:12::i;:::-;11373:25;;;;;;;;;;;;;;;:34;11399:7;11373:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;11341:8;:80::i;:::-;11439:4;11432:11;;11236:215;;;;:::o;14825:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;8842:127::-;8916:7;8943:9;:18;8953:7;8943:18;;;;;;;;;;;;;;;;8936:25;;8842:127;;;:::o;7770:104::-;7826:13;7859:7;7852:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7770:104;:::o;11954:413::-;12047:4;12064:24;12091:11;:25;12103:12;:10;:12::i;:::-;12091:25;;;;;;;;;;;;;;;:34;12117:7;12091:34;;;;;;;;;;;;;;;;12064:61;;12164:15;12144:16;:35;;12136:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;12257:67;12266:12;:10;:12::i;:::-;12280:7;12308:15;12289:16;:34;12257:8;:67::i;:::-;12355:4;12348:11;;;11954:413;;;;:::o;9182:175::-;9268:4;9285:42;9295:12;:10;:12::i;:::-;9309:9;9320:6;9285:9;:42::i;:::-;9345:4;9338:11;;9182:175;;;;:::o;9420:151::-;9509:7;9536:11;:18;9548:5;9536:18;;;;;;;;;;;;;;;:27;9555:7;9536:27;;;;;;;;;;;;;;;;9529:34;;9420:151;;;;:::o;13724:276::-;13827:1;13808:21;;:7;:21;;;;13800:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;13894:6;13878:12;;:22;;;;;;;:::i;:::-;;;;;;;;13933:6;13911:9;:18;13921:7;13911:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;13976:7;13955:37;;13972:1;13955:37;;;13985:6;13955:37;;;;;;:::i;:::-;;;;;;;;13724:276;;:::o;14438:346::-;14557:1;14540:19;;:5;:19;;;;14532:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14638:1;14619:21;;:7;:21;;;;14611:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14722:6;14692:11;:18;14704:5;14692:18;;;;;;;;;;;;;;;:27;14711:7;14692:27;;;;;;;;;;;;;;;:36;;;;14760:7;14744:32;;14753:5;14744:32;;;14769:6;14744:32;;;;;;:::i;:::-;;;;;;;;14438:346;;;:::o;12857:580::-;12981:1;12963:20;;:6;:20;;;;12955:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13065:1;13044:23;;:9;:23;;;;13036:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13120:21;13144:9;:17;13154:6;13144:17;;;;;;;;;;;;;;;;13120:41;;13197:6;13180:13;:23;;13172:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13318:6;13302:13;:22;13282:9;:17;13292:6;13282:17;;;;;;;;;;;;;;;:42;;;;13370:6;13346:9;:20;13356:9;13346:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;13411:9;13394:35;;13403:6;13394:35;;;13422:6;13394:35;;;;;;:::i;:::-;;;;;;;;12857:580;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;633:6;641;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;1055:6;1063;1071;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;1604:6;1612;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:109::-;2030:21;2045:5;2030:21;:::i;:::-;2025:3;2018:34;2008:50;;:::o;2064:364::-;2152:3;2180:39;2213:5;2180:39;:::i;:::-;2235:71;2299:6;2294:3;2235:71;:::i;:::-;2228:78;;2315:52;2360:6;2355:3;2348:4;2341:5;2337:16;2315:52;:::i;:::-;2392:29;2414:6;2392:29;:::i;:::-;2387:3;2383:39;2376:46;;2156:272;;;;;:::o;2434:366::-;2576:3;2597:67;2661:2;2656:3;2597:67;:::i;:::-;2590:74;;2673:93;2762:3;2673:93;:::i;:::-;2791:2;2786:3;2782:12;2775:19;;2580:220;;;:::o;2806:366::-;2948:3;2969:67;3033:2;3028:3;2969:67;:::i;:::-;2962:74;;3045:93;3134:3;3045:93;:::i;:::-;3163:2;3158:3;3154:12;3147:19;;2952:220;;;:::o;3178:366::-;3320:3;3341:67;3405:2;3400:3;3341:67;:::i;:::-;3334:74;;3417:93;3506:3;3417:93;:::i;:::-;3535:2;3530:3;3526:12;3519:19;;3324:220;;;:::o;3550:366::-;3692:3;3713:67;3777:2;3772:3;3713:67;:::i;:::-;3706:74;;3789:93;3878:3;3789:93;:::i;:::-;3907:2;3902:3;3898:12;3891:19;;3696:220;;;:::o;3922:366::-;4064:3;4085:67;4149:2;4144:3;4085:67;:::i;:::-;4078:74;;4161:93;4250:3;4161:93;:::i;:::-;4279:2;4274:3;4270:12;4263:19;;4068:220;;;:::o;4294:366::-;4436:3;4457:67;4521:2;4516:3;4457:67;:::i;:::-;4450:74;;4533:93;4622:3;4533:93;:::i;:::-;4651:2;4646:3;4642:12;4635:19;;4440:220;;;:::o;4666:398::-;4825:3;4846:83;4927:1;4922:3;4846:83;:::i;:::-;4839:90;;4938:93;5027:3;4938:93;:::i;:::-;5056:1;5051:3;5047:11;5040:18;;4829:235;;;:::o;5070:366::-;5212:3;5233:67;5297:2;5292:3;5233:67;:::i;:::-;5226:74;;5309:93;5398:3;5309:93;:::i;:::-;5427:2;5422:3;5418:12;5411:19;;5216:220;;;:::o;5442:366::-;5584:3;5605:67;5669:2;5664:3;5605:67;:::i;:::-;5598:74;;5681:93;5770:3;5681:93;:::i;:::-;5799:2;5794:3;5790:12;5783:19;;5588:220;;;:::o;5814:366::-;5956:3;5977:67;6041:2;6036:3;5977:67;:::i;:::-;5970:74;;6053:93;6142:3;6053:93;:::i;:::-;6171:2;6166:3;6162:12;6155:19;;5960:220;;;:::o;6186:366::-;6328:3;6349:67;6413:2;6408:3;6349:67;:::i;:::-;6342:74;;6425:93;6514:3;6425:93;:::i;:::-;6543:2;6538:3;6534:12;6527:19;;6332:220;;;:::o;6558:118::-;6645:24;6663:5;6645:24;:::i;:::-;6640:3;6633:37;6623:53;;:::o;6682:112::-;6765:22;6781:5;6765:22;:::i;:::-;6760:3;6753:35;6743:51;;:::o;6800:379::-;6984:3;7006:147;7149:3;7006:147;:::i;:::-;6999:154;;7170:3;7163:10;;6988:191;;;:::o;7185:210::-;7272:4;7310:2;7299:9;7295:18;7287:26;;7323:65;7385:1;7374:9;7370:17;7361:6;7323:65;:::i;:::-;7277:118;;;;:::o;7401:313::-;7514:4;7552:2;7541:9;7537:18;7529:26;;7601:9;7595:4;7591:20;7587:1;7576:9;7572:17;7565:47;7629:78;7702:4;7693:6;7629:78;:::i;:::-;7621:86;;7519:195;;;;:::o;7720:419::-;7886:4;7924:2;7913:9;7909:18;7901:26;;7973:9;7967:4;7963:20;7959:1;7948:9;7944:17;7937:47;8001:131;8127:4;8001:131;:::i;:::-;7993:139;;7891:248;;;:::o;8145:419::-;8311:4;8349:2;8338:9;8334:18;8326:26;;8398:9;8392:4;8388:20;8384:1;8373:9;8369:17;8362:47;8426:131;8552:4;8426:131;:::i;:::-;8418:139;;8316:248;;;:::o;8570:419::-;8736:4;8774:2;8763:9;8759:18;8751:26;;8823:9;8817:4;8813:20;8809:1;8798:9;8794:17;8787:47;8851:131;8977:4;8851:131;:::i;:::-;8843:139;;8741:248;;;:::o;8995:419::-;9161:4;9199:2;9188:9;9184:18;9176:26;;9248:9;9242:4;9238:20;9234:1;9223:9;9219:17;9212:47;9276:131;9402:4;9276:131;:::i;:::-;9268:139;;9166:248;;;:::o;9420:419::-;9586:4;9624:2;9613:9;9609:18;9601:26;;9673:9;9667:4;9663:20;9659:1;9648:9;9644:17;9637:47;9701:131;9827:4;9701:131;:::i;:::-;9693:139;;9591:248;;;:::o;9845:419::-;10011:4;10049:2;10038:9;10034:18;10026:26;;10098:9;10092:4;10088:20;10084:1;10073:9;10069:17;10062:47;10126:131;10252:4;10126:131;:::i;:::-;10118:139;;10016:248;;;:::o;10270:419::-;10436:4;10474:2;10463:9;10459:18;10451:26;;10523:9;10517:4;10513:20;10509:1;10498:9;10494:17;10487:47;10551:131;10677:4;10551:131;:::i;:::-;10543:139;;10441:248;;;:::o;10695:419::-;10861:4;10899:2;10888:9;10884:18;10876:26;;10948:9;10942:4;10938:20;10934:1;10923:9;10919:17;10912:47;10976:131;11102:4;10976:131;:::i;:::-;10968:139;;10866:248;;;:::o;11120:419::-;11286:4;11324:2;11313:9;11309:18;11301:26;;11373:9;11367:4;11363:20;11359:1;11348:9;11344:17;11337:47;11401:131;11527:4;11401:131;:::i;:::-;11393:139;;11291:248;;;:::o;11545:419::-;11711:4;11749:2;11738:9;11734:18;11726:26;;11798:9;11792:4;11788:20;11784:1;11773:9;11769:17;11762:47;11826:131;11952:4;11826:131;:::i;:::-;11818:139;;11716:248;;;:::o;11970:222::-;12063:4;12101:2;12090:9;12086:18;12078:26;;12114:71;12182:1;12171:9;12167:17;12158:6;12114:71;:::i;:::-;12068:124;;;;:::o;12198:214::-;12287:4;12325:2;12314:9;12310:18;12302:26;;12338:67;12402:1;12391:9;12387:17;12378:6;12338:67;:::i;:::-;12292:120;;;;:::o;12418:99::-;12470:6;12504:5;12498:12;12488:22;;12477:40;;;:::o;12523:147::-;12624:11;12661:3;12646:18;;12636:34;;;;:::o;12676:169::-;12760:11;12794:6;12789:3;12782:19;12834:4;12829:3;12825:14;12810:29;;12772:73;;;;:::o;12851:305::-;12891:3;12910:20;12928:1;12910:20;:::i;:::-;12905:25;;12944:20;12962:1;12944:20;:::i;:::-;12939:25;;13098:1;13030:66;13026:74;13023:1;13020:81;13017:2;;;13104:18;;:::i;:::-;13017:2;13148:1;13145;13141:9;13134:16;;12895:261;;;;:::o;13162:185::-;13202:1;13219:20;13237:1;13219:20;:::i;:::-;13214:25;;13253:20;13271:1;13253:20;:::i;:::-;13248:25;;13292:1;13282:2;;13297:18;;:::i;:::-;13282:2;13339:1;13336;13332:9;13327:14;;13204:143;;;;:::o;13353:191::-;13393:4;13413:20;13431:1;13413:20;:::i;:::-;13408:25;;13447:20;13465:1;13447:20;:::i;:::-;13442:25;;13486:1;13483;13480:8;13477:2;;;13491:18;;:::i;:::-;13477:2;13536:1;13533;13529:9;13521:17;;13398:146;;;;:::o;13550:96::-;13587:7;13616:24;13634:5;13616:24;:::i;:::-;13605:35;;13595:51;;;:::o;13652:90::-;13686:7;13729:5;13722:13;13715:21;13704:32;;13694:48;;;:::o;13748:126::-;13785:7;13825:42;13818:5;13814:54;13803:65;;13793:81;;;:::o;13880:77::-;13917:7;13946:5;13935:16;;13925:32;;;:::o;13963:86::-;13998:7;14038:4;14031:5;14027:16;14016:27;;14006:43;;;:::o;14055:307::-;14123:1;14133:113;14147:6;14144:1;14141:13;14133:113;;;14232:1;14227:3;14223:11;14217:18;14213:1;14208:3;14204:11;14197:39;14169:2;14166:1;14162:10;14157:15;;14133:113;;;14264:6;14261:1;14258:13;14255:2;;;14344:1;14335:6;14330:3;14326:16;14319:27;14255:2;14104:258;;;;:::o;14368:320::-;14412:6;14449:1;14443:4;14439:12;14429:22;;14496:1;14490:4;14486:12;14517:18;14507:2;;14573:4;14565:6;14561:17;14551:27;;14507:2;14635;14627:6;14624:14;14604:18;14601:38;14598:2;;;14654:18;;:::i;:::-;14598:2;14419:269;;;;:::o;14694:180::-;14742:77;14739:1;14732:88;14839:4;14836:1;14829:15;14863:4;14860:1;14853:15;14880:180;14928:77;14925:1;14918:88;15025:4;15022:1;15015:15;15049:4;15046:1;15039:15;15066:180;15114:77;15111:1;15104:88;15211:4;15208:1;15201:15;15235:4;15232:1;15225:15;15252:102;15293:6;15344:2;15340:7;15335:2;15328:5;15324:14;15320:28;15310:38;;15300:54;;;:::o;15360:222::-;15500:34;15496:1;15488:6;15484:14;15477:58;15569:5;15564:2;15556:6;15552:15;15545:30;15466:116;:::o;15588:221::-;15728:34;15724:1;15716:6;15712:14;15705:58;15797:4;15792:2;15784:6;15780:15;15773:29;15694:115;:::o;15815:227::-;15955:34;15951:1;15943:6;15939:14;15932:58;16024:10;16019:2;16011:6;16007:15;16000:35;15921:121;:::o;16048:225::-;16188:34;16184:1;16176:6;16172:14;16165:58;16257:8;16252:2;16244:6;16240:15;16233:33;16154:119;:::o;16279:227::-;16419:34;16415:1;16407:6;16403:14;16396:58;16488:10;16483:2;16475:6;16471:15;16464:35;16385:121;:::o;16512:224::-;16652:34;16648:1;16640:6;16636:14;16629:58;16721:7;16716:2;16708:6;16704:15;16697:32;16618:118;:::o;16742:114::-;16848:8;:::o;16862:169::-;17002:21;16998:1;16990:6;16986:14;16979:45;16968:63;:::o;17037:223::-;17177:34;17173:1;17165:6;17161:14;17154:58;17246:6;17241:2;17233:6;17229:15;17222:31;17143:117;:::o;17266:224::-;17406:34;17402:1;17394:6;17390:14;17383:58;17475:7;17470:2;17462:6;17458:15;17451:32;17372:118;:::o;17496:181::-;17636:33;17632:1;17624:6;17620:14;17613:57;17602:75;:::o;17683:122::-;17756:24;17774:5;17756:24;:::i;:::-;17749:5;17746:35;17736:2;;17795:1;17792;17785:12;17736:2;17726:79;:::o;17811:122::-;17884:24;17902:5;17884:24;:::i;:::-;17877:5;17874:35;17864:2;;17923:1;17920;17913:12;17864:2;17854:79;:::o

Swarm Source

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