ETH Price: $3,446.39 (-2.49%)
Gas: 4 Gwei

Token

DogeRun Token (DOGER)
 

Overview

Max Total Supply

7,777,777,777 DOGER

Holders

57

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
pudgypops.eth
Balance
103,669,865.734565323909013205 DOGER

Value
$0.00
0xc2681d0606ebd7719040f2bc1c0fda3e9215db90
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:
DogeRun

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-28
*/

// SPDX-License-Identifier: MIT

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) {
        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 DogeRun 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;
    uint8 private _decimals = 18;
    uint256 private _initialSupply = 7777777777;

    /**
     * @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() {
        _name = "DogeRun Token";
        _symbol = "DOGER";
        _mint(msg.sender, _initialSupply * 10**_decimals);
    }

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

    /**
     * @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 `amount` of tokens from `sender` to `recipient`.
     *
     * This 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");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(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");

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

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

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

    /**
     * @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 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 Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been 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 _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

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":"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"}]

60806040526012600560006101000a81548160ff021916908360ff1602179055506401cf9778716006553480156200003657600080fd5b506040518060400160405280600d81526020017f446f676552756e20546f6b656e0000000000000000000000000000000000000081525060039080519060200190620000849291906200029a565b506040518060400160405280600581526020017f444f47455200000000000000000000000000000000000000000000000000000081525060049080519060200190620000d29291906200029a565b506200011133600560009054906101000a900460ff16600a620000f691906200048a565b600654620001059190620005c7565b6200011760201b60201c565b62000709565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200018a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001819062000382565b60405180910390fd5b6200019e600083836200029060201b60201c565b8060026000828254620001b29190620003d2565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002099190620003d2565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002709190620003a4565b60405180910390a36200028c600083836200029560201b60201c565b5050565b505050565b505050565b828054620002a8906200063f565b90600052602060002090601f016020900481019282620002cc576000855562000318565b82601f10620002e757805160ff191683800117855562000318565b8280016001018555821562000318579182015b8281111562000317578251825591602001919060010190620002fa565b5b5090506200032791906200032b565b5090565b5b80821115620003465760008160009055506001016200032c565b5090565b600062000359601f83620003c1565b91506200036682620006e0565b602082019050919050565b6200037c8162000628565b82525050565b600060208201905081810360008301526200039d816200034a565b9050919050565b6000602082019050620003bb600083018462000371565b92915050565b600082825260208201905092915050565b6000620003df8262000628565b9150620003ec8362000628565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000424576200042362000675565b5b828201905092915050565b6000808291508390505b6001851115620004815780860481111562000459576200045862000675565b5b6001851615620004695780820291505b80810290506200047985620006d3565b945062000439565b94509492505050565b6000620004978262000628565b9150620004a48362000632565b9250620004d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004db565b905092915050565b600082620004ed5760019050620005c0565b81620004fd5760009050620005c0565b8160018114620005165760028114620005215762000557565b6001915050620005c0565b60ff84111562000536576200053562000675565b5b8360020a91508482111562000550576200054f62000675565b5b50620005c0565b5060208310610133831016604e8410600b8410161715620005915782820a9050838111156200058b576200058a62000675565b5b620005c0565b620005a084848460016200042f565b92509050818404811115620005ba57620005b962000675565b5b81810290505b9392505050565b6000620005d48262000628565b9150620005e18362000628565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200061d576200061c62000675565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200065857607f821691505b602082108114156200066f576200066e620006a4565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6113a380620007196000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610e43565b60405180910390f35b6100e660048036038101906100e19190610c91565b610308565b6040516100f39190610e28565b60405180910390f35b610104610326565b6040516101119190610f45565b60405180910390f35b610134600480360381019061012f9190610c42565b610330565b6040516101419190610e28565b60405180910390f35b610152610428565b60405161015f9190610f60565b60405180910390f35b610182600480360381019061017d9190610c91565b61043f565b60405161018f9190610e28565b60405180910390f35b6101b260048036038101906101ad9190610bdd565b6104eb565b6040516101bf9190610f45565b60405180910390f35b6101d0610533565b6040516101dd9190610e43565b60405180910390f35b61020060048036038101906101fb9190610c91565b6105c5565b60405161020d9190610e28565b60405180910390f35b610230600480360381019061022b9190610c91565b6106b0565b60405161023d9190610e28565b60405180910390f35b610260600480360381019061025b9190610c06565b6106ce565b60405161026d9190610f45565b60405180910390f35b60606003805461028590611075565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190611075565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600061031c610315610755565b848461075d565b6001905092915050565b6000600254905090565b600061033d848484610928565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610388610755565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ff90610ec5565b60405180910390fd5b61041c85610414610755565b85840361075d565b60019150509392505050565b6000600560009054906101000a900460ff16905090565b60006104e161044c610755565b84846001600061045a610755565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104dc9190610f97565b61075d565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461054290611075565b80601f016020809104026020016040519081016040528092919081815260200182805461056e90611075565b80156105bb5780601f10610590576101008083540402835291602001916105bb565b820191906000526020600020905b81548152906001019060200180831161059e57829003601f168201915b5050505050905090565b600080600160006105d4610755565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610691576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068890610f25565b60405180910390fd5b6106a561069c610755565b8585840361075d565b600191505092915050565b60006106c46106bd610755565b8484610928565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c490610f05565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561083d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083490610e85565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161091b9190610f45565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f90610ee5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff90610e65565b60405180910390fd5b610a13838383610ba9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9090610ea5565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b2c9190610f97565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b909190610f45565b60405180910390a3610ba3848484610bae565b50505050565b505050565b505050565b600081359050610bc28161133f565b92915050565b600081359050610bd781611356565b92915050565b600060208284031215610bef57600080fd5b6000610bfd84828501610bb3565b91505092915050565b60008060408385031215610c1957600080fd5b6000610c2785828601610bb3565b9250506020610c3885828601610bb3565b9150509250929050565b600080600060608486031215610c5757600080fd5b6000610c6586828701610bb3565b9350506020610c7686828701610bb3565b9250506040610c8786828701610bc8565b9150509250925092565b60008060408385031215610ca457600080fd5b6000610cb285828601610bb3565b9250506020610cc385828601610bc8565b9150509250929050565b610cd681610fff565b82525050565b6000610ce782610f7b565b610cf18185610f86565b9350610d01818560208601611042565b610d0a81611105565b840191505092915050565b6000610d22602383610f86565b9150610d2d82611116565b604082019050919050565b6000610d45602283610f86565b9150610d5082611165565b604082019050919050565b6000610d68602683610f86565b9150610d73826111b4565b604082019050919050565b6000610d8b602883610f86565b9150610d9682611203565b604082019050919050565b6000610dae602583610f86565b9150610db982611252565b604082019050919050565b6000610dd1602483610f86565b9150610ddc826112a1565b604082019050919050565b6000610df4602583610f86565b9150610dff826112f0565b604082019050919050565b610e138161102b565b82525050565b610e2281611035565b82525050565b6000602082019050610e3d6000830184610ccd565b92915050565b60006020820190508181036000830152610e5d8184610cdc565b905092915050565b60006020820190508181036000830152610e7e81610d15565b9050919050565b60006020820190508181036000830152610e9e81610d38565b9050919050565b60006020820190508181036000830152610ebe81610d5b565b9050919050565b60006020820190508181036000830152610ede81610d7e565b9050919050565b60006020820190508181036000830152610efe81610da1565b9050919050565b60006020820190508181036000830152610f1e81610dc4565b9050919050565b60006020820190508181036000830152610f3e81610de7565b9050919050565b6000602082019050610f5a6000830184610e0a565b92915050565b6000602082019050610f756000830184610e19565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610fa28261102b565b9150610fad8361102b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610fe257610fe16110a7565b5b828201905092915050565b6000610ff88261100b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611060578082015181840152602081019050611045565b8381111561106f576000848401525b50505050565b6000600282049050600182168061108d57607f821691505b602082108114156110a1576110a06110d6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61134881610fed565b811461135357600080fd5b50565b61135f8161102b565b811461136a57600080fd5b5056fea26469706673582212201bb778f5c3a1a143921bb7ae9d84245901023279d9beac49e9442bedc3dee73264736f6c63430008040033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610e43565b60405180910390f35b6100e660048036038101906100e19190610c91565b610308565b6040516100f39190610e28565b60405180910390f35b610104610326565b6040516101119190610f45565b60405180910390f35b610134600480360381019061012f9190610c42565b610330565b6040516101419190610e28565b60405180910390f35b610152610428565b60405161015f9190610f60565b60405180910390f35b610182600480360381019061017d9190610c91565b61043f565b60405161018f9190610e28565b60405180910390f35b6101b260048036038101906101ad9190610bdd565b6104eb565b6040516101bf9190610f45565b60405180910390f35b6101d0610533565b6040516101dd9190610e43565b60405180910390f35b61020060048036038101906101fb9190610c91565b6105c5565b60405161020d9190610e28565b60405180910390f35b610230600480360381019061022b9190610c91565b6106b0565b60405161023d9190610e28565b60405180910390f35b610260600480360381019061025b9190610c06565b6106ce565b60405161026d9190610f45565b60405180910390f35b60606003805461028590611075565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190611075565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600061031c610315610755565b848461075d565b6001905092915050565b6000600254905090565b600061033d848484610928565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610388610755565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ff90610ec5565b60405180910390fd5b61041c85610414610755565b85840361075d565b60019150509392505050565b6000600560009054906101000a900460ff16905090565b60006104e161044c610755565b84846001600061045a610755565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104dc9190610f97565b61075d565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461054290611075565b80601f016020809104026020016040519081016040528092919081815260200182805461056e90611075565b80156105bb5780601f10610590576101008083540402835291602001916105bb565b820191906000526020600020905b81548152906001019060200180831161059e57829003601f168201915b5050505050905090565b600080600160006105d4610755565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610691576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068890610f25565b60405180910390fd5b6106a561069c610755565b8585840361075d565b600191505092915050565b60006106c46106bd610755565b8484610928565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c490610f05565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561083d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083490610e85565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161091b9190610f45565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f90610ee5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff90610e65565b60405180910390fd5b610a13838383610ba9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9090610ea5565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b2c9190610f97565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b909190610f45565b60405180910390a3610ba3848484610bae565b50505050565b505050565b505050565b600081359050610bc28161133f565b92915050565b600081359050610bd781611356565b92915050565b600060208284031215610bef57600080fd5b6000610bfd84828501610bb3565b91505092915050565b60008060408385031215610c1957600080fd5b6000610c2785828601610bb3565b9250506020610c3885828601610bb3565b9150509250929050565b600080600060608486031215610c5757600080fd5b6000610c6586828701610bb3565b9350506020610c7686828701610bb3565b9250506040610c8786828701610bc8565b9150509250925092565b60008060408385031215610ca457600080fd5b6000610cb285828601610bb3565b9250506020610cc385828601610bc8565b9150509250929050565b610cd681610fff565b82525050565b6000610ce782610f7b565b610cf18185610f86565b9350610d01818560208601611042565b610d0a81611105565b840191505092915050565b6000610d22602383610f86565b9150610d2d82611116565b604082019050919050565b6000610d45602283610f86565b9150610d5082611165565b604082019050919050565b6000610d68602683610f86565b9150610d73826111b4565b604082019050919050565b6000610d8b602883610f86565b9150610d9682611203565b604082019050919050565b6000610dae602583610f86565b9150610db982611252565b604082019050919050565b6000610dd1602483610f86565b9150610ddc826112a1565b604082019050919050565b6000610df4602583610f86565b9150610dff826112f0565b604082019050919050565b610e138161102b565b82525050565b610e2281611035565b82525050565b6000602082019050610e3d6000830184610ccd565b92915050565b60006020820190508181036000830152610e5d8184610cdc565b905092915050565b60006020820190508181036000830152610e7e81610d15565b9050919050565b60006020820190508181036000830152610e9e81610d38565b9050919050565b60006020820190508181036000830152610ebe81610d5b565b9050919050565b60006020820190508181036000830152610ede81610d7e565b9050919050565b60006020820190508181036000830152610efe81610da1565b9050919050565b60006020820190508181036000830152610f1e81610dc4565b9050919050565b60006020820190508181036000830152610f3e81610de7565b9050919050565b6000602082019050610f5a6000830184610e0a565b92915050565b6000602082019050610f756000830184610e19565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610fa28261102b565b9150610fad8361102b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610fe257610fe16110a7565b5b828201905092915050565b6000610ff88261100b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611060578082015181840152602081019050611045565b8381111561106f576000848401525b50505050565b6000600282049050600182168061108d57607f821691505b602082108114156110a1576110a06110d6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61134881610fed565b811461135357600080fd5b50565b61135f8161102b565b811461136a57600080fd5b5056fea26469706673582212201bb778f5c3a1a143921bb7ae9d84245901023279d9beac49e9442bedc3dee73264736f6c63430008040033

Deployed Bytecode Sourcemap

5301:9939:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6196:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8370:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7323:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9021:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7158:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9922:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7494:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6415:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10640:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7834:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8072:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6196:100;6250:13;6283:5;6276:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6196:100;:::o;8370:169::-;8453:4;8470:39;8479:12;:10;:12::i;:::-;8493:7;8502:6;8470:8;:39::i;:::-;8527:4;8520:11;;8370:169;;;;:::o;7323:108::-;7384:7;7411:12;;7404:19;;7323:108;:::o;9021:492::-;9161:4;9178:36;9188:6;9196:9;9207:6;9178:9;:36::i;:::-;9227:24;9254:11;:19;9266:6;9254:19;;;;;;;;;;;;;;;:33;9274:12;:10;:12::i;:::-;9254:33;;;;;;;;;;;;;;;;9227:60;;9326:6;9306:16;:26;;9298:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9413:57;9422:6;9430:12;:10;:12::i;:::-;9463:6;9444:16;:25;9413:8;:57::i;:::-;9501:4;9494:11;;;9021:492;;;;;:::o;7158:100::-;7216:5;7241:9;;;;;;;;;;;7234:16;;7158:100;:::o;9922:215::-;10010:4;10027:80;10036:12;:10;:12::i;:::-;10050:7;10096:10;10059:11;:25;10071:12;:10;:12::i;:::-;10059:25;;;;;;;;;;;;;;;:34;10085:7;10059:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10027:8;:80::i;:::-;10125:4;10118:11;;9922:215;;;;:::o;7494:127::-;7568:7;7595:9;:18;7605:7;7595:18;;;;;;;;;;;;;;;;7588:25;;7494:127;;;:::o;6415:104::-;6471:13;6504:7;6497:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6415:104;:::o;10640:413::-;10733:4;10750:24;10777:11;:25;10789:12;:10;:12::i;:::-;10777:25;;;;;;;;;;;;;;;:34;10803:7;10777:34;;;;;;;;;;;;;;;;10750:61;;10850:15;10830:16;:35;;10822:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10943:67;10952:12;:10;:12::i;:::-;10966:7;10994:15;10975:16;:34;10943:8;:67::i;:::-;11041:4;11034:11;;;10640:413;;;;:::o;7834:175::-;7920:4;7937:42;7947:12;:10;:12::i;:::-;7961:9;7972:6;7937:9;:42::i;:::-;7997:4;7990:11;;7834:175;;;;:::o;8072:151::-;8161:7;8188:11;:18;8200:5;8188:18;;;;;;;;;;;;;;;:27;8207:7;8188:27;;;;;;;;;;;;;;;;8181:34;;8072:151;;;;:::o;3900:98::-;3953:7;3980:10;3973:17;;3900:98;:::o;13404:380::-;13557:1;13540:19;;:5;:19;;;;13532:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13638:1;13619:21;;:7;:21;;;;13611:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13722:6;13692:11;:18;13704:5;13692:18;;;;;;;;;;;;;;;:27;13711:7;13692:27;;;;;;;;;;;;;;;:36;;;;13760:7;13744:32;;13753:5;13744:32;;;13769:6;13744:32;;;;;;:::i;:::-;;;;;;;;13404:380;;;:::o;11543:733::-;11701:1;11683:20;;:6;:20;;;;11675:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;11785:1;11764:23;;:9;:23;;;;11756:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11840:47;11861:6;11869:9;11880:6;11840:20;:47::i;:::-;11900:21;11924:9;:17;11934:6;11924:17;;;;;;;;;;;;;;;;11900:41;;11977:6;11960:13;:23;;11952:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12098:6;12082:13;:22;12062:9;:17;12072:6;12062:17;;;;;;;;;;;;;;;:42;;;;12150:6;12126:9;:20;12136:9;12126:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12191:9;12174:35;;12183:6;12174:35;;;12202:6;12174:35;;;;;;:::i;:::-;;;;;;;;12222:46;12242:6;12250:9;12261:6;12222:19;:46::i;:::-;11543:733;;;;:::o;14384:125::-;;;;:::o;15113:124::-;;;;:::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:366::-;4808:3;4829:67;4893:2;4888:3;4829:67;:::i;:::-;4822:74;;4905:93;4994:3;4905:93;:::i;:::-;5023:2;5018:3;5014:12;5007:19;;4812:220;;;:::o;5038:118::-;5125:24;5143:5;5125:24;:::i;:::-;5120:3;5113:37;5103:53;;:::o;5162:112::-;5245:22;5261:5;5245:22;:::i;:::-;5240:3;5233:35;5223:51;;:::o;5280:210::-;5367:4;5405:2;5394:9;5390:18;5382:26;;5418:65;5480:1;5469:9;5465:17;5456:6;5418:65;:::i;:::-;5372:118;;;;:::o;5496:313::-;5609:4;5647:2;5636:9;5632:18;5624:26;;5696:9;5690:4;5686:20;5682:1;5671:9;5667:17;5660:47;5724:78;5797:4;5788:6;5724:78;:::i;:::-;5716:86;;5614:195;;;;:::o;5815:419::-;5981:4;6019:2;6008:9;6004:18;5996:26;;6068:9;6062:4;6058:20;6054:1;6043:9;6039:17;6032:47;6096:131;6222:4;6096:131;:::i;:::-;6088:139;;5986:248;;;:::o;6240:419::-;6406:4;6444:2;6433:9;6429:18;6421:26;;6493:9;6487:4;6483:20;6479:1;6468:9;6464:17;6457:47;6521:131;6647:4;6521:131;:::i;:::-;6513:139;;6411:248;;;:::o;6665:419::-;6831:4;6869:2;6858:9;6854:18;6846:26;;6918:9;6912:4;6908:20;6904:1;6893:9;6889:17;6882:47;6946:131;7072:4;6946:131;:::i;:::-;6938:139;;6836:248;;;:::o;7090:419::-;7256:4;7294:2;7283:9;7279:18;7271:26;;7343:9;7337:4;7333:20;7329:1;7318:9;7314:17;7307:47;7371:131;7497:4;7371:131;:::i;:::-;7363:139;;7261:248;;;:::o;7515:419::-;7681:4;7719:2;7708:9;7704:18;7696:26;;7768:9;7762:4;7758:20;7754:1;7743:9;7739:17;7732:47;7796:131;7922:4;7796:131;:::i;:::-;7788:139;;7686:248;;;:::o;7940:419::-;8106:4;8144:2;8133:9;8129:18;8121:26;;8193:9;8187:4;8183:20;8179:1;8168:9;8164:17;8157:47;8221:131;8347:4;8221:131;:::i;:::-;8213:139;;8111:248;;;:::o;8365:419::-;8531:4;8569:2;8558:9;8554:18;8546:26;;8618:9;8612:4;8608:20;8604:1;8593:9;8589:17;8582:47;8646:131;8772:4;8646:131;:::i;:::-;8638:139;;8536:248;;;:::o;8790:222::-;8883:4;8921:2;8910:9;8906:18;8898:26;;8934:71;9002:1;8991:9;8987:17;8978:6;8934:71;:::i;:::-;8888:124;;;;:::o;9018:214::-;9107:4;9145:2;9134:9;9130:18;9122:26;;9158:67;9222:1;9211:9;9207:17;9198:6;9158:67;:::i;:::-;9112:120;;;;:::o;9238:99::-;9290:6;9324:5;9318:12;9308:22;;9297:40;;;:::o;9343:169::-;9427:11;9461:6;9456:3;9449:19;9501:4;9496:3;9492:14;9477:29;;9439:73;;;;:::o;9518:305::-;9558:3;9577:20;9595:1;9577:20;:::i;:::-;9572:25;;9611:20;9629:1;9611:20;:::i;:::-;9606:25;;9765:1;9697:66;9693:74;9690:1;9687:81;9684:2;;;9771:18;;:::i;:::-;9684:2;9815:1;9812;9808:9;9801:16;;9562:261;;;;:::o;9829:96::-;9866:7;9895:24;9913:5;9895:24;:::i;:::-;9884:35;;9874:51;;;:::o;9931:90::-;9965:7;10008:5;10001:13;9994:21;9983:32;;9973:48;;;:::o;10027:126::-;10064:7;10104:42;10097:5;10093:54;10082:65;;10072:81;;;:::o;10159:77::-;10196:7;10225:5;10214:16;;10204:32;;;:::o;10242:86::-;10277:7;10317:4;10310:5;10306:16;10295:27;;10285:43;;;:::o;10334:307::-;10402:1;10412:113;10426:6;10423:1;10420:13;10412:113;;;10511:1;10506:3;10502:11;10496:18;10492:1;10487:3;10483:11;10476:39;10448:2;10445:1;10441:10;10436:15;;10412:113;;;10543:6;10540:1;10537:13;10534:2;;;10623:1;10614:6;10609:3;10605:16;10598:27;10534:2;10383:258;;;;:::o;10647:320::-;10691:6;10728:1;10722:4;10718:12;10708:22;;10775:1;10769:4;10765:12;10796:18;10786:2;;10852:4;10844:6;10840:17;10830:27;;10786:2;10914;10906:6;10903:14;10883:18;10880:38;10877:2;;;10933:18;;:::i;:::-;10877:2;10698:269;;;;:::o;10973:180::-;11021:77;11018:1;11011:88;11118:4;11115:1;11108:15;11142:4;11139:1;11132:15;11159:180;11207:77;11204:1;11197:88;11304:4;11301:1;11294:15;11328:4;11325:1;11318:15;11345:102;11386:6;11437:2;11433:7;11428:2;11421:5;11417:14;11413:28;11403:38;;11393:54;;;:::o;11453:222::-;11593:34;11589:1;11581:6;11577:14;11570:58;11662:5;11657:2;11649:6;11645:15;11638:30;11559:116;:::o;11681:221::-;11821:34;11817:1;11809:6;11805:14;11798:58;11890:4;11885:2;11877:6;11873:15;11866:29;11787:115;:::o;11908:225::-;12048:34;12044:1;12036:6;12032:14;12025:58;12117:8;12112:2;12104:6;12100:15;12093:33;12014:119;:::o;12139:227::-;12279:34;12275:1;12267:6;12263:14;12256:58;12348:10;12343:2;12335:6;12331:15;12324:35;12245:121;:::o;12372:224::-;12512:34;12508:1;12500:6;12496:14;12489:58;12581:7;12576:2;12568:6;12564:15;12557:32;12478:118;:::o;12602:223::-;12742:34;12738:1;12730:6;12726:14;12719:58;12811:6;12806:2;12798:6;12794:15;12787:31;12708:117;:::o;12831:224::-;12971:34;12967:1;12959:6;12955:14;12948:58;13040:7;13035:2;13027:6;13023:15;13016:32;12937:118;:::o;13061:122::-;13134:24;13152:5;13134:24;:::i;:::-;13127:5;13124:35;13114:2;;13173:1;13170;13163:12;13114:2;13104:79;:::o;13189:122::-;13262:24;13280:5;13262:24;:::i;:::-;13255:5;13252:35;13242:2;;13301:1;13298;13291:12;13242:2;13232:79;:::o

Swarm Source

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