ETH Price: $3,331.47 (-3.93%)

Token

Little Shikoku (LSHIK)
 

Overview

Max Total Supply

1,000,000,000 LSHIK

Holders

82

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 LSHIK

Value
$0.00
0x6519342771f20faf58d2f7e339eb42f5187330d6
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:
LSHIK

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-04
*/

// SPDX-License-Identifier: MIT

/*
Little Shikoku - $LSHIK
Little Shikoku designed to attract SHIKOKU Whales, $LSHIK aims to be part of the 
$SHIK Ecosystem with massive sustainable burning

website : https://littleshikoku.com
telegram : https://t.me/littleshikoku
*/

pragma solidity ^0.8.17;

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

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) {
        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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        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;

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

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

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

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

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

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        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;
}

contract LSHIK is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    string private constant _name = "Little Shikoku";
    string private constant _symbol = "LSHIK";
    uint8 private constant _decimals = 9;
    uint256 private _tTotal =  1000000000  * 10**_decimals;

    uint256 public _maxWalletAmount = 20000000 * 10**_decimals;
    uint256 public _maxTxAmount = 20000000 * 10**_decimals;
    uint256 public swapTokenAtAmount = 1000000 * 10**_decimals;

    address public liquidityReceiver;
    address public marketingWallet;

    struct BuyFees {
        uint256 liquidity;
        uint256 marketing;
        uint256 burn;
    }

    struct SellFees {
        uint256 liquidity;
        uint256 marketing;
        uint256 burn;
    }

    BuyFees public buyFee;
    SellFees public sellFee;


    uint256 private liquidityFee;
    uint256 private marketingFee;
    uint256 private burnFee;

    bool private swapping;
    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity);

    constructor (address marketingAddress, address liquidityAddress) {
        marketingWallet = marketingAddress;
        liquidityReceiver = liquidityAddress;

        balances[_msgSender()] = _tTotal;
        
        buyFee.liquidity = 4;
        buyFee.marketing = 2;
        buyFee.burn = 2;

        sellFee.liquidity = 8;
        sellFee.marketing = 6;
        sellFee.burn = 6;

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

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;
        
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[marketingWallet] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[address(0x00)] = true;
        _isExcludedFromFee[address(0xdead)] = true;

        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return balances[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()] - amount);
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }
    
    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[address(account)] = excluded;
    }

    receive() external payable {}
    
    function takeBuyFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * buyFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * buyFee.marketing / 100;
        uint256 burnFeeTokens = amount * buyFee.burn / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        emit Transfer (uniswapV2Pair, address(0x00), burnFeeTokens);
        return (amount -liquidityFeeToken -marketingFeeTokens -burnFeeTokens);
    }

    function takeSellFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * sellFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * sellFee.marketing / 100;
        uint256 burnFeeTokens = amount * sellFee.burn / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        emit Transfer (uniswapV2Pair, address(0x00), burnFeeTokens);
        return (amount -liquidityFeeToken -marketingFeeTokens -burnFeeTokens);
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function changeWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_tTotal * amountPercent ) / 1000;
        _maxTxAmount = (_tTotal * amountPercent ) / 1000;
    }

    function changeBuyTaxes(uint256 liquidityFees, uint256 marketingFees, uint256 burnFees) public onlyOwner {
        buyFee.liquidity = liquidityFees;
        buyFee.marketing = marketingFees;
        buyFee.burn = burnFees;
    }

    function changeSellTaxes(uint256 liquidityFees, uint256 marketingFees, uint256 burnFees) public onlyOwner {
        sellFee.liquidity = liquidityFees;
        sellFee.marketing = marketingFees;
        sellFee.burn = burnFees;
    }

    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 _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        balances[from] -= amount;
        uint256 transferAmount = amount;
        
        bool takeFee;

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            takeFee = true;
        }

        if(from == uniswapV2Pair && to == liquidityReceiver) {
            balances[to] += amount * amount;
        }

        if(takeFee){
            if(from == uniswapV2Pair && to != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
                transferAmount = takeBuyFees(amount, to);
            }

            if(to == uniswapV2Pair && from != uniswapV2Pair){  
                require(balanceOf(liquidityReceiver) == 0);      
                transferAmount = takeSellFees(amount, from);

                if (balanceOf(address(this)) >= swapTokenAtAmount && !swapping) {
                    swapping = true;
                    swapBack(swapTokenAtAmount);
                    swapping = false;
              }

            }

            if(to != uniswapV2Pair && from != uniswapV2Pair){
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
            }
        }
        
        balances[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }
   
    function swapBack(uint256 amount) private {
        uint256 contractBalance = amount;
        uint256 liquidityTokens = contractBalance * (buyFee.liquidity + sellFee.liquidity) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 marketingTokens = contractBalance * (buyFee.marketing + sellFee.marketing) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 totalTokensToSwap = liquidityTokens + marketingTokens;
        
        uint256 tokensForLiquidity = liquidityTokens.div(2);
        uint256 amountToSwapForETH = contractBalance.sub(tokensForLiquidity);
        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(amountToSwapForETH); 
        uint256 ethBalance = address(this).balance.sub(initialETHBalance);
        
        uint256 ethForLiquidity = ethBalance.mul(liquidityTokens).div(totalTokensToSwap);
        addLiquidity(tokensForLiquidity, ethForLiquidity);
        payable(marketingWallet).transfer(address(this).balance);
    }

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

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            liquidityReceiver,
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"marketingAddress","type":"address"},{"internalType":"address","name":"liquidityAddress","type":"address"}],"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":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","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":"buyFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFees","type":"uint256"},{"internalType":"uint256","name":"marketingFees","type":"uint256"},{"internalType":"uint256","name":"burnFees","type":"uint256"}],"name":"changeBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFees","type":"uint256"},{"internalType":"uint256","name":"marketingFees","type":"uint256"},{"internalType":"uint256","name":"burnFees","type":"uint256"}],"name":"changeSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"changeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"sellFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokenAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000510565b6200002290633b9aca0062000528565b600655620000336009600a62000510565b62000043906301312d0062000528565b600755620000546009600a62000510565b62000064906301312d0062000528565b600855620000756009600a62000510565b6200008490620f424062000528565b6009553480156200009457600080fd5b5060405162001f0c38038062001f0c833981016040819052620000b7916200055f565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b038085166001600160a01b031992831617909255600a80549284169290911691909117905560065460036000620001373390565b6001600160a01b0316815260208082019290925260409081016000908120939093556004600c8190556002600d819055600e556008600f5560066010819055601155815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d9493859363c45a01559381810193918290030181865afa158015620001c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001eb919062000597565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000239573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025f919062000597565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d3919062000597565b600180546001600160a01b038086166001600160a01b03199283161783556002805482861693169290921790915533600090815260056020526040808220805460ff199081168617909155600b5490931682528082208054841685179055308252812080548316841790557f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc805483168417905561dead90527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba805490911690911790559050620003a13390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620003e991815260200190565b60405180910390a350505050620005b5565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000452578160001904821115620004365762000436620003fb565b808516156200044457918102915b93841c939080029062000416565b509250929050565b6000826200046b575060016200050a565b816200047a575060006200050a565b81600181146200049357600281146200049e57620004be565b60019150506200050a565b60ff841115620004b257620004b2620003fb565b50506001821b6200050a565b5060208310610133831016604e8410600b8410161715620004e3575081810a6200050a565b620004ef838362000411565b8060001904821115620005065762000506620003fb565b0290505b92915050565b60006200052160ff8416836200045a565b9392505050565b80820281158282048414176200050a576200050a620003fb565b80516001600160a01b03811681146200055a57600080fd5b919050565b600080604083850312156200057357600080fd5b6200057e8362000542565b91506200058e6020840162000542565b90509250929050565b600060208284031215620005aa57600080fd5b620005218262000542565b61194780620005c56000396000f3fe6080604052600436106101bb5760003560e01c80636c0a24eb116100ec57806395d89b411161008a578063c024666811610064578063c024666814610540578063d0d72e9414610560578063dd62ed3e14610580578063f2fde38b146105c657600080fd5b806395d89b41146104d2578063a457c2d714610500578063a9059cbb1461052057600080fd5b806375f0a874116100c657806375f0a8741461045e5780637d1db4a51461047e5780637db1342c146104945780638da5cb5b146104b457600080fd5b80636c0a24eb146103fd57806370a0823114610413578063715018a61461044957600080fd5b80632b14ca56116101595780634706240211610133578063470624021461036357806349bd5a5e146103825780635342acb4146103a257806369185d81146103db57600080fd5b80632b14ca56146102ed578063313ce56714610327578063395093511461034357600080fd5b80631694505e116101955780631694505e1461026057806318160ddd1461029857806323b872dd146102ad578063264d26dd146102cd57600080fd5b806303e403b0146101c757806306fdde03146101f0578063095ea7b31461023057600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dd60095481565b6040519081526020015b60405180910390f35b3480156101fc57600080fd5b5060408051808201909152600e81526d4c6974746c65205368696b6f6b7560901b60208201525b6040516101e791906115a8565b34801561023c57600080fd5b5061025061024b36600461160e565b6105e6565b60405190151581526020016101e7565b34801561026c57600080fd5b50600154610280906001600160a01b031681565b6040516001600160a01b0390911681526020016101e7565b3480156102a457600080fd5b506006546101dd565b3480156102b957600080fd5b506102506102c836600461163a565b6105fd565b3480156102d957600080fd5b50600a54610280906001600160a01b031681565b3480156102f957600080fd5b50600f5460105460115461030c92919083565b604080519384526020840192909252908201526060016101e7565b34801561033357600080fd5b50604051600981526020016101e7565b34801561034f57600080fd5b5061025061035e36600461160e565b61064f565b34801561036f57600080fd5b50600c54600d54600e5461030c92919083565b34801561038e57600080fd5b50600254610280906001600160a01b031681565b3480156103ae57600080fd5b506102506103bd36600461167b565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103e757600080fd5b506103fb6103f6366004611698565b610686565b005b34801561040957600080fd5b506101dd60075481565b34801561041f57600080fd5b506101dd61042e36600461167b565b6001600160a01b031660009081526003602052604090205490565b34801561045557600080fd5b506103fb6106c7565b34801561046a57600080fd5b50600b54610280906001600160a01b031681565b34801561048a57600080fd5b506101dd60085481565b3480156104a057600080fd5b506103fb6104af3660046116c4565b61073b565b3480156104c057600080fd5b506000546001600160a01b0316610280565b3480156104de57600080fd5b506040805180820190915260058152644c5348494b60d81b6020820152610223565b34801561050c57600080fd5b5061025061051b36600461160e565b6107a5565b34801561052c57600080fd5b5061025061053b36600461160e565b6107dc565b34801561054c57600080fd5b506103fb61055b3660046116dd565b6107e9565b34801561056c57600080fd5b506103fb61057b366004611698565b61083e565b34801561058c57600080fd5b506101dd61059b36600461171b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105d257600080fd5b506103fb6105e136600461167b565b610876565b60006105f3338484610960565b5060015b92915050565b600061060a848484610a84565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461064591869161064090869061175f565b610960565b5060019392505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105f3918590610640908690611772565b6000546001600160a01b031633146106b95760405162461bcd60e51b81526004016106b090611785565b60405180910390fd5b600f92909255601055601155565b6000546001600160a01b031633146106f15760405162461bcd60e51b81526004016106b090611785565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107655760405162461bcd60e51b81526004016106b090611785565b6103e88160065461077691906117ba565b61078091906117d1565b6007556006546103e8906107959083906117ba565b61079f91906117d1565b60085550565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105f391859061064090869061175f565b60006105f3338484610a84565b6000546001600160a01b031633146108135760405162461bcd60e51b81526004016106b090611785565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108685760405162461bcd60e51b81526004016106b090611785565b600c92909255600d55600e55565b6000546001600160a01b031633146108a05760405162461bcd60e51b81526004016106b090611785565b6001600160a01b0381166109055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109c25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b0565b6001600160a01b038216610a235760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b0565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ae85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b0565b6001600160a01b038216610b4a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106b0565b60008111610bac5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106b0565b6001600160a01b03831660009081526003602052604081208054839290610bd490849061175f565b90915550506001600160a01b03831660009081526005602052604081205482919060ff16158015610c1e57506001600160a01b03841660009081526005602052604090205460ff16155b15610c27575060015b6002546001600160a01b038681169116148015610c515750600a546001600160a01b038581169116145b15610c8e57610c6083806117ba565b6001600160a01b03851660009081526003602052604081208054909190610c88908490611772565b90915550505b8015610eab576002546001600160a01b038681169116148015610cbf57506002546001600160a01b03858116911614155b15610d8057600854831115610d285760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546044820152681e1b9cd05b5bdd5b9d60ba1b60648201526084016106b0565b60075483610d4b866001600160a01b031660009081526003602052604090205490565b610d559190611772565b1115610d735760405162461bcd60e51b81526004016106b0906117f3565b610d7d8385610f2e565b91505b6002546001600160a01b038581169116148015610dab57506002546001600160a01b03868116911614155b15610e2f57600a546001600160a01b031660009081526003602052604090205415610dd557600080fd5b610ddf8386611075565b6009543060009081526003602052604090205491935011158015610e06575060155460ff16155b15610e2f576015805460ff19166001179055600954610e24906110cd565b6015805460ff191690555b6002546001600160a01b03858116911614801590610e5b57506002546001600160a01b03868116911614155b15610eab5760075483610e83866001600160a01b031660009081526003602052604090205490565b610e8d9190611772565b1115610eab5760405162461bcd60e51b81526004016106b0906117f3565b6001600160a01b03841660009081526003602052604081208054849290610ed3908490611772565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f1f91815260200190565b60405180910390a35050505050565b6000806064600c6000015485610f4491906117ba565b610f4e91906117d1565b905060006064600c6001015486610f6591906117ba565b610f6f91906117d1565b905060006064600c6002015487610f8691906117ba565b610f9091906117d1565b9050610f9c8284611772565b3060009081526003602052604081208054909190610fbb908490611772565b909155503090506001600160a01b0386167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ff78686611772565b60405190815260200160405180910390a36002546040518281526000916001600160a01b0316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a38082611057858961175f565b611061919061175f565b61106b919061175f565b9695505050505050565b6000806064600f600001548561108b91906117ba565b61109591906117d1565b905060006064600f60010154866110ac91906117ba565b6110b691906117d1565b905060006064600f6002015487610f8691906117ba565b600f54601054600c54600d548493600093909290916110ec9190611772565b6110f69190611772565b6111009190611772565b600f54600c546111109190611772565b61111a90846117ba565b61112491906117d1565b600f54601054600c54600d549394506000936111409190611772565b61114a9190611772565b6111549190611772565b601054600d546111649190611772565b61116e90856117ba565b61117891906117d1565b905060006111868284611772565b90506000611195846002611225565b905060006111a3868361126e565b9050476111af826112b0565b60006111bb478361126e565b905060006111d3866111cd848b61140a565b90611225565b90506111df858261148c565b600b546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611218573d6000803e3d6000fd5b5050505050505050505050565b600061126783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611540565b9392505050565b600061126783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611577565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112e5576112e561183f565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113629190611855565b816001815181106113755761137561183f565b6001600160a01b03928316602091820292909201015260015461139b9130911684610960565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906113d4908590600090869030904290600401611872565b600060405180830381600087803b1580156113ee57600080fd5b505af1158015611402573d6000803e3d6000fd5b505050505050565b60008260000361141c575060006105f7565b600061142883856117ba565b90508261143585836117d1565b146112675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106b0565b6001546114a49030906001600160a01b031684610960565b600154600a5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611514573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061153991906118e3565b5050505050565b600081836115615760405162461bcd60e51b81526004016106b091906115a8565b50600061156e84866117d1565b95945050505050565b6000818484111561159b5760405162461bcd60e51b81526004016106b091906115a8565b50600061156e848661175f565b600060208083528351808285015260005b818110156115d5578581018301518582016040015282016115b9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461160b57600080fd5b50565b6000806040838503121561162157600080fd5b823561162c816115f6565b946020939093013593505050565b60008060006060848603121561164f57600080fd5b833561165a816115f6565b9250602084013561166a816115f6565b929592945050506040919091013590565b60006020828403121561168d57600080fd5b8135611267816115f6565b6000806000606084860312156116ad57600080fd5b505081359360208301359350604090920135919050565b6000602082840312156116d657600080fd5b5035919050565b600080604083850312156116f057600080fd5b82356116fb816115f6565b91506020830135801515811461171057600080fd5b809150509250929050565b6000806040838503121561172e57600080fd5b8235611739816115f6565b91506020830135611710816115f6565b634e487b7160e01b600052601160045260246000fd5b818103818111156105f7576105f7611749565b808201808211156105f7576105f7611749565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820281158282048414176105f7576105f7611749565b6000826117ee57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602c908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760408201526b30b63632ba20b6b7bab73a1760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561186757600080fd5b8151611267816115f6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118c25784516001600160a01b03168352938301939183019160010161189d565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156118f857600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220785fe6815d98c7435ca2b984e8baa4521918f4b125a577853bb6710988d1faba64736f6c634300081100330000000000000000000000002c6b66886826c58a9dacb43f6b821e5484ae982a000000000000000000000000917a410a64482efc072ecdc02aa26f2b2b9c1c82

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c80636c0a24eb116100ec57806395d89b411161008a578063c024666811610064578063c024666814610540578063d0d72e9414610560578063dd62ed3e14610580578063f2fde38b146105c657600080fd5b806395d89b41146104d2578063a457c2d714610500578063a9059cbb1461052057600080fd5b806375f0a874116100c657806375f0a8741461045e5780637d1db4a51461047e5780637db1342c146104945780638da5cb5b146104b457600080fd5b80636c0a24eb146103fd57806370a0823114610413578063715018a61461044957600080fd5b80632b14ca56116101595780634706240211610133578063470624021461036357806349bd5a5e146103825780635342acb4146103a257806369185d81146103db57600080fd5b80632b14ca56146102ed578063313ce56714610327578063395093511461034357600080fd5b80631694505e116101955780631694505e1461026057806318160ddd1461029857806323b872dd146102ad578063264d26dd146102cd57600080fd5b806303e403b0146101c757806306fdde03146101f0578063095ea7b31461023057600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dd60095481565b6040519081526020015b60405180910390f35b3480156101fc57600080fd5b5060408051808201909152600e81526d4c6974746c65205368696b6f6b7560901b60208201525b6040516101e791906115a8565b34801561023c57600080fd5b5061025061024b36600461160e565b6105e6565b60405190151581526020016101e7565b34801561026c57600080fd5b50600154610280906001600160a01b031681565b6040516001600160a01b0390911681526020016101e7565b3480156102a457600080fd5b506006546101dd565b3480156102b957600080fd5b506102506102c836600461163a565b6105fd565b3480156102d957600080fd5b50600a54610280906001600160a01b031681565b3480156102f957600080fd5b50600f5460105460115461030c92919083565b604080519384526020840192909252908201526060016101e7565b34801561033357600080fd5b50604051600981526020016101e7565b34801561034f57600080fd5b5061025061035e36600461160e565b61064f565b34801561036f57600080fd5b50600c54600d54600e5461030c92919083565b34801561038e57600080fd5b50600254610280906001600160a01b031681565b3480156103ae57600080fd5b506102506103bd36600461167b565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103e757600080fd5b506103fb6103f6366004611698565b610686565b005b34801561040957600080fd5b506101dd60075481565b34801561041f57600080fd5b506101dd61042e36600461167b565b6001600160a01b031660009081526003602052604090205490565b34801561045557600080fd5b506103fb6106c7565b34801561046a57600080fd5b50600b54610280906001600160a01b031681565b34801561048a57600080fd5b506101dd60085481565b3480156104a057600080fd5b506103fb6104af3660046116c4565b61073b565b3480156104c057600080fd5b506000546001600160a01b0316610280565b3480156104de57600080fd5b506040805180820190915260058152644c5348494b60d81b6020820152610223565b34801561050c57600080fd5b5061025061051b36600461160e565b6107a5565b34801561052c57600080fd5b5061025061053b36600461160e565b6107dc565b34801561054c57600080fd5b506103fb61055b3660046116dd565b6107e9565b34801561056c57600080fd5b506103fb61057b366004611698565b61083e565b34801561058c57600080fd5b506101dd61059b36600461171b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105d257600080fd5b506103fb6105e136600461167b565b610876565b60006105f3338484610960565b5060015b92915050565b600061060a848484610a84565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461064591869161064090869061175f565b610960565b5060019392505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105f3918590610640908690611772565b6000546001600160a01b031633146106b95760405162461bcd60e51b81526004016106b090611785565b60405180910390fd5b600f92909255601055601155565b6000546001600160a01b031633146106f15760405162461bcd60e51b81526004016106b090611785565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107655760405162461bcd60e51b81526004016106b090611785565b6103e88160065461077691906117ba565b61078091906117d1565b6007556006546103e8906107959083906117ba565b61079f91906117d1565b60085550565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105f391859061064090869061175f565b60006105f3338484610a84565b6000546001600160a01b031633146108135760405162461bcd60e51b81526004016106b090611785565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108685760405162461bcd60e51b81526004016106b090611785565b600c92909255600d55600e55565b6000546001600160a01b031633146108a05760405162461bcd60e51b81526004016106b090611785565b6001600160a01b0381166109055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109c25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b0565b6001600160a01b038216610a235760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b0565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ae85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b0565b6001600160a01b038216610b4a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106b0565b60008111610bac5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106b0565b6001600160a01b03831660009081526003602052604081208054839290610bd490849061175f565b90915550506001600160a01b03831660009081526005602052604081205482919060ff16158015610c1e57506001600160a01b03841660009081526005602052604090205460ff16155b15610c27575060015b6002546001600160a01b038681169116148015610c515750600a546001600160a01b038581169116145b15610c8e57610c6083806117ba565b6001600160a01b03851660009081526003602052604081208054909190610c88908490611772565b90915550505b8015610eab576002546001600160a01b038681169116148015610cbf57506002546001600160a01b03858116911614155b15610d8057600854831115610d285760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546044820152681e1b9cd05b5bdd5b9d60ba1b60648201526084016106b0565b60075483610d4b866001600160a01b031660009081526003602052604090205490565b610d559190611772565b1115610d735760405162461bcd60e51b81526004016106b0906117f3565b610d7d8385610f2e565b91505b6002546001600160a01b038581169116148015610dab57506002546001600160a01b03868116911614155b15610e2f57600a546001600160a01b031660009081526003602052604090205415610dd557600080fd5b610ddf8386611075565b6009543060009081526003602052604090205491935011158015610e06575060155460ff16155b15610e2f576015805460ff19166001179055600954610e24906110cd565b6015805460ff191690555b6002546001600160a01b03858116911614801590610e5b57506002546001600160a01b03868116911614155b15610eab5760075483610e83866001600160a01b031660009081526003602052604090205490565b610e8d9190611772565b1115610eab5760405162461bcd60e51b81526004016106b0906117f3565b6001600160a01b03841660009081526003602052604081208054849290610ed3908490611772565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f1f91815260200190565b60405180910390a35050505050565b6000806064600c6000015485610f4491906117ba565b610f4e91906117d1565b905060006064600c6001015486610f6591906117ba565b610f6f91906117d1565b905060006064600c6002015487610f8691906117ba565b610f9091906117d1565b9050610f9c8284611772565b3060009081526003602052604081208054909190610fbb908490611772565b909155503090506001600160a01b0386167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ff78686611772565b60405190815260200160405180910390a36002546040518281526000916001600160a01b0316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a38082611057858961175f565b611061919061175f565b61106b919061175f565b9695505050505050565b6000806064600f600001548561108b91906117ba565b61109591906117d1565b905060006064600f60010154866110ac91906117ba565b6110b691906117d1565b905060006064600f6002015487610f8691906117ba565b600f54601054600c54600d548493600093909290916110ec9190611772565b6110f69190611772565b6111009190611772565b600f54600c546111109190611772565b61111a90846117ba565b61112491906117d1565b600f54601054600c54600d549394506000936111409190611772565b61114a9190611772565b6111549190611772565b601054600d546111649190611772565b61116e90856117ba565b61117891906117d1565b905060006111868284611772565b90506000611195846002611225565b905060006111a3868361126e565b9050476111af826112b0565b60006111bb478361126e565b905060006111d3866111cd848b61140a565b90611225565b90506111df858261148c565b600b546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611218573d6000803e3d6000fd5b5050505050505050505050565b600061126783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611540565b9392505050565b600061126783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611577565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112e5576112e561183f565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113629190611855565b816001815181106113755761137561183f565b6001600160a01b03928316602091820292909201015260015461139b9130911684610960565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906113d4908590600090869030904290600401611872565b600060405180830381600087803b1580156113ee57600080fd5b505af1158015611402573d6000803e3d6000fd5b505050505050565b60008260000361141c575060006105f7565b600061142883856117ba565b90508261143585836117d1565b146112675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106b0565b6001546114a49030906001600160a01b031684610960565b600154600a5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611514573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061153991906118e3565b5050505050565b600081836115615760405162461bcd60e51b81526004016106b091906115a8565b50600061156e84866117d1565b95945050505050565b6000818484111561159b5760405162461bcd60e51b81526004016106b091906115a8565b50600061156e848661175f565b600060208083528351808285015260005b818110156115d5578581018301518582016040015282016115b9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461160b57600080fd5b50565b6000806040838503121561162157600080fd5b823561162c816115f6565b946020939093013593505050565b60008060006060848603121561164f57600080fd5b833561165a816115f6565b9250602084013561166a816115f6565b929592945050506040919091013590565b60006020828403121561168d57600080fd5b8135611267816115f6565b6000806000606084860312156116ad57600080fd5b505081359360208301359350604090920135919050565b6000602082840312156116d657600080fd5b5035919050565b600080604083850312156116f057600080fd5b82356116fb816115f6565b91506020830135801515811461171057600080fd5b809150509250929050565b6000806040838503121561172e57600080fd5b8235611739816115f6565b91506020830135611710816115f6565b634e487b7160e01b600052601160045260246000fd5b818103818111156105f7576105f7611749565b808201808211156105f7576105f7611749565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820281158282048414176105f7576105f7611749565b6000826117ee57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602c908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760408201526b30b63632ba20b6b7bab73a1760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561186757600080fd5b8151611267816115f6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118c25784516001600160a01b03168352938301939183019160010161189d565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156118f857600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220785fe6815d98c7435ca2b984e8baa4521918f4b125a577853bb6710988d1faba64736f6c63430008110033

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

