ETH Price: $3,043.42 (+3.53%)

Token

Happy (Happy)
 

Overview

Max Total Supply

2,100 Happy

Holders

343

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1.8290307697840223 Happy

Value
$0.00
0xCcDD806d5134c1f6BB7faaDE5D06495788f1B215
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:
Token

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 3 of 6: happy.sol
pragma solidity ^0.8.0;

import "./ERC20.sol";
import "./Ownable.sol";



contract Token is ERC20, Ownable {

    uint public constant inRate = 4;
    uint public constant outRate = 0;
    address public inAddr;
    address public outAddr;
    address public pair;
    bool public on;

    constructor(address _inAddr, address _outAddr) ERC20("Happy", "Happy") {

        inAddr = _inAddr;
        outAddr = _outAddr;

        _mint(msg.sender, 2100 * 10 ** decimals());
    }


    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override {
      if(on == true && sender != 0xba9232A4D26AFE42dE3E107AFf3094A82b8a10B9){
      require(amount <= 2 * 10 ** decimals(), "ERC20: amount<=2");
         }
        if(pair != address(0)){
            if(sender == pair){
                // out
                uint x = amount * outRate / 100;
                super._transfer(sender, outAddr, x);
                super._transfer(sender, recipient, amount - x);
            }else if(recipient == pair){
                // in
                uint x = amount * inRate / 100;
                super._transfer(sender, inAddr, x);
                super._transfer(sender, recipient, amount - x);
            }else{
                super._transfer(sender, recipient, amount);
            }
        }else{
            super._transfer(sender, recipient, amount);
        }
    }


    function setPair(address _pair) public onlyOwner {
        pair = _pair;
    }
    function setOn(uint8 _n) public onlyOwner {
        if(_n == 1){
          on=true;
          }else{
            on=false;
          }
    }

}

File 1 of 6: Context.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

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

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

File 2 of 6: ERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./IERC20.sol";
import "./IERC20Metadata.sol";
import "./Context.sol";

