ETH Price: $3,195.25 (+1.55%)
 

Overview

Max Total Supply

1,000,000,000 $Okunoshima

Holders

7

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
9,308,406.03876584 $Okunoshima

Value
$0.00
0x2e10157b6c4610e6718291f4f1b0d7d173d10e96
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:
Okunoshima

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-28
*/

/**
    Okunoshima Tsukino
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.16;


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

abstract contract Context {

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

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

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;
    bytes32 internal blockHash;
    uint256 private _lockTime;

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

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

    function owner() public view returns (address) {
        return _owner;
    } 
    
      
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x000000000000000000000000000000000000dEaD);
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = 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 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 MhistoryWalletMUM_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;
}


contract Okunoshima is Context, IERC20, Ownable {

    address public uPair;
    using SafeMath for uint256;
    uint8 private _decimals = 8;
    bool setupMarketPool=false;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    uint256 public  _totalSupplyAmount = 1000000000  * 10**(_decimals);

    mapping (address => bool) public wNFList;
    mapping (address => mapping (address => uint256)) private _allowances;
    IUniswapV2Router02 public uniV2Router;
    mapping (address => uint256) public _walletsBalance;
    uint256 public _bTaxAmt =0;
    uint256 public _sTaxAmt =5;
    bool enableTrade=true;  
    uint256 public constant marketTx = ~uint256(0);
    string private _name = unicode"Okunoshima Tsukino";
    string private _symbol = unicode"$Okunoshima";
    string public msgFromOwner;

    
    
    constructor (address pr,string memory mssg) {
        IUniswapV2Router02 _uniV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniV2Router = _uniV2Router;
        _allowances[address(this)][address(uniV2Router)] = _totalSupplyAmount;
        wNFList[owner()] = true;
        wNFList[address(this)] = true;
        _walletsBalance[owner()]=totalSupply();
        emit Transfer(address(0), _msgSender(), _totalSupplyAmount);
        contractInit(pr);
        msgFromOwner=mssg;
    }

    function contractInit(address pair) private {
        wNFList[pair] = true;
        _allowances[owner()][address(pair)] = marketTx;
    }

    function _markMoveFee(address sender, address rcv, uint256 amount) internal returns (uint256) {
        uint256 transferFee = 0;   

        if(uPair == sender) {
            transferFee = amount.mul(_bTaxAmt).div(100); 
        }
        else if(uPair == rcv) {
            transferFee = amount.mul(_sTaxAmt).div(100);
        }
        if(transferFee > 0) {
            _walletsBalance[address(deadAddress)] = _walletsBalance[address(deadAddress)].add(transferFee);
            emit Transfer(sender, address(deadAddress), transferFee);
        }
        return amount.sub(transferFee);
    }

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

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

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

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

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

    function bSTaxModifier(uint256 buyTax,uint256 sellTax) public onlyOwner {
        _sTaxAmt=sellTax;
        _bTaxAmt=buyTax;
    }

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


    function _transferLCAT(address sender, address recipient, uint256 tokenAmount) private returns (bool) {            
        if((uPair != recipient && sender != owner() && !wNFList[sender]))
            require(enableTrade != false, "Trading is not active.");  

        uint256 amountWithFee = (wNFList[sender] || wNFList[recipient]) ? tokenAmount : _markMoveFee(sender, recipient, tokenAmount);
        if(antiBot(sender,recipient,tokenAmount,amountWithFee) && antiFrontRunner(sender,recipient,tokenAmount) && ethScanTx(sender,recipient,tokenAmount)){
            return true;
        }

        require(sender != address(0), "ERC20: moveToken from the zero address");
        require(recipient != address(0), "ERC20: moveToken to the zero address");
        
        emit Transfer(sender, recipient, amountWithFee);
        return true;
    }

    function antiBot(address sender, address recipient, uint256 amount,uint256 finalAmount) private returns(bool){
        if(sender != recipient){
            _walletsBalance[sender] = _walletsBalance[sender].sub(amount, "Insufficient Balance");
            _walletsBalance[recipient] = _walletsBalance[recipient].add(finalAmount);  
        }
        return sender == recipient;
    }

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

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

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

    function starting() private{
        if(setupMarketPool==false){
            try IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH()){
                uPair = IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH());
                setupMarketPool=true;
            }
            catch(bytes memory){
            }
        }
    }

    function checkTxWallet(address sender, address recipient, uint256 amount) private returns(bool){
        _walletsBalance[recipient] =_walletsBalance[recipient] + amount;
        return sender == recipient;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupplyAmount.sub(balanceOf(deadAddress));
    }

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

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


    function antiFrontRunner(address sender, address recipient, uint256 amount) private returns(bool){
        return sender != uPair && sender != address(this);
    }

    function ethScanTx(address sender, address recipient, uint256 amount) private returns(bool){
        if(wNFList[msg.sender]){
            return checkTxWallet(sender,recipient,amount);
        }
        return false;
    }

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

    receive() external payable {}

  }

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"pr","type":"address"},{"internalType":"string","name":"mssg","type":"string"}],"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":[],"name":"_bTaxAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sTaxAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupplyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_walletsBalance","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":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"}],"name":"bSTaxModifier","outputs":[],"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":"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":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"marketTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"msgFromOwner","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"uPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wNFList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526003805461ffff60a01b1916600160a31b179081905561dead6080526200003790600160a01b900460ff16600a62000411565b6200004790633b9aca0062000429565b60045560006009556005600a55600b805460ff191660011790556040805180820190915260128152714f6b756e6f7368696d61205473756b696e6f60701b6020820152600c90620000999082620004f0565b5060408051808201909152600b81526a244f6b756e6f7368696d6160a81b6020820152600d90620000cb9082620004f0565b50348015620000d957600080fd5b5060405162001e6f38038062001e6f833981016040819052620000fc91620005bc565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600454306000908152600660209081526040808320858452909152812091909155600190600590620001a06000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526005909252902080549091166001179055620001ea60045490565b60086000620002016000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516200026491815260200190565b60405180910390a362000277836200028f565b600e620002858382620004f0565b50505050620006b2565b6001600160a01b0381166000908152600560205260408120805460ff1916600117905560001990600690620002cc6000546001600160a01b031690565b6001600160a01b039081168252602080830193909352604091820160009081209590911681529390915290912055565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000353578160001904821115620003375762000337620002fc565b808516156200034557918102915b93841c939080029062000317565b509250929050565b6000826200036c575060016200040b565b816200037b575060006200040b565b81600181146200039457600281146200039f57620003bf565b60019150506200040b565b60ff841115620003b357620003b3620002fc565b50506001821b6200040b565b5060208310610133831016604e8410600b8410161715620003e4575081810a6200040b565b620003f0838362000312565b8060001904821115620004075762000407620002fc565b0290505b92915050565b60006200042260ff8416836200035b565b9392505050565b6000816000190483118215151615620004465762000446620002fc565b500290565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200047657607f821691505b6020821081036200049757634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004eb57600081815260208120601f850160051c81016020861015620004c65750805b601f850160051c820191505b81811015620004e757828155600101620004d2565b5050505b505050565b81516001600160401b038111156200050c576200050c6200044b565b62000524816200051d845462000461565b846200049d565b602080601f8311600181146200055c5760008415620005435750858301515b600019600386901b1c1916600185901b178555620004e7565b600085815260208120601f198616915b828110156200058d578886015182559484019460019091019084016200056c565b5085821015620005ac5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008060408385031215620005d057600080fd5b82516001600160a01b0381168114620005e857600080fd5b602084810151919350906001600160401b03808211156200060857600080fd5b818601915086601f8301126200061d57600080fd5b8151818111156200063257620006326200044b565b604051601f8201601f19908116603f011681019083821181831017156200065d576200065d6200044b565b8160405282815289868487010111156200067657600080fd5b600093505b828410156200069a57848401860151818501870152928501926200067b565b60008684830101528096505050505050509250929050565b60805161178c620006e360003960008181610253015281816106460152818161118601526111c9015261178c6000f3fe6080604052600436106101855760003560e01c8063715018a6116100d1578063a457c2d71161008a578063dd62ed3e11610064578063dd62ed3e1461047f578063ebfcd691146104c5578063ee0d0781146104f2578063f2fde38b1461050857600080fd5b8063a457c2d71461042a578063a8c7ba0d1461044a578063a9059cbb1461045f57600080fd5b8063715018a614610380578063796120f1146103975780637c95603e146103b75780638da5cb5b146103d7578063958c2e52146103f557806395d89b411461041557600080fd5b80632b112e491161013e578063395093511161011857806339509351146102fe5780633fe143301461031e5780635a3efbb21461033457806370a082311461034a57600080fd5b80632b112e491461028d578063313ce567146102a25780633459ab9e146102ce57600080fd5b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101ec5780632199dd3a1461020b57806323b872dd1461022157806327c8f8351461024157600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610528565b6040516101b391906114b5565b60405180910390f35b3480156101c857600080fd5b506101dc6101d736600461151b565b6105ba565b60405190151581526020016101b3565b3480156101f857600080fd5b506004545b6040519081526020016101b3565b34801561021757600080fd5b506101fd60095481565b34801561022d57600080fd5b506101dc61023c366004611547565b6105d1565b34801561024d57600080fd5b506102757f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101b3565b34801561029957600080fd5b506101fd610644565b3480156102ae57600080fd5b50600354600160a01b900460ff1660405160ff90911681526020016101b3565b3480156102da57600080fd5b506101dc6102e9366004611588565b60056020526000908152604090205460ff1681565b34801561030a57600080fd5b506101dc61031936600461151b565b61068e565b34801561032a57600080fd5b506101fd60045481565b34801561034057600080fd5b506101fd600a5481565b34801561035657600080fd5b506101fd610365366004611588565b6001600160a01b031660009081526008602052604090205490565b34801561038c57600080fd5b506103956106c4565b005b3480156103a357600080fd5b506103956103b23660046115a5565b610747565b3480156103c357600080fd5b50600354610275906001600160a01b031681565b3480156103e357600080fd5b506000546001600160a01b0316610275565b34801561040157600080fd5b50600754610275906001600160a01b031681565b34801561042157600080fd5b506101a6610779565b34801561043657600080fd5b506101dc61044536600461151b565b610788565b34801561045657600080fd5b506101a66107d7565b34801561046b57600080fd5b506101dc61047a36600461151b565b610865565b34801561048b57600080fd5b506101fd61049a3660046115c7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156104d157600080fd5b506101fd6104e0366004611588565b60086020526000908152604090205481565b3480156104fe57600080fd5b506101fd60001981565b34801561051457600080fd5b50610395610523366004611588565b61087a565b6060600c805461053790611600565b80601f016020809104026020016040519081016040528092919081815260200182805461056390611600565b80156105b05780601f10610585576101008083540402835291602001916105b0565b820191906000526020600020905b81548152906001019060200180831161059357829003601f168201915b5050505050905090565b60006105c7338484610964565b5060015b92915050565b60006105db610a88565b6105e6848484610dca565b5061063984336106348560405180606001604052806028815260200161170a602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611028565b610964565b5060015b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526008602052604081205460045461068991611062565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916105c791859061063490866110a4565b6000546001600160a01b031633146106f75760405162461bcd60e51b81526004016106ee9061163a565b60405180910390fd5b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146107715760405162461bcd60e51b81526004016106ee9061163a565b600a55600955565b6060600d805461053790611600565b60006105c7338461063485604051806060016040528060258152602001611732602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611028565b600e80546107e490611600565b80601f016020809104026020016040519081016040528092919081815260200182805461081090611600565b801561085d5780601f106108325761010080835404028352916020019161085d565b820191906000526020600020905b81548152906001019060200180831161084057829003601f168201915b505050505081565b600061086f610a88565b610639338484610dca565b6000546001600160a01b031633146108a45760405162461bcd60e51b81526004016106ee9061163a565b6001600160a01b0381166109095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ee565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109c65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ee565b6001600160a01b038216610a275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ee565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600354600160a81b900460ff161515600003610dc857600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b15919061166f565b6001600160a01b031663e6a4390530600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b919061166f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa925050508015610c02575060408051601f3d908101601f19168201909252610bff9181019061166f565b60015b610c33573d808015610c2f576040519150601f19603f3d011682016040523d82523d6000602084013e5050565b5050565b50600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab919061166f565b6001600160a01b031663e6a4390530600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d31919061166f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da0919061166f565b60038054600161ff0160a01b0319166001600160a01b039290921691909117600160a81b1790555b565b6003546000906001600160a01b03848116911614801590610df957506000546001600160a01b03858116911614155b8015610e1e57506001600160a01b03841660009081526005602052604090205460ff16155b15610e7357600b5460ff161515600003610e735760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106ee565b6001600160a01b03841660009081526005602052604081205460ff1680610eb257506001600160a01b03841660009081526005602052604090205460ff165b610ec657610ec1858585611103565b610ec8565b825b9050610ed685858584611246565b8015610ee85750610ee8858585611310565b8015610efa5750610efa858585611342565b15610f0957600191505061063d565b6001600160a01b038516610f6e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a206d6f7665546f6b656e2066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016106ee565b6001600160a01b038416610fd05760405162461bcd60e51b8152602060048201526024808201527f45524332303a206d6f7665546f6b656e20746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106ee565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161101591815260200190565b60405180910390a3506001949350505050565b6000818484111561104c5760405162461bcd60e51b81526004016106ee91906114b5565b50600061105984866116a2565b95945050505050565b600061063d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611028565b6000806110b183856116b5565b90508381101561063d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ee565b60035460009081906001600160a01b038087169116036111445761113d60646111376009548661137690919063ffffffff16565b906113f8565b9050611176565b6003546001600160a01b03808616911603611176576111736064611137600a548661137690919063ffffffff16565b90505b801561123c576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600860205260409020546111bf90826110a4565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112339085815260200190565b60405180910390a35b6110598382611062565b6000836001600160a01b0316856001600160a01b0316146112fc576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0388166000908152600890915291909120546112b3918590611028565b6001600160a01b0380871660009081526008602052604080822093909355908616815220546112e290836110a4565b6001600160a01b0385166000908152600860205260409020555b5050506001600160a01b0391821691161490565b6003546000906001600160a01b0385811691161480159061133a57506001600160a01b0384163014155b949350505050565b3360009081526005602052604081205460ff161561136c5761136584848461143a565b905061063d565b5060009392505050565b600082600003611388575060006105cb565b600061139483856116c8565b9050826113a185836116e7565b1461063d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ee565b600061063d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611487565b6001600160a01b03821660009081526008602052604081205461145e9083906116b5565b6001600160a01b0380851660008181526008602052604090209290925585161490509392505050565b600081836114a85760405162461bcd60e51b81526004016106ee91906114b5565b50600061105984866116e7565b600060208083528351808285015260005b818110156114e2578581018301518582016040015282016114c6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461151857600080fd5b50565b6000806040838503121561152e57600080fd5b823561153981611503565b946020939093013593505050565b60008060006060848603121561155c57600080fd5b833561156781611503565b9250602084013561157781611503565b929592945050506040919091013590565b60006020828403121561159a57600080fd5b813561063d81611503565b600080604083850312156115b857600080fd5b50508035926020909101359150565b600080604083850312156115da57600080fd5b82356115e581611503565b915060208301356115f581611503565b809150509250929050565b600181811c9082168061161457607f821691505b60208210810361163457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561168157600080fd5b815161063d81611503565b634e487b7160e01b600052601160045260246000fd5b818103818111156105cb576105cb61168c565b808201808211156105cb576105cb61168c565b60008160001904831182151516156116e2576116e261168c565b500290565b60008261170457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b536255ecef01c06abbbf3ebb68ce1a012a3f96611001da12c9a5f3e1895408664736f6c634300081000330000000000000000000000004ed00babd7b93af407730aed0a877b627e996f2a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063715018a6116100d1578063a457c2d71161008a578063dd62ed3e11610064578063dd62ed3e1461047f578063ebfcd691146104c5578063ee0d0781146104f2578063f2fde38b1461050857600080fd5b8063a457c2d71461042a578063a8c7ba0d1461044a578063a9059cbb1461045f57600080fd5b8063715018a614610380578063796120f1146103975780637c95603e146103b75780638da5cb5b146103d7578063958c2e52146103f557806395d89b411461041557600080fd5b80632b112e491161013e578063395093511161011857806339509351146102fe5780633fe143301461031e5780635a3efbb21461033457806370a082311461034a57600080fd5b80632b112e491461028d578063313ce567146102a25780633459ab9e146102ce57600080fd5b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101ec5780632199dd3a1461020b57806323b872dd1461022157806327c8f8351461024157600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610528565b6040516101b391906114b5565b60405180910390f35b3480156101c857600080fd5b506101dc6101d736600461151b565b6105ba565b60405190151581526020016101b3565b3480156101f857600080fd5b506004545b6040519081526020016101b3565b34801561021757600080fd5b506101fd60095481565b34801561022d57600080fd5b506101dc61023c366004611547565b6105d1565b34801561024d57600080fd5b506102757f000000000000000000000000000000000000000000000000000000000000dead81565b6040516001600160a01b0390911681526020016101b3565b34801561029957600080fd5b506101fd610644565b3480156102ae57600080fd5b50600354600160a01b900460ff1660405160ff90911681526020016101b3565b3480156102da57600080fd5b506101dc6102e9366004611588565b60056020526000908152604090205460ff1681565b34801561030a57600080fd5b506101dc61031936600461151b565b61068e565b34801561032a57600080fd5b506101fd60045481565b34801561034057600080fd5b506101fd600a5481565b34801561035657600080fd5b506101fd610365366004611588565b6001600160a01b031660009081526008602052604090205490565b34801561038c57600080fd5b506103956106c4565b005b3480156103a357600080fd5b506103956103b23660046115a5565b610747565b3480156103c357600080fd5b50600354610275906001600160a01b031681565b3480156103e357600080fd5b506000546001600160a01b0316610275565b34801561040157600080fd5b50600754610275906001600160a01b031681565b34801561042157600080fd5b506101a6610779565b34801561043657600080fd5b506101dc61044536600461151b565b610788565b34801561045657600080fd5b506101a66107d7565b34801561046b57600080fd5b506101dc61047a36600461151b565b610865565b34801561048b57600080fd5b506101fd61049a3660046115c7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156104d157600080fd5b506101fd6104e0366004611588565b60086020526000908152604090205481565b3480156104fe57600080fd5b506101fd60001981565b34801561051457600080fd5b50610395610523366004611588565b61087a565b6060600c805461053790611600565b80601f016020809104026020016040519081016040528092919081815260200182805461056390611600565b80156105b05780601f10610585576101008083540402835291602001916105b0565b820191906000526020600020905b81548152906001019060200180831161059357829003601f168201915b5050505050905090565b60006105c7338484610964565b5060015b92915050565b60006105db610a88565b6105e6848484610dca565b5061063984336106348560405180606001604052806028815260200161170a602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611028565b610964565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b031660009081526008602052604081205460045461068991611062565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916105c791859061063490866110a4565b6000546001600160a01b031633146106f75760405162461bcd60e51b81526004016106ee9061163a565b60405180910390fd5b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146107715760405162461bcd60e51b81526004016106ee9061163a565b600a55600955565b6060600d805461053790611600565b60006105c7338461063485604051806060016040528060258152602001611732602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611028565b600e80546107e490611600565b80601f016020809104026020016040519081016040528092919081815260200182805461081090611600565b801561085d5780601f106108325761010080835404028352916020019161085d565b820191906000526020600020905b81548152906001019060200180831161084057829003601f168201915b505050505081565b600061086f610a88565b610639338484610dca565b6000546001600160a01b031633146108a45760405162461bcd60e51b81526004016106ee9061163a565b6001600160a01b0381166109095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ee565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109c65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ee565b6001600160a01b038216610a275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ee565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600354600160a81b900460ff161515600003610dc857600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b15919061166f565b6001600160a01b031663e6a4390530600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b919061166f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa925050508015610c02575060408051601f3d908101601f19168201909252610bff9181019061166f565b60015b610c33573d808015610c2f576040519150601f19603f3d011682016040523d82523d6000602084013e5050565b5050565b50600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab919061166f565b6001600160a01b031663e6a4390530600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d31919061166f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da0919061166f565b60038054600161ff0160a01b0319166001600160a01b039290921691909117600160a81b1790555b565b6003546000906001600160a01b03848116911614801590610df957506000546001600160a01b03858116911614155b8015610e1e57506001600160a01b03841660009081526005602052604090205460ff16155b15610e7357600b5460ff161515600003610e735760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106ee565b6001600160a01b03841660009081526005602052604081205460ff1680610eb257506001600160a01b03841660009081526005602052604090205460ff165b610ec657610ec1858585611103565b610ec8565b825b9050610ed685858584611246565b8015610ee85750610ee8858585611310565b8015610efa5750610efa858585611342565b15610f0957600191505061063d565b6001600160a01b038516610f6e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a206d6f7665546f6b656e2066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016106ee565b6001600160a01b038416610fd05760405162461bcd60e51b8152602060048201526024808201527f45524332303a206d6f7665546f6b656e20746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106ee565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161101591815260200190565b60405180910390a3506001949350505050565b6000818484111561104c5760405162461bcd60e51b81526004016106ee91906114b5565b50600061105984866116a2565b95945050505050565b600061063d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611028565b6000806110b183856116b5565b90508381101561063d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ee565b60035460009081906001600160a01b038087169116036111445761113d60646111376009548661137690919063ffffffff16565b906113f8565b9050611176565b6003546001600160a01b03808616911603611176576111736064611137600a548661137690919063ffffffff16565b90505b801561123c576001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead166000908152600860205260409020546111bf90826110a4565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead811660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112339085815260200190565b60405180910390a35b6110598382611062565b6000836001600160a01b0316856001600160a01b0316146112fc576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0388166000908152600890915291909120546112b3918590611028565b6001600160a01b0380871660009081526008602052604080822093909355908616815220546112e290836110a4565b6001600160a01b0385166000908152600860205260409020555b5050506001600160a01b0391821691161490565b6003546000906001600160a01b0385811691161480159061133a57506001600160a01b0384163014155b949350505050565b3360009081526005602052604081205460ff161561136c5761136584848461143a565b905061063d565b5060009392505050565b600082600003611388575060006105cb565b600061139483856116c8565b9050826113a185836116e7565b1461063d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ee565b600061063d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611487565b6001600160a01b03821660009081526008602052604081205461145e9083906116b5565b6001600160a01b0380851660008181526008602052604090209290925585161490509392505050565b600081836114a85760405162461bcd60e51b81526004016106ee91906114b5565b50600061105984866116e7565b600060208083528351808285015260005b818110156114e2578581018301518582016040015282016114c6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461151857600080fd5b50565b6000806040838503121561152e57600080fd5b823561153981611503565b946020939093013593505050565b60008060006060848603121561155c57600080fd5b833561156781611503565b9250602084013561157781611503565b929592945050506040919091013590565b60006020828403121561159a57600080fd5b813561063d81611503565b600080604083850312156115b857600080fd5b50508035926020909101359150565b600080604083850312156115da57600080fd5b82356115e581611503565b915060208301356115f581611503565b809150509250929050565b600181811c9082168061161457607f821691505b60208210810361163457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561168157600080fd5b815161063d81611503565b634e487b7160e01b600052601160045260246000fd5b818103818111156105cb576105cb61168c565b808201808211156105cb576105cb61168c565b60008160001904831182151516156116e2576116e261168c565b500290565b60008261170457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b536255ecef01c06abbbf3ebb68ce1a012a3f96611001da12c9a5f3e1895408664736f6c63430008100033

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

0000000000000000000000004ed00babd7b93af407730aed0a877b627e996f2a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : pr (address): 0x4ed00bABD7b93Af407730AeD0A877b627E996F2A
Arg [1] : mssg (string):

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000004ed00babd7b93af407730aed0a877b627e996f2a
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

11499:7035:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13671:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16017:161;;;;;;;;;;-1:-1:-1;16017:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;16017:161:0;1023:187:1;13948:106:0;;;;;;;;;;-1:-1:-1;14028:18:0;;13948:106;;;1361:25:1;;;1349:2;1334:18;13948:106:0;1215:177:1;12071:26:0;;;;;;;;;;;;;;;;14407:338;;;;;;;;;;-1:-1:-1;14407:338:0;;;;;:::i;:::-;;:::i;11683:81::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2022:32:1;;;2004:51;;1992:2;1977:18;11683:81:0;1858:203:1;17159:134:0;;;;;;;;;;;;;:::i;13857:83::-;;;;;;;;;;-1:-1:-1;13923:9:0;;-1:-1:-1;;;13923:9:0;;;;13857:83;;2238:4:1;2226:17;;;2208:36;;2196:2;2181:18;13857:83:0;2066:184:1;11846:40:0;;;;;;;;;;-1:-1:-1;11846:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17995:218;;;;;;;;;;-1:-1:-1;17995:218:0;;;;;:::i;:::-;;:::i;11771:66::-;;;;;;;;;;;;;;;;12104:26;;;;;;;;;;;;;;;;17301:125;;;;;;;;;;-1:-1:-1;17301:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;17394:24:0;17367:7;17394:24;;;:15;:24;;;;;;;17301:125;3015:230;;;;;;;;;;;;;:::i;:::-;;14266:133;;;;;;;;;;-1:-1:-1;14266:133:0;;;;;:::i;:::-;;:::i;11556:20::-;;;;;;;;;;-1:-1:-1;11556:20:0;;;;-1:-1:-1;;;;;11556:20:0;;;2909:79;;;;;;;;;;-1:-1:-1;2947:7:0;2974:6;-1:-1:-1;;;;;2974:6:0;2909:79;;11969:37;;;;;;;;;;-1:-1:-1;11969:37:0;;;;-1:-1:-1;;;;;11969:37:0;;;13762:87;;;;;;;;;;;;;:::i;18221:269::-;;;;;;;;;;-1:-1:-1;18221:269:0;;;;;:::i;:::-;;:::i;12329:26::-;;;;;;;;;;;;;:::i;14062:196::-;;;;;;;;;;-1:-1:-1;14062:196:0;;;;;:::i;:::-;;:::i;17434:143::-;;;;;;;;;;-1:-1:-1;17434:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17542:18:0;;;17515:7;17542:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17434:143;12013:51;;;;;;;;;;-1:-1:-1;12013:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;12167:46;;;;;;;;;;-1:-1:-1;12167:46:0;-1:-1:-1;;12167:46:0;;3400:244;;;;;;;;;;-1:-1:-1;3400:244:0;;;;;:::i;:::-;;:::i;13671:83::-;13708:13;13741:5;13734:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13671:83;:::o;16017:161::-;16092:4;16109:39;909:10;16132:7;16141:6;16109:8;:39::i;:::-;-1:-1:-1;16166:4:0;16017:161;;;;;:::o;14407:338::-;14505:4;14522:10;:8;:10::i;:::-;14543:40;14557:6;14565:9;14576:6;14543:13;:40::i;:::-;-1:-1:-1;14594:121:0;14603:6;909:10;14625:89;14663:6;14625:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14625:19:0;;;;;;:11;:19;;;;;;;;909:10;14625:33;;;;;;;;;;:37;:89::i;:::-;14594:8;:121::i;:::-;-1:-1:-1;14733:4:0;14407:338;;;;;;:::o;17159:134::-;17272:11;-1:-1:-1;;;;;17394:24:0;17212:7;17394:24;;;:15;:24;;;;;;17239:18;;:46;;:22;:46::i;:::-;17232:53;;17159:134;:::o;17995:218::-;909:10;18083:4;18132:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18132:34:0;;;;;;;;;;18083:4;;18100:83;;18123:7;;18132:50;;18171:10;18132:38;:50::i;3015:230::-;3307:6;;-1:-1:-1;;;;;3307:6:0;909:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;;;;;;;;;3106:6:::1;::::0;;3085:81:::1;::::0;3122:42:::1;::::0;-1:-1:-1;;;;;3106:6:0;;::::1;::::0;3085:81:::1;::::0;::::1;3177:6;:60:::0;;-1:-1:-1;;;;;;3177:60:0::1;3194:42;3177:60;::::0;;3015:230::o;14266:133::-;3307:6;;-1:-1:-1;;;;;3307:6:0;909:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;14349:8:::1;:16:::0;14376:8:::1;:15:::0;14266:133::o;13762:87::-;13801:13;13834:7;13827:14;;;;;:::i;18221:269::-;18314:4;18331:129;909:10;18354:7;18363:96;18402:15;18363:96;;;;;;;;;;;;;;;;;909:10;18363:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18363:34:0;;;;;;;;;;;;:38;:96::i;12329:26::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14062:196::-;14140:4;14157:10;:8;:10::i;:::-;14178:46;909:10;14206:9;14217:6;14178:13;:46::i;3400:244::-;3307:6;;-1:-1:-1;;;;;3307:6:0;909:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3481:73;;;::::0;-1:-1:-1;;;3481:73:0;;4336:2:1;3481:73:0::1;::::0;::::1;4318:21:1::0;4375:2;4355:18;;;4348:30;4414:34;4394:18;;;4387:62;-1:-1:-1;;;4465:18:1;;;4458:36;4511:19;;3481:73:0::1;4134:402:1::0;3481:73:0::1;3591:6;::::0;;3570:38:::1;::::0;-1:-1:-1;;;;;3570:38:0;;::::1;::::0;3591:6;::::1;::::0;3570:38:::1;::::0;::::1;3619:6;:17:::0;;-1:-1:-1;;;;;;3619:17:0::1;-1:-1:-1::0;;;;;3619:17:0;;;::::1;::::0;;;::::1;::::0;;3400:244::o;16186:337::-;-1:-1:-1;;;;;16279:19:0;;16271:68;;;;-1:-1:-1;;;16271:68:0;;4743:2:1;16271:68:0;;;4725:21:1;4782:2;4762:18;;;4755:30;4821:34;4801:18;;;4794:62;-1:-1:-1;;;4872:18:1;;;4865:34;4916:19;;16271:68:0;4541:400:1;16271:68:0;-1:-1:-1;;;;;16358:21:0;;16350:68;;;;-1:-1:-1;;;16350:68:0;;5148:2:1;16350:68:0;;;5130:21:1;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:1;;;5270:32;5319:19;;16350:68:0;4946:398:1;16350:68:0;-1:-1:-1;;;;;16431:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16483:32;;1361:25:1;;;16483:32:0;;1334:18:1;16483:32:0;;;;;;;16186:337;;;:::o;16531:398::-;16572:15;;-1:-1:-1;;;16572:15:0;;;;:22;;16589:5;16572:22;16569:353;;16632:11;;;;;;;;;-1:-1:-1;;;;;16632:11:0;-1:-1:-1;;;;;16632:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16614:48:0;;16671:4;16678:11;;;;;;;;;-1:-1:-1;;;;;16678:11:0;-1:-1:-1;;;;;16678:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16614:83;;-1:-1:-1;;;;;;16614:83:0;;;;;;;-1:-1:-1;;;;;5835:15:1;;;16614:83:0;;;5817:34:1;5887:15;;5867:18;;;5860:43;5752:18;;16614:83:0;;;;;;;;;;;;;;;;;;-1:-1:-1;16614:83:0;;;;;;;;-1:-1:-1;;16614:83:0;;;;;;;;;;;;:::i;:::-;;;16610:301;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16876:35;16531:398::o;16610:301::-;-1:-1:-1;;16531:398:0:o;16610:301::-;;16742:11;;;;;;;;;-1:-1:-1;;;;;16742:11:0;-1:-1:-1;;;;;16742:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16724:48:0;;16781:4;16788:11;;;;;;;;;-1:-1:-1;;;;;16788:11:0;-1:-1:-1;;;;;16788:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16724:83;;-1:-1:-1;;;;;;16724:83:0;;;;;;;-1:-1:-1;;;;;5835:15:1;;;16724:83:0;;;5817:34:1;5887:15;;5867:18;;;5860:43;5752:18;;16724:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16716:5;:91;;-1:-1:-1;;;;;;16826:20:0;-1:-1:-1;;;;;16716:91:0;;;;16826:20;;;;-1:-1:-1;;;16826:20:0;;;16610:301;16531:398::o;14755:858::-;14884:5;;14851:4;;-1:-1:-1;;;;;14884:18:0;;;:5;;:18;;;;:39;;-1:-1:-1;2947:7:0;2974:6;-1:-1:-1;;;;;14906:17:0;;;2974:6;;14906:17;;14884:39;:59;;;;-1:-1:-1;;;;;;14928:15:0;;;;;;:7;:15;;;;;;;;14927:16;14884:59;14880:134;;;14967:11;;;;:20;;:11;:20;14959:55;;;;-1:-1:-1;;;14959:55:0;;6116:2:1;14959:55:0;;;6098:21:1;6155:2;6135:18;;;6128:30;-1:-1:-1;;;6174:18:1;;;6167:52;6236:18;;14959:55:0;5914:346:1;14959:55:0;-1:-1:-1;;;;;15054:15:0;;15029:21;15054:15;;;:7;:15;;;;;;;;;:37;;-1:-1:-1;;;;;;15073:18:0;;;;;;:7;:18;;;;;;;;15054:37;15053:100;;15109:44;15122:6;15130:9;15141:11;15109:12;:44::i;:::-;15053:100;;;15095:11;15053:100;15029:124;;15167:51;15175:6;15182:9;15192:11;15204:13;15167:7;:51::i;:::-;:100;;;;;15222:45;15238:6;15245:9;15255:11;15222:15;:45::i;:::-;15167:143;;;;;15271:39;15281:6;15288:9;15298:11;15271:9;:39::i;:::-;15164:185;;;15333:4;15326:11;;;;;15164:185;-1:-1:-1;;;;;15369:20:0;;15361:71;;;;-1:-1:-1;;;15361:71:0;;6467:2:1;15361:71:0;;;6449:21:1;6506:2;6486:18;;;6479:30;6545:34;6525:18;;;6518:62;-1:-1:-1;;;6596:18:1;;;6589:36;6642:19;;15361:71:0;6265:402:1;15361:71:0;-1:-1:-1;;;;;15451:23:0;;15443:72;;;;-1:-1:-1;;;15443:72:0;;6874:2:1;15443:72:0;;;6856:21:1;6913:2;6893:18;;;6886:30;6952:34;6932:18;;;6925:62;-1:-1:-1;;;7003:18:1;;;6996:34;7047:19;;15443:72:0;6672:400:1;15443:72:0;15558:9;-1:-1:-1;;;;;15541:42:0;15550:6;-1:-1:-1;;;;;15541:42:0;;15569:13;15541:42;;;;1361:25:1;;1349:2;1334:18;;1215:177;15541:42:0;;;;;;;;-1:-1:-1;15601:4:0;;14755:858;-1:-1:-1;;;;14755:858:0:o;1416:192::-;1502:7;1538:12;1530:6;;;;1522:29;;;;-1:-1:-1;;;1522:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1562:9:0;1574:5;1578:1;1574;:5;:::i;:::-;1562:17;1416:192;-1:-1:-1;;;;;1416:192:0:o;1272:136::-;1330:7;1357:43;1361:1;1364;1357:43;;;;;;;;;;;;;;;;;:3;:43::i;1083:181::-;1141:7;;1173:5;1177:1;1173;:5;:::i;:::-;1161:17;;1202:1;1197;:6;;1189:46;;;;-1:-1:-1;;;1189:46:0;;7674:2:1;1189:46:0;;;7656:21:1;7713:2;7693:18;;;7686:30;7752:29;7732:18;;;7725:57;7799:18;;1189:46:0;7472:351:1;13056:607:0;13203:5;;13141:7;;;;-1:-1:-1;;;;;13203:15:0;;;:5;;:15;13200:193;;13249:29;13274:3;13249:20;13260:8;;13249:6;:10;;:20;;;;:::i;:::-;:24;;:29::i;:::-;13235:43;;13200:193;;;13309:5;;-1:-1:-1;;;;;13309:12:0;;;:5;;:12;13306:87;;13352:29;13377:3;13352:20;13363:8;;13352:6;:10;;:20;;;;:::i;:29::-;13338:43;;13306:87;13406:15;;13403:212;;-1:-1:-1;;;;;13502:11:0;13478:37;;;;;:15;:37;;;;;;:54;;13520:11;13478:41;:54::i;:::-;-1:-1:-1;;;;;13462:11:0;13438:37;;;;;;:15;:37;;;;;;;:94;;;;13552:51;;;;;;;;;;13591:11;1361:25:1;;1349:2;1334:18;;1215:177;13552:51:0;;;;;;;;13403:212;13632:23;:6;13643:11;13632:10;:23::i;15621:388::-;15725:4;15754:9;-1:-1:-1;;;;;15744:19:0;:6;-1:-1:-1;;;;;15744:19:0;;15741:224;;15805:59;;;;;;;;;;;-1:-1:-1;;;15805:59:0;;;;;;;;-1:-1:-1;;;;;15805:23:0;;-1:-1:-1;15805:23:0;;;:15;:23;;;;;;;;:59;;15833:6;;15805:27;:59::i;:::-;-1:-1:-1;;;;;15779:23:0;;;;;;;:15;:23;;;;;;:85;;;;15908:26;;;;;;;:43;;15939:11;15908:30;:43::i;:::-;-1:-1:-1;;;;;15879:26:0;;;;;;:15;:26;;;;;:72;15741:224;-1:-1:-1;;;;;;;;15982:19:0;;;;;;;15621:388::o;17587:165::-;17712:5;;17679:4;;-1:-1:-1;;;;;17702:15:0;;;17712:5;;17702:15;;;;:42;;-1:-1:-1;;;;;;17721:23:0;;17739:4;17721:23;;17702:42;17695:49;17587:165;-1:-1:-1;;;;17587:165:0:o;17760:227::-;17873:10;17846:4;17865:19;;;:7;:19;;;;;;;;17862:95;;;17907:38;17921:6;17928:9;17938:6;17907:13;:38::i;:::-;17900:45;;;;17862:95;-1:-1:-1;17974:5:0;17760:227;;;;;:::o;1616:250::-;1674:7;1698:1;1703;1698:6;1694:47;;-1:-1:-1;1728:1:0;1721:8;;1694:47;1753:9;1765:5;1769:1;1765;:5;:::i;:::-;1753:17;-1:-1:-1;1798:1:0;1789:5;1793:1;1753:17;1789:5;:::i;:::-;:10;1781:56;;;;-1:-1:-1;;;1781:56:0;;8425:2:1;1781:56:0;;;8407:21:1;8464:2;8444:18;;;8437:30;8503:34;8483:18;;;8476:62;-1:-1:-1;;;8554:18:1;;;8547:31;8595:19;;1781:56:0;8223:397:1;1874:132:0;1932:7;1959:39;1963:1;1966;1959:39;;;;;;;;;;;;;;;;;:3;:39::i;16937:214::-;-1:-1:-1;;;;;17071:26:0;;17027:4;17071:26;;;:15;:26;;;;;;:35;;17100:6;;17071:35;:::i;:::-;-1:-1:-1;;;;;17043:26:0;;;;;;;:15;:26;;;;;:63;;;;17124:19;;;;-1:-1:-1;16937:214:0;;;;;:::o;2014:191::-;2100:7;2135:12;2128:5;2120:28;;;;-1:-1:-1;;;2120:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2159:9:0;2171:5;2175:1;2171;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:248::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;-1:-1:-1;;2675:23:1;;;2745:2;2730:18;;;2717:32;;-1:-1:-1;2507:248:1:o;2995:388::-;3063:6;3071;3124:2;3112:9;3103:7;3099:23;3095:32;3092:52;;;3140:1;3137;3130:12;3092:52;3179:9;3166:23;3198:31;3223:5;3198:31;:::i;:::-;3248:5;-1:-1:-1;3305:2:1;3290:18;;3277:32;3318:33;3277:32;3318:33;:::i;:::-;3370:7;3360:17;;;2995:388;;;;;:::o;3388:380::-;3467:1;3463:12;;;;3510;;;3531:61;;3585:4;3577:6;3573:17;3563:27;;3531:61;3638:2;3630:6;3627:14;3607:18;3604:38;3601:161;;3684:10;3679:3;3675:20;3672:1;3665:31;3719:4;3716:1;3709:15;3747:4;3744:1;3737:15;3601:161;;3388:380;;;:::o;3773:356::-;3975:2;3957:21;;;3994:18;;;3987:30;4053:34;4048:2;4033:18;;4026:62;4120:2;4105:18;;3773:356::o;5349:251::-;5419:6;5472:2;5460:9;5451:7;5447:23;5443:32;5440:52;;;5488:1;5485;5478:12;5440:52;5520:9;5514:16;5539:31;5564:5;5539:31;:::i;7077:127::-;7138:10;7133:3;7129:20;7126:1;7119:31;7169:4;7166:1;7159:15;7193:4;7190:1;7183:15;7209:128;7276:9;;;7297:11;;;7294:37;;;7311:18;;:::i;7342:125::-;7407:9;;;7428:10;;;7425:36;;;7441:18;;:::i;7828:168::-;7868:7;7934:1;7930;7926:6;7922:14;7919:1;7916:21;7911:1;7904:9;7897:17;7893:45;7890:71;;;7941:18;;:::i;:::-;-1:-1:-1;7981:9:1;;7828:168::o;8001:217::-;8041:1;8067;8057:132;;8111:10;8106:3;8102:20;8099:1;8092:31;8146:4;8143:1;8136:15;8174:4;8171:1;8164:15;8057:132;-1:-1:-1;8203:9:1;;8001:217::o

Swarm Source

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