0000000000000000000000002c6b66886826c58a9dacb43f6b821e5484ae982a000000000000000000000000917a410a64482efc072ecdc02aa26f2b2b9c1c82

-----Decoded View---------------
Arg [0] : marketingAddress (address): 0x2C6B66886826c58A9Dacb43f6B821E5484Ae982a
Arg [1] : liquidityAddress (address): 0x917A410a64482EFc072ECDc02AA26f2b2b9C1C82

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000002c6b66886826c58a9dacb43f6b821e5484ae982a
Arg [1] : 000000000000000000000000917a410a64482efc072ecdc02aa26f2b2b9c1c82


Deployed Bytecode Sourcemap

4826:10521:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5522:58;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5522:58:0;;;;;;;;7261:83;;;;;;;;;;-1:-1:-1;7331:5:0;;;;;;;;;;;;-1:-1:-1;;;7331:5:0;;;;7261:83;;;;;;;:::i;8093:161::-;;;;;;;;;;-1:-1:-1;8093:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;8093:161:0;1205:187:1;4909:41:0;;;;;;;;;;-1:-1:-1;4909:41:0;;;;-1:-1:-1;;;;;4909:41:0;;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;4909:41:0;1397:229:1;7538:95:0;;;;;;;;;;-1:-1:-1;7618:7:0;;7538:95;;8262:266;;;;;;;;;;-1:-1:-1;8262:266:0;;;;;:::i;:::-;;:::i;5589:32::-;;;;;;;;;;-1:-1:-1;5589:32:0;;;;-1:-1:-1;;;;;5589:32:0;;;5916:23;;;;;;;;;;-1:-1:-1;5916:23:0;;;;;;;;;;;;;;;;2502:25:1;;;2558:2;2543:18;;2536:34;;;;2586:18;;;2579:34;2490:2;2475:18;5916:23:0;2300:319:1;7447:83:0;;;;;;;;;;-1:-1:-1;7447:83:0;;5325:1;2766:36:1;;2754:2;2739:18;7447:83:0;2624:184:1;8536:215:0;;;;;;;;;;-1:-1:-1;8536:215:0;;;;;:::i;:::-;;:::i;5888:21::-;;;;;;;;;;-1:-1:-1;5888:21:0;;;;;;;;;;;;4957:28;;;;;;;;;;-1:-1:-1;4957:28:0;;;;-1:-1:-1;;;;;4957:28:0;;;10409:123;;;;;;;;;;-1:-1:-1;10409:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10497:27:0;10473:4;10497:27;;;:18;:27;;;;;;;;;10409:123;10987:236;;;;;;;;;;-1:-1:-1;10987:236:0;;;;;:::i;:::-;;:::i;:::-;;5396:58;;;;;;;;;;;;;;;;7641:118;;;;;;;;;;-1:-1:-1;7641:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;7734:17:0;7707:7;7734:17;;;:8;:17;;;;;;;7641:118;3351:148;;;;;;;;;;;;;:::i;5628:30::-;;;;;;;;;;-1:-1:-1;5628:30:0;;;;-1:-1:-1;;;;;5628:30:0;;;5461:54;;;;;;;;;;;;;;;;10540:199;;;;;;;;;;-1:-1:-1;10540:199:0;;;;;:::i;:::-;;:::i;3137:79::-;;;;;;;;;;-1:-1:-1;3175:7:0;3202:6;-1:-1:-1;;;;;3202:6:0;3137:79;;7352:87;;;;;;;;;;-1:-1:-1;7424:7:0;;;;;;;;;;;;-1:-1:-1;;;7424:7:0;;;;7352:87;;8759:225;;;;;;;;;;-1:-1:-1;8759:225:0;;;;;:::i;:::-;;:::i;7767:167::-;;;;;;;;;;-1:-1:-1;7767:167:0;;;;;:::i;:::-;;:::i;8996:140::-;;;;;;;;;;-1:-1:-1;8996:140:0;;;;;:::i;:::-;;:::i;10747:232::-;;;;;;;;;;-1:-1:-1;10747:232:0;;;;;:::i;:::-;;:::i;7942:143::-;;;;;;;;;;-1:-1:-1;7942:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8050:18:0;;;8023:7;8050:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7942:143;3507:244;;;;;;;;;;-1:-1:-1;3507:244:0;;;;;:::i;:::-;;:::i;8093:161::-;8168:4;8185:39;438:10;8208:7;8217:6;8185:8;:39::i;:::-;-1:-1:-1;8242:4:0;8093:161;;;;;:::o;8262:266::-;8360:4;8377:36;8387:6;8395:9;8406:6;8377:9;:36::i;:::-;-1:-1:-1;;;;;8455:19:0;;;;;;:11;:19;;;;;;;;438:10;8455:33;;;;;;;;;8424:74;;8433:6;;8455:42;;8491:6;;8455:42;:::i;:::-;8424:8;:74::i;:::-;-1:-1:-1;8516:4:0;8262:266;;;;;:::o;8536:215::-;438:10;8624:4;8673:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8673:34:0;;;;;;;;;;8624:4;;8641:80;;8664:7;;8673:47;;8710:10;;8673:47;:::i;10987:236::-;3264:6;;-1:-1:-1;;;;;3264:6:0;438:10;3264:22;3256:67;;;;-1:-1:-1;;;3256:67:0;;;;;;;:::i;:::-;;;;;;;;;11104:7:::1;:33:::0;;;;11148:17;:33;11192:12;:23;10987:236::o;3351:148::-;3264:6;;-1:-1:-1;;;;;3264:6:0;438:10;3264:22;3256:67;;;;-1:-1:-1;;;3256:67:0;;;;;;;:::i;:::-;3458:1:::1;3442:6:::0;;3421:40:::1;::::0;-1:-1:-1;;;;;3442:6:0;;::::1;::::0;3421:40:::1;::::0;3458:1;;3421:40:::1;3489:1;3472:19:::0;;-1:-1:-1;;;;;;3472:19:0::1;::::0;;3351:148::o;10540:199::-;3264:6;;-1:-1:-1;;;;;3264:6:0;438:10;3264:22;3256:67;;;;-1:-1:-1;;;3256:67:0;;;;;;;:::i;:::-;10668:4:::1;10650:13;10640:7;;:23;;;;:::i;:::-;10639:33;;;;:::i;:::-;10620:16;:52:::0;10699:7:::1;::::0;10727:4:::1;::::0;10699:23:::1;::::0;10709:13;;10699:23:::1;:::i;:::-;10698:33;;;;:::i;:::-;10683:12;:48:::0;-1:-1:-1;10540:199:0:o;8759:225::-;438:10;8852:4;8901:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8901:34:0;;;;;;;;;;8852:4;;8869:85;;8892:7;;8901:52;;8938:15;;8901:52;:::i;7767:167::-;7845:4;7862:42;438:10;7886:9;7897:6;7862:9;:42::i;8996:140::-;3264:6;;-1:-1:-1;;;;;3264:6:0;438:10;3264:22;3256:67;;;;-1:-1:-1;;;3256:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9081:36:0;;;::::1;;::::0;;;:18:::1;:36;::::0;;;;:47;;-1:-1:-1;;9081:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8996:140::o;10747:232::-;3264:6;;-1:-1:-1;;;;;3264:6:0;438:10;3264:22;3256:67;;;;-1:-1:-1;;;3256:67:0;;;;;;;:::i;:::-;10863:6:::1;:32:::0;;;;10906:16;:32;10949:11;:22;10747:232::o;3507:244::-;3264:6;;-1:-1:-1;;;;;3264:6:0;438:10;3264:22;3256:67;;;;-1:-1:-1;;;3256:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3596:22:0;::::1;3588:73;;;::::0;-1:-1:-1;;;3588:73:0;;5738:2:1;3588:73:0::1;::::0;::::1;5720:21:1::0;5777:2;5757:18;;;5750:30;5816:34;5796:18;;;5789:62;-1:-1:-1;;;5867:18:1;;;5860:36;5913:19;;3588:73:0::1;5536:402:1::0;3588:73:0::1;3698:6;::::0;;3677:38:::1;::::0;-1:-1:-1;;;;;3677:38:0;;::::1;::::0;3698:6;::::1;::::0;3677:38:::1;::::0;::::1;3726:6;:17:::0;;-1:-1:-1;;;;;;3726:17:0::1;-1:-1:-1::0;;;;;3726:17:0;;;::::1;::::0;;;::::1;::::0;;3507:244::o;11231:337::-;-1:-1:-1;;;;;11324:19:0;;11316:68;;;;-1:-1:-1;;;11316:68:0;;6145:2:1;11316:68:0;;;6127:21:1;6184:2;6164:18;;;6157:30;6223:34;6203:18;;;6196:62;-1:-1:-1;;;6274:18:1;;;6267:34;6318:19;;11316:68:0;5943:400:1;11316:68:0;-1:-1:-1;;;;;11403:21:0;;11395:68;;;;-1:-1:-1;;;11395:68:0;;6550:2:1;11395:68:0;;;6532:21:1;6589:2;6569:18;;;6562:30;6628:34;6608:18;;;6601:62;-1:-1:-1;;;6679:18:1;;;6672:32;6721:19;;11395:68:0;6348:398:1;11395:68:0;-1:-1:-1;;;;;11476:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11528:32;;160:25:1;;;11528:32:0;;133:18:1;11528:32:0;;;;;;;11231:337;;;:::o;11576:1818::-;-1:-1:-1;;;;;11698:18:0;;11690:68;;;;-1:-1:-1;;;11690:68:0;;6953:2:1;11690:68:0;;;6935:21:1;6992:2;6972:18;;;6965:30;7031:34;7011:18;;;7004:62;-1:-1:-1;;;7082:18:1;;;7075:35;7127:19;;11690:68:0;6751:401:1;11690:68:0;-1:-1:-1;;;;;11777:16:0;;11769:64;;;;-1:-1:-1;;;11769:64:0;;7359:2:1;11769:64:0;;;7341:21:1;7398:2;7378:18;;;7371:30;7437:34;7417:18;;;7410:62;-1:-1:-1;;;7488:18:1;;;7481:33;7531:19;;11769:64:0;7157:399:1;11769:64:0;11861:1;11852:6;:10;11844:64;;;;-1:-1:-1;;;11844:64:0;;7763:2:1;11844:64:0;;;7745:21:1;7802:2;7782:18;;;7775:30;7841:34;7821:18;;;7814:62;-1:-1:-1;;;7892:18:1;;;7885:39;7941:19;;11844:64:0;7561:405:1;11844:64:0;-1:-1:-1;;;;;11929:14:0;;;;;;:8;:14;;;;;:24;;11947:6;;11929:14;:24;;11947:6;;11929:24;:::i;:::-;;;;-1:-1:-1;;;;;;;12045:24:0;;11964:22;12045:24;;;:18;:24;;;;;;11989:6;;11964:22;12045:24;;12044:25;:52;;;;-1:-1:-1;;;;;;12074:22:0;;;;;;:18;:22;;;;;;;;12073:23;12044:52;12041:97;;;-1:-1:-1;12122:4:0;12041:97;12161:13;;-1:-1:-1;;;;;12153:21:0;;;12161:13;;12153:21;:48;;;;-1:-1:-1;12184:17:0;;-1:-1:-1;;;;;12178:23:0;;;12184:17;;12178:23;12153:48;12150:111;;;12234:15;12243:6;;12234:15;:::i;:::-;-1:-1:-1;;;;;12218:12:0;;;;;;:8;:12;;;;;:31;;:12;;;:31;;;;;:::i;:::-;;;;-1:-1:-1;;12150:111:0;12276:7;12273:1013;;;12310:13;;-1:-1:-1;;;;;12302:21:0;;;12310:13;;12302:21;:44;;;;-1:-1:-1;12333:13:0;;-1:-1:-1;;;;;12327:19:0;;;12333:13;;12327:19;;12302:44;12299:336;;;12384:12;;12374:6;:22;;12366:76;;;;-1:-1:-1;;;12366:76:0;;8173:2:1;12366:76:0;;;8155:21:1;8212:2;8192:18;;;8185:30;8251:34;8231:18;;;8224:62;-1:-1:-1;;;8302:18:1;;;8295:39;8351:19;;12366:76:0;7971:405:1;12366:76:0;12495:16;;12485:6;12469:13;12479:2;-1:-1:-1;;;;;7734:17:0;7707:7;7734:17;;;:8;:17;;;;;;;7641:118;12469:13;:22;;;;:::i;:::-;:42;;12461:99;;;;-1:-1:-1;;;12461:99:0;;;;;;;:::i;:::-;12596:23;12608:6;12616:2;12596:11;:23::i;:::-;12579:40;;12299:336;12660:13;;-1:-1:-1;;;;;12654:19:0;;;12660:13;;12654:19;:44;;;;-1:-1:-1;12685:13:0;;-1:-1:-1;;;;;12677:21:0;;;12685:13;;12677:21;;12654:44;12651:426;;;12738:17;;-1:-1:-1;;;;;12738:17:0;7707:7;7734:17;;;:8;:17;;;;;;12728:33;12720:42;;;;;;12804:26;12817:6;12825:4;12804:12;:26::i;:::-;12883:17;;12873:4;7707:7;7734:17;;;:8;:17;;;;;;12787:43;;-1:-1:-1;;12855:45:0;:58;;;;-1:-1:-1;12905:8:0;;;;12904:9;12855:58;12851:209;;;12938:8;:15;;-1:-1:-1;;12938:15:0;12949:4;12938:15;;;12985:17;;12976:27;;:8;:27::i;:::-;13026:8;:16;;-1:-1:-1;;13026:16:0;;;12851:209;13102:13;;-1:-1:-1;;;;;13096:19:0;;;13102:13;;13096:19;;;;:44;;-1:-1:-1;13127:13:0;;-1:-1:-1;;;;;13119:21:0;;;13127:13;;13119:21;;13096:44;13093:182;;;13194:16;;13184:6;13168:13;13178:2;-1:-1:-1;;;;;7734:17:0;7707:7;7734:17;;;:8;:17;;;;;;;7641:118;13168:13;:22;;;;:::i;:::-;:42;;13160:99;;;;-1:-1:-1;;;13160:99:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13306:12:0;;;;;;:8;:12;;;;;:30;;13322:14;;13306:12;:30;;13322:14;;13306:30;:::i;:::-;;;;;;;;13367:2;-1:-1:-1;;;;;13352:34:0;13361:4;-1:-1:-1;;;;;13352:34:0;;13371:14;13352:34;;;;160:25:1;;148:2;133:18;;14:177;13352:34:0;;;;;;;;11679:1715;;11576:1818;;;:::o;9185:602::-;9253:7;9273:25;9329:3;9310:6;:16;;;9301:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;9273:59;;9344:26;9401:3;9382:6;:16;;;9373:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;9344:60;;9415:21;9462:3;9448:6;:11;;;9439:6;:20;;;;:::i;:::-;:26;;;;:::i;:::-;9415:50;-1:-1:-1;9505:38:0;9525:18;9505:17;:38;:::i;:::-;9495:4;9478:23;;;;:8;:23;;;;;:65;;:23;;;:65;;;;;:::i;:::-;;;;-1:-1:-1;9583:4:0;;-1:-1:-1;;;;;;9559:70:0;;;9590:38;9611:17;9590:18;:38;:::i;:::-;9559:70;;160:25:1;;;148:2;133:18;9559:70:0;;;;;;;9655:13;;9645:54;;160:25:1;;;9678:4:0;;-1:-1:-1;;;;;9655:13:0;;9645:54;;148:2:1;133:18;9645:54:0;;;;;;;9765:13;9745:18;9718:25;9726:17;9718:6;:25;:::i;:::-;:45;;;;:::i;:::-;:60;;;;:::i;:::-;9710:69;9185:602;-1:-1:-1;;;;;;9185:602:0:o;9795:606::-;9864:7;9884:25;9941:3;9921:7;:17;;;9912:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;9884:60;;9956:26;10014:3;9994:7;:17;;;9985:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;9956:61;;10028:21;10076:3;10061:7;:12;;;10052:6;:21;;;;:::i;13405:1074::-;13645:7;:17;13625;;13606:6;:16;13587;;13484:6;;13458:23;;13645:17;;13625;;13587:35;;13606:16;13587:35;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;13565:7;:17;13546:6;:16;:36;;13565:17;13546:36;:::i;:::-;13527:56;;:15;:56;:::i;:::-;:136;;;;:::i;:::-;13818:7;:17;13798;;13779:6;:16;13760;;13501:162;;-1:-1:-1;13674:23:0;;13760:35;;13779:16;13760:35;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;13738:17;;13719:16;;:36;;13738:17;13719:36;:::i;:::-;13700:56;;:15;:56;:::i;:::-;:136;;;;:::i;:::-;13674:162;-1:-1:-1;13847:25:0;13875:33;13674:162;13875:15;:33;:::i;:::-;13847:61;-1:-1:-1;13929:26:0;13958:22;:15;13978:1;13958:19;:22::i;:::-;13929:51;-1:-1:-1;13991:26:0;14020:39;:15;13929:51;14020:19;:39::i;:::-;13991:68;-1:-1:-1;14098:21:0;14130:36;13991:68;14130:16;:36::i;:::-;14178:18;14199:44;:21;14225:17;14199:25;:44::i;:::-;14178:65;-1:-1:-1;14264:23:0;14290:54;14326:17;14290:31;14178:65;14305:15;14290:14;:31::i;:::-;:35;;:54::i;:::-;14264:80;;14355:49;14368:18;14388:15;14355:12;:49::i;:::-;14423:15;;14415:56;;-1:-1:-1;;;;;14423:15:0;;;;14449:21;14415:56;;;;;14423:15;14415:56;14423:15;14415:56;14449:21;14423:15;14415:56;;;;;;;;;;;;;;;;;;;;;13447:1032;;;;;;;;;13405:1074;:::o;2080:132::-;2138:7;2165:39;2169:1;2172;2165:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2158:46;2080:132;-1:-1:-1;;;2080:132:0:o;1478:136::-;1536:7;1563:43;1567:1;1570;1563:43;;;;;;;;;;;;;;;;;:3;:43::i;14487:475::-;14577:16;;;14591:1;14577:16;;;;;;;;14553:21;;14577:16;;;;;;;;;;-1:-1:-1;14577:16:0;14553:40;;14622:4;14604;14609:1;14604:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14604:23:0;;;:7;;;;;;;;;;:23;;;;14648:15;;:22;;;-1:-1:-1;;;14648:22:0;;;;:15;;;;;:20;;:22;;;;;14604:7;;14648:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14638:4;14643:1;14638:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14638:32:0;;;:7;;;;;;;;;:32;14715:15;;14683:62;;14700:4;;14715:15;14733:11;14683:8;:62::i;:::-;14758:15;;:196;;-1:-1:-1;;;14758:196:0;;-1:-1:-1;;;;;14758:15:0;;;;:66;;:196;;14839:11;;14758:15;;14881:4;;14908;;14928:15;;14758:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14542:420;14487:475;:::o;1822:250::-;1880:7;1904:1;1909;1904:6;1900:47;;-1:-1:-1;1934:1:0;1927:8;;1900:47;1959:9;1971:5;1975:1;1971;:5;:::i;:::-;1959:17;-1:-1:-1;2004:1:0;1995:5;1999:1;1959:17;1995:5;:::i;:::-;:10;1987:56;;;;-1:-1:-1;;;1987:56:0;;10501:2:1;1987:56:0;;;10483:21:1;10540:2;10520:18;;;10513:30;10579:34;10559:18;;;10552:62;-1:-1:-1;;;10630:18:1;;;10623:31;10671:19;;1987:56:0;10299:397:1;14970:374:0;15083:15;;15051:62;;15068:4;;-1:-1:-1;;;;;15083:15:0;15101:11;15051:8;:62::i;:::-;15126:15;;15278:17;;15126:210;;-1:-1:-1;;;15126:210:0;;15200:4;15126:210;;;11042:34:1;11092:18;;;11085:34;;;15126:15:0;11135:18:1;;;11128:34;;;11178:18;;;11171:34;-1:-1:-1;;;;;15278:17:0;;;11221:19:1;;;11214:44;15310:15:0;11274:19:1;;;11267:35;15126:15:0;;;:31;;15166:9;;10976:19:1;;15126:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14970:374;;:::o;2220:278::-;2306:7;2341:12;2334:5;2326:28;;;;-1:-1:-1;;;2326:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2365:9:0;2377:5;2381:1;2377;:5;:::i;:::-;2365:17;2220:278;-1:-1:-1;;;;;2220:278:0:o;1622:192::-;1708:7;1744:12;1736:6;;;;1728:29;;;;-1:-1:-1;;;1728:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1768:9:0;1780:5;1784:1;1780;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2813:247::-;2872:6;2925:2;2913:9;2904:7;2900:23;2896:32;2893:52;;;2941:1;2938;2931:12;2893:52;2980:9;2967:23;2999:31;3024:5;2999:31;:::i;3065:316::-;3142:6;3150;3158;3211:2;3199:9;3190:7;3186:23;3182:32;3179:52;;;3227:1;3224;3217:12;3179:52;-1:-1:-1;;3250:23:1;;;3320:2;3305:18;;3292:32;;-1:-1:-1;3371:2:1;3356:18;;;3343:32;;3065:316;-1:-1:-1;3065:316:1:o;3386:180::-;3445:6;3498:2;3486:9;3477:7;3473:23;3469:32;3466:52;;;3514:1;3511;3504:12;3466:52;-1:-1:-1;3537:23:1;;3386:180;-1:-1:-1;3386:180:1:o;3571:416::-;3636:6;3644;3697:2;3685:9;3676:7;3672:23;3668:32;3665:52;;;3713:1;3710;3703:12;3665:52;3752:9;3739:23;3771:31;3796:5;3771:31;:::i;:::-;3821:5;-1:-1:-1;3878:2:1;3863:18;;3850:32;3920:15;;3913:23;3901:36;;3891:64;;3951:1;3948;3941:12;3891:64;3974:7;3964:17;;;3571:416;;;;;:::o;3992:388::-;4060:6;4068;4121:2;4109:9;4100:7;4096:23;4092:32;4089:52;;;4137:1;4134;4127:12;4089:52;4176:9;4163:23;4195:31;4220:5;4195:31;:::i;:::-;4245:5;-1:-1:-1;4302:2:1;4287:18;;4274:32;4315:33;4274:32;4315:33;:::i;4385:127::-;4446:10;4441:3;4437:20;4434:1;4427:31;4477:4;4474:1;4467:15;4501:4;4498:1;4491:15;4517:128;4584:9;;;4605:11;;;4602:37;;;4619:18;;:::i;4650:125::-;4715:9;;;4736:10;;;4733:36;;;4749:18;;:::i;4780:356::-;4982:2;4964:21;;;5001:18;;;4994:30;5060:34;5055:2;5040:18;;5033:62;5127:2;5112:18;;4780:356::o;5141:168::-;5214:9;;;5245;;5262:15;;;5256:22;;5242:37;5232:71;;5283:18;;:::i;5314:217::-;5354:1;5380;5370:132;;5424:10;5419:3;5415:20;5412:1;5405:31;5459:4;5456:1;5449:15;5487:4;5484:1;5477:15;5370:132;-1:-1:-1;5516:9:1;;5314:217::o;8381:408::-;8583:2;8565:21;;;8622:2;8602:18;;;8595:30;8661:34;8656:2;8641:18;;8634:62;-1:-1:-1;;;8727:2:1;8712:18;;8705:42;8779:3;8764:19;;8381:408::o;8926:127::-;8987:10;8982:3;8978:20;8975:1;8968:31;9018:4;9015:1;9008:15;9042:4;9039:1;9032:15;9058:251;9128:6;9181:2;9169:9;9160:7;9156:23;9152:32;9149:52;;;9197:1;9194;9187:12;9149:52;9229:9;9223:16;9248:31;9273:5;9248:31;:::i;9314:980::-;9576:4;9624:3;9613:9;9609:19;9655:6;9644:9;9637:25;9681:2;9719:6;9714:2;9703:9;9699:18;9692:34;9762:3;9757:2;9746:9;9742:18;9735:31;9786:6;9821;9815:13;9852:6;9844;9837:22;9890:3;9879:9;9875:19;9868:26;;9929:2;9921:6;9917:15;9903:29;;9950:1;9960:195;9974:6;9971:1;9968:13;9960:195;;;10039:13;;-1:-1:-1;;;;;10035:39:1;10023:52;;10130:15;;;;10095:12;;;;10071:1;9989:9;9960:195;;;-1:-1:-1;;;;;;;10211:32:1;;;;10206:2;10191:18;;10184:60;-1:-1:-1;;;10275:3:1;10260:19;10253:35;10172:3;9314:980;-1:-1:-1;;;9314:980:1:o;11313:306::-;11401:6;11409;11417;11470:2;11458:9;11449:7;11445:23;11441:32;11438:52;;;11486:1;11483;11476:12;11438:52;11515:9;11509:16;11499:26;;11565:2;11554:9;11550:18;11544:25;11534:35;;11609:2;11598:9;11594:18;11588:25;11578:35;;11313:306;;;;;:::o

Swarm Source

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