ETH Price: $2,850.52 (-9.80%)
Gas: 9 Gwei

Token

Ken Inu (KINU)
 

Overview

Max Total Supply

690,000,000,000,000 KINU

Holders

157

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
925,296,900,882.954475885659899917 KINU

Value
$0.00
0xa3b8db1e30859e0c53bb180106342a7a516c2415
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:
KINU

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : KINU.sol
/*
    
    $KINU - Ken Inu

    Telegram: https://t.me/KinuErc
    Website: https://keninutoken.com
    Twitter: https://twitter.com/KenInuToken

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.17;

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
   
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

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

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

contract KINU is ERC20, Ownable {

    IUniswapV2Router02 public uniswapV2Router;
    mapping (address => bool) private _isExcludedFromFees;
    address public uniswapV2Pair;
    address public marketingWallet;

    uint256 public swapTokensAtAmount;
    bool private swapping;
    bool public tradingEnabled;

    uint256 public buyTax;
    uint256 public sellTax;

    constructor () ERC20("Ken Inu", "KINU") 
    {   
        address router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair   = _uniswapV2Pair;

        _approve(address(this), address(uniswapV2Router), type(uint256).max);
        _isExcludedFromFees[owner()] = true;
        _isExcludedFromFees[address(this)] = true;
        marketingWallet = msg.sender;
        _mint(msg.sender, 690_000_000_000_000 * 1e18);
        swapTokensAtAmount = totalSupply() / 5_000;
    }

    receive() external payable {}

    
    

    function changeMarketingWallet(address newMarketingWallet) public onlyOwner { 
        marketingWallet = newMarketingWallet;
    }

    function setTaxes(uint256 _buyTax, uint256 _sellTax) public onlyOwner {
        require(_buyTax <= 40 && _sellTax <= 40, "Cannot set above 40%.");
        buyTax = _buyTax;
        sellTax = _sellTax;
    }

    function enableTrading() external onlyOwner {
        require(!tradingEnabled, "Trading already enabled.");
        tradingEnabled = true;
    }

    function _transfer(address from,address to,uint256 amount) internal  override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Cannot transfer 0 tokens.");
        require(tradingEnabled || from == owner(), "Trading not yet enabled!");
       
		uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if (canSwap &&
            !swapping &&
            to == uniswapV2Pair
        ) {
            swapping = true;

            swapAndSendMarketing(contractTokenBalance);     

            swapping = false;
        }

        uint256 _totalFees;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to] || swapping) {
            _totalFees = 0;
        } else if (from == uniswapV2Pair) {
            _totalFees = buyTax;
        } else if (to == uniswapV2Pair) {
            _totalFees = sellTax;
        } else {
            _totalFees = 0;
        }

        if (_totalFees > 0) {
            uint256 fees = (amount * _totalFees) / 100;
            amount = amount - fees;
            super._transfer(from, address(this), fees);
        }

        super._transfer(from, to, amount);
    }

    function swapAndSendMarketing(uint256 tokenAmount) private {

        if(tokenAmount == 0) {
            return;
        }

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        try
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            marketingWallet,
            block.timestamp
        )
        {}
        catch {}
    }


    function rescueTokens(address token) public onlyOwner {
        uint256 caBalances = IERC20(token).balanceOf(address(this));
        IERC20(token).transfer(msg.sender, caBalances);
    }

}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newMarketingWallet","type":"address"}],"name":"changeMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[{"internalType":"address","name":"token","type":"address"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040518060400160405280600781526020017f4b656e20496e75000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4b494e550000000000000000000000000000000000000000000000000000000081525081600390816200008f919062000ad8565b508060049081620000a1919062000ad8565b5050506000620000b66200050160201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050600081905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e7919062000c29565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000275919062000c29565b6040518363ffffffff1660e01b81526004016200029492919062000c6c565b6020604051808303816000875af1158015620002b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002da919062000c29565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003b330600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200050960201b60201c565b600160076000620003c9620006da60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004d3336d2205063ea95de7294160800000006200070460201b60201c565b611388620004e66200085460201b60201c565b620004f2919062000cf7565b600a8190555050505062000f4b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200057b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005729062000db6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620005ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005e49062000e4e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051620006cd919062000e81565b60405180910390a3505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000776576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200076d9062000eee565b60405180910390fd5b80600260008282546200078a919062000f10565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620007e1919062000f10565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000848919062000e81565b60405180910390a35050565b6000600254905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620008e057607f821691505b602082108103620008f657620008f562000898565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000921565b6200096c868362000921565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620009b9620009b3620009ad8462000984565b6200098e565b62000984565b9050919050565b6000819050919050565b620009d58362000998565b620009ed620009e482620009c0565b8484546200092e565b825550505050565b600090565b62000a04620009f5565b62000a11818484620009ca565b505050565b5b8181101562000a395762000a2d600082620009fa565b60018101905062000a17565b5050565b601f82111562000a885762000a5281620008fc565b62000a5d8462000911565b8101602085101562000a6d578190505b62000a8562000a7c8562000911565b83018262000a16565b50505b505050565b600082821c905092915050565b600062000aad6000198460080262000a8d565b1980831691505092915050565b600062000ac8838362000a9a565b9150826002028217905092915050565b62000ae3826200085e565b67ffffffffffffffff81111562000aff5762000afe62000869565b5b62000b0b8254620008c7565b62000b1882828562000a3d565b600060209050601f83116001811462000b50576000841562000b3b578287015190505b62000b47858262000aba565b86555062000bb7565b601f19841662000b6086620008fc565b60005b8281101562000b8a5784890151825560018201915060208501945060208101905062000b63565b8683101562000baa578489015162000ba6601f89168262000a9a565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000bf18262000bc4565b9050919050565b62000c038162000be4565b811462000c0f57600080fd5b50565b60008151905062000c238162000bf8565b92915050565b60006020828403121562000c425762000c4162000bbf565b5b600062000c528482850162000c12565b91505092915050565b62000c668162000be4565b82525050565b600060408201905062000c83600083018562000c5b565b62000c92602083018462000c5b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000d048262000984565b915062000d118362000984565b92508262000d245762000d2362000c99565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600062000d9e60248362000d2f565b915062000dab8262000d40565b604082019050919050565b6000602082019050818103600083015262000dd18162000d8f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600062000e3660228362000d2f565b915062000e438262000dd8565b604082019050919050565b6000602082019050818103600083015262000e698162000e27565b9050919050565b62000e7b8162000984565b82525050565b600060208201905062000e98600083018462000e70565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000ed6601f8362000d2f565b915062000ee38262000e9e565b602082019050919050565b6000602082019050818103600083015262000f098162000ec7565b9050919050565b600062000f1d8262000984565b915062000f2a8362000984565b925082820190508082111562000f455762000f4462000cc8565b5b92915050565b612d088062000f5b6000396000f3fe6080604052600436106101695760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063cc1776d311610064578063cc1776d31461053a578063dd62ed3e14610565578063e2f45605146105a2578063f2fde38b146105cd57610170565b8063a9059cbb146104ab578063bb85c6d1146104e8578063c647b20e1461051157610170565b8063715018a6146103bf57806375f0a874146103d65780638a8c523c146104015780638da5cb5b1461041857806395d89b4114610443578063a457c2d71461046e57610170565b8063313ce56711610123578063313ce5671461029957806339509351146102c457806349bd5a5e146103015780634ada218b1461032c5780634f7041a51461035757806370a082311461038257610170565b8062ae3bf81461017557806306fdde031461019e578063095ea7b3146101c95780631694505e1461020657806318160ddd1461023157806323b872dd1461025c57610170565b3661017057005b600080fd5b34801561018157600080fd5b5061019c60048036038101906101979190611e73565b6105f6565b005b3480156101aa57600080fd5b506101b361078e565b6040516101c09190611f30565b60405180910390f35b3480156101d557600080fd5b506101f060048036038101906101eb9190611f88565b610820565b6040516101fd9190611fe3565b60405180910390f35b34801561021257600080fd5b5061021b61083e565b604051610228919061205d565b60405180910390f35b34801561023d57600080fd5b50610246610864565b6040516102539190612087565b60405180910390f35b34801561026857600080fd5b50610283600480360381019061027e91906120a2565b61086e565b6040516102909190611fe3565b60405180910390f35b3480156102a557600080fd5b506102ae61098d565b6040516102bb9190612111565b60405180910390f35b3480156102d057600080fd5b506102eb60048036038101906102e69190611f88565b610996565b6040516102f89190611fe3565b60405180910390f35b34801561030d57600080fd5b50610316610a42565b604051610323919061213b565b60405180910390f35b34801561033857600080fd5b50610341610a68565b60405161034e9190611fe3565b60405180910390f35b34801561036357600080fd5b5061036c610a7b565b6040516103799190612087565b60405180910390f35b34801561038e57600080fd5b506103a960048036038101906103a49190611e73565b610a81565b6040516103b69190612087565b60405180910390f35b3480156103cb57600080fd5b506103d4610ac9565b005b3480156103e257600080fd5b506103eb610c21565b6040516103f8919061213b565b60405180910390f35b34801561040d57600080fd5b50610416610c47565b005b34801561042457600080fd5b5061042d610d4b565b60405161043a919061213b565b60405180910390f35b34801561044f57600080fd5b50610458610d75565b6040516104659190611f30565b60405180910390f35b34801561047a57600080fd5b5061049560048036038101906104909190611f88565b610e07565b6040516104a29190611fe3565b60405180910390f35b3480156104b757600080fd5b506104d260048036038101906104cd9190611f88565b610ef2565b6040516104df9190611fe3565b60405180910390f35b3480156104f457600080fd5b5061050f600480360381019061050a9190611e73565b610f10565b005b34801561051d57600080fd5b5061053860048036038101906105339190612156565b610feb565b005b34801561054657600080fd5b5061054f6110e5565b60405161055c9190612087565b60405180910390f35b34801561057157600080fd5b5061058c60048036038101906105879190612196565b6110eb565b6040516105999190612087565b60405180910390f35b3480156105ae57600080fd5b506105b7611172565b6040516105c49190612087565b60405180910390f35b3480156105d957600080fd5b506105f460048036038101906105ef9190611e73565b611178565b005b6105fe61133e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461068d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068490612222565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106c8919061213b565b602060405180830381865afa1580156106e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107099190612257565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610746929190612284565b6020604051808303816000875af1158015610765573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078991906122d9565b505050565b60606003805461079d90612335565b80601f01602080910402602001604051908101604052809291908181526020018280546107c990612335565b80156108165780601f106107eb57610100808354040283529160200191610816565b820191906000526020600020905b8154815290600101906020018083116107f957829003601f168201915b5050505050905090565b600061083461082d61133e565b8484611346565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108ba61133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109765782811015610961576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610958906123d8565b60405180910390fd5b6109758561096d61133e565b858403611346565b5b61098185858561150f565b60019150509392505050565b60006012905090565b6000610a386109a361133e565b8484600160006109b161133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a339190612427565b611346565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60019054906101000a900460ff1681565b600c5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ad161133e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5790612222565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c4f61133e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd590612222565b60405180910390fd5b600b60019054906101000a900460ff1615610d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d25906124a7565b60405180910390fd5b6001600b60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610d8490612335565b80601f0160208091040260200160405190810160405280929190818152602001828054610db090612335565b8015610dfd5780601f10610dd257610100808354040283529160200191610dfd565b820191906000526020600020905b815481529060010190602001808311610de057829003601f168201915b5050505050905090565b60008060016000610e1661133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ed3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eca90612539565b60405180910390fd5b610ee7610ede61133e565b85858403611346565b600191505092915050565b6000610f06610eff61133e565b848461150f565b6001905092915050565b610f1861133e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90612222565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610ff361133e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611082576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107990612222565b60405180910390fd5b60288211158015611094575060288111155b6110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca906125a5565b60405180910390fd5b81600c8190555080600d819055505050565b600d5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b61118061133e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461120f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120690612222565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361127e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127590612637565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ac906126c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b9061275b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115029190612087565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361157e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611575906127ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e49061287f565b60405180910390fd5b60008111611630576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611627906128eb565b60405180910390fd5b600b60019054906101000a900460ff168061167d575061164e610d4b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b6116bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b390612957565b60405180910390fd5b60006116c730610a81565b90506000600a5482101590508080156116ed5750600b60009054906101000a900460ff16155b80156117465750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b1561178b576001600b60006101000a81548160ff02191690831515021790555061176f8261196b565b6000600b60006101000a81548160ff0219169083151502179055505b6000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061182e5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806118455750600b60009054906101000a900460ff165b156118535760009050611918565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036118b257600c549050611917565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361191157600d549050611916565b600090505b5b5b6000811115611958576000606482866119319190612977565b61193b91906129e8565b905080856119499190612a19565b9450611956873083611ba7565b505b611963868686611ba7565b505050505050565b6000810315611ba4576000600267ffffffffffffffff81111561199157611990612a4d565b5b6040519080825280602002602001820160405280156119bf5781602001602082028036833780820191505090505b50905030816000815181106119d7576119d6612a7c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa29190612ac0565b81600181518110611ab657611ab5612a7c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611b76959493929190612be6565b600060405180830381600087803b158015611b9057600080fd5b505af1925050508015611ba1575060015b50505b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0d906127ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7c9061287f565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611d0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0290612cb2565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d9e9190612427565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e029190612087565b60405180910390a350505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e4082611e15565b9050919050565b611e5081611e35565b8114611e5b57600080fd5b50565b600081359050611e6d81611e47565b92915050565b600060208284031215611e8957611e88611e10565b5b6000611e9784828501611e5e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611eda578082015181840152602081019050611ebf565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f0282611ea0565b611f0c8185611eab565b9350611f1c818560208601611ebc565b611f2581611ee6565b840191505092915050565b60006020820190508181036000830152611f4a8184611ef7565b905092915050565b6000819050919050565b611f6581611f52565b8114611f7057600080fd5b50565b600081359050611f8281611f5c565b92915050565b60008060408385031215611f9f57611f9e611e10565b5b6000611fad85828601611e5e565b9250506020611fbe85828601611f73565b9150509250929050565b60008115159050919050565b611fdd81611fc8565b82525050565b6000602082019050611ff86000830184611fd4565b92915050565b6000819050919050565b600061202361201e61201984611e15565b611ffe565b611e15565b9050919050565b600061203582612008565b9050919050565b60006120478261202a565b9050919050565b6120578161203c565b82525050565b6000602082019050612072600083018461204e565b92915050565b61208181611f52565b82525050565b600060208201905061209c6000830184612078565b92915050565b6000806000606084860312156120bb576120ba611e10565b5b60006120c986828701611e5e565b93505060206120da86828701611e5e565b92505060406120eb86828701611f73565b9150509250925092565b600060ff82169050919050565b61210b816120f5565b82525050565b60006020820190506121266000830184612102565b92915050565b61213581611e35565b82525050565b6000602082019050612150600083018461212c565b92915050565b6000806040838503121561216d5761216c611e10565b5b600061217b85828601611f73565b925050602061218c85828601611f73565b9150509250929050565b600080604083850312156121ad576121ac611e10565b5b60006121bb85828601611e5e565b92505060206121cc85828601611e5e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061220c602083611eab565b9150612217826121d6565b602082019050919050565b6000602082019050818103600083015261223b816121ff565b9050919050565b60008151905061225181611f5c565b92915050565b60006020828403121561226d5761226c611e10565b5b600061227b84828501612242565b91505092915050565b6000604082019050612299600083018561212c565b6122a66020830184612078565b9392505050565b6122b681611fc8565b81146122c157600080fd5b50565b6000815190506122d3816122ad565b92915050565b6000602082840312156122ef576122ee611e10565b5b60006122fd848285016122c4565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061234d57607f821691505b6020821081036123605761235f612306565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006123c2602883611eab565b91506123cd82612366565b604082019050919050565b600060208201905081810360008301526123f1816123b5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061243282611f52565b915061243d83611f52565b9250828201905080821115612455576124546123f8565b5b92915050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b6000612491601883611eab565b915061249c8261245b565b602082019050919050565b600060208201905081810360008301526124c081612484565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612523602583611eab565b915061252e826124c7565b604082019050919050565b6000602082019050818103600083015261255281612516565b9050919050565b7f43616e6e6f74207365742061626f7665203430252e0000000000000000000000600082015250565b600061258f601583611eab565b915061259a82612559565b602082019050919050565b600060208201905081810360008301526125be81612582565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612621602683611eab565b915061262c826125c5565b604082019050919050565b6000602082019050818103600083015261265081612614565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006126b3602483611eab565b91506126be82612657565b604082019050919050565b600060208201905081810360008301526126e2816126a6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612745602283611eab565b9150612750826126e9565b604082019050919050565b6000602082019050818103600083015261277481612738565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006127d7602583611eab565b91506127e28261277b565b604082019050919050565b60006020820190508181036000830152612806816127ca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612869602383611eab565b91506128748261280d565b604082019050919050565b600060208201905081810360008301526128988161285c565b9050919050565b7f43616e6e6f74207472616e73666572203020746f6b656e732e00000000000000600082015250565b60006128d5601983611eab565b91506128e08261289f565b602082019050919050565b60006020820190508181036000830152612904816128c8565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b6000612941601883611eab565b915061294c8261290b565b602082019050919050565b6000602082019050818103600083015261297081612934565b9050919050565b600061298282611f52565b915061298d83611f52565b925082820261299b81611f52565b915082820484148315176129b2576129b16123f8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129f382611f52565b91506129fe83611f52565b925082612a0e57612a0d6129b9565b5b828204905092915050565b6000612a2482611f52565b9150612a2f83611f52565b9250828203905081811115612a4757612a466123f8565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612aba81611e47565b92915050565b600060208284031215612ad657612ad5611e10565b5b6000612ae484828501612aab565b91505092915050565b6000819050919050565b6000612b12612b0d612b0884612aed565b611ffe565b611f52565b9050919050565b612b2281612af7565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b5d81611e35565b82525050565b6000612b6f8383612b54565b60208301905092915050565b6000602082019050919050565b6000612b9382612b28565b612b9d8185612b33565b9350612ba883612b44565b8060005b83811015612bd9578151612bc08882612b63565b9750612bcb83612b7b565b925050600181019050612bac565b5085935050505092915050565b600060a082019050612bfb6000830188612078565b612c086020830187612b19565b8181036040830152612c1a8186612b88565b9050612c29606083018561212c565b612c366080830184612078565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612c9c602683611eab565b9150612ca782612c40565b604082019050919050565b60006020820190508181036000830152612ccb81612c8f565b905091905056fea264697066735822122071fd835c6d429388ec96cf5cf4459bbc75dabdc414f88a1d1282bdc12f391dc864736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101695760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063cc1776d311610064578063cc1776d31461053a578063dd62ed3e14610565578063e2f45605146105a2578063f2fde38b146105cd57610170565b8063a9059cbb146104ab578063bb85c6d1146104e8578063c647b20e1461051157610170565b8063715018a6146103bf57806375f0a874146103d65780638a8c523c146104015780638da5cb5b1461041857806395d89b4114610443578063a457c2d71461046e57610170565b8063313ce56711610123578063313ce5671461029957806339509351146102c457806349bd5a5e146103015780634ada218b1461032c5780634f7041a51461035757806370a082311461038257610170565b8062ae3bf81461017557806306fdde031461019e578063095ea7b3146101c95780631694505e1461020657806318160ddd1461023157806323b872dd1461025c57610170565b3661017057005b600080fd5b34801561018157600080fd5b5061019c60048036038101906101979190611e73565b6105f6565b005b3480156101aa57600080fd5b506101b361078e565b6040516101c09190611f30565b60405180910390f35b3480156101d557600080fd5b506101f060048036038101906101eb9190611f88565b610820565b6040516101fd9190611fe3565b60405180910390f35b34801561021257600080fd5b5061021b61083e565b604051610228919061205d565b60405180910390f35b34801561023d57600080fd5b50610246610864565b6040516102539190612087565b60405180910390f35b34801561026857600080fd5b50610283600480360381019061027e91906120a2565b61086e565b6040516102909190611fe3565b60405180910390f35b3480156102a557600080fd5b506102ae61098d565b6040516102bb9190612111565b60405180910390f35b3480156102d057600080fd5b506102eb60048036038101906102e69190611f88565b610996565b6040516102f89190611fe3565b60405180910390f35b34801561030d57600080fd5b50610316610a42565b604051610323919061213b565b60405180910390f35b34801561033857600080fd5b50610341610a68565b60405161034e9190611fe3565b60405180910390f35b34801561036357600080fd5b5061036c610a7b565b6040516103799190612087565b60405180910390f35b34801561038e57600080fd5b506103a960048036038101906103a49190611e73565b610a81565b6040516103b69190612087565b60405180910390f35b3480156103cb57600080fd5b506103d4610ac9565b005b3480156103e257600080fd5b506103eb610c21565b6040516103f8919061213b565b60405180910390f35b34801561040d57600080fd5b50610416610c47565b005b34801561042457600080fd5b5061042d610d4b565b60405161043a919061213b565b60405180910390f35b34801561044f57600080fd5b50610458610d75565b6040516104659190611f30565b60405180910390f35b34801561047a57600080fd5b5061049560048036038101906104909190611f88565b610e07565b6040516104a29190611fe3565b60405180910390f35b3480156104b757600080fd5b506104d260048036038101906104cd9190611f88565b610ef2565b6040516104df9190611fe3565b60405180910390f35b3480156104f457600080fd5b5061050f600480360381019061050a9190611e73565b610f10565b005b34801561051d57600080fd5b5061053860048036038101906105339190612156565b610feb565b005b34801561054657600080fd5b5061054f6110e5565b60405161055c9190612087565b60405180910390f35b34801561057157600080fd5b5061058c60048036038101906105879190612196565b6110eb565b6040516105999190612087565b60405180910390f35b3480156105ae57600080fd5b506105b7611172565b6040516105c49190612087565b60405180910390f35b3480156105d957600080fd5b506105f460048036038101906105ef9190611e73565b611178565b005b6105fe61133e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461068d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068490612222565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106c8919061213b565b602060405180830381865afa1580156106e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107099190612257565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610746929190612284565b6020604051808303816000875af1158015610765573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078991906122d9565b505050565b60606003805461079d90612335565b80601f01602080910402602001604051908101604052809291908181526020018280546107c990612335565b80156108165780601f106107eb57610100808354040283529160200191610816565b820191906000526020600020905b8154815290600101906020018083116107f957829003601f168201915b5050505050905090565b600061083461082d61133e565b8484611346565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108ba61133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109765782811015610961576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610958906123d8565b60405180910390fd5b6109758561096d61133e565b858403611346565b5b61098185858561150f565b60019150509392505050565b60006012905090565b6000610a386109a361133e565b8484600160006109b161133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a339190612427565b611346565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60019054906101000a900460ff1681565b600c5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ad161133e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5790612222565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c4f61133e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd590612222565b60405180910390fd5b600b60019054906101000a900460ff1615610d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d25906124a7565b60405180910390fd5b6001600b60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610d8490612335565b80601f0160208091040260200160405190810160405280929190818152602001828054610db090612335565b8015610dfd5780601f10610dd257610100808354040283529160200191610dfd565b820191906000526020600020905b815481529060010190602001808311610de057829003601f168201915b5050505050905090565b60008060016000610e1661133e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ed3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eca90612539565b60405180910390fd5b610ee7610ede61133e565b85858403611346565b600191505092915050565b6000610f06610eff61133e565b848461150f565b6001905092915050565b610f1861133e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90612222565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610ff361133e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611082576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107990612222565b60405180910390fd5b60288211158015611094575060288111155b6110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca906125a5565b60405180910390fd5b81600c8190555080600d819055505050565b600d5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b61118061133e565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461120f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120690612222565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361127e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127590612637565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ac906126c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b9061275b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115029190612087565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361157e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611575906127ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e49061287f565b60405180910390fd5b60008111611630576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611627906128eb565b60405180910390fd5b600b60019054906101000a900460ff168061167d575061164e610d4b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b6116bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b390612957565b60405180910390fd5b60006116c730610a81565b90506000600a5482101590508080156116ed5750600b60009054906101000a900460ff16155b80156117465750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b1561178b576001600b60006101000a81548160ff02191690831515021790555061176f8261196b565b6000600b60006101000a81548160ff0219169083151502179055505b6000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061182e5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806118455750600b60009054906101000a900460ff165b156118535760009050611918565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036118b257600c549050611917565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361191157600d549050611916565b600090505b5b5b6000811115611958576000606482866119319190612977565b61193b91906129e8565b905080856119499190612a19565b9450611956873083611ba7565b505b611963868686611ba7565b505050505050565b6000810315611ba4576000600267ffffffffffffffff81111561199157611990612a4d565b5b6040519080825280602002602001820160405280156119bf5781602001602082028036833780820191505090505b50905030816000815181106119d7576119d6612a7c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa29190612ac0565b81600181518110611ab657611ab5612a7c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611b76959493929190612be6565b600060405180830381600087803b158015611b9057600080fd5b505af1925050508015611ba1575060015b50505b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0d906127ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7c9061287f565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611d0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0290612cb2565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d9e9190612427565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e029190612087565b60405180910390a350505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e4082611e15565b9050919050565b611e5081611e35565b8114611e5b57600080fd5b50565b600081359050611e6d81611e47565b92915050565b600060208284031215611e8957611e88611e10565b5b6000611e9784828501611e5e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611eda578082015181840152602081019050611ebf565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f0282611ea0565b611f0c8185611eab565b9350611f1c818560208601611ebc565b611f2581611ee6565b840191505092915050565b60006020820190508181036000830152611f4a8184611ef7565b905092915050565b6000819050919050565b611f6581611f52565b8114611f7057600080fd5b50565b600081359050611f8281611f5c565b92915050565b60008060408385031215611f9f57611f9e611e10565b5b6000611fad85828601611e5e565b9250506020611fbe85828601611f73565b9150509250929050565b60008115159050919050565b611fdd81611fc8565b82525050565b6000602082019050611ff86000830184611fd4565b92915050565b6000819050919050565b600061202361201e61201984611e15565b611ffe565b611e15565b9050919050565b600061203582612008565b9050919050565b60006120478261202a565b9050919050565b6120578161203c565b82525050565b6000602082019050612072600083018461204e565b92915050565b61208181611f52565b82525050565b600060208201905061209c6000830184612078565b92915050565b6000806000606084860312156120bb576120ba611e10565b5b60006120c986828701611e5e565b93505060206120da86828701611e5e565b92505060406120eb86828701611f73565b9150509250925092565b600060ff82169050919050565b61210b816120f5565b82525050565b60006020820190506121266000830184612102565b92915050565b61213581611e35565b82525050565b6000602082019050612150600083018461212c565b92915050565b6000806040838503121561216d5761216c611e10565b5b600061217b85828601611f73565b925050602061218c85828601611f73565b9150509250929050565b600080604083850312156121ad576121ac611e10565b5b60006121bb85828601611e5e565b92505060206121cc85828601611e5e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061220c602083611eab565b9150612217826121d6565b602082019050919050565b6000602082019050818103600083015261223b816121ff565b9050919050565b60008151905061225181611f5c565b92915050565b60006020828403121561226d5761226c611e10565b5b600061227b84828501612242565b91505092915050565b6000604082019050612299600083018561212c565b6122a66020830184612078565b9392505050565b6122b681611fc8565b81146122c157600080fd5b50565b6000815190506122d3816122ad565b92915050565b6000602082840312156122ef576122ee611e10565b5b60006122fd848285016122c4565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061234d57607f821691505b6020821081036123605761235f612306565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006123c2602883611eab565b91506123cd82612366565b604082019050919050565b600060208201905081810360008301526123f1816123b5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061243282611f52565b915061243d83611f52565b9250828201905080821115612455576124546123f8565b5b92915050565b7f54726164696e6720616c726561647920656e61626c65642e0000000000000000600082015250565b6000612491601883611eab565b915061249c8261245b565b602082019050919050565b600060208201905081810360008301526124c081612484565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612523602583611eab565b915061252e826124c7565b604082019050919050565b6000602082019050818103600083015261255281612516565b9050919050565b7f43616e6e6f74207365742061626f7665203430252e0000000000000000000000600082015250565b600061258f601583611eab565b915061259a82612559565b602082019050919050565b600060208201905081810360008301526125be81612582565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612621602683611eab565b915061262c826125c5565b604082019050919050565b6000602082019050818103600083015261265081612614565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006126b3602483611eab565b91506126be82612657565b604082019050919050565b600060208201905081810360008301526126e2816126a6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612745602283611eab565b9150612750826126e9565b604082019050919050565b6000602082019050818103600083015261277481612738565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006127d7602583611eab565b91506127e28261277b565b604082019050919050565b60006020820190508181036000830152612806816127ca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612869602383611eab565b91506128748261280d565b604082019050919050565b600060208201905081810360008301526128988161285c565b9050919050565b7f43616e6e6f74207472616e73666572203020746f6b656e732e00000000000000600082015250565b60006128d5601983611eab565b91506128e08261289f565b602082019050919050565b60006020820190508181036000830152612904816128c8565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b6000612941601883611eab565b915061294c8261290b565b602082019050919050565b6000602082019050818103600083015261297081612934565b9050919050565b600061298282611f52565b915061298d83611f52565b925082820261299b81611f52565b915082820484148315176129b2576129b16123f8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129f382611f52565b91506129fe83611f52565b925082612a0e57612a0d6129b9565b5b828204905092915050565b6000612a2482611f52565b9150612a2f83611f52565b9250828203905081811115612a4757612a466123f8565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612aba81611e47565b92915050565b600060208284031215612ad657612ad5611e10565b5b6000612ae484828501612aab565b91505092915050565b6000819050919050565b6000612b12612b0d612b0884612aed565b611ffe565b611f52565b9050919050565b612b2281612af7565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b5d81611e35565b82525050565b6000612b6f8383612b54565b60208301905092915050565b6000602082019050919050565b6000612b9382612b28565b612b9d8185612b33565b9350612ba883612b44565b8060005b83811015612bd9578151612bc08882612b63565b9750612bcb83612b7b565b925050600181019050612bac565b5085935050505092915050565b600060a082019050612bfb6000830188612078565b612c086020830187612b19565b8181036040830152612c1a8186612b88565b9050612c29606083018561212c565b612c366080830184612078565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612c9c602683611eab565b9150612ca782612c40565b604082019050919050565b60006020820190508181036000830152612ccb81612c8f565b905091905056fea264697066735822122071fd835c6d429388ec96cf5cf4459bbc75dabdc414f88a1d1282bdc12f391dc864736f6c63430008110033

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.