ETH Price: $2,445.16 (+3.85%)

Token

xHOICHI (xHOICHI)
 

Overview

Max Total Supply

369,369,369,369 xHOICHI

Holders

30

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
cryptoradi.eth
Balance
2,016,649,923.896499238964992389 xHOICHI

Value
$0.00
0x3864571217af4877960b2ef0e8a55c6ae263fc82
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:
xHOICHI

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-02-25
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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


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

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }


    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}


abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}


contract xHOICHI is Context,IERC20, Ownable{
    using Address for address;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    address _owner;
    
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    string private _name = "xHOICHI";
    string private _symbol = "xHOICHI";
    uint8 private _decimals = 18;
    uint256 private _totalSupply = 369_369_369_369*10**_decimals; 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    

    constructor(){
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0),_msgSender(),_totalSupply);

    }
    receive() external payable{}


    //general token data and tracking of balances to be swapped.
    function getOwner()external view returns(address){
            return owner();
    }
    

     function totalSupply() external view override returns (uint256){
            return _totalSupply;
     }
   
    function balanceOf(address account) public view override returns (uint256){
        return _balances[account];
    }
   
    function transfer(address recipient, uint256 amount) external override returns (bool){
            _transfer(_msgSender(),recipient,amount);
            return true;

    }
   
    function allowance(address owner, address spender) external view override returns (uint256){
            return _allowances[owner][spender];
    }
 
    function approve(address spender, uint256 amount) external override returns (bool){
            _approve(_msgSender(),spender,amount);
            return true;
    }

    function decimals()external view returns(uint256){
        return _decimals;
    }
    function name() external view returns (string memory) {
		return _name;
	}
    function symbol() external view returns (string memory){
        return _symbol;
    }
    

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool){
        require(amount <= _allowances[sender][_msgSender()], "BEP20: transfer amount exceeds allowance");
		_transfer(sender, recipient, amount);
		_approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
		return true;
    }

    
    function _transfer(address from, address to, uint256 amount) internal{
        require(from != address(0), "BEP20: transfer from the zero address");
		require(to != address(0), "BEP20: transfer to the zero address");
        require(amount > 0,"BEP20: transfered amount must be greater than zero");
        uint256 senderBalance = _balances[from];
        require(senderBalance >= amount, "BEP20: transfer amount exceeds balance");
        _balances[from] = senderBalance - amount;
        _balances[to] += amount;
        emit Transfer(from, to,amount);
    }
    function _approve(address owner,address spender, uint256 amount) internal{
        require(owner != address(0), "BEP20: approve from the zero address");
		require(spender != address(0), "BEP20: approve to the zero address");
		_allowances[owner][spender] = amount;
		emit Approval(owner, spender, amount);


    }    
}

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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","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":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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"}]