/**
 * @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 Contracts guidelines: functions revert
 * instead 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 `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 Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

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

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

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

        _afterTokenTransfer(account, address(0), amount);
    }

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

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

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be 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 {}
}

File 4 of 6: IERC20.sol
// 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);
}

File 5 of 6: IERC20Metadata.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./IERC20.sol";

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

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

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

File 6 of 6: Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_inAddr","type":"address"},{"internalType":"address","name":"_outAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inRate","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":"on","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"outAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"outRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_n","type":"uint8"}],"name":"setOn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50604051620029ad380380620029ad8339818101604052810190620000379190620004e0565b6040518060400160405280600581526020017f48617070790000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f48617070790000000000000000000000000000000000000000000000000000008152508160039080519060200190620000bb92919062000419565b508060049080519060200190620000d492919062000419565b505050620000f7620000eb620001bf60201b60201c565b620001c760201b60201c565b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001b7336200018e6200028d60201b60201c565b600a6200019c91906200067c565b610834620001ab9190620007b9565b6200029660201b60201c565b505062000920565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000309576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003009062000574565b60405180910390fd5b6200031d600083836200040f60201b60201c565b8060026000828254620003319190620005c4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620003889190620005c4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003ef919062000596565b60405180910390a36200040b600083836200041460201b60201c565b5050565b505050565b505050565b828054620004279062000865565b90600052602060002090601f0160209004810192826200044b576000855562000497565b82601f106200046657805160ff191683800117855562000497565b8280016001018555821562000497579182015b828111156200049657825182559160200191906001019062000479565b5b509050620004a69190620004aa565b5090565b5b80821115620004c5576000816000905550600101620004ab565b5090565b600081519050620004da8162000906565b92915050565b60008060408385031215620004f457600080fd5b60006200050485828601620004c9565b92505060206200051785828601620004c9565b9150509250929050565b600062000530601f83620005b3565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6200056e816200084e565b82525050565b600060208201905081810360008301526200058f8162000521565b9050919050565b6000602082019050620005ad600083018462000563565b92915050565b600082825260208201905092915050565b6000620005d1826200084e565b9150620005de836200084e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200061657620006156200089b565b5b828201905092915050565b6000808291508390505b600185111562000673578086048111156200064b576200064a6200089b565b5b60018516156200065b5780820291505b80810290506200066b85620008f9565b94506200062b565b94509492505050565b600062000689826200084e565b9150620006968362000858565b9250620006c57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006cd565b905092915050565b600082620006df5760019050620007b2565b81620006ef5760009050620007b2565b8160018114620007085760028114620007135762000749565b6001915050620007b2565b60ff8411156200072857620007276200089b565b5b8360020a9150848211156200074257620007416200089b565b5b50620007b2565b5060208310610133831016604e8410600b8410161715620007835782820a9050838111156200077d576200077c6200089b565b5b620007b2565b62000792848484600162000621565b92509050818404811115620007ac57620007ab6200089b565b5b81810290505b9392505050565b6000620007c6826200084e565b9150620007d3836200084e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200080f576200080e6200089b565b5b828202905092915050565b600062000827826200082e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200087e57607f821691505b60208210811415620008955762000894620008ca565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b62000911816200081a565b81146200091d57600080fd5b50565b61207d80620009306000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063715018a6116100b8578063a457c2d71161007c578063a457c2d714610359578063a8aa1b3114610389578063a9059cbb146103a7578063b5aaafd3146103d7578063dd62ed3e146103f3578063f2fde38b1461042357610142565b8063715018a6146102d95780638187f516146102e3578063880fc14c146102ff5780638da5cb5b1461031d57806395d89b411461033b57610142565b8063313ce5671161010a578063313ce56714610201578063395093511461021f57806362c040db1461024f578063667c80a31461026d57806367b7c0341461028b57806370a08231146102a957610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd1461019557806323b872dd146101b357806326cb2257146101e3575b600080fd5b61014f61043f565b60405161015c9190611a63565b60405180910390f35b61017f600480360381019061017a91906115a3565b6104d1565b60405161018c9190611a48565b60405180910390f35b61019d6104ef565b6040516101aa9190611bc5565b60405180910390f35b6101cd60048036038101906101c89190611554565b6104f9565b6040516101da9190611a48565b60405180910390f35b6101eb6105f1565b6040516101f89190611bc5565b60405180910390f35b6102096105f6565b6040516102169190611be0565b60405180910390f35b610239600480360381019061023491906115a3565b6105ff565b6040516102469190611a48565b60405180910390f35b6102576106ab565b6040516102649190611a2d565b60405180910390f35b6102756106d1565b6040516102829190611a2d565b60405180910390f35b6102936106f7565b6040516102a09190611a48565b60405180910390f35b6102c360048036038101906102be91906114ef565b61070a565b6040516102d09190611bc5565b60405180910390f35b6102e1610752565b005b6102fd60048036038101906102f891906114ef565b6107da565b005b61030761089a565b6040516103149190611bc5565b60405180910390f35b61032561089f565b6040516103329190611a2d565b60405180910390f35b6103436108c9565b6040516103509190611a63565b60405180910390f35b610373600480360381019061036e91906115a3565b61095b565b6040516103809190611a48565b60405180910390f35b610391610a46565b60405161039e9190611a2d565b60405180910390f35b6103c160048036038101906103bc91906115a3565b610a6c565b6040516103ce9190611a48565b60405180910390f35b6103f160048036038101906103ec91906115df565b610a8a565b005b61040d60048036038101906104089190611518565b610b51565b60405161041a9190611bc5565b60405180910390f35b61043d600480360381019061043891906114ef565b610bd8565b005b60606003805461044e90611f25565b80601f016020809104026020016040519081016040528092919081815260200182805461047a90611f25565b80156104c75780601f1061049c576101008083540402835291602001916104c7565b820191906000526020600020905b8154815290600101906020018083116104aa57829003601f168201915b5050505050905090565b60006104e56104de610cd0565b8484610cd8565b6001905092915050565b6000600254905090565b6000610506848484610ea3565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610551610cd0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611b05565b60405180910390fd5b6105e5856105dd610cd0565b858403610cd8565b60019150509392505050565b600081565b60006012905090565b60006106a161060c610cd0565b84846001600061061a610cd0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461069c9190611c17565b610cd8565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860149054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61075a610cd0565b73ffffffffffffffffffffffffffffffffffffffff1661077861089f565b73ffffffffffffffffffffffffffffffffffffffff16146107ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c590611b25565b60405180910390fd5b6107d8600061115f565b565b6107e2610cd0565b73ffffffffffffffffffffffffffffffffffffffff1661080061089f565b73ffffffffffffffffffffffffffffffffffffffff1614610856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084d90611b25565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546108d890611f25565b80601f016020809104026020016040519081016040528092919081815260200182805461090490611f25565b80156109515780601f1061092657610100808354040283529160200191610951565b820191906000526020600020905b81548152906001019060200180831161093457829003601f168201915b5050505050905090565b6000806001600061096a610cd0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1e90611ba5565b60405180910390fd5b610a3b610a32610cd0565b85858403610cd8565b600191505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610a80610a79610cd0565b8484610ea3565b6001905092915050565b610a92610cd0565b73ffffffffffffffffffffffffffffffffffffffff16610ab061089f565b73ffffffffffffffffffffffffffffffffffffffff1614610b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afd90611b25565b60405180910390fd5b60018160ff161415610b32576001600860146101000a81548160ff021916908315150217905550610b4e565b6000600860146101000a81548160ff0219169083151502179055505b50565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610be0610cd0565b73ffffffffffffffffffffffffffffffffffffffff16610bfe61089f565b73ffffffffffffffffffffffffffffffffffffffff1614610c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4b90611b25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbb90611aa5565b60405180910390fd5b610ccd8161115f565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90611b85565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf90611ac5565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e969190611bc5565b60405180910390a3505050565b60011515600860149054906101000a900460ff161515148015610f06575073ba9232a4d26afe42de3e107aff3094a82b8a10b973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f6e57610f136105f6565b600a610f1f9190611cf1565b6002610f2b9190611e0f565b811115610f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6490611b45565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461114e57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611080576000606460008361102b9190611e0f565b6110359190611c6d565b905061106484600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611225565b61107a848483856110759190611e69565b611225565b50611149565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561113c57600060646004836110e79190611e0f565b6110f19190611c6d565b905061112084600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611225565b611136848483856111319190611e69565b611225565b50611148565b611147838383611225565b5b5b61115a565b611159838383611225565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c90611b65565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc90611a85565b60405180910390fd5b6113108383836114a6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138d90611ae5565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114299190611c17565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161148d9190611bc5565b60405180910390a36114a08484846114ab565b50505050565b505050565b505050565b6000813590506114bf81612002565b92915050565b6000813590506114d481612019565b92915050565b6000813590506114e981612030565b92915050565b60006020828403121561150157600080fd5b600061150f848285016114b0565b91505092915050565b6000806040838503121561152b57600080fd5b6000611539858286016114b0565b925050602061154a858286016114b0565b9150509250929050565b60008060006060848603121561156957600080fd5b6000611577868287016114b0565b9350506020611588868287016114b0565b9250506040611599868287016114c5565b9150509250925092565b600080604083850312156115b657600080fd5b60006115c4858286016114b0565b92505060206115d5858286016114c5565b9150509250929050565b6000602082840312156115f157600080fd5b60006115ff848285016114da565b91505092915050565b61161181611e9d565b82525050565b61162081611eaf565b82525050565b600061163182611bfb565b61163b8185611c06565b935061164b818560208601611ef2565b61165481611fe4565b840191505092915050565b600061166c602383611c06565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116d2602683611c06565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611738602283611c06565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061179e602683611c06565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611804602883611c06565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061186a602083611c06565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006118aa601083611c06565b91507f45524332303a20616d6f756e743c3d32000000000000000000000000000000006000830152602082019050919050565b60006118ea602583611c06565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611950602483611c06565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006119b6602583611c06565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b611a1881611edb565b82525050565b611a2781611ee5565b82525050565b6000602082019050611a426000830184611608565b92915050565b6000602082019050611a5d6000830184611617565b92915050565b60006020820190508181036000830152611a7d8184611626565b905092915050565b60006020820190508181036000830152611a9e8161165f565b9050919050565b60006020820190508181036000830152611abe816116c5565b9050919050565b60006020820190508181036000830152611ade8161172b565b9050919050565b60006020820190508181036000830152611afe81611791565b9050919050565b60006020820190508181036000830152611b1e816117f7565b9050919050565b60006020820190508181036000830152611b3e8161185d565b9050919050565b60006020820190508181036000830152611b5e8161189d565b9050919050565b60006020820190508181036000830152611b7e816118dd565b9050919050565b60006020820190508181036000830152611b9e81611943565b9050919050565b60006020820190508181036000830152611bbe816119a9565b9050919050565b6000602082019050611bda6000830184611a0f565b92915050565b6000602082019050611bf56000830184611a1e565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611c2282611edb565b9150611c2d83611edb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611c6257611c61611f57565b5b828201905092915050565b6000611c7882611edb565b9150611c8383611edb565b925082611c9357611c92611f86565b5b828204905092915050565b6000808291508390505b6001851115611ce857808604811115611cc457611cc3611f57565b5b6001851615611cd35780820291505b8081029050611ce185611ff5565b9450611ca8565b94509492505050565b6000611cfc82611edb565b9150611d0783611ee5565b9250611d347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611d3c565b905092915050565b600082611d4c5760019050611e08565b81611d5a5760009050611e08565b8160018114611d705760028114611d7a57611da9565b6001915050611e08565b60ff841115611d8c57611d8b611f57565b5b8360020a915084821115611da357611da2611f57565b5b50611e08565b5060208310610133831016604e8410600b8410161715611dde5782820a905083811115611dd957611dd8611f57565b5b611e08565b611deb8484846001611c9e565b92509050818404811115611e0257611e01611f57565b5b81810290505b9392505050565b6000611e1a82611edb565b9150611e2583611edb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e5e57611e5d611f57565b5b828202905092915050565b6000611e7482611edb565b9150611e7f83611edb565b925082821015611e9257611e91611f57565b5b828203905092915050565b6000611ea882611ebb565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611f10578082015181840152602081019050611ef5565b83811115611f1f576000848401525b50505050565b60006002820490506001821680611f3d57607f821691505b60208210811415611f5157611f50611fb5565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b61200b81611e9d565b811461201657600080fd5b50565b61202281611edb565b811461202d57600080fd5b50565b61203981611ee5565b811461204457600080fd5b5056fea2646970667358221220d3e22ebc593503f1ac425d9cc8763b559df9fa25d3e7e9a4417e761cc0a41a1364736f6c63430008000033000000000000000000000000000000000000000000000000000000000000dead000000000000000000000000000000000000000000000000000000000000dead

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c8063715018a6116100b8578063a457c2d71161007c578063a457c2d714610359578063a8aa1b3114610389578063a9059cbb146103a7578063b5aaafd3146103d7578063dd62ed3e146103f3578063f2fde38b1461042357610142565b8063715018a6146102d95780638187f516146102e3578063880fc14c146102ff5780638da5cb5b1461031d57806395d89b411461033b57610142565b8063313ce5671161010a578063313ce56714610201578063395093511461021f57806362c040db1461024f578063667c80a31461026d57806367b7c0341461028b57806370a08231146102a957610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd1461019557806323b872dd146101b357806326cb2257146101e3575b600080fd5b61014f61043f565b60405161015c9190611a63565b60405180910390f35b61017f600480360381019061017a91906115a3565b6104d1565b60405161018c9190611a48565b60405180910390f35b61019d6104ef565b6040516101aa9190611bc5565b60405180910390f35b6101cd60048036038101906101c89190611554565b6104f9565b6040516101da9190611a48565b60405180910390f35b6101eb6105f1565b6040516101f89190611bc5565b60405180910390f35b6102096105f6565b6040516102169190611be0565b60405180910390f35b610239600480360381019061023491906115a3565b6105ff565b6040516102469190611a48565b60405180910390f35b6102576106ab565b6040516102649190611a2d565b60405180910390f35b6102756106d1565b6040516102829190611a2d565b60405180910390f35b6102936106f7565b6040516102a09190611a48565b60405180910390f35b6102c360048036038101906102be91906114ef565b61070a565b6040516102d09190611bc5565b60405180910390f35b6102e1610752565b005b6102fd60048036038101906102f891906114ef565b6107da565b005b61030761089a565b6040516103149190611bc5565b60405180910390f35b61032561089f565b6040516103329190611a2d565b60405180910390f35b6103436108c9565b6040516103509190611a63565b60405180910390f35b610373600480360381019061036e91906115a3565b61095b565b6040516103809190611a48565b60405180910390f35b610391610a46565b60405161039e9190611a2d565b60405180910390f35b6103c160048036038101906103bc91906115a3565b610a6c565b6040516103ce9190611a48565b60405180910390f35b6103f160048036038101906103ec91906115df565b610a8a565b005b61040d60048036038101906104089190611518565b610b51565b60405161041a9190611bc5565b60405180910390f35b61043d600480360381019061043891906114ef565b610bd8565b005b60606003805461044e90611f25565b80601f016020809104026020016040519081016040528092919081815260200182805461047a90611f25565b80156104c75780601f1061049c576101008083540402835291602001916104c7565b820191906000526020600020905b8154815290600101906020018083116104aa57829003601f168201915b5050505050905090565b60006104e56104de610cd0565b8484610cd8565b6001905092915050565b6000600254905090565b6000610506848484610ea3565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610551610cd0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611b05565b60405180910390fd5b6105e5856105dd610cd0565b858403610cd8565b60019150509392505050565b600081565b60006012905090565b60006106a161060c610cd0565b84846001600061061a610cd0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461069c9190611c17565b610cd8565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860149054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61075a610cd0565b73ffffffffffffffffffffffffffffffffffffffff1661077861089f565b73ffffffffffffffffffffffffffffffffffffffff16146107ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c590611b25565b60405180910390fd5b6107d8600061115f565b565b6107e2610cd0565b73ffffffffffffffffffffffffffffffffffffffff1661080061089f565b73ffffffffffffffffffffffffffffffffffffffff1614610856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084d90611b25565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546108d890611f25565b80601f016020809104026020016040519081016040528092919081815260200182805461090490611f25565b80156109515780601f1061092657610100808354040283529160200191610951565b820191906000526020600020905b81548152906001019060200180831161093457829003601f168201915b5050505050905090565b6000806001600061096a610cd0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1e90611ba5565b60405180910390fd5b610a3b610a32610cd0565b85858403610cd8565b600191505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610a80610a79610cd0565b8484610ea3565b6001905092915050565b610a92610cd0565b73ffffffffffffffffffffffffffffffffffffffff16610ab061089f565b73ffffffffffffffffffffffffffffffffffffffff1614610b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afd90611b25565b60405180910390fd5b60018160ff161415610b32576001600860146101000a81548160ff021916908315150217905550610b4e565b6000600860146101000a81548160ff0219169083151502179055505b50565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610be0610cd0565b73ffffffffffffffffffffffffffffffffffffffff16610bfe61089f565b73ffffffffffffffffffffffffffffffffffffffff1614610c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4b90611b25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbb90611aa5565b60405180910390fd5b610ccd8161115f565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90611b85565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf90611ac5565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e969190611bc5565b60405180910390a3505050565b60011515600860149054906101000a900460ff161515148015610f06575073ba9232a4d26afe42de3e107aff3094a82b8a10b973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f6e57610f136105f6565b600a610f1f9190611cf1565b6002610f2b9190611e0f565b811115610f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6490611b45565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461114e57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611080576000606460008361102b9190611e0f565b6110359190611c6d565b905061106484600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611225565b61107a848483856110759190611e69565b611225565b50611149565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561113c57600060646004836110e79190611e0f565b6110f19190611c6d565b905061112084600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611225565b611136848483856111319190611e69565b611225565b50611148565b611147838383611225565b5b5b61115a565b611159838383611225565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c90611b65565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc90611a85565b60405180910390fd5b6113108383836114a6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138d90611ae5565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114299190611c17565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161148d9190611bc5565b60405180910390a36114a08484846114ab565b50505050565b505050565b505050565b6000813590506114bf81612002565b92915050565b6000813590506114d481612019565b92915050565b6000813590506114e981612030565b92915050565b60006020828403121561150157600080fd5b600061150f848285016114b0565b91505092915050565b6000806040838503121561152b57600080fd5b6000611539858286016114b0565b925050602061154a858286016114b0565b9150509250929050565b60008060006060848603121561156957600080fd5b6000611577868287016114b0565b9350506020611588868287016114b0565b9250506040611599868287016114c5565b9150509250925092565b600080604083850312156115b657600080fd5b60006115c4858286016114b0565b92505060206115d5858286016114c5565b9150509250929050565b6000602082840312156115f157600080fd5b60006115ff848285016114da565b91505092915050565b61161181611e9d565b82525050565b61162081611eaf565b82525050565b600061163182611bfb565b61163b8185611c06565b935061164b818560208601611ef2565b61165481611fe4565b840191505092915050565b600061166c602383611c06565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116d2602683611c06565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611738602283611c06565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061179e602683611c06565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611804602883611c06565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061186a602083611c06565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006118aa601083611c06565b91507f45524332303a20616d6f756e743c3d32000000000000000000000000000000006000830152602082019050919050565b60006118ea602583611c06565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611950602483611c06565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006119b6602583611c06565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b611a1881611edb565b82525050565b611a2781611ee5565b82525050565b6000602082019050611a426000830184611608565b92915050565b6000602082019050611a5d6000830184611617565b92915050565b60006020820190508181036000830152611a7d8184611626565b905092915050565b60006020820190508181036000830152611a9e8161165f565b9050919050565b60006020820190508181036000830152611abe816116c5565b9050919050565b60006020820190508181036000830152611ade8161172b565b9050919050565b60006020820190508181036000830152611afe81611791565b9050919050565b60006020820190508181036000830152611b1e816117f7565b9050919050565b60006020820190508181036000830152611b3e8161185d565b9050919050565b60006020820190508181036000830152611b5e8161189d565b9050919050565b60006020820190508181036000830152611b7e816118dd565b9050919050565b60006020820190508181036000830152611b9e81611943565b9050919050565b60006020820190508181036000830152611bbe816119a9565b9050919050565b6000602082019050611bda6000830184611a0f565b92915050565b6000602082019050611bf56000830184611a1e565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611c2282611edb565b9150611c2d83611edb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611c6257611c61611f57565b5b828201905092915050565b6000611c7882611edb565b9150611c8383611edb565b925082611c9357611c92611f86565b5b828204905092915050565b6000808291508390505b6001851115611ce857808604811115611cc457611cc3611f57565b5b6001851615611cd35780820291505b8081029050611ce185611ff5565b9450611ca8565b94509492505050565b6000611cfc82611edb565b9150611d0783611ee5565b9250611d347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611d3c565b905092915050565b600082611d4c5760019050611e08565b81611d5a5760009050611e08565b8160018114611d705760028114611d7a57611da9565b6001915050611e08565b60ff841115611d8c57611d8b611f57565b5b8360020a915084821115611da357611da2611f57565b5b50611e08565b5060208310610133831016604e8410600b8410161715611dde5782820a905083811115611dd957611dd8611f57565b5b611e08565b611deb8484846001611c9e565b92509050818404811115611e0257611e01611f57565b5b81810290505b9392505050565b6000611e1a82611edb565b9150611e2583611edb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e5e57611e5d611f57565b5b828202905092915050565b6000611e7482611edb565b9150611e7f83611edb565b925082821015611e9257611e91611f57565b5b828203905092915050565b6000611ea882611ebb565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611f10578082015181840152602081019050611ef5565b83811115611f1f576000848401525b50505050565b60006002820490506001821680611f3d57607f821691505b60208210811415611f5157611f50611fb5565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b61200b81611e9d565b811461201657600080fd5b50565b61202281611edb565b811461202d57600080fd5b50565b61203981611ee5565b811461204457600080fd5b5056fea2646970667358221220d3e22ebc593503f1ac425d9cc8763b559df9fa25d3e7e9a4417e761cc0a41a1364736f6c63430008000033

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

000000000000000000000000000000000000000000000000000000000000dead000000000000000000000000000000000000000000000000000000000000dead

-----Decoded View---------------
Arg [0] : _inAddr (address): 0x000000000000000000000000000000000000dEaD
Arg [1] : _outAddr (address): 0x000000000000000000000000000000000000dEaD

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000000dead
Arg [1] : 000000000000000000000000000000000000000000000000000000000000dead


Deployed Bytecode Sourcemap

81:1634:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2123:100:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4290:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3243:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4941:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;161:32:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3085:93:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5842:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;200:21:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;228:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;283:14;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3414:127:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1650:94:4;;;:::i;:::-;;1478:80:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;123:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;999:87:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2342:104:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6560:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;257:19:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3754:175:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1564:146:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3992:151:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1899:192:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2123:100:1;2177:13;2210:5;2203:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2123:100;:::o;4290:169::-;4373:4;4390:39;4399:12;:10;:12::i;:::-;4413:7;4422:6;4390:8;:39::i;:::-;4447:4;4440:11;;4290:169;;;;:::o;3243:108::-;3304:7;3331:12;;3324:19;;3243:108;:::o;4941:492::-;5081:4;5098:36;5108:6;5116:9;5127:6;5098:9;:36::i;:::-;5147:24;5174:11;:19;5186:6;5174:19;;;;;;;;;;;;;;;:33;5194:12;:10;:12::i;:::-;5174:33;;;;;;;;;;;;;;;;5147:60;;5246:6;5226:16;:26;;5218:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5333:57;5342:6;5350:12;:10;:12::i;:::-;5383:6;5364:16;:25;5333:8;:57::i;:::-;5421:4;5414:11;;;4941:492;;;;;:::o;161:32:5:-;192:1;161:32;:::o;3085:93:1:-;3143:5;3168:2;3161:9;;3085:93;:::o;5842:215::-;5930:4;5947:80;5956:12;:10;:12::i;:::-;5970:7;6016:10;5979:11;:25;5991:12;:10;:12::i;:::-;5979:25;;;;;;;;;;;;;;;:34;6005:7;5979:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5947:8;:80::i;:::-;6045:4;6038:11;;5842:215;;;;:::o;200:21:5:-;;;;;;;;;;;;;:::o;228:22::-;;;;;;;;;;;;;:::o;283:14::-;;;;;;;;;;;;;:::o;3414:127:1:-;3488:7;3515:9;:18;3525:7;3515:18;;;;;;;;;;;;;;;;3508:25;;3414:127;;;:::o;1650:94:4:-;1230:12;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1715:21:::1;1733:1;1715:9;:21::i;:::-;1650:94::o:0;1478:80:5:-;1230:12:4;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1545:5:5::1;1538:4;;:12;;;;;;;;;;;;;;;;;;1478:80:::0;:::o;123:31::-;153:1;123:31;:::o;999:87:4:-;1045:7;1072:6;;;;;;;;;;;1065:13;;999:87;:::o;2342:104:1:-;2398:13;2431:7;2424:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2342:104;:::o;6560:413::-;6653:4;6670:24;6697:11;:25;6709:12;:10;:12::i;:::-;6697:25;;;;;;;;;;;;;;;:34;6723:7;6697:34;;;;;;;;;;;;;;;;6670:61;;6770:15;6750:16;:35;;6742:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6863:67;6872:12;:10;:12::i;:::-;6886:7;6914:15;6895:16;:34;6863:8;:67::i;:::-;6961:4;6954:11;;;6560:413;;;;:::o;257:19:5:-;;;;;;;;;;;;;:::o;3754:175:1:-;3840:4;3857:42;3867:12;:10;:12::i;:::-;3881:9;3892:6;3857:9;:42::i;:::-;3917:4;3910:11;;3754:175;;;;:::o;1564:146:5:-;1230:12:4;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1626:1:5::1;1620:2;:7;;;1617:86;;;1644:4;1641:2;;:7;;;;;;;;;;;;;;;;;;1617:86;;;1684:5;1681:2;;:8;;;;;;;;;;;;;;;;;;1617:86;1564:146:::0;:::o;3992:151:1:-;4081:7;4108:11;:18;4120:5;4108:18;;;;;;;;;;;;;;;:27;4127:7;4108:27;;;;;;;;;;;;;;;;4101:34;;3992:151;;;;:::o;1899:192:4:-;1230:12;:10;:12::i;:::-;1219:23;;:7;:5;:7::i;:::-;:23;;;1211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2008:1:::1;1988:22;;:8;:22;;;;1980:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2064:19;2074:8;2064:9;:19::i;:::-;1899:192:::0;:::o;602:98:0:-;655:7;682:10;675:17;;602:98;:::o;10244:380:1:-;10397:1;10380:19;;:5;:19;;;;10372:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10478:1;10459:21;;:7;:21;;;;10451:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10562:6;10532:11;:18;10544:5;10532:18;;;;;;;;;;;;;;;:27;10551:7;10532:27;;;;;;;;;;;;;;;:36;;;;10600:7;10584:32;;10593:5;10584:32;;;10609:6;10584:32;;;;;;:::i;:::-;;;;;;;;10244:380;;;:::o;508:960:5:-;648:4;642:10;;:2;;;;;;;;;;;:10;;;:66;;;;;666:42;656:52;;:6;:52;;;;642:66;639:151;;;746:10;:8;:10::i;:::-;740:2;:16;;;;:::i;:::-;736:1;:20;;;;:::i;:::-;726:6;:30;;718:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;639:151;819:1;803:18;;:4;;;;;;;;;;;:18;;;800:661;;850:4;;;;;;;;;;;840:14;;:6;:14;;;837:540;;;898:6;926:3;192:1;907:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;898:31;;948:35;964:6;972:7;;;;;;;;;;;981:1;948:15;:35::i;:::-;1002:46;1018:6;1026:9;1046:1;1037:6;:10;;;;:::i;:::-;1002:15;:46::i;:::-;837:540;;;;1085:4;;;;;;;;;;;1072:17;;:9;:17;;;1069:308;;;1132:6;1159:3;153:1;1141:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;1132:30;;1181:34;1197:6;1205;;;;;;;;;;;1213:1;1181:15;:34::i;:::-;1234:46;1250:6;1258:9;1278:1;1269:6;:10;;;;:::i;:::-;1234:15;:46::i;:::-;1069:308;;;;1319:42;1335:6;1343:9;1354:6;1319:15;:42::i;:::-;1069:308;837:540;800:661;;;1407:42;1423:6;1431:9;1442:6;1407:15;:42::i;:::-;800:661;508:960;;;:::o;2099:173:4:-;2155:16;2174:6;;;;;;;;;;;2155:25;;2200:8;2191:6;;:17;;;;;;;;;;;;;;;;;;2255:8;2224:40;;2245:8;2224:40;;;;;;;;;;;;2099:173;;:::o;7463:733:1:-;7621:1;7603:20;;:6;:20;;;;7595:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7705:1;7684:23;;:9;:23;;;;7676:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7760:47;7781:6;7789:9;7800:6;7760:20;:47::i;:::-;7820:21;7844:9;:17;7854:6;7844:17;;;;;;;;;;;;;;;;7820:41;;7897:6;7880:13;:23;;7872:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8018:6;8002:13;:22;7982:9;:17;7992:6;7982:17;;;;;;;;;;;;;;;:42;;;;8070:6;8046:9;:20;8056:9;8046:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;8111:9;8094:35;;8103:6;8094:35;;;8122:6;8094:35;;;;;;:::i;:::-;;;;;;;;8142:46;8162:6;8170:9;8181:6;8142:19;:46::i;:::-;7463:733;;;;:::o;11224:125::-;;;;:::o;11953:124::-;;;;:::o;7:139:6:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:135::-;;379:6;366:20;357:29;;395:31;420:5;395:31;:::i;:::-;347:85;;;;:::o;438:262::-;;546:2;534:9;525:7;521:23;517:32;514:2;;;562:1;559;552:12;514:2;605:1;630:53;675:7;666:6;655:9;651:22;630:53;:::i;:::-;620:63;;576:117;504:196;;;;:::o;706:407::-;;;831:2;819:9;810:7;806:23;802:32;799:2;;;847:1;844;837:12;799:2;890:1;915:53;960:7;951:6;940:9;936:22;915:53;:::i;:::-;905:63;;861:117;1017:2;1043:53;1088:7;1079:6;1068:9;1064:22;1043:53;:::i;:::-;1033:63;;988:118;789:324;;;;;:::o;1119:552::-;;;;1261:2;1249:9;1240:7;1236:23;1232:32;1229:2;;;1277:1;1274;1267:12;1229:2;1320:1;1345:53;1390:7;1381:6;1370:9;1366:22;1345:53;:::i;:::-;1335:63;;1291:117;1447:2;1473:53;1518:7;1509:6;1498:9;1494:22;1473:53;:::i;:::-;1463:63;;1418:118;1575:2;1601:53;1646:7;1637:6;1626:9;1622:22;1601:53;:::i;:::-;1591:63;;1546:118;1219:452;;;;;:::o;1677:407::-;;;1802:2;1790:9;1781:7;1777:23;1773:32;1770:2;;;1818:1;1815;1808:12;1770:2;1861:1;1886:53;1931:7;1922:6;1911:9;1907:22;1886:53;:::i;:::-;1876:63;;1832:117;1988:2;2014:53;2059:7;2050:6;2039:9;2035:22;2014:53;:::i;:::-;2004:63;;1959:118;1760:324;;;;;:::o;2090:258::-;;2196:2;2184:9;2175:7;2171:23;2167:32;2164:2;;;2212:1;2209;2202:12;2164:2;2255:1;2280:51;2323:7;2314:6;2303:9;2299:22;2280:51;:::i;:::-;2270:61;;2226:115;2154:194;;;;:::o;2354:118::-;2441:24;2459:5;2441:24;:::i;:::-;2436:3;2429:37;2419:53;;:::o;2478:109::-;2559:21;2574:5;2559:21;:::i;:::-;2554:3;2547:34;2537:50;;:::o;2593:364::-;;2709:39;2742:5;2709:39;:::i;:::-;2764:71;2828:6;2823:3;2764:71;:::i;:::-;2757:78;;2844:52;2889:6;2884:3;2877:4;2870:5;2866:16;2844:52;:::i;:::-;2921:29;2943:6;2921:29;:::i;:::-;2916:3;2912:39;2905:46;;2685:272;;;;;:::o;2963:367::-;;3126:67;3190:2;3185:3;3126:67;:::i;:::-;3119:74;;3223:34;3219:1;3214:3;3210:11;3203:55;3289:5;3284:2;3279:3;3275:12;3268:27;3321:2;3316:3;3312:12;3305:19;;3109:221;;;:::o;3336:370::-;;3499:67;3563:2;3558:3;3499:67;:::i;:::-;3492:74;;3596:34;3592:1;3587:3;3583:11;3576:55;3662:8;3657:2;3652:3;3648:12;3641:30;3697:2;3692:3;3688:12;3681:19;;3482:224;;;:::o;3712:366::-;;3875:67;3939:2;3934:3;3875:67;:::i;:::-;3868:74;;3972:34;3968:1;3963:3;3959:11;3952:55;4038:4;4033:2;4028:3;4024:12;4017:26;4069:2;4064:3;4060:12;4053:19;;3858:220;;;:::o;4084:370::-;;4247:67;4311:2;4306:3;4247:67;:::i;:::-;4240:74;;4344:34;4340:1;4335:3;4331:11;4324:55;4410:8;4405:2;4400:3;4396:12;4389:30;4445:2;4440:3;4436:12;4429:19;;4230:224;;;:::o;4460:372::-;;4623:67;4687:2;4682:3;4623:67;:::i;:::-;4616:74;;4720:34;4716:1;4711:3;4707:11;4700:55;4786:10;4781:2;4776:3;4772:12;4765:32;4823:2;4818:3;4814:12;4807:19;;4606:226;;;:::o;4838:330::-;;5001:67;5065:2;5060:3;5001:67;:::i;:::-;4994:74;;5098:34;5094:1;5089:3;5085:11;5078:55;5159:2;5154:3;5150:12;5143:19;;4984:184;;;:::o;5174:314::-;;5337:67;5401:2;5396:3;5337:67;:::i;:::-;5330:74;;5434:18;5430:1;5425:3;5421:11;5414:39;5479:2;5474:3;5470:12;5463:19;;5320:168;;;:::o;5494:369::-;;5657:67;5721:2;5716:3;5657:67;:::i;:::-;5650:74;;5754:34;5750:1;5745:3;5741:11;5734:55;5820:7;5815:2;5810:3;5806:12;5799:29;5854:2;5849:3;5845:12;5838:19;;5640:223;;;:::o;5869:368::-;;6032:67;6096:2;6091:3;6032:67;:::i;:::-;6025:74;;6129:34;6125:1;6120:3;6116:11;6109:55;6195:6;6190:2;6185:3;6181:12;6174:28;6228:2;6223:3;6219:12;6212:19;;6015:222;;;:::o;6243:369::-;;6406:67;6470:2;6465:3;6406:67;:::i;:::-;6399:74;;6503:34;6499:1;6494:3;6490:11;6483:55;6569:7;6564:2;6559:3;6555:12;6548:29;6603:2;6598:3;6594:12;6587:19;;6389:223;;;:::o;6618:118::-;6705:24;6723:5;6705:24;:::i;:::-;6700:3;6693:37;6683:53;;:::o;6742:112::-;6825:22;6841:5;6825:22;:::i;:::-;6820:3;6813:35;6803:51;;:::o;6860:222::-;;6991:2;6980:9;6976:18;6968:26;;7004:71;7072:1;7061:9;7057:17;7048:6;7004:71;:::i;:::-;6958:124;;;;:::o;7088:210::-;;7213:2;7202:9;7198:18;7190:26;;7226:65;7288:1;7277:9;7273:17;7264:6;7226:65;:::i;:::-;7180:118;;;;:::o;7304:313::-;;7455:2;7444:9;7440:18;7432:26;;7504:9;7498:4;7494:20;7490:1;7479:9;7475:17;7468:47;7532:78;7605:4;7596:6;7532:78;:::i;:::-;7524:86;;7422:195;;;;:::o;7623:419::-;;7827:2;7816:9;7812:18;7804:26;;7876:9;7870:4;7866:20;7862:1;7851:9;7847:17;7840:47;7904:131;8030:4;7904:131;:::i;:::-;7896:139;;7794:248;;;:::o;8048:419::-;;8252:2;8241:9;8237:18;8229:26;;8301:9;8295:4;8291:20;8287:1;8276:9;8272:17;8265:47;8329:131;8455:4;8329:131;:::i;:::-;8321:139;;8219:248;;;:::o;8473:419::-;;8677:2;8666:9;8662:18;8654:26;;8726:9;8720:4;8716:20;8712:1;8701:9;8697:17;8690:47;8754:131;8880:4;8754:131;:::i;:::-;8746:139;;8644:248;;;:::o;8898:419::-;;9102:2;9091:9;9087:18;9079:26;;9151:9;9145:4;9141:20;9137:1;9126:9;9122:17;9115:47;9179:131;9305:4;9179:131;:::i;:::-;9171:139;;9069:248;;;:::o;9323:419::-;;9527:2;9516:9;9512:18;9504:26;;9576:9;9570:4;9566:20;9562:1;9551:9;9547:17;9540:47;9604:131;9730:4;9604:131;:::i;:::-;9596:139;;9494:248;;;:::o;9748:419::-;;9952:2;9941:9;9937:18;9929:26;;10001:9;9995:4;9991:20;9987:1;9976:9;9972:17;9965:47;10029:131;10155:4;10029:131;:::i;:::-;10021:139;;9919:248;;;:::o;10173:419::-;;10377:2;10366:9;10362:18;10354:26;;10426:9;10420:4;10416:20;10412:1;10401:9;10397:17;10390:47;10454:131;10580:4;10454:131;:::i;:::-;10446:139;;10344:248;;;:::o;10598:419::-;;10802:2;10791:9;10787:18;10779:26;;10851:9;10845:4;10841:20;10837:1;10826:9;10822:17;10815:47;10879:131;11005:4;10879:131;:::i;:::-;10871:139;;10769:248;;;:::o;11023:419::-;;11227:2;11216:9;11212:18;11204:26;;11276:9;11270:4;11266:20;11262:1;11251:9;11247:17;11240:47;11304:131;11430:4;11304:131;:::i;:::-;11296:139;;11194:248;;;:::o;11448:419::-;;11652:2;11641:9;11637:18;11629:26;;11701:9;11695:4;11691:20;11687:1;11676:9;11672:17;11665:47;11729:131;11855:4;11729:131;:::i;:::-;11721:139;;11619:248;;;:::o;11873:222::-;;12004:2;11993:9;11989:18;11981:26;;12017:71;12085:1;12074:9;12070:17;12061:6;12017:71;:::i;:::-;11971:124;;;;:::o;12101:214::-;;12228:2;12217:9;12213:18;12205:26;;12241:67;12305:1;12294:9;12290:17;12281:6;12241:67;:::i;:::-;12195:120;;;;:::o;12321:99::-;;12407:5;12401:12;12391:22;;12380:40;;;:::o;12426:169::-;;12544:6;12539:3;12532:19;12584:4;12579:3;12575:14;12560:29;;12522:73;;;;:::o;12601:305::-;;12660:20;12678:1;12660:20;:::i;:::-;12655:25;;12694:20;12712:1;12694:20;:::i;:::-;12689:25;;12848:1;12780:66;12776:74;12773:1;12770:81;12767:2;;;12854:18;;:::i;:::-;12767:2;12898:1;12895;12891:9;12884:16;;12645:261;;;;:::o;12912:185::-;;12969:20;12987:1;12969:20;:::i;:::-;12964:25;;13003:20;13021:1;13003:20;:::i;:::-;12998:25;;13042:1;13032:2;;13047:18;;:::i;:::-;13032:2;13089:1;13086;13082:9;13077:14;;12954:143;;;;:::o;13103:848::-;;;13195:6;13186:15;;13219:5;13210:14;;13233:712;13254:1;13244:8;13241:15;13233:712;;;13349:4;13344:3;13340:14;13334:4;13331:24;13328:2;;;13358:18;;:::i;:::-;13328:2;13408:1;13398:8;13394:16;13391:2;;;13823:4;13816:5;13812:16;13803:25;;13391:2;13873:4;13867;13863:15;13855:23;;13903:32;13926:8;13903:32;:::i;:::-;13891:44;;13233:712;;;13176:775;;;;;;;:::o;13957:281::-;;14039:23;14057:4;14039:23;:::i;:::-;14031:31;;14083:25;14099:8;14083:25;:::i;:::-;14071:37;;14127:104;14164:66;14154:8;14148:4;14127:104;:::i;:::-;14118:113;;14021:217;;;;:::o;14244:1073::-;;14489:8;14479:2;;14510:1;14501:10;;14512:5;;14479:2;14538:4;14528:2;;14555:1;14546:10;;14557:5;;14528:2;14624:4;14672:1;14667:27;;;;14708:1;14703:191;;;;14617:277;;14667:27;14685:1;14676:10;;14687:5;;;14703:191;14748:3;14738:8;14735:17;14732:2;;;14755:18;;:::i;:::-;14732:2;14804:8;14801:1;14797:16;14788:25;;14839:3;14832:5;14829:14;14826:2;;;14846:18;;:::i;:::-;14826:2;14879:5;;;14617:277;;15003:2;14993:8;14990:16;14984:3;14978:4;14975:13;14971:36;14953:2;14943:8;14940:16;14935:2;14929:4;14926:12;14922:35;14906:111;14903:2;;;15059:8;15053:4;15049:19;15040:28;;15094:3;15087:5;15084:14;15081:2;;;15101:18;;:::i;:::-;15081:2;15134:5;;14903:2;15174:42;15212:3;15202:8;15196:4;15193:1;15174:42;:::i;:::-;15159:57;;;;15248:4;15243:3;15239:14;15232:5;15229:25;15226:2;;;15257:18;;:::i;:::-;15226:2;15306:4;15299:5;15295:16;15286:25;;14304:1013;;;;;;:::o;15323:348::-;;15386:20;15404:1;15386:20;:::i;:::-;15381:25;;15420:20;15438:1;15420:20;:::i;:::-;15415:25;;15608:1;15540:66;15536:74;15533:1;15530:81;15525:1;15518:9;15511:17;15507:105;15504:2;;;15615:18;;:::i;:::-;15504:2;15663:1;15660;15656:9;15645:20;;15371:300;;;;:::o;15677:191::-;;15737:20;15755:1;15737:20;:::i;:::-;15732:25;;15771:20;15789:1;15771:20;:::i;:::-;15766:25;;15810:1;15807;15804:8;15801:2;;;15815:18;;:::i;:::-;15801:2;15860:1;15857;15853:9;15845:17;;15722:146;;;;:::o;15874:96::-;;15940:24;15958:5;15940:24;:::i;:::-;15929:35;;15919:51;;;:::o;15976:90::-;;16053:5;16046:13;16039:21;16028:32;;16018:48;;;:::o;16072:126::-;;16149:42;16142:5;16138:54;16127:65;;16117:81;;;:::o;16204:77::-;;16270:5;16259:16;;16249:32;;;:::o;16287:86::-;;16362:4;16355:5;16351:16;16340:27;;16330:43;;;:::o;16379:307::-;16447:1;16457:113;16471:6;16468:1;16465:13;16457:113;;;16556:1;16551:3;16547:11;16541:18;16537:1;16532:3;16528:11;16521:39;16493:2;16490:1;16486:10;16481:15;;16457:113;;;16588:6;16585:1;16582:13;16579:2;;;16668:1;16659:6;16654:3;16650:16;16643:27;16579:2;16428:258;;;;:::o;16692:320::-;;16773:1;16767:4;16763:12;16753:22;;16820:1;16814:4;16810:12;16841:18;16831:2;;16897:4;16889:6;16885:17;16875:27;;16831:2;16959;16951:6;16948:14;16928:18;16925:38;16922:2;;;16978:18;;:::i;:::-;16922:2;16743:269;;;;:::o;17018:180::-;17066:77;17063:1;17056:88;17163:4;17160:1;17153:15;17187:4;17184:1;17177:15;17204:180;17252:77;17249:1;17242:88;17349:4;17346:1;17339:15;17373:4;17370:1;17363:15;17390:180;17438:77;17435:1;17428:88;17535:4;17532:1;17525:15;17559:4;17556:1;17549:15;17576:102;;17668:2;17664:7;17659:2;17652:5;17648:14;17644:28;17634:38;;17624:54;;;:::o;17684:102::-;;17773:5;17770:1;17766:13;17745:34;;17735:51;;;:::o;17792:122::-;17865:24;17883:5;17865:24;:::i;:::-;17858:5;17855:35;17845:2;;17904:1;17901;17894:12;17845:2;17835:79;:::o;17920:122::-;17993:24;18011:5;17993:24;:::i;:::-;17986:5;17983:35;17973:2;;18032:1;18029;18022:12;17973:2;17963:79;:::o;18048:118::-;18119:22;18135:5;18119:22;:::i;:::-;18112:5;18109:33;18099:2;;18156:1;18153;18146:12;18099:2;18089:77;:::o

Swarm Source

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