ETH Price: $3,269.42 (-1.24%)
Gas: 10 Gwei

Token

FoxAndGary (FNG)
 

Overview

Max Total Supply

10,000,000,000,000 FNG

Holders

3

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,799,500,000,000 FNG

Value
$0.00
0xed905a3b5a5ce7f5975325b6b8a9bc1b8994b000
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:
FoxAndGary

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 3 : ERC20.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);

    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /*//////////////////////////////////////////////////////////////
                            METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    /*//////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;

    /*//////////////////////////////////////////////////////////////
                            EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 internal immutable INITIAL_CHAIN_ID;

    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
    }

    /*//////////////////////////////////////////////////////////////
                               ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.

        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(from, to, amount);

        return true;
    }

    /*//////////////////////////////////////////////////////////////
                             EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256(
                                    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
                                ),
                                owner,
                                spender,
                                value,
                                nonces[owner]++,
                                deadline
                            )
                        )
                    )
                ),
                v,
                r,
                s
            );

            require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER");

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
            abi.encode(
                keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                keccak256(bytes(name)),
                keccak256("1"),
                block.chainid,
                address(this)
            )
        );
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

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

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;

        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {
            totalSupply -= amount;
        }

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

File 2 of 3 : FoxAndGary.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.8.0;

import "./ERC20.sol";
import "./Owned.sol";

contract FoxAndGary is ERC20, Owned {

    event FeeUpdated(uint256 newFeeValue);
    event TreasuryUpdated(address newTreasuryAddress);

    uint256 constant public INITIAL_SUPPLY = 10_000_000_000_000 * (10 ** 18);
    uint256 constant public MAX_FEE = 2_00;
    uint256 public fee = 2_00;
    address public treasury;

    constructor() ERC20("FoxAndGary", "FNG", 18) Owned(msg.sender) {
        _mint(msg.sender, INITIAL_SUPPLY);
    }

    function transfer(address _to, uint256 _amount) public override returns (bool) {
        balanceOf[msg.sender] -= _amount;

        unchecked {
            balanceOf[_to] += (_amount - _processFee(msg.sender, _amount));
        }

        emit Transfer(msg.sender, _to, _amount);

        return true;
    }

    function transferFrom(address _from, address _to, uint256 _amount) public override returns (bool) {
        uint256 allowed = allowance[_from][msg.sender];

        if (allowed != type(uint256).max) allowance[_from][msg.sender] = allowed - _amount;

        balanceOf[_from] -= _amount;

        unchecked {
            balanceOf[_to] += (_amount - _processFee(_from, _amount));
        }

        emit Transfer(_from, _to, _amount);

        return true;
    }

    function _processFee(address _from, uint256 _amount) private returns (uint256 feeAmount) {
        feeAmount = _amount * fee / 100_00;
        if (feeAmount > 0) {
            balanceOf[treasury] += feeAmount;
            emit Transfer(_from, treasury, feeAmount);
        }
    }

    function burn(uint256 _amount) public {
        _burn(msg.sender, _amount);
    }

    function setFee(uint256 _fee) public onlyOwner {
        require(_fee <= MAX_FEE, "fee too high");
        fee = _fee;
        emit FeeUpdated(_fee);
    }

    function setTreasury(address _treasury) public onlyOwner {
        // might be address(0) to burn fees
        treasury = _treasury;
        emit TreasuryUpdated(_treasury);
    }
}

File 3 of 3 : Owned.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Simple single owner authorization mixin.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)
abstract contract Owned {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

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

    /*//////////////////////////////////////////////////////////////
                            OWNERSHIP STORAGE
    //////////////////////////////////////////////////////////////*/

    address public owner;

    modifier onlyOwner() virtual {
        require(msg.sender == owner, "UNAUTHORIZED");

        _;
    }

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(address _owner) {
        owner = _owner;

        emit OwnershipTransferred(address(0), _owner);
    }

    /*//////////////////////////////////////////////////////////////
                             OWNERSHIP LOGIC
    //////////////////////////////////////////////////////////////*/

    function transferOwnership(address newOwner) public virtual onlyOwner {
        owner = newOwner;

        emit OwnershipTransferred(msg.sender, newOwner);
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newFeeValue","type":"uint256"}],"name":"FeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTreasuryAddress","type":"address"}],"name":"TreasuryUpdated","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"setTreasury","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":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","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"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60e060405260c86007553480156200001657600080fd5b50336040518060400160405280600a81526020017f466f78416e6447617279000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f464e470000000000000000000000000000000000000000000000000000000000815250601282600090816200009791906200057a565b508160019081620000a991906200057a565b508060ff1660808160ff16815250504660a08181525050620000d06200019c60201b60201c565b60c0818152505050505080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000196336c7e37be2022c0914b26800000006200022c60201b60201c565b6200087e565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620001d0919062000710565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001620002119594939291906200079a565b60405160208183030381529060405280519060200120905090565b806002600082825462000240919062000826565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002f4919062000861565b60405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200038257607f821691505b6020821081036200039857620003976200033a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003c3565b6200040e8683620003c3565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200045b620004556200044f8462000426565b62000430565b62000426565b9050919050565b6000819050919050565b62000477836200043a565b6200048f620004868262000462565b848454620003d0565b825550505050565b600090565b620004a662000497565b620004b38184846200046c565b505050565b5b81811015620004db57620004cf6000826200049c565b600181019050620004b9565b5050565b601f8211156200052a57620004f4816200039e565b620004ff84620003b3565b810160208510156200050f578190505b620005276200051e85620003b3565b830182620004b8565b50505b505050565b600082821c905092915050565b60006200054f600019846008026200052f565b1980831691505092915050565b60006200056a83836200053c565b9150826002028217905092915050565b620005858262000300565b67ffffffffffffffff811115620005a157620005a06200030b565b5b620005ad825462000369565b620005ba828285620004df565b600060209050601f831160018114620005f25760008415620005dd578287015190505b620005e985826200055c565b86555062000659565b601f19841662000602866200039e565b60005b828110156200062c5784890151825560018201915060208501945060208101905062000605565b868310156200064c578489015162000648601f8916826200053c565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b60008190508160005260206000209050919050565b60008154620006908162000369565b6200069c818662000661565b94506001821660008114620006ba5760018114620006d05762000707565b60ff198316865281151582028601935062000707565b620006db856200066c565b60005b83811015620006ff57815481890152600182019150602081019050620006de565b838801955050505b50505092915050565b60006200071e828462000681565b915081905092915050565b6000819050919050565b6200073e8162000729565b82525050565b6200074f8162000426565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007828262000755565b9050919050565b620007948162000775565b82525050565b600060a082019050620007b1600083018862000733565b620007c0602083018762000733565b620007cf604083018662000733565b620007de606083018562000744565b620007ed608083018462000789565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620008338262000426565b9150620008408362000426565b92508282019050808211156200085b576200085a620007f7565b5b92915050565b600060208201905062000878600083018462000744565b92915050565b60805160a05160c051611e00620008ae600039600061085c01526000610828015260006108020152611e006000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b8578063bc063e1a1161007c578063bc063e1a14610354578063d505accf14610372578063dd62ed3e1461038e578063ddca3f43146103be578063f0f44260146103dc578063f2fde38b146103f857610137565b806370a08231146102885780637ecebe00146102b85780638da5cb5b146102e857806395d89b4114610306578063a9059cbb1461032457610137565b8063313ce567116100ff578063313ce567146101f65780633644e5151461021457806342966c681461023257806361d027b31461024e57806369fe0e2d1461026c57610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a85780632ff2e9dc146101d8575b600080fd5b610144610414565b6040516101519190611448565b60405180910390f35b610174600480360381019061016f9190611503565b6104a2565b604051610181919061155e565b60405180910390f35b610192610594565b60405161019f9190611588565b60405180910390f35b6101c260048036038101906101bd91906115a3565b61059a565b6040516101cf919061155e565b60405180910390f35b6101e06107ef565b6040516101ed9190611588565b60405180910390f35b6101fe610800565b60405161020b9190611612565b60405180910390f35b61021c610824565b6040516102299190611646565b60405180910390f35b61024c60048036038101906102479190611661565b610881565b005b61025661088e565b604051610263919061169d565b60405180910390f35b61028660048036038101906102819190611661565b6108b4565b005b6102a2600480360381019061029d91906116b8565b6109c9565b6040516102af9190611588565b60405180910390f35b6102d260048036038101906102cd91906116b8565b6109e1565b6040516102df9190611588565b60405180910390f35b6102f06109f9565b6040516102fd919061169d565b60405180910390f35b61030e610a1f565b60405161031b9190611448565b60405180910390f35b61033e60048036038101906103399190611503565b610aad565b60405161034b919061155e565b60405180910390f35b61035c610bcc565b6040516103699190611588565b60405180910390f35b61038c6004803603810190610387919061173d565b610bd1565b005b6103a860048036038101906103a391906117df565b610eca565b6040516103b59190611588565b60405180910390f35b6103c6610eef565b6040516103d39190611588565b60405180910390f35b6103f660048036038101906103f191906116b8565b610ef5565b005b610412600480360381019061040d91906116b8565b611000565b005b600080546104219061184e565b80601f016020809104026020016040519081016040528092919081815260200182805461044d9061184e565b801561049a5780601f1061046f5761010080835404028352916020019161049a565b820191906000526020600020905b81548152906001019060200180831161047d57829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105829190611588565b60405180910390a36001905092915050565b60025481565b600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106d057828161064f91906118ae565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461071f91906118ae565b92505081905550610730858461112e565b8303600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516107db9190611588565b60405180910390a360019150509392505050565b6c7e37be2022c0914b268000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f0000000000000000000000000000000000000000000000000000000000000000461461085a5761085561125c565b61087c565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b61088b33826112e8565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093b9061192e565b60405180910390fd5b60c8811115610988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097f9061199a565b60405180910390fd5b806007819055507f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c76816040516109be9190611588565b60405180910390a150565b60036020528060005260406000206000915090505481565b60056020528060005260406000206000915090505481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054610a2c9061184e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a589061184e565b8015610aa55780601f10610a7a57610100808354040283529160200191610aa5565b820191906000526020600020905b815481529060010190602001808311610a8857829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610afe91906118ae565b92505081905550610b0f338361112e565b8203600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bba9190611588565b60405180910390a36001905092915050565b60c881565b42841015610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0b90611a06565b60405180910390fd5b60006001610c20610824565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a600560008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b604051602001610ca896959493929190611a26565b60405160208183030381529060405280519060200120604051602001610ccf929190611aff565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051610d059493929190611b36565b6020604051602081039080840390855afa158015610d27573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610d9b57508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd190611bc7565b60405180910390fd5b85600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610eb99190611588565b60405180910390a350505050505050565b6004602052816000526040600020602052806000526040600020600091509150505481565b60075481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7c9061192e565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d181604051610ff5919061169d565b60405180910390a150565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611090576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110879061192e565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000612710600754836111419190611be7565b61114b9190611c58565b90506000811115611256578060036000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111c79190611c89565b92505081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161124d9190611588565b60405180910390a35b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161128e9190611d60565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016112cd959493929190611d77565b60405160208183030381529060405280519060200120905090565b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461133791906118ae565b9250508190555080600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113ac9190611588565b60405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b838110156113f25780820151818401526020810190506113d7565b60008484015250505050565b6000601f19601f8301169050919050565b600061141a826113b8565b61142481856113c3565b93506114348185602086016113d4565b61143d816113fe565b840191505092915050565b60006020820190508181036000830152611462818461140f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061149a8261146f565b9050919050565b6114aa8161148f565b81146114b557600080fd5b50565b6000813590506114c7816114a1565b92915050565b6000819050919050565b6114e0816114cd565b81146114eb57600080fd5b50565b6000813590506114fd816114d7565b92915050565b6000806040838503121561151a5761151961146a565b5b6000611528858286016114b8565b9250506020611539858286016114ee565b9150509250929050565b60008115159050919050565b61155881611543565b82525050565b6000602082019050611573600083018461154f565b92915050565b611582816114cd565b82525050565b600060208201905061159d6000830184611579565b92915050565b6000806000606084860312156115bc576115bb61146a565b5b60006115ca868287016114b8565b93505060206115db868287016114b8565b92505060406115ec868287016114ee565b9150509250925092565b600060ff82169050919050565b61160c816115f6565b82525050565b60006020820190506116276000830184611603565b92915050565b6000819050919050565b6116408161162d565b82525050565b600060208201905061165b6000830184611637565b92915050565b6000602082840312156116775761167661146a565b5b6000611685848285016114ee565b91505092915050565b6116978161148f565b82525050565b60006020820190506116b2600083018461168e565b92915050565b6000602082840312156116ce576116cd61146a565b5b60006116dc848285016114b8565b91505092915050565b6116ee816115f6565b81146116f957600080fd5b50565b60008135905061170b816116e5565b92915050565b61171a8161162d565b811461172557600080fd5b50565b60008135905061173781611711565b92915050565b600080600080600080600060e0888a03121561175c5761175b61146a565b5b600061176a8a828b016114b8565b975050602061177b8a828b016114b8565b965050604061178c8a828b016114ee565b955050606061179d8a828b016114ee565b94505060806117ae8a828b016116fc565b93505060a06117bf8a828b01611728565b92505060c06117d08a828b01611728565b91505092959891949750929550565b600080604083850312156117f6576117f561146a565b5b6000611804858286016114b8565b9250506020611815858286016114b8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061186657607f821691505b6020821081036118795761187861181f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118b9826114cd565b91506118c4836114cd565b92508282039050818111156118dc576118db61187f565b5b92915050565b7f554e415554484f52495a45440000000000000000000000000000000000000000600082015250565b6000611918600c836113c3565b9150611923826118e2565b602082019050919050565b600060208201905081810360008301526119478161190b565b9050919050565b7f66656520746f6f20686967680000000000000000000000000000000000000000600082015250565b6000611984600c836113c3565b915061198f8261194e565b602082019050919050565b600060208201905081810360008301526119b381611977565b9050919050565b7f5045524d49545f444541444c494e455f45585049524544000000000000000000600082015250565b60006119f06017836113c3565b91506119fb826119ba565b602082019050919050565b60006020820190508181036000830152611a1f816119e3565b9050919050565b600060c082019050611a3b6000830189611637565b611a48602083018861168e565b611a55604083018761168e565b611a626060830186611579565b611a6f6080830185611579565b611a7c60a0830184611579565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000611ac8600283611a87565b9150611ad382611a92565b600282019050919050565b6000819050919050565b611af9611af48261162d565b611ade565b82525050565b6000611b0a82611abb565b9150611b168285611ae8565b602082019150611b268284611ae8565b6020820191508190509392505050565b6000608082019050611b4b6000830187611637565b611b586020830186611603565b611b656040830185611637565b611b726060830184611637565b95945050505050565b7f494e56414c49445f5349474e4552000000000000000000000000000000000000600082015250565b6000611bb1600e836113c3565b9150611bbc82611b7b565b602082019050919050565b60006020820190508181036000830152611be081611ba4565b9050919050565b6000611bf2826114cd565b9150611bfd836114cd565b9250828202611c0b816114cd565b91508282048414831517611c2257611c2161187f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611c63826114cd565b9150611c6e836114cd565b925082611c7e57611c7d611c29565b5b828204905092915050565b6000611c94826114cd565b9150611c9f836114cd565b9250828201905080821115611cb757611cb661187f565b5b92915050565b600081905092915050565b60008190508160005260206000209050919050565b60008154611cea8161184e565b611cf48186611cbd565b94506001821660008114611d0f5760018114611d2457611d57565b60ff1983168652811515820286019350611d57565b611d2d85611cc8565b60005b83811015611d4f57815481890152600182019150602081019050611d30565b838801955050505b50505092915050565b6000611d6c8284611cdd565b915081905092915050565b600060a082019050611d8c6000830188611637565b611d996020830187611637565b611da66040830186611637565b611db36060830185611579565b611dc0608083018461168e565b969550505050505056fea2646970667358221220773c29c65e78164ba832b7197fdd5b9f69da6fc24d5f444f3feb77d68951e0ac64736f6c63430008130033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b8578063bc063e1a1161007c578063bc063e1a14610354578063d505accf14610372578063dd62ed3e1461038e578063ddca3f43146103be578063f0f44260146103dc578063f2fde38b146103f857610137565b806370a08231146102885780637ecebe00146102b85780638da5cb5b146102e857806395d89b4114610306578063a9059cbb1461032457610137565b8063313ce567116100ff578063313ce567146101f65780633644e5151461021457806342966c681461023257806361d027b31461024e57806369fe0e2d1461026c57610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a85780632ff2e9dc146101d8575b600080fd5b610144610414565b6040516101519190611448565b60405180910390f35b610174600480360381019061016f9190611503565b6104a2565b604051610181919061155e565b60405180910390f35b610192610594565b60405161019f9190611588565b60405180910390f35b6101c260048036038101906101bd91906115a3565b61059a565b6040516101cf919061155e565b60405180910390f35b6101e06107ef565b6040516101ed9190611588565b60405180910390f35b6101fe610800565b60405161020b9190611612565b60405180910390f35b61021c610824565b6040516102299190611646565b60405180910390f35b61024c60048036038101906102479190611661565b610881565b005b61025661088e565b604051610263919061169d565b60405180910390f35b61028660048036038101906102819190611661565b6108b4565b005b6102a2600480360381019061029d91906116b8565b6109c9565b6040516102af9190611588565b60405180910390f35b6102d260048036038101906102cd91906116b8565b6109e1565b6040516102df9190611588565b60405180910390f35b6102f06109f9565b6040516102fd919061169d565b60405180910390f35b61030e610a1f565b60405161031b9190611448565b60405180910390f35b61033e60048036038101906103399190611503565b610aad565b60405161034b919061155e565b60405180910390f35b61035c610bcc565b6040516103699190611588565b60405180910390f35b61038c6004803603810190610387919061173d565b610bd1565b005b6103a860048036038101906103a391906117df565b610eca565b6040516103b59190611588565b60405180910390f35b6103c6610eef565b6040516103d39190611588565b60405180910390f35b6103f660048036038101906103f191906116b8565b610ef5565b005b610412600480360381019061040d91906116b8565b611000565b005b600080546104219061184e565b80601f016020809104026020016040519081016040528092919081815260200182805461044d9061184e565b801561049a5780601f1061046f5761010080835404028352916020019161049a565b820191906000526020600020905b81548152906001019060200180831161047d57829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105829190611588565b60405180910390a36001905092915050565b60025481565b600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106d057828161064f91906118ae565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461071f91906118ae565b92505081905550610730858461112e565b8303600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516107db9190611588565b60405180910390a360019150509392505050565b6c7e37be2022c0914b268000000081565b7f000000000000000000000000000000000000000000000000000000000000001281565b60007f0000000000000000000000000000000000000000000000000000000000000001461461085a5761085561125c565b61087c565b7fe6a20f4e5d42c7d1ee33dad80517992d07ff28d210512b9d448a6fb1d1aaa5215b905090565b61088b33826112e8565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093b9061192e565b60405180910390fd5b60c8811115610988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097f9061199a565b60405180910390fd5b806007819055507f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c76816040516109be9190611588565b60405180910390a150565b60036020528060005260406000206000915090505481565b60056020528060005260406000206000915090505481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054610a2c9061184e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a589061184e565b8015610aa55780601f10610a7a57610100808354040283529160200191610aa5565b820191906000526020600020905b815481529060010190602001808311610a8857829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610afe91906118ae565b92505081905550610b0f338361112e565b8203600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bba9190611588565b60405180910390a36001905092915050565b60c881565b42841015610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0b90611a06565b60405180910390fd5b60006001610c20610824565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a600560008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b604051602001610ca896959493929190611a26565b60405160208183030381529060405280519060200120604051602001610ccf929190611aff565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051610d059493929190611b36565b6020604051602081039080840390855afa158015610d27573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610d9b57508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd190611bc7565b60405180910390fd5b85600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610eb99190611588565b60405180910390a350505050505050565b6004602052816000526040600020602052806000526040600020600091509150505481565b60075481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7c9061192e565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d181604051610ff5919061169d565b60405180910390a150565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611090576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110879061192e565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000612710600754836111419190611be7565b61114b9190611c58565b90506000811115611256578060036000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111c79190611c89565b92505081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161124d9190611588565b60405180910390a35b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161128e9190611d60565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016112cd959493929190611d77565b60405160208183030381529060405280519060200120905090565b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461133791906118ae565b9250508190555080600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113ac9190611588565b60405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b838110156113f25780820151818401526020810190506113d7565b60008484015250505050565b6000601f19601f8301169050919050565b600061141a826113b8565b61142481856113c3565b93506114348185602086016113d4565b61143d816113fe565b840191505092915050565b60006020820190508181036000830152611462818461140f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061149a8261146f565b9050919050565b6114aa8161148f565b81146114b557600080fd5b50565b6000813590506114c7816114a1565b92915050565b6000819050919050565b6114e0816114cd565b81146114eb57600080fd5b50565b6000813590506114fd816114d7565b92915050565b6000806040838503121561151a5761151961146a565b5b6000611528858286016114b8565b9250506020611539858286016114ee565b9150509250929050565b60008115159050919050565b61155881611543565b82525050565b6000602082019050611573600083018461154f565b92915050565b611582816114cd565b82525050565b600060208201905061159d6000830184611579565b92915050565b6000806000606084860312156115bc576115bb61146a565b5b60006115ca868287016114b8565b93505060206115db868287016114b8565b92505060406115ec868287016114ee565b9150509250925092565b600060ff82169050919050565b61160c816115f6565b82525050565b60006020820190506116276000830184611603565b92915050565b6000819050919050565b6116408161162d565b82525050565b600060208201905061165b6000830184611637565b92915050565b6000602082840312156116775761167661146a565b5b6000611685848285016114ee565b91505092915050565b6116978161148f565b82525050565b60006020820190506116b2600083018461168e565b92915050565b6000602082840312156116ce576116cd61146a565b5b60006116dc848285016114b8565b91505092915050565b6116ee816115f6565b81146116f957600080fd5b50565b60008135905061170b816116e5565b92915050565b61171a8161162d565b811461172557600080fd5b50565b60008135905061173781611711565b92915050565b600080600080600080600060e0888a03121561175c5761175b61146a565b5b600061176a8a828b016114b8565b975050602061177b8a828b016114b8565b965050604061178c8a828b016114ee565b955050606061179d8a828b016114ee565b94505060806117ae8a828b016116fc565b93505060a06117bf8a828b01611728565b92505060c06117d08a828b01611728565b91505092959891949750929550565b600080604083850312156117f6576117f561146a565b5b6000611804858286016114b8565b9250506020611815858286016114b8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061186657607f821691505b6020821081036118795761187861181f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118b9826114cd565b91506118c4836114cd565b92508282039050818111156118dc576118db61187f565b5b92915050565b7f554e415554484f52495a45440000000000000000000000000000000000000000600082015250565b6000611918600c836113c3565b9150611923826118e2565b602082019050919050565b600060208201905081810360008301526119478161190b565b9050919050565b7f66656520746f6f20686967680000000000000000000000000000000000000000600082015250565b6000611984600c836113c3565b915061198f8261194e565b602082019050919050565b600060208201905081810360008301526119b381611977565b9050919050565b7f5045524d49545f444541444c494e455f45585049524544000000000000000000600082015250565b60006119f06017836113c3565b91506119fb826119ba565b602082019050919050565b60006020820190508181036000830152611a1f816119e3565b9050919050565b600060c082019050611a3b6000830189611637565b611a48602083018861168e565b611a55604083018761168e565b611a626060830186611579565b611a6f6080830185611579565b611a7c60a0830184611579565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000611ac8600283611a87565b9150611ad382611a92565b600282019050919050565b6000819050919050565b611af9611af48261162d565b611ade565b82525050565b6000611b0a82611abb565b9150611b168285611ae8565b602082019150611b268284611ae8565b6020820191508190509392505050565b6000608082019050611b4b6000830187611637565b611b586020830186611603565b611b656040830185611637565b611b726060830184611637565b95945050505050565b7f494e56414c49445f5349474e4552000000000000000000000000000000000000600082015250565b6000611bb1600e836113c3565b9150611bbc82611b7b565b602082019050919050565b60006020820190508181036000830152611be081611ba4565b9050919050565b6000611bf2826114cd565b9150611bfd836114cd565b9250828202611c0b816114cd565b91508282048414831517611c2257611c2161187f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611c63826114cd565b9150611c6e836114cd565b925082611c7e57611c7d611c29565b5b828204905092915050565b6000611c94826114cd565b9150611c9f836114cd565b9250828201905080821115611cb757611cb661187f565b5b92915050565b600081905092915050565b60008190508160005260206000209050919050565b60008154611cea8161184e565b611cf48186611cbd565b94506001821660008114611d0f5760018114611d2457611d57565b60ff1983168652811515820286019350611d57565b611d2d85611cc8565b60005b83811015611d4f57815481890152600182019150602081019050611d30565b838801955050505b50505092915050565b6000611d6c8284611cdd565b915081905092915050565b600060a082019050611d8c6000830188611637565b611d996020830187611637565b611da66040830186611637565b611db36060830185611579565b611dc0608083018461168e565b969550505050505056fea2646970667358221220773c29c65e78164ba832b7197fdd5b9f69da6fc24d5f444f3feb77d68951e0ac64736f6c63430008130033

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.