60a060405261dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152506040518060400160405280600781526020017f78484f4943484900000000000000000000000000000000000000000000000000815250600490816200007f91906200075e565b506040518060400160405280600781526020017f78484f494348490000000000000000000000000000000000000000000000000081525060059081620000c691906200075e565b506012600660006101000a81548160ff021916908360ff160217905550600660009054906101000a900460ff16600a620001019190620009d5565b645600214b1962000113919062000a26565b6007553480156200012357600080fd5b5062000144620001386200041860201b60201c565b6200042060201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf919062000adb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000237573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025d919062000adb565b6040518363ffffffff1660e01b81526004016200027c92919062000b1e565b6020604051808303816000875af11580156200029c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c2919062000adb565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600754600160006200035a6200041860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620003a86200041860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60075460405162000409919062000b5c565b60405180910390a35062000b79565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200056657607f821691505b6020821081036200057c576200057b6200051e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005e67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005a7565b620005f28683620005a7565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200063f6200063962000633846200060a565b62000614565b6200060a565b9050919050565b6000819050919050565b6200065b836200061e565b620006736200066a8262000646565b848454620005b4565b825550505050565b600090565b6200068a6200067b565b6200069781848462000650565b505050565b5b81811015620006bf57620006b360008262000680565b6001810190506200069d565b5050565b601f8211156200070e57620006d88162000582565b620006e38462000597565b81016020851015620006f3578190505b6200070b620007028562000597565b8301826200069c565b50505b505050565b600082821c905092915050565b6000620007336000198460080262000713565b1980831691505092915050565b60006200074e838362000720565b9150826002028217905092915050565b6200076982620004e4565b67ffffffffffffffff811115620007855762000784620004ef565b5b6200079182546200054d565b6200079e828285620006c3565b600060209050601f831160018114620007d65760008415620007c1578287015190505b620007cd858262000740565b8655506200083d565b601f198416620007e68662000582565b60005b828110156200081057848901518255600182019150602085019450602081019050620007e9565b868310156200083057848901516200082c601f89168262000720565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620008d357808604811115620008ab57620008aa62000845565b5b6001851615620008bb5780820291505b8081029050620008cb8562000874565b94506200088b565b94509492505050565b600082620008ee5760019050620009c1565b81620008fe5760009050620009c1565b8160018114620009175760028114620009225762000958565b6001915050620009c1565b60ff84111562000937576200093662000845565b5b8360020a91508482111562000951576200095062000845565b5b50620009c1565b5060208310610133831016604e8410600b8410161715620009925782820a9050838111156200098c576200098b62000845565b5b620009c1565b620009a1848484600162000881565b92509050818404811115620009bb57620009ba62000845565b5b81810290505b9392505050565b600060ff82169050919050565b6000620009e2826200060a565b9150620009ef83620009c8565b925062000a1e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620008dc565b905092915050565b600062000a33826200060a565b915062000a40836200060a565b925082820262000a50816200060a565b9150828204841483151762000a6a5762000a6962000845565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000aa38262000a76565b9050919050565b62000ab58162000a96565b811462000ac157600080fd5b50565b60008151905062000ad58162000aaa565b92915050565b60006020828403121562000af45762000af362000a71565b5b600062000b048482850162000ac4565b91505092915050565b62000b188162000a96565b82525050565b600060408201905062000b35600083018562000b0d565b62000b44602083018462000b0d565b9392505050565b62000b56816200060a565b82525050565b600060208201905062000b73600083018462000b4b565b92915050565b6080516118b562000b95600039600061065701526118b56000f3fe6080604052600436106100f75760003560e01c806370a082311161008a57806395d89b411161005957806395d89b4114610329578063a9059cbb14610354578063dd62ed3e14610391578063f2fde38b146103ce576100fe565b806370a082311461027f578063715018a6146102bc578063893d20e8146102d35780638da5cb5b146102fe576100fe565b806323b872dd116100c657806323b872dd146101c157806327c8f835146101fe578063313ce5671461022957806349bd5a5e14610254576100fe565b806306fdde0314610103578063095ea7b31461012e5780631694505e1461016b57806318160ddd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103f7565b6040516101259190610fcd565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190611088565b610489565b60405161016291906110e3565b60405180910390f35b34801561017757600080fd5b506101806104a7565b60405161018d919061115d565b60405180910390f35b3480156101a257600080fd5b506101ab6104cd565b6040516101b89190611187565b60405180910390f35b3480156101cd57600080fd5b506101e860048036038101906101e391906111a2565b6104d7565b6040516101f591906110e3565b60405180910390f35b34801561020a57600080fd5b50610213610655565b6040516102209190611204565b60405180910390f35b34801561023557600080fd5b5061023e610679565b60405161024b9190611187565b60405180910390f35b34801561026057600080fd5b50610269610693565b6040516102769190611204565b60405180910390f35b34801561028b57600080fd5b506102a660048036038101906102a1919061121f565b6106b9565b6040516102b39190611187565b60405180910390f35b3480156102c857600080fd5b506102d1610702565b005b3480156102df57600080fd5b506102e861078a565b6040516102f59190611204565b60405180910390f35b34801561030a57600080fd5b50610313610799565b6040516103209190611204565b60405180910390f35b34801561033557600080fd5b5061033e6107c2565b60405161034b9190610fcd565b60405180910390f35b34801561036057600080fd5b5061037b60048036038101906103769190611088565b610854565b60405161038891906110e3565b60405180910390f35b34801561039d57600080fd5b506103b860048036038101906103b3919061124c565b610872565b6040516103c59190611187565b60405180910390f35b3480156103da57600080fd5b506103f560048036038101906103f0919061121f565b6108f9565b005b606060048054610406906112bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610432906112bb565b801561047f5780601f106104545761010080835404028352916020019161047f565b820191906000526020600020905b81548152906001019060200180831161046257829003601f168201915b5050505050905090565b600061049d6104966109f0565b84846109f8565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600754905090565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105226109f0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561059f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105969061135e565b60405180910390fd5b6105aa848484610bc1565b61064a846105b66109f0565b84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106006109f0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461064591906113ad565b6109f8565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600660009054906101000a900460ff1660ff16905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61070a6109f0565b73ffffffffffffffffffffffffffffffffffffffff16610728610799565b73ffffffffffffffffffffffffffffffffffffffff161461077e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107759061142d565b60405180910390fd5b6107886000610e79565b565b6000610794610799565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546107d1906112bb565b80601f01602080910402602001604051908101604052809291908181526020018280546107fd906112bb565b801561084a5780601f1061081f5761010080835404028352916020019161084a565b820191906000526020600020905b81548152906001019060200180831161082d57829003601f168201915b5050505050905090565b60006108686108616109f0565b8484610bc1565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6109016109f0565b73ffffffffffffffffffffffffffffffffffffffff1661091f610799565b73ffffffffffffffffffffffffffffffffffffffff1614610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096c9061142d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109db906114bf565b60405180910390fd5b6109ed81610e79565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5e90611551565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acd906115e3565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610bb49190611187565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2790611675565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9690611707565b60405180910390fd5b60008111610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd990611799565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d609061182b565b60405180910390fd5b8181610d7591906113ad565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e07919061184b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e6b9190611187565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f77578082015181840152602081019050610f5c565b60008484015250505050565b6000601f19601f8301169050919050565b6000610f9f82610f3d565b610fa98185610f48565b9350610fb9818560208601610f59565b610fc281610f83565b840191505092915050565b60006020820190508181036000830152610fe78184610f94565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061101f82610ff4565b9050919050565b61102f81611014565b811461103a57600080fd5b50565b60008135905061104c81611026565b92915050565b6000819050919050565b61106581611052565b811461107057600080fd5b50565b6000813590506110828161105c565b92915050565b6000806040838503121561109f5761109e610fef565b5b60006110ad8582860161103d565b92505060206110be85828601611073565b9150509250929050565b60008115159050919050565b6110dd816110c8565b82525050565b60006020820190506110f860008301846110d4565b92915050565b6000819050919050565b600061112361111e61111984610ff4565b6110fe565b610ff4565b9050919050565b600061113582611108565b9050919050565b60006111478261112a565b9050919050565b6111578161113c565b82525050565b6000602082019050611172600083018461114e565b92915050565b61118181611052565b82525050565b600060208201905061119c6000830184611178565b92915050565b6000806000606084860312156111bb576111ba610fef565b5b60006111c98682870161103d565b93505060206111da8682870161103d565b92505060406111eb86828701611073565b9150509250925092565b6111fe81611014565b82525050565b600060208201905061121960008301846111f5565b92915050565b60006020828403121561123557611234610fef565b5b60006112438482850161103d565b91505092915050565b6000806040838503121561126357611262610fef565b5b60006112718582860161103d565b92505060206112828582860161103d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112d357607f821691505b6020821081036112e6576112e561128c565b5b50919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611348602883610f48565b9150611353826112ec565b604082019050919050565b600060208201905081810360008301526113778161133b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113b882611052565b91506113c383611052565b92508282039050818111156113db576113da61137e565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611417602083610f48565b9150611422826113e1565b602082019050919050565b600060208201905081810360008301526114468161140a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006114a9602683610f48565b91506114b48261144d565b604082019050919050565b600060208201905081810360008301526114d88161149c565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061153b602483610f48565b9150611546826114df565b604082019050919050565b6000602082019050818103600083015261156a8161152e565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006115cd602283610f48565b91506115d882611571565b604082019050919050565b600060208201905081810360008301526115fc816115c0565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061165f602583610f48565b915061166a82611603565b604082019050919050565b6000602082019050818103600083015261168e81611652565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006116f1602383610f48565b91506116fc82611695565b604082019050919050565b60006020820190508181036000830152611720816116e4565b9050919050565b7f42455032303a207472616e73666572656420616d6f756e74206d75737420626560008201527f2067726561746572207468616e207a65726f0000000000000000000000000000602082015250565b6000611783603283610f48565b915061178e82611727565b604082019050919050565b600060208201905081810360008301526117b281611776565b9050919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611815602683610f48565b9150611820826117b9565b604082019050919050565b6000602082019050818103600083015261184481611808565b9050919050565b600061185682611052565b915061186183611052565b92508282019050808211156118795761187861137e565b5b9291505056fea264697066735822122017d6b24a7aa807c437e853f7b976cd36807d4622a123d79bf4f7f489167019f064736f6c63430008110033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c806370a082311161008a57806395d89b411161005957806395d89b4114610329578063a9059cbb14610354578063dd62ed3e14610391578063f2fde38b146103ce576100fe565b806370a082311461027f578063715018a6146102bc578063893d20e8146102d35780638da5cb5b146102fe576100fe565b806323b872dd116100c657806323b872dd146101c157806327c8f835146101fe578063313ce5671461022957806349bd5a5e14610254576100fe565b806306fdde0314610103578063095ea7b31461012e5780631694505e1461016b57806318160ddd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103f7565b6040516101259190610fcd565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190611088565b610489565b60405161016291906110e3565b60405180910390f35b34801561017757600080fd5b506101806104a7565b60405161018d919061115d565b60405180910390f35b3480156101a257600080fd5b506101ab6104cd565b6040516101b89190611187565b60405180910390f35b3480156101cd57600080fd5b506101e860048036038101906101e391906111a2565b6104d7565b6040516101f591906110e3565b60405180910390f35b34801561020a57600080fd5b50610213610655565b6040516102209190611204565b60405180910390f35b34801561023557600080fd5b5061023e610679565b60405161024b9190611187565b60405180910390f35b34801561026057600080fd5b50610269610693565b6040516102769190611204565b60405180910390f35b34801561028b57600080fd5b506102a660048036038101906102a1919061121f565b6106b9565b6040516102b39190611187565b60405180910390f35b3480156102c857600080fd5b506102d1610702565b005b3480156102df57600080fd5b506102e861078a565b6040516102f59190611204565b60405180910390f35b34801561030a57600080fd5b50610313610799565b6040516103209190611204565b60405180910390f35b34801561033557600080fd5b5061033e6107c2565b60405161034b9190610fcd565b60405180910390f35b34801561036057600080fd5b5061037b60048036038101906103769190611088565b610854565b60405161038891906110e3565b60405180910390f35b34801561039d57600080fd5b506103b860048036038101906103b3919061124c565b610872565b6040516103c59190611187565b60405180910390f35b3480156103da57600080fd5b506103f560048036038101906103f0919061121f565b6108f9565b005b606060048054610406906112bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610432906112bb565b801561047f5780601f106104545761010080835404028352916020019161047f565b820191906000526020600020905b81548152906001019060200180831161046257829003601f168201915b5050505050905090565b600061049d6104966109f0565b84846109f8565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600754905090565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105226109f0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561059f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105969061135e565b60405180910390fd5b6105aa848484610bc1565b61064a846105b66109f0565b84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106006109f0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461064591906113ad565b6109f8565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000600660009054906101000a900460ff1660ff16905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61070a6109f0565b73ffffffffffffffffffffffffffffffffffffffff16610728610799565b73ffffffffffffffffffffffffffffffffffffffff161461077e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107759061142d565b60405180910390fd5b6107886000610e79565b565b6000610794610799565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546107d1906112bb565b80601f01602080910402602001604051908101604052809291908181526020018280546107fd906112bb565b801561084a5780601f1061081f5761010080835404028352916020019161084a565b820191906000526020600020905b81548152906001019060200180831161082d57829003601f168201915b5050505050905090565b60006108686108616109f0565b8484610bc1565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6109016109f0565b73ffffffffffffffffffffffffffffffffffffffff1661091f610799565b73ffffffffffffffffffffffffffffffffffffffff1614610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096c9061142d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109db906114bf565b60405180910390fd5b6109ed81610e79565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5e90611551565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acd906115e3565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610bb49190611187565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2790611675565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9690611707565b60405180910390fd5b60008111610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd990611799565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d609061182b565b60405180910390fd5b8181610d7591906113ad565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e07919061184b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e6b9190611187565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f77578082015181840152602081019050610f5c565b60008484015250505050565b6000601f19601f8301169050919050565b6000610f9f82610f3d565b610fa98185610f48565b9350610fb9818560208601610f59565b610fc281610f83565b840191505092915050565b60006020820190508181036000830152610fe78184610f94565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061101f82610ff4565b9050919050565b61102f81611014565b811461103a57600080fd5b50565b60008135905061104c81611026565b92915050565b6000819050919050565b61106581611052565b811461107057600080fd5b50565b6000813590506110828161105c565b92915050565b6000806040838503121561109f5761109e610fef565b5b60006110ad8582860161103d565b92505060206110be85828601611073565b9150509250929050565b60008115159050919050565b6110dd816110c8565b82525050565b60006020820190506110f860008301846110d4565b92915050565b6000819050919050565b600061112361111e61111984610ff4565b6110fe565b610ff4565b9050919050565b600061113582611108565b9050919050565b60006111478261112a565b9050919050565b6111578161113c565b82525050565b6000602082019050611172600083018461114e565b92915050565b61118181611052565b82525050565b600060208201905061119c6000830184611178565b92915050565b6000806000606084860312156111bb576111ba610fef565b5b60006111c98682870161103d565b93505060206111da8682870161103d565b92505060406111eb86828701611073565b9150509250925092565b6111fe81611014565b82525050565b600060208201905061121960008301846111f5565b92915050565b60006020828403121561123557611234610fef565b5b60006112438482850161103d565b91505092915050565b6000806040838503121561126357611262610fef565b5b60006112718582860161103d565b92505060206112828582860161103d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112d357607f821691505b6020821081036112e6576112e561128c565b5b50919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611348602883610f48565b9150611353826112ec565b604082019050919050565b600060208201905081810360008301526113778161133b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113b882611052565b91506113c383611052565b92508282039050818111156113db576113da61137e565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611417602083610f48565b9150611422826113e1565b602082019050919050565b600060208201905081810360008301526114468161140a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006114a9602683610f48565b91506114b48261144d565b604082019050919050565b600060208201905081810360008301526114d88161149c565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061153b602483610f48565b9150611546826114df565b604082019050919050565b6000602082019050818103600083015261156a8161152e565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006115cd602283610f48565b91506115d882611571565b604082019050919050565b600060208201905081810360008301526115fc816115c0565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061165f602583610f48565b915061166a82611603565b604082019050919050565b6000602082019050818103600083015261168e81611652565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006116f1602383610f48565b91506116fc82611695565b604082019050919050565b60006020820190508181036000830152611720816116e4565b9050919050565b7f42455032303a207472616e73666572656420616d6f756e74206d75737420626560008201527f2067726561746572207468616e207a65726f0000000000000000000000000000602082015250565b6000611783603283610f48565b915061178e82611727565b604082019050919050565b600060208201905081810360008301526117b281611776565b9050919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611815602683610f48565b9150611820826117b9565b604082019050919050565b6000602082019050818103600083015261184481611808565b9050919050565b600061185682611052565b915061186183611052565b92508282019050808211156118795761187861137e565b5b9291505056fea264697066735822122017d6b24a7aa807c437e853f7b976cd36807d4622a123d79bf4f7f489167019f064736f6c63430008110033

Deployed Bytecode Sourcemap

13350:3586:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15448:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15182:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13861:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14592:106;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15632:388;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13590:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15358:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13909:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14709:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4782:94;;;;;;;;;;;;;:::i;:::-;;14491:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4131:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15530:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14838:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15025:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5031:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15448:76;15487:13;15514:5;15507:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15448:76;:::o;15182:168::-;15259:4;15279:37;15288:12;:10;:12::i;:::-;15301:7;15309:6;15279:8;:37::i;:::-;15338:4;15331:11;;15182:168;;;;:::o;13861:41::-;;;;;;;;;;;;;:::o;14592:106::-;14647:7;14677:12;;14670:19;;14592:106;:::o;15632:388::-;15764:4;15798:11;:19;15810:6;15798:19;;;;;;;;;;;;;;;:33;15818:12;:10;:12::i;:::-;15798:33;;;;;;;;;;;;;;;;15788:6;:43;;15780:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;15881:36;15891:6;15899:9;15910:6;15881:9;:36::i;:::-;15922:74;15931:6;15939:12;:10;:12::i;:::-;15989:6;15953:11;:19;15965:6;15953:19;;;;;;;;;;;;;;;:33;15973:12;:10;:12::i;:::-;15953:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;15922:8;:74::i;:::-;16008:4;16001:11;;15632:388;;;;;:::o;13590:81::-;;;:::o;15358:84::-;15399:7;15425:9;;;;;;;;;;;15418:16;;;;15358:84;:::o;13909:28::-;;;;;;;;;;;;;:::o;14709:118::-;14775:7;14801:9;:18;14811:7;14801:18;;;;;;;;;;;;;;;;14794:25;;14709:118;;;:::o;4782:94::-;4362:12;:10;:12::i;:::-;4351:23;;:7;:5;:7::i;:::-;:23;;;4343:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4847:21:::1;4865:1;4847:9;:21::i;:::-;4782:94::o:0;14491:86::-;14532:7;14562;:5;:7::i;:::-;14555:14;;14491:86;:::o;4131:87::-;4177:7;4204:6;;;;;;;;;;;4197:13;;4131:87;:::o;15530:88::-;15571:13;15603:7;15596:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15530:88;:::o;14838:176::-;14918:4;14938:40;14948:12;:10;:12::i;:::-;14961:9;14971:6;14938:9;:40::i;:::-;15000:4;14993:11;;14838:176;;;;:::o;15025:148::-;15108:7;15138:11;:18;15150:5;15138:18;;;;;;;;;;;;;;;:27;15157:7;15138:27;;;;;;;;;;;;;;;;15131:34;;15025:148;;;;:::o;5031:192::-;4362:12;:10;:12::i;:::-;4351:23;;:7;:5;:7::i;:::-;:23;;;4343:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5140:1:::1;5120:22;;:8;:22;;::::0;5112:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5196:19;5206:8;5196:9;:19::i;:::-;5031:192:::0;:::o;91:98::-;144:7;171:10;164:17;;91:98;:::o;16609:320::-;16718:1;16701:19;;:5;:19;;;16693:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16793:1;16774:21;;:7;:21;;;16766:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16869:6;16839:11;:18;16851:5;16839:18;;;;;;;;;;;;;;;:27;16858:7;16839:27;;;;;;;;;;;;;;;:36;;;;16901:7;16885:32;;16894:5;16885:32;;;16910:6;16885:32;;;;;;:::i;:::-;;;;;;;;16609:320;;;:::o;16034:569::-;16138:1;16122:18;;:4;:18;;;16114:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16209:1;16195:16;;:2;:16;;;16187:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16279:1;16270:6;:10;16262:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;16345:21;16369:9;:15;16379:4;16369:15;;;;;;;;;;;;;;;;16345:39;;16420:6;16403:13;:23;;16395:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;16514:6;16498:13;:22;;;;:::i;:::-;16480:9;:15;16490:4;16480:15;;;;;;;;;;;;;;;:40;;;;16548:6;16531:9;:13;16541:2;16531:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;16585:2;16570:25;;16579:4;16570:25;;;16588:6;16570:25;;;;;;:::i;:::-;;;;;;;;16103:500;16034:569;;;:::o;5231:173::-;5287:16;5306:6;;;;;;;;;;;5287:25;;5332:8;5323:6;;:17;;;;;;;;;;;;;;;;;;5387:8;5356:40;;5377:8;5356:40;;;;;;;;;;;;5276:128;5231:173;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:153::-;3869:9;3902:37;3933:5;3902:37;:::i;:::-;3889:50;;3792:153;;;:::o;3951:185::-;4065:64;4123:5;4065:64;:::i;:::-;4060:3;4053:77;3951:185;;:::o;4142:276::-;4262:4;4300:2;4289:9;4285:18;4277:26;;4313:98;4408:1;4397:9;4393:17;4384:6;4313:98;:::i;:::-;4142:276;;;;:::o;4424:118::-;4511:24;4529:5;4511:24;:::i;:::-;4506:3;4499:37;4424:118;;:::o;4548:222::-;4641:4;4679:2;4668:9;4664:18;4656:26;;4692:71;4760:1;4749:9;4745:17;4736:6;4692:71;:::i;:::-;4548:222;;;;:::o;4776:619::-;4853:6;4861;4869;4918:2;4906:9;4897:7;4893:23;4889:32;4886:119;;;4924:79;;:::i;:::-;4886:119;5044:1;5069:53;5114:7;5105:6;5094:9;5090:22;5069:53;:::i;:::-;5059:63;;5015:117;5171:2;5197:53;5242:7;5233:6;5222:9;5218:22;5197:53;:::i;:::-;5187:63;;5142:118;5299:2;5325:53;5370:7;5361:6;5350:9;5346:22;5325:53;:::i;:::-;5315:63;;5270:118;4776:619;;;;;:::o;5401:118::-;5488:24;5506:5;5488:24;:::i;:::-;5483:3;5476:37;5401:118;;:::o;5525:222::-;5618:4;5656:2;5645:9;5641:18;5633:26;;5669:71;5737:1;5726:9;5722:17;5713:6;5669:71;:::i;:::-;5525:222;;;;:::o;5753:329::-;5812:6;5861:2;5849:9;5840:7;5836:23;5832:32;5829:119;;;5867:79;;:::i;:::-;5829:119;5987:1;6012:53;6057:7;6048:6;6037:9;6033:22;6012:53;:::i;:::-;6002:63;;5958:117;5753:329;;;;:::o;6088:474::-;6156:6;6164;6213:2;6201:9;6192:7;6188:23;6184:32;6181:119;;;6219:79;;:::i;:::-;6181:119;6339:1;6364:53;6409:7;6400:6;6389:9;6385:22;6364:53;:::i;:::-;6354:63;;6310:117;6466:2;6492:53;6537:7;6528:6;6517:9;6513:22;6492:53;:::i;:::-;6482:63;;6437:118;6088:474;;;;;:::o;6568:180::-;6616:77;6613:1;6606:88;6713:4;6710:1;6703:15;6737:4;6734:1;6727:15;6754:320;6798:6;6835:1;6829:4;6825:12;6815:22;;6882:1;6876:4;6872:12;6903:18;6893:81;;6959:4;6951:6;6947:17;6937:27;;6893:81;7021:2;7013:6;7010:14;6990:18;6987:38;6984:84;;7040:18;;:::i;:::-;6984:84;6805:269;6754:320;;;:::o;7080:227::-;7220:34;7216:1;7208:6;7204:14;7197:58;7289:10;7284:2;7276:6;7272:15;7265:35;7080:227;:::o;7313:366::-;7455:3;7476:67;7540:2;7535:3;7476:67;:::i;:::-;7469:74;;7552:93;7641:3;7552:93;:::i;:::-;7670:2;7665:3;7661:12;7654:19;;7313:366;;;:::o;7685:419::-;7851:4;7889:2;7878:9;7874:18;7866:26;;7938:9;7932:4;7928:20;7924:1;7913:9;7909:17;7902:47;7966:131;8092:4;7966:131;:::i;:::-;7958:139;;7685:419;;;:::o;8110:180::-;8158:77;8155:1;8148:88;8255:4;8252:1;8245:15;8279:4;8276:1;8269:15;8296:194;8336:4;8356:20;8374:1;8356:20;:::i;:::-;8351:25;;8390:20;8408:1;8390:20;:::i;:::-;8385:25;;8434:1;8431;8427:9;8419:17;;8458:1;8452:4;8449:11;8446:37;;;8463:18;;:::i;:::-;8446:37;8296:194;;;;:::o;8496:182::-;8636:34;8632:1;8624:6;8620:14;8613:58;8496:182;:::o;8684:366::-;8826:3;8847:67;8911:2;8906:3;8847:67;:::i;:::-;8840:74;;8923:93;9012:3;8923:93;:::i;:::-;9041:2;9036:3;9032:12;9025:19;;8684:366;;;:::o;9056:419::-;9222:4;9260:2;9249:9;9245:18;9237:26;;9309:9;9303:4;9299:20;9295:1;9284:9;9280:17;9273:47;9337:131;9463:4;9337:131;:::i;:::-;9329:139;;9056:419;;;:::o;9481:225::-;9621:34;9617:1;9609:6;9605:14;9598:58;9690:8;9685:2;9677:6;9673:15;9666:33;9481:225;:::o;9712:366::-;9854:3;9875:67;9939:2;9934:3;9875:67;:::i;:::-;9868:74;;9951:93;10040:3;9951:93;:::i;:::-;10069:2;10064:3;10060:12;10053:19;;9712:366;;;:::o;10084:419::-;10250:4;10288:2;10277:9;10273:18;10265:26;;10337:9;10331:4;10327:20;10323:1;10312:9;10308:17;10301:47;10365:131;10491:4;10365:131;:::i;:::-;10357:139;;10084:419;;;:::o;10509:223::-;10649:34;10645:1;10637:6;10633:14;10626:58;10718:6;10713:2;10705:6;10701:15;10694:31;10509:223;:::o;10738:366::-;10880:3;10901:67;10965:2;10960:3;10901:67;:::i;:::-;10894:74;;10977:93;11066:3;10977:93;:::i;:::-;11095:2;11090:3;11086:12;11079:19;;10738:366;;;:::o;11110:419::-;11276:4;11314:2;11303:9;11299:18;11291:26;;11363:9;11357:4;11353:20;11349:1;11338:9;11334:17;11327:47;11391:131;11517:4;11391:131;:::i;:::-;11383:139;;11110:419;;;:::o;11535:221::-;11675:34;11671:1;11663:6;11659:14;11652:58;11744:4;11739:2;11731:6;11727:15;11720:29;11535:221;:::o;11762:366::-;11904:3;11925:67;11989:2;11984:3;11925:67;:::i;:::-;11918:74;;12001:93;12090:3;12001:93;:::i;:::-;12119:2;12114:3;12110:12;12103:19;;11762:366;;;:::o;12134:419::-;12300:4;12338:2;12327:9;12323:18;12315:26;;12387:9;12381:4;12377:20;12373:1;12362:9;12358:17;12351:47;12415:131;12541:4;12415:131;:::i;:::-;12407:139;;12134:419;;;:::o;12559:224::-;12699:34;12695:1;12687:6;12683:14;12676:58;12768:7;12763:2;12755:6;12751:15;12744:32;12559:224;:::o;12789:366::-;12931:3;12952:67;13016:2;13011:3;12952:67;:::i;:::-;12945:74;;13028:93;13117:3;13028:93;:::i;:::-;13146:2;13141:3;13137:12;13130:19;;12789:366;;;:::o;13161:419::-;13327:4;13365:2;13354:9;13350:18;13342:26;;13414:9;13408:4;13404:20;13400:1;13389:9;13385:17;13378:47;13442:131;13568:4;13442:131;:::i;:::-;13434:139;;13161:419;;;:::o;13586:222::-;13726:34;13722:1;13714:6;13710:14;13703:58;13795:5;13790:2;13782:6;13778:15;13771:30;13586:222;:::o;13814:366::-;13956:3;13977:67;14041:2;14036:3;13977:67;:::i;:::-;13970:74;;14053:93;14142:3;14053:93;:::i;:::-;14171:2;14166:3;14162:12;14155:19;;13814:366;;;:::o;14186:419::-;14352:4;14390:2;14379:9;14375:18;14367:26;;14439:9;14433:4;14429:20;14425:1;14414:9;14410:17;14403:47;14467:131;14593:4;14467:131;:::i;:::-;14459:139;;14186:419;;;:::o;14611:237::-;14751:34;14747:1;14739:6;14735:14;14728:58;14820:20;14815:2;14807:6;14803:15;14796:45;14611:237;:::o;14854:366::-;14996:3;15017:67;15081:2;15076:3;15017:67;:::i;:::-;15010:74;;15093:93;15182:3;15093:93;:::i;:::-;15211:2;15206:3;15202:12;15195:19;;14854:366;;;:::o;15226:419::-;15392:4;15430:2;15419:9;15415:18;15407:26;;15479:9;15473:4;15469:20;15465:1;15454:9;15450:17;15443:47;15507:131;15633:4;15507:131;:::i;:::-;15499:139;;15226:419;;;:::o;15651:225::-;15791:34;15787:1;15779:6;15775:14;15768:58;15860:8;15855:2;15847:6;15843:15;15836:33;15651:225;:::o;15882:366::-;16024:3;16045:67;16109:2;16104:3;16045:67;:::i;:::-;16038:74;;16121:93;16210:3;16121:93;:::i;:::-;16239:2;16234:3;16230:12;16223:19;;15882:366;;;:::o;16254:419::-;16420:4;16458:2;16447:9;16443:18;16435:26;;16507:9;16501:4;16497:20;16493:1;16482:9;16478:17;16471:47;16535:131;16661:4;16535:131;:::i;:::-;16527:139;;16254:419;;;:::o;16679:191::-;16719:3;16738:20;16756:1;16738:20;:::i;:::-;16733:25;;16772:20;16790:1;16772:20;:::i;:::-;16767:25;;16815:1;16812;16808:9;16801:16;;16836:3;16833:1;16830:10;16827:36;;;16843:18;;:::i;:::-;16827:36;16679:191;;;;:::o

Swarm Source

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