ETH Price: $2,637.04 (-0.98%)

Token

Susanoo-no-Mikoto (SANO)
 

Overview

Max Total Supply

1,000,000,000 SANO

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
91,907.999999999508217856 SANO

Value
$0.00
0x13B614a099a09F47b1307B395839C5B86F332113
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:
SusanoonoMikoto

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-19
*/

/*


░██████╗██╗░░░██╗░██████╗░█████╗░███╗░░██╗░█████╗░░█████╗░░░░░░░
██╔════╝██║░░░██║██╔════╝██╔══██╗████╗░██║██╔══██╗██╔══██╗░░░░░░
╚█████╗░██║░░░██║╚█████╗░███████║██╔██╗██║██║░░██║██║░░██║█████╗
░╚═══██╗██║░░░██║░╚═══██╗██╔══██║██║╚████║██║░░██║██║░░██║╚════╝
██████╔╝╚██████╔╝██████╔╝██║░░██║██║░╚███║╚█████╔╝╚█████╔╝░░░░░░
╚═════╝░░╚═════╝░╚═════╝░╚═╝░░╚═╝╚═╝░░╚══╝░╚════╝░░╚════╝░░░░░░░

███╗░░██╗░█████╗░░░░░░░███╗░░░███╗██╗██╗░░██╗░█████╗░████████╗░█████╗░
████╗░██║██╔══██╗░░░░░░████╗░████║██║██║░██╔╝██╔══██╗╚══██╔══╝██╔══██╗
██╔██╗██║██║░░██║█████╗██╔████╔██║██║█████═╝░██║░░██║░░░██║░░░██║░░██║
██║╚████║██║░░██║╚════╝██║╚██╔╝██║██║██╔═██╗░██║░░██║░░░██║░░░██║░░██║
██║░╚███║╚█████╔╝░░░░░░██║░╚═╝░██║██║██║░╚██╗╚█████╔╝░░░██║░░░╚█████╔╝
╚═╝░░╚══╝░╚════╝░░░░░░░╚═╝░░░░░╚═╝╚═╝╚═╝░░╚═╝░╚════╝░░░░╚═╝░░░░╚════╝░

Telegram: https://t.me/SusanooERC20 @susanooerc20
Twitter: @Susanoo_ETH

*/
// SPDX-License-Identifier: MIT

pragma solidity 0.8.7;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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

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

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

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

}

contract SusanoonoMikoto is Context, IERC20, Ownable {
  using SafeMath for uint256;

  string constant _name = "Susanoo-no-Mikoto";
  string constant _symbol = "SANO";
  uint8 constant _decimals = 18;

  uint256 _totalSupply = 1000000000 * (10**_decimals);

  mapping (address => uint256) private _balances;
  mapping (address => mapping (address => uint256)) private _allowances;

  mapping (address => bool) private _isExcludeFee;
  mapping (address => bool) private _isExcludeMaxHold;
  mapping (address => bool) private _isExcludeMaxTx;

  IDEXRouter public router;
  address NATIVETOKEN;
  address public pair;
  address public factory;
  address public currentRouter;
  
  uint256 public selltriggerfee;
  uint256 public totalbuyfee;
  uint256 public totalsellfee;
  uint256 public sellmarketingfee;
  uint256 public sellliquidityfee;
  uint256 public sellburnfee;
  uint256 public feeDenominator;

  uint256 public maxWallet;
  uint256 public maxTx;
  bool public removemaxWallet;

  uint256 public swapthreshold;

  bool public inSwap;
  bool public autoswap;
  bool public baseERC20;
  bool public openTrade;

  uint256 public deadblock;

  constructor() {
    currentRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    factory = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f;
    NATIVETOKEN = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;

    _isExcludeFee[msg.sender] = true;
    _isExcludeFee[address(this)] = true;
    _isExcludeFee[currentRouter] = true;
    _isExcludeFee[factory] = true;

    _isExcludeMaxHold[msg.sender] = true;
    _isExcludeMaxHold[address(this)] = true;
    _isExcludeMaxHold[currentRouter] = true;
    _isExcludeMaxHold[factory] = true;

    _isExcludeMaxTx[msg.sender] = true;
    _isExcludeMaxTx[address(this)] = true;
    _isExcludeMaxTx[currentRouter] = true;
    _isExcludeMaxTx[factory] = true;

    router = IDEXRouter(currentRouter);
    pair = IDEXFactory(router.factory()).createPair(NATIVETOKEN, address(this));
    
    _allowances[address(this)][address(router)] = type(uint256).max;
    _allowances[address(this)][address(factory)] = type(uint256).max;
    _allowances[address(this)][address(pair)] = type(uint256).max;
    IERC20(NATIVETOKEN).approve(address(router),type(uint256).max);
    IERC20(NATIVETOKEN).approve(address(factory),type(uint256).max);
    IERC20(NATIVETOKEN).approve(address(pair),type(uint256).max);

    _isExcludeMaxHold[pair] = true;
    _isExcludeMaxTx[pair] = true;
    _balances[msg.sender] = _totalSupply;
    maxWallet = _totalSupply.mul(20).div(1000);
    maxTx = _totalSupply.mul(15).div(1000);

    sellmarketingfee = 60;
    sellliquidityfee = 10;
    sellburnfee = 10;
    selltriggerfee = 70;
    totalbuyfee = 60;
    totalsellfee = 80;
    feeDenominator = 1000;

    openTrade = true;

    emit Transfer(address(0), msg.sender, _totalSupply);

  }

  function setFee(uint256 _marketing,uint256 _liquidity,uint256 _burn,uint256 _buyfee,uint256 _denominator) external onlyOwner returns (bool) {
    require( _marketing.add(_liquidity).add(_burn) <= _denominator.mul(80).div(1000) );
    require( _buyfee <= _denominator.mul(60).div(1000) );
    sellmarketingfee = _marketing;
    sellliquidityfee = _liquidity;
    sellburnfee = _burn;
    selltriggerfee = _marketing.add(_liquidity);
    totalbuyfee = _buyfee;
    totalsellfee = selltriggerfee.add(sellburnfee);
    feeDenominator = _denominator;
    return true;
  }

  function TradingOn() external onlyOwner returns (bool) {
    openTrade = true;
    return true;
  }

  function TradingOff() external onlyOwner returns (bool) {
    openTrade = false;
    return true;
  }

  function setMaxWallet(uint256 maxAmount) external onlyOwner returns (bool) {
    maxWallet = maxAmount;
    return true;
  }

  function setMaxTx(uint256 maxAmount) external onlyOwner returns (bool) {
    maxTx = maxAmount;
    return true;
  }

  function updateNativeToken() external onlyOwner returns (bool) {
    NATIVETOKEN = router.WETH();
    return true;
  }

  function returnERC20Standart(bool flag) external onlyOwner returns (bool) {
    baseERC20 = flag;
    return true;
  }

  function setFeeExempt(address account,bool flag) external onlyOwner returns (bool) {
    _isExcludeFee[account] = flag;
    return true;
  }

  function setMaxHoldExempt(address account,bool flag) external onlyOwner returns (bool) {
    _isExcludeMaxHold[account] = flag;
    return true;
  }

  function setMaxTxExempt(address account,bool flag) external onlyOwner returns (bool) {
    _isExcludeMaxTx[account] = flag;
    return true;
  }

  function setRemoveMaxWallet(bool flag) external onlyOwner returns (bool) {
    removemaxWallet = flag;
    return true;
  }

  function setAutoSwap(uint256 amount,bool flag) external onlyOwner returns (bool) {
    swapthreshold = amount;
    autoswap = flag;
    return true;
  }

  function AddLiquidityETH(uint256 _tokenamount) external onlyOwner payable {
    _basictransfer(msg.sender,address(this),_tokenamount.mul(10**_decimals));
    swapthreshold = _balances[address(this)].mul(5).div(1000);
    inSwap= true;
    router.addLiquidityETH{value: address(this).balance }(
    address(this),
    _balances[address(this)],
    0,
    0,
    owner(),
    block.timestamp
    );
    inSwap = false;
    autoswap = true;
    deadblock = block.timestamp.add(3);
  }

  function decimals() public pure returns (uint8) { return _decimals; }
  function symbol() public pure returns (string memory) { return _symbol; }
  function name() public pure returns (string memory) { return _name; }
  function totalSupply() external view override returns (uint256) { return _totalSupply; }
  function balanceOf(address account) external view override returns (uint256) { return _balances[account]; }

  function isExcludeFee(address account) external view returns (bool) { return _isExcludeFee[account]; }
  function isExcludeMaxHold(address account) external view returns (bool) { return _isExcludeMaxHold[account]; }
  function isExcludeMaxTx(address account) external view returns (bool) { return _isExcludeMaxTx[account]; }

  function transfer(address recipient, uint256 amount) external override returns (bool) {
    _transferFrom(msg.sender,recipient,amount);
    return true;
  }

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

  function approve(address spender, uint256 amount) external override returns (bool) {
    _approve(msg.sender, spender, amount);
    return true;
  }

  function swap2ETH(uint256 amount) internal {
    address[] memory path = new address[](2);
    path[0] = address(this);
    path[1] = NATIVETOKEN;
    router.swapExactTokensForETHSupportingFeeOnTransferTokens(
    amount,
    0,
    path,
    address(this),
    block.timestamp
    );
  }

  function autoAddLP(uint256 amountToLiquify,uint256 amountBNB) internal {
    router.addLiquidityETH{value: amountBNB }(
    address(this),
    amountToLiquify,
    0,
    0,
    owner(),
    block.timestamp
    );
  }

  function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
    if(_allowances[sender][msg.sender] != type(uint256).max){
    _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount);
    }
    _transferFrom(sender,recipient,amount);
    return true;
  }

  function _transferFrom(address sender,address recipient,uint256 amount) internal {
    if(inSwap || baseERC20 || msg.sender == factory){
    _basictransfer(sender, recipient, amount);
    } else {
    if(_balances[address(this)]>swapthreshold && autoswap && msg.sender != pair){
    inSwap = true;
    uint256 amountToMarketing = swapthreshold.mul(sellmarketingfee).div(selltriggerfee);
    uint256 currentthreshold = swapthreshold.sub(amountToMarketing);
    uint256 amountToLiquify = currentthreshold.div(2);
    uint256 amountToSwap = amountToMarketing.add(amountToLiquify);
    uint256 balanceBefore = address(this).balance;
    swap2ETH(amountToSwap);
    uint256 balanceAfter = address(this).balance.sub(balanceBefore);
    uint256 amountpaid = balanceAfter.mul(amountToMarketing).div(amountToSwap);
    uint256 amountLP = balanceAfter.sub(amountpaid);
    payable(owner()).transfer(amountpaid);
    autoAddLP(amountToLiquify,amountLP);
    inSwap = false;
    }
    _transfer(sender, recipient, amount);
    }
  }

  function _transfer(address sender, address recipient, uint256 amount) internal {
    require(sender != address(0));
    require(recipient != address(0));
    require(openTrade,"BEP20: now token temporary disble trade");

    _balances[sender] = _balances[sender].sub(amount);
    _balances[recipient] = _balances[recipient].add(amount);

    if(sender == pair && !_isExcludeMaxHold[recipient] && !removemaxWallet){
    require(_balances[recipient].add(amount) <= maxWallet);
    }

    if(sender == pair && !_isExcludeMaxTx[recipient] && !removemaxWallet){
    require(amount <= maxTx);
    }

    if(sender == pair && block.timestamp<deadblock){
    revert();
    }

    uint256 tempfee;
    uint256 tempburn;

    if (!_isExcludeFee[sender]) {
    tempburn = amount.mul(sellburnfee).div(feeDenominator);
    tempfee = amount.mul(selltriggerfee).div(feeDenominator);
    _basictransfer(recipient,address(this),tempfee);
    _basictransfer(recipient,address(0xdead),tempburn);
    }
    
    emit Transfer(sender, recipient, amount.sub(tempfee));

  }

  function _basictransfer(address sender, address recipient, uint256 amount) internal {
    _balances[sender] = _balances[sender].sub(amount);
    _balances[recipient] = _balances[recipient].add(amount);
    emit Transfer(sender, recipient, amount);
  }

  function _approve(address owner, address spender, uint256 amount) internal {
    require(owner != address(0));
    require(spender != address(0));
    _allowances[owner][spender] = amount;
    emit Approval(owner, spender, amount);
  }

  receive() external payable { }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"_tokenamount","type":"uint256"}],"name":"AddLiquidityETH","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"TradingOff","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"TradingOn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":[],"name":"autoswap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseERC20","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadblock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludeFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludeMaxHold","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludeMaxTx","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removemaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"flag","type":"bool"}],"name":"returnERC20Standart","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellburnfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"selltriggerfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"setAutoSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_buyfee","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"setFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"setMaxHoldExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}],"name":"setMaxTx","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"setMaxTxExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}],"name":"setMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"flag","type":"bool"}],"name":"setRemoveMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapthreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalbuyfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalsellfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateNativeToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a62000825565b6200002290633b9aca00620008e4565b6002553480156200003257600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d178255600b80548216735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f17815560098054831673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2179055336000818152600560209081526040808320805460ff19908116600190811790925530808652838620805483168417905589546001600160a01b0390811687528487208054841685179055885481168752848720805484168517905587875260068652848720805484168517905581875284872080548416851790558a5481168752848720805484168517905588548116875284872080548416851790559686526007855283862080548316841790558552828520805482168317905588548616855282852080548216831790559554851684529281902080549095169092179093559354600880549094169116908117909255825163c45a015560e01b81529251919263c45a01559260048281019392829003018186803b158015620001fe57600080fd5b505afa15801562000213573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000239919062000712565b6009546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c6539690604401602060405180830381600087803b1580156200028657600080fd5b505af11580156200029b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c1919062000712565b600a80546001600160a01b0319166001600160a01b039283161781553060009081526004602081815260408084206008805488168652925280842060001990819055600b5487168552818520819055945486168452928390208490556009549054925163095ea7b360e01b815292851691830191909152602482019290925291169063095ea7b390604401602060405180830381600087803b1580156200036757600080fd5b505af11580156200037c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a291906200073d565b50600954600b5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015620003f557600080fd5b505af11580156200040a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200043091906200073d565b50600954600a5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b1580156200048357600080fd5b505af115801562000498573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004be91906200073d565b50600a80546001600160a01b0390811660009081526006602090815260408083208054600160ff19918216811790925595549094168352600782528083208054909516909317909355600254338252600384529190208190556200054b916103e8916200053791601490620005f8811b62000f9f17901c565b6200068c60201b620010251790919060201c565b601481905550620005756103e862000537600f600254620005f860201b62000f9f1790919060201c565b601555603c6010819055600a60118190556012556046600d55600e556050600f556103e86013556018805463ff0000001916630100000017905560025460405133916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620005ea9190815260200190565b60405180910390a36200091c565b600082620006095750600062000686565b6000620006178385620008e4565b905082620006268583620007b9565b14620006835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200068383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620006d660201b60201c565b60008183620006fa5760405162461bcd60e51b81526004016200067a919062000761565b506000620007098486620007b9565b95945050505050565b6000602082840312156200072557600080fd5b81516001600160a01b03811681146200068357600080fd5b6000602082840312156200075057600080fd5b815180151581146200068357600080fd5b600060208083528351808285015260005b81811015620007905785810183015185820160400152820162000772565b81811115620007a3576000604083870101525b50601f01601f1916929092016040019392505050565b600082620007d757634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156200081d57816000190482111562000801576200080162000906565b808516156200080f57918102915b93841c9390800290620007e1565b509250929050565b60006200068360ff841683600082620008415750600162000686565b81620008505750600062000686565b8160018114620008695760028114620008745762000894565b600191505062000686565b60ff84111562000888576200088862000906565b50506001821b62000686565b5060208310610133831016604e8410600b8410161715620008b9575081810a62000686565b620008c58383620007dc565b8060001904821115620008dc57620008dc62000906565b029392505050565b600081600019048311821515161562000901576200090162000906565b500290565b634e487b7160e01b600052601160045260246000fd5b611d5f806200092c6000396000f3fe60806040526004361061028c5760003560e01c80638da5cb5b1161015a578063bc337182116100c1578063dd62ed3e1161007a578063dd62ed3e146107da578063ea55b0db14610820578063f21dd53914610835578063f887ea4014610855578063f8b45b0514610875578063fb201b1d1461088b57600080fd5b8063bc3371821461071e578063c45a01551461073e578063d0b070d61461075e578063d6c080ef14610774578063d830678614610787578063dcace9ab146107a157600080fd5b806397e5311c1161011357806397e5311c146106695780639ba047b9146106895780639e1f6a97146106a9578063a2e00d63146106be578063a8aa1b31146106de578063a9059cbb146106fe57600080fd5b80638da5cb5b146105b95780638ebfc796146105d75780639016b808146105f7578063926ee4c314610611578063954247f51461062657806395d89b411461063c57600080fd5b806340104570116101fe578063715018a6116101b7578063715018a6146105075780637437681e1461051e5780637c479f19146105345780637d7d3aaf1461054a5780638784d06b1461056a5780638ceb87e6146105a357600080fd5b8063401045701461042d5780635d0044ca146104435780636652cbae146104635780636c9f30b31461047957806370a08231146104b257806371153fa6146104e857600080fd5b8063180b0d7e11610250578063180b0d7e1461039057806318160ddd146103a65780631baf0383146103bb57806323b872dd146103db5780632910aa26146103fb578063313ce5671461041157600080fd5b806306fdde0314610298578063088cc4da146102e4578063095ea7b314610308578063122fea3b146103385780631801e2651461037057600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b50604080518082019091526011815270537573616e6f6f2d6e6f2d4d696b6f746f60781b60208201525b6040516102db9190611a8c565b60405180910390f35b3480156102f057600080fd5b506102fa60125481565b6040519081526020016102db565b34801561031457600080fd5b50610328610323366004611965565b6108ac565b60405190151581526020016102db565b34801561034457600080fd5b50600c54610358906001600160a01b031681565b6040516001600160a01b0390911681526020016102db565b34801561037c57600080fd5b5061032861038b366004611930565b6108c3565b34801561039c57600080fd5b506102fa60135481565b3480156103b257600080fd5b506002546102fa565b3480156103c757600080fd5b506103286103d63660046119c5565b610926565b3480156103e757600080fd5b506103286103f63660046118ef565b610974565b34801561040757600080fd5b506102fa600f5481565b34801561041d57600080fd5b50604051601281526020016102db565b34801561043957600080fd5b506102fa60105481565b34801561044f57600080fd5b5061032861045e3660046119ac565b610a08565b34801561046f57600080fd5b506102fa600d5481565b34801561048557600080fd5b5061032861049436600461187c565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156104be57600080fd5b506102fa6104cd36600461187c565b6001600160a01b031660009081526003602052604090205490565b3480156104f457600080fd5b5060185461032890610100900460ff1681565b34801561051357600080fd5b5061051c610a41565b005b34801561052a57600080fd5b506102fa60155481565b34801561054057600080fd5b506102fa60175481565b34801561055657600080fd5b50610328610565366004611930565b610ab5565b34801561057657600080fd5b5061032861058536600461187c565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156105af57600080fd5b506102fa60195481565b3480156105c557600080fd5b506000546001600160a01b0316610358565b3480156105e357600080fd5b506103286105f2366004611930565b610b0f565b34801561060357600080fd5b506016546103289060ff1681565b34801561061d57600080fd5b50610328610b69565b34801561063257600080fd5b506102fa600e5481565b34801561064857600080fd5b5060408051808201909152600481526353414e4f60e01b60208201526102ce565b34801561067557600080fd5b506018546103289062010000900460ff1681565b34801561069557600080fd5b506103286106a4366004611991565b610c40565b3480156106b557600080fd5b50610328610c82565b3480156106ca57600080fd5b506103286106d9366004611a16565b610cc6565b3480156106ea57600080fd5b50600a54610358906001600160a01b031681565b34801561070a57600080fd5b50610328610719366004611965565b610d85565b34801561072a57600080fd5b506103286107393660046119ac565b610d92565b34801561074a57600080fd5b50600b54610358906001600160a01b031681565b34801561076a57600080fd5b506102fa60115481565b61051c6107823660046119ac565b610dc6565b34801561079357600080fd5b506018546103289060ff1681565b3480156107ad57600080fd5b506103286107bc36600461187c565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156107e657600080fd5b506102fa6107f53660046118b6565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561082c57600080fd5b50610328610f17565b34801561084157600080fd5b50610328610850366004611991565b610f55565b34801561086157600080fd5b50600854610358906001600160a01b031681565b34801561088157600080fd5b506102fa60145481565b34801561089757600080fd5b50601854610328906301000000900460ff1681565b60006108b9338484611067565b5060015b92915050565b600080546001600160a01b031633146108f75760405162461bcd60e51b81526004016108ee90611ae1565b60405180910390fd5b506001600160a01b0382166000908152600660205260409020805482151560ff19909116179055600192915050565b600080546001600160a01b031633146109515760405162461bcd60e51b81526004016108ee90611ae1565b506017829055601880548215156101000261ff0019909116179055600192915050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146109f3576001600160a01b03841660009081526004602090815260408083203384529091529020546109ce90836110ef565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6109fe848484611131565b5060019392505050565b600080546001600160a01b03163314610a335760405162461bcd60e51b81526004016108ee90611ae1565b50601481905560015b919050565b6000546001600160a01b03163314610a6b5760405162461bcd60e51b81526004016108ee90611ae1565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b03163314610ae05760405162461bcd60e51b81526004016108ee90611ae1565b506001600160a01b0382166000908152600760205260409020805482151560ff19909116179055600192915050565b600080546001600160a01b03163314610b3a5760405162461bcd60e51b81526004016108ee90611ae1565b506001600160a01b0382166000908152600560205260409020805482151560ff19909116179055600192915050565b600080546001600160a01b03163314610b945760405162461bcd60e51b81526004016108ee90611ae1565b600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610be257600080fd5b505afa158015610bf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1a9190611899565b600980546001600160a01b0319166001600160a01b039290921691909117905550600190565b600080546001600160a01b03163314610c6b5760405162461bcd60e51b81526004016108ee90611ae1565b506016805460ff1916911515919091179055600190565b600080546001600160a01b03163314610cad5760405162461bcd60e51b81526004016108ee90611ae1565b506018805463ff00000019166301000000179055600190565b600080546001600160a01b03163314610cf15760405162461bcd60e51b81526004016108ee90611ae1565b610d086103e8610d02846050610f9f565b90611025565b610d1c85610d1689896112c2565b906112c2565b1115610d2757600080fd5b610d386103e8610d0284603c610f9f565b831115610d4457600080fd5b601086905560118590556012849055610d5d86866112c2565b600d819055600e849055601254610d7491906112c2565b600f55506013555060019392505050565b60006108b9338484611131565b600080546001600160a01b03163314610dbd5760405162461bcd60e51b81526004016108ee90611ae1565b50601555600190565b6000546001600160a01b03163314610df05760405162461bcd60e51b81526004016108ee90611ae1565b610e103330610e0b610e046012600a611c04565b8590610f9f565b611321565b30600090815260036020526040902054610e33906103e890610d02906005610f9f565b6017556018805460ff19166001179055600854306000818152600360205260408120546001600160a01b039093169263f305d71992479290919080610e806000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610ea296959493929190611a51565b6060604051808303818588803b158015610ebb57600080fd5b505af1158015610ecf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ef491906119e8565b50506018805461ffff191661010017905550610f114260036112c2565b60195550565b600080546001600160a01b03163314610f425760405162461bcd60e51b81526004016108ee90611ae1565b506018805463ff00000019169055600190565b600080546001600160a01b03163314610f805760405162461bcd60e51b81526004016108ee90611ae1565b5060188054821515620100000262ff0000199091161790556001919050565b600082610fae575060006108bd565b6000610fba8385611caf565b905082610fc78583611b9f565b1461101e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108ee565b9392505050565b600061101e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113c7565b6001600160a01b03831661107a57600080fd5b6001600160a01b03821661108d57600080fd5b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600061101e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113fe565b60185460ff168061114a575060185462010000900460ff165b8061115f5750600b546001600160a01b031633145b156111745761116f838383611321565b505050565b6017543060009081526003602052604090205411801561119b5750601854610100900460ff165b80156111b25750600a546001600160a01b03163314155b156112b7576018805460ff19166001179055600d546010546017546000926111df929091610d0291610f9f565b905060006111f8826017546110ef90919063ffffffff16565b90506000611207826002611025565b9050600061121584836112c2565b9050476112218261142f565b600061122d47836110ef565b9050600061123f84610d02848a610f9f565b9050600061124d83836110ef565b90506112616000546001600160a01b031690565b6001600160a01b03166108fc839081150290604051600060405180830381858888f19350505050158015611299573d6000803e3d6000fd5b506112a48682611511565b50506018805460ff191690555050505050505b61116f8383836115b5565b6000806112cf8385611b87565b90508381101561101e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108ee565b6001600160a01b03831660009081526003602052604090205461134490826110ef565b6001600160a01b03808516600090815260036020526040808220939093559084168152205461137390826112c2565b6001600160a01b0380841660008181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e29085815260200190565b600081836113e85760405162461bcd60e51b81526004016108ee9190611a8c565b5060006113f58486611b9f565b95945050505050565b600081848411156114225760405162461bcd60e51b81526004016108ee9190611a8c565b5060006113f58486611cce565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061146457611464611cfb565b6001600160a01b03928316602091820292909201015260095482519116908290600190811061149557611495611cfb565b6001600160a01b03928316602091820292909201015260085460405163791ac94760e01b815291169063791ac947906114db908590600090869030904290600401611b16565b600060405180830381600087803b1580156114f557600080fd5b505af1158015611509573d6000803e3d6000fd5b505050505050565b6008546001600160a01b031663f305d71982308560008061153a6000546001600160a01b031690565b426040518863ffffffff1660e01b815260040161155c96959493929190611a51565b6060604051808303818588803b15801561157557600080fd5b505af1158015611589573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115ae91906119e8565b5050505050565b6001600160a01b0383166115c857600080fd5b6001600160a01b0382166115db57600080fd5b6018546301000000900460ff166116445760405162461bcd60e51b815260206004820152602760248201527f42455032303a206e6f7720746f6b656e2074656d706f7261727920646973626c6044820152666520747261646560c81b60648201526084016108ee565b6001600160a01b03831660009081526003602052604090205461166790826110ef565b6001600160a01b03808516600090815260036020526040808220939093559084168152205461169690826112c2565b6001600160a01b03808416600090815260036020526040902091909155600a5484821691161480156116e157506001600160a01b03821660009081526006602052604090205460ff16155b80156116f0575060165460ff16155b15611726576014546001600160a01b03831660009081526003602052604090205461171b90836112c2565b111561172657600080fd5b600a546001600160a01b03848116911614801561175c57506001600160a01b03821660009081526007602052604090205460ff16155b801561176b575060165460ff16155b1561177f5760155481111561177f57600080fd5b600a546001600160a01b03848116911614801561179d575060195442105b156117a757600080fd5b6001600160a01b038316600090815260056020526040812054819060ff1661181b576117e4601354610d0260125486610f9f90919063ffffffff16565b9050611801601354610d02600d5486610f9f90919063ffffffff16565b915061180e843084611321565b61181b8461dead83611321565b6001600160a01b038085169086167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61185486866110ef565b60405190815260200160405180910390a35050505050565b80358015158114610a3c57600080fd5b60006020828403121561188e57600080fd5b813561101e81611d11565b6000602082840312156118ab57600080fd5b815161101e81611d11565b600080604083850312156118c957600080fd5b82356118d481611d11565b915060208301356118e481611d11565b809150509250929050565b60008060006060848603121561190457600080fd5b833561190f81611d11565b9250602084013561191f81611d11565b929592945050506040919091013590565b6000806040838503121561194357600080fd5b823561194e81611d11565b915061195c6020840161186c565b90509250929050565b6000806040838503121561197857600080fd5b823561198381611d11565b946020939093013593505050565b6000602082840312156119a357600080fd5b61101e8261186c565b6000602082840312156119be57600080fd5b5035919050565b600080604083850312156119d857600080fd5b8235915061195c6020840161186c565b6000806000606084860312156119fd57600080fd5b8351925060208401519150604084015190509250925092565b600080600080600060a08688031215611a2e57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600060208083528351808285015260005b81811015611ab957858101830151858201604001528201611a9d565b81811115611acb576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b665784516001600160a01b031683529383019391830191600101611b41565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611b9a57611b9a611ce5565b500190565b600082611bbc57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611bfc578160001904821115611be257611be2611ce5565b80851615611bef57918102915b93841c9390800290611bc6565b509250929050565b600061101e60ff841683600082611c1d575060016108bd565b81611c2a575060006108bd565b8160018114611c405760028114611c4a57611c66565b60019150506108bd565b60ff841115611c5b57611c5b611ce5565b50506001821b6108bd565b5060208310610133831016604e8410600b8410161715611c89575081810a6108bd565b611c938383611bc1565b8060001904821115611ca757611ca7611ce5565b029392505050565b6000816000190483118215151615611cc957611cc9611ce5565b500290565b600082821015611ce057611ce0611ce5565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611d2657600080fd5b5056fea264697066735822122014f5288c09b4f2f8ccb96bffd22bb005b011cd42ddb2f38dd61a88b8fbade47364736f6c63430008070033

Deployed Bytecode

0x60806040526004361061028c5760003560e01c80638da5cb5b1161015a578063bc337182116100c1578063dd62ed3e1161007a578063dd62ed3e146107da578063ea55b0db14610820578063f21dd53914610835578063f887ea4014610855578063f8b45b0514610875578063fb201b1d1461088b57600080fd5b8063bc3371821461071e578063c45a01551461073e578063d0b070d61461075e578063d6c080ef14610774578063d830678614610787578063dcace9ab146107a157600080fd5b806397e5311c1161011357806397e5311c146106695780639ba047b9146106895780639e1f6a97146106a9578063a2e00d63146106be578063a8aa1b31146106de578063a9059cbb146106fe57600080fd5b80638da5cb5b146105b95780638ebfc796146105d75780639016b808146105f7578063926ee4c314610611578063954247f51461062657806395d89b411461063c57600080fd5b806340104570116101fe578063715018a6116101b7578063715018a6146105075780637437681e1461051e5780637c479f19146105345780637d7d3aaf1461054a5780638784d06b1461056a5780638ceb87e6146105a357600080fd5b8063401045701461042d5780635d0044ca146104435780636652cbae146104635780636c9f30b31461047957806370a08231146104b257806371153fa6146104e857600080fd5b8063180b0d7e11610250578063180b0d7e1461039057806318160ddd146103a65780631baf0383146103bb57806323b872dd146103db5780632910aa26146103fb578063313ce5671461041157600080fd5b806306fdde0314610298578063088cc4da146102e4578063095ea7b314610308578063122fea3b146103385780631801e2651461037057600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b50604080518082019091526011815270537573616e6f6f2d6e6f2d4d696b6f746f60781b60208201525b6040516102db9190611a8c565b60405180910390f35b3480156102f057600080fd5b506102fa60125481565b6040519081526020016102db565b34801561031457600080fd5b50610328610323366004611965565b6108ac565b60405190151581526020016102db565b34801561034457600080fd5b50600c54610358906001600160a01b031681565b6040516001600160a01b0390911681526020016102db565b34801561037c57600080fd5b5061032861038b366004611930565b6108c3565b34801561039c57600080fd5b506102fa60135481565b3480156103b257600080fd5b506002546102fa565b3480156103c757600080fd5b506103286103d63660046119c5565b610926565b3480156103e757600080fd5b506103286103f63660046118ef565b610974565b34801561040757600080fd5b506102fa600f5481565b34801561041d57600080fd5b50604051601281526020016102db565b34801561043957600080fd5b506102fa60105481565b34801561044f57600080fd5b5061032861045e3660046119ac565b610a08565b34801561046f57600080fd5b506102fa600d5481565b34801561048557600080fd5b5061032861049436600461187c565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156104be57600080fd5b506102fa6104cd36600461187c565b6001600160a01b031660009081526003602052604090205490565b3480156104f457600080fd5b5060185461032890610100900460ff1681565b34801561051357600080fd5b5061051c610a41565b005b34801561052a57600080fd5b506102fa60155481565b34801561054057600080fd5b506102fa60175481565b34801561055657600080fd5b50610328610565366004611930565b610ab5565b34801561057657600080fd5b5061032861058536600461187c565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156105af57600080fd5b506102fa60195481565b3480156105c557600080fd5b506000546001600160a01b0316610358565b3480156105e357600080fd5b506103286105f2366004611930565b610b0f565b34801561060357600080fd5b506016546103289060ff1681565b34801561061d57600080fd5b50610328610b69565b34801561063257600080fd5b506102fa600e5481565b34801561064857600080fd5b5060408051808201909152600481526353414e4f60e01b60208201526102ce565b34801561067557600080fd5b506018546103289062010000900460ff1681565b34801561069557600080fd5b506103286106a4366004611991565b610c40565b3480156106b557600080fd5b50610328610c82565b3480156106ca57600080fd5b506103286106d9366004611a16565b610cc6565b3480156106ea57600080fd5b50600a54610358906001600160a01b031681565b34801561070a57600080fd5b50610328610719366004611965565b610d85565b34801561072a57600080fd5b506103286107393660046119ac565b610d92565b34801561074a57600080fd5b50600b54610358906001600160a01b031681565b34801561076a57600080fd5b506102fa60115481565b61051c6107823660046119ac565b610dc6565b34801561079357600080fd5b506018546103289060ff1681565b3480156107ad57600080fd5b506103286107bc36600461187c565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156107e657600080fd5b506102fa6107f53660046118b6565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561082c57600080fd5b50610328610f17565b34801561084157600080fd5b50610328610850366004611991565b610f55565b34801561086157600080fd5b50600854610358906001600160a01b031681565b34801561088157600080fd5b506102fa60145481565b34801561089757600080fd5b50601854610328906301000000900460ff1681565b60006108b9338484611067565b5060015b92915050565b600080546001600160a01b031633146108f75760405162461bcd60e51b81526004016108ee90611ae1565b60405180910390fd5b506001600160a01b0382166000908152600660205260409020805482151560ff19909116179055600192915050565b600080546001600160a01b031633146109515760405162461bcd60e51b81526004016108ee90611ae1565b506017829055601880548215156101000261ff0019909116179055600192915050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146109f3576001600160a01b03841660009081526004602090815260408083203384529091529020546109ce90836110ef565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6109fe848484611131565b5060019392505050565b600080546001600160a01b03163314610a335760405162461bcd60e51b81526004016108ee90611ae1565b50601481905560015b919050565b6000546001600160a01b03163314610a6b5760405162461bcd60e51b81526004016108ee90611ae1565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b03163314610ae05760405162461bcd60e51b81526004016108ee90611ae1565b506001600160a01b0382166000908152600760205260409020805482151560ff19909116179055600192915050565b600080546001600160a01b03163314610b3a5760405162461bcd60e51b81526004016108ee90611ae1565b506001600160a01b0382166000908152600560205260409020805482151560ff19909116179055600192915050565b600080546001600160a01b03163314610b945760405162461bcd60e51b81526004016108ee90611ae1565b600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610be257600080fd5b505afa158015610bf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1a9190611899565b600980546001600160a01b0319166001600160a01b039290921691909117905550600190565b600080546001600160a01b03163314610c6b5760405162461bcd60e51b81526004016108ee90611ae1565b506016805460ff1916911515919091179055600190565b600080546001600160a01b03163314610cad5760405162461bcd60e51b81526004016108ee90611ae1565b506018805463ff00000019166301000000179055600190565b600080546001600160a01b03163314610cf15760405162461bcd60e51b81526004016108ee90611ae1565b610d086103e8610d02846050610f9f565b90611025565b610d1c85610d1689896112c2565b906112c2565b1115610d2757600080fd5b610d386103e8610d0284603c610f9f565b831115610d4457600080fd5b601086905560118590556012849055610d5d86866112c2565b600d819055600e849055601254610d7491906112c2565b600f55506013555060019392505050565b60006108b9338484611131565b600080546001600160a01b03163314610dbd5760405162461bcd60e51b81526004016108ee90611ae1565b50601555600190565b6000546001600160a01b03163314610df05760405162461bcd60e51b81526004016108ee90611ae1565b610e103330610e0b610e046012600a611c04565b8590610f9f565b611321565b30600090815260036020526040902054610e33906103e890610d02906005610f9f565b6017556018805460ff19166001179055600854306000818152600360205260408120546001600160a01b039093169263f305d71992479290919080610e806000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610ea296959493929190611a51565b6060604051808303818588803b158015610ebb57600080fd5b505af1158015610ecf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ef491906119e8565b50506018805461ffff191661010017905550610f114260036112c2565b60195550565b600080546001600160a01b03163314610f425760405162461bcd60e51b81526004016108ee90611ae1565b506018805463ff00000019169055600190565b600080546001600160a01b03163314610f805760405162461bcd60e51b81526004016108ee90611ae1565b5060188054821515620100000262ff0000199091161790556001919050565b600082610fae575060006108bd565b6000610fba8385611caf565b905082610fc78583611b9f565b1461101e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108ee565b9392505050565b600061101e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113c7565b6001600160a01b03831661107a57600080fd5b6001600160a01b03821661108d57600080fd5b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600061101e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113fe565b60185460ff168061114a575060185462010000900460ff165b8061115f5750600b546001600160a01b031633145b156111745761116f838383611321565b505050565b6017543060009081526003602052604090205411801561119b5750601854610100900460ff165b80156111b25750600a546001600160a01b03163314155b156112b7576018805460ff19166001179055600d546010546017546000926111df929091610d0291610f9f565b905060006111f8826017546110ef90919063ffffffff16565b90506000611207826002611025565b9050600061121584836112c2565b9050476112218261142f565b600061122d47836110ef565b9050600061123f84610d02848a610f9f565b9050600061124d83836110ef565b90506112616000546001600160a01b031690565b6001600160a01b03166108fc839081150290604051600060405180830381858888f19350505050158015611299573d6000803e3d6000fd5b506112a48682611511565b50506018805460ff191690555050505050505b61116f8383836115b5565b6000806112cf8385611b87565b90508381101561101e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108ee565b6001600160a01b03831660009081526003602052604090205461134490826110ef565b6001600160a01b03808516600090815260036020526040808220939093559084168152205461137390826112c2565b6001600160a01b0380841660008181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e29085815260200190565b600081836113e85760405162461bcd60e51b81526004016108ee9190611a8c565b5060006113f58486611b9f565b95945050505050565b600081848411156114225760405162461bcd60e51b81526004016108ee9190611a8c565b5060006113f58486611cce565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061146457611464611cfb565b6001600160a01b03928316602091820292909201015260095482519116908290600190811061149557611495611cfb565b6001600160a01b03928316602091820292909201015260085460405163791ac94760e01b815291169063791ac947906114db908590600090869030904290600401611b16565b600060405180830381600087803b1580156114f557600080fd5b505af1158015611509573d6000803e3d6000fd5b505050505050565b6008546001600160a01b031663f305d71982308560008061153a6000546001600160a01b031690565b426040518863ffffffff1660e01b815260040161155c96959493929190611a51565b6060604051808303818588803b15801561157557600080fd5b505af1158015611589573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115ae91906119e8565b5050505050565b6001600160a01b0383166115c857600080fd5b6001600160a01b0382166115db57600080fd5b6018546301000000900460ff166116445760405162461bcd60e51b815260206004820152602760248201527f42455032303a206e6f7720746f6b656e2074656d706f7261727920646973626c6044820152666520747261646560c81b60648201526084016108ee565b6001600160a01b03831660009081526003602052604090205461166790826110ef565b6001600160a01b03808516600090815260036020526040808220939093559084168152205461169690826112c2565b6001600160a01b03808416600090815260036020526040902091909155600a5484821691161480156116e157506001600160a01b03821660009081526006602052604090205460ff16155b80156116f0575060165460ff16155b15611726576014546001600160a01b03831660009081526003602052604090205461171b90836112c2565b111561172657600080fd5b600a546001600160a01b03848116911614801561175c57506001600160a01b03821660009081526007602052604090205460ff16155b801561176b575060165460ff16155b1561177f5760155481111561177f57600080fd5b600a546001600160a01b03848116911614801561179d575060195442105b156117a757600080fd5b6001600160a01b038316600090815260056020526040812054819060ff1661181b576117e4601354610d0260125486610f9f90919063ffffffff16565b9050611801601354610d02600d5486610f9f90919063ffffffff16565b915061180e843084611321565b61181b8461dead83611321565b6001600160a01b038085169086167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61185486866110ef565b60405190815260200160405180910390a35050505050565b80358015158114610a3c57600080fd5b60006020828403121561188e57600080fd5b813561101e81611d11565b6000602082840312156118ab57600080fd5b815161101e81611d11565b600080604083850312156118c957600080fd5b82356118d481611d11565b915060208301356118e481611d11565b809150509250929050565b60008060006060848603121561190457600080fd5b833561190f81611d11565b9250602084013561191f81611d11565b929592945050506040919091013590565b6000806040838503121561194357600080fd5b823561194e81611d11565b915061195c6020840161186c565b90509250929050565b6000806040838503121561197857600080fd5b823561198381611d11565b946020939093013593505050565b6000602082840312156119a357600080fd5b61101e8261186c565b6000602082840312156119be57600080fd5b5035919050565b600080604083850312156119d857600080fd5b8235915061195c6020840161186c565b6000806000606084860312156119fd57600080fd5b8351925060208401519150604084015190509250925092565b600080600080600060a08688031215611a2e57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600060208083528351808285015260005b81811015611ab957858101830151858201604001528201611a9d565b81811115611acb576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b665784516001600160a01b031683529383019391830191600101611b41565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611b9a57611b9a611ce5565b500190565b600082611bbc57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115611bfc578160001904821115611be257611be2611ce5565b80851615611bef57918102915b93841c9390800290611bc6565b509250929050565b600061101e60ff841683600082611c1d575060016108bd565b81611c2a575060006108bd565b8160018114611c405760028114611c4a57611c66565b60019150506108bd565b60ff841115611c5b57611c5b611ce5565b50506001821b6108bd565b5060208310610133831016604e8410600b8410161715611c89575081810a6108bd565b611c938383611bc1565b8060001904821115611ca757611ca7611ce5565b029392505050565b6000816000190483118215151615611cc957611cc9611ce5565b500290565b600082821015611ce057611ce0611ce5565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611d2657600080fd5b5056fea264697066735822122014f5288c09b4f2f8ccb96bffd22bb005b011cd42ddb2f38dd61a88b8fbade47364736f6c63430008070033

Deployed Bytecode Sourcemap

6019:10283:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11677:69;;;;;;;;;;-1:-1:-1;11738:5:0;;;;;;;;;;;;-1:-1:-1;;;11738:5:0;;;;11677:69;;;;;;;:::i;:::-;;;;;;;;6890:26;;;;;;;;;;;;;;;;;;;7087:25:1;;;7075:2;7060:18;6890:26:0;6941:177:1;12597:151:0;;;;;;;;;;-1:-1:-1;12597:151:0;;;;;:::i;:::-;;:::i;:::-;;;4559:14:1;;4552:22;4534:41;;4522:2;4507:18;12597:151:0;4394:187:1;6684:28:0;;;;;;;;;;-1:-1:-1;6684:28:0;;;;-1:-1:-1;;;;;6684:28:0;;;;;;-1:-1:-1;;;;;3738:32:1;;;3720:51;;3708:2;3693:18;6684:28:0;3574:203:1;10421:151:0;;;;;;;;;;-1:-1:-1;10421:151:0;;;;;:::i;:::-;;:::i;6921:29::-;;;;;;;;;;;;;;;;11750:88;;;;;;;;;;-1:-1:-1;11823:12:0;;11750:88;;10863:156;;;;;;;;;;-1:-1:-1;10863:156:0;;;;;:::i;:::-;;:::i;13291:329::-;;;;;;;;;;-1:-1:-1;13291:329:0;;;;;:::i;:::-;;:::i;6786:27::-;;;;;;;;;;;;;;;;11527:69;;;;;;;;;;-1:-1:-1;11527:69:0;;6222:2;8250:36:1;;8238:2;8223:18;11527:69:0;8108:184:1;6818:31:0;;;;;;;;;;;;;;;;9760:127;;;;;;;;;;-1:-1:-1;9760:127:0;;;;;:::i;:::-;;:::i;6721:29::-;;;;;;;;;;;;;;;;12175:106;;;;;;;;;;-1:-1:-1;12175:106:0;;;;;:::i;:::-;-1:-1:-1;;;;;12254:24:0;12239:4;12254:24;;;:15;:24;;;;;;;;;12175:106;11842:107;;;;;;;;;;-1:-1:-1;11842:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;11928:18:0;11910:7;11928:18;;;:9;:18;;;;;;;11842:107;7103:20;;;;;;;;;;-1:-1:-1;7103:20:0;;;;;;;;;;;3973:148;;;;;;;;;;;;;:::i;:::-;;6986:20;;;;;;;;;;;;;;;;7045:28;;;;;;;;;;;;;;;;10578:147;;;;;;;;;;-1:-1:-1;10578:147:0;;;;;:::i;:::-;;:::i;12061:110::-;;;;;;;;;;-1:-1:-1;12061:110:0;;;;;:::i;:::-;-1:-1:-1;;;;;12142:26:0;12127:4;12142:26;;;:17;:26;;;;;;;;;12061:110;7182:24;;;;;;;;;;;;;;;;3759:79;;;;;;;;;;-1:-1:-1;3797:7:0;3824:6;-1:-1:-1;;;;;3824:6:0;3759:79;;10272:143;;;;;;;;;;-1:-1:-1;10272:143:0;;;;;:::i;:::-;;:::i;7011:27::-;;;;;;;;;;-1:-1:-1;7011:27:0;;;;;;;;10018:121;;;;;;;;;;;;;:::i;6755:26::-;;;;;;;;;;;;;;;;11600:73;;;;;;;;;;-1:-1:-1;11663:7:0;;;;;;;;;;;;-1:-1:-1;;;11663:7:0;;;;11600:73;;7128:21;;;;;;;;;;-1:-1:-1;7128:21:0;;;;;;;;;;;10731:126;;;;;;;;;;-1:-1:-1;10731:126:0;;;;;:::i;:::-;;:::i;9542:102::-;;;;;;;;;;;;;:::i;8959:577::-;;;;;;;;;;-1:-1:-1;8959:577:0;;;;;:::i;:::-;;:::i;6633:19::-;;;;;;;;;;-1:-1:-1;6633:19:0;;;;-1:-1:-1;;;;;6633:19:0;;;12287:159;;;;;;;;;;-1:-1:-1;12287:159:0;;;;;:::i;:::-;;:::i;9893:119::-;;;;;;;;;;-1:-1:-1;9893:119:0;;;;;:::i;:::-;;:::i;6657:22::-;;;;;;;;;;-1:-1:-1;6657:22:0;;;;-1:-1:-1;;;;;6657:22:0;;;6854:31;;;;;;;;;;;;;;;;11025:496;;;;;;:::i;:::-;;:::i;7080:18::-;;;;;;;;;;-1:-1:-1;7080:18:0;;;;;;;;11955:102;;;;;;;;;;-1:-1:-1;11955:102:0;;;;;:::i;:::-;-1:-1:-1;;;;;12032:22:0;12017:4;12032:22;;;:13;:22;;;;;;;;;11955:102;12452:139;;;;;;;;;;-1:-1:-1;12452:139:0;;;;;:::i;:::-;-1:-1:-1;;;;;12558:18:0;;;12535:7;12558:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12452:139;9650:104;;;;;;;;;;;;;:::i;10145:121::-;;;;;;;;;;-1:-1:-1;10145:121:0;;;;;:::i;:::-;;:::i;6580:24::-;;;;;;;;;;-1:-1:-1;6580:24:0;;;;-1:-1:-1;;;;;6580:24:0;;;6957;;;;;;;;;;;;;;;;7154:21;;;;;;;;;;-1:-1:-1;7154:21:0;;;;;;;;;;;12597:151;12674:4;12687:37;12696:10;12708:7;12717:6;12687:8;:37::i;:::-;-1:-1:-1;12738:4:0;12597:151;;;;;:::o;10421:::-;10502:4;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;;10515:26:0;::::1;;::::0;;;:17:::1;:26;::::0;;;;:33;;;::::1;;-1:-1:-1::0;;10515:33:0;;::::1;;::::0;;;10421:151;;;;:::o;10863:156::-;10938:4;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;-1:-1:-1;10951:13:0::1;:22:::0;;;10980:8:::1;:15:::0;;;::::1;;;;-1:-1:-1::0;;10980:15:0;;::::1;;::::0;;:8:::1;10863:156:::0;;;;:::o;13291:329::-;-1:-1:-1;;;;;13407:19:0;;13391:4;13407:19;;;:11;:19;;;;;;;;13427:10;13407:31;;;;;;;;-1:-1:-1;;13407:52:0;13404:148;;-1:-1:-1;;;;;13501:19:0;;;;;;:11;:19;;;;;;;;13521:10;13501:31;;;;;;;;:43;;13537:6;13501:35;:43::i;:::-;-1:-1:-1;;;;;13467:19:0;;;;;;:11;:19;;;;;;;;13487:10;13467:31;;;;;;;:77;13404:148;13558:38;13572:6;13579:9;13589:6;13558:13;:38::i;:::-;-1:-1:-1;13610:4:0;13291:329;;;;;:::o;9760:127::-;9829:4;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;-1:-1:-1;9842:9:0::1;:21:::0;;;9877:4:::1;3956:1;9760:127:::0;;;:::o;3973:148::-;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;4080:1:::1;4064:6:::0;;4043:40:::1;::::0;-1:-1:-1;;;;;4064:6:0;;::::1;::::0;4043:40:::1;::::0;4080:1;;4043:40:::1;4111:1;4094:19:::0;;-1:-1:-1;;;;;;4094:19:0::1;::::0;;3973:148::o;10578:147::-;10657:4;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;10670:24:0;::::1;;::::0;;;:15:::1;:24;::::0;;;;:31;;;::::1;;-1:-1:-1::0;;10670:31:0;;::::1;;::::0;;;10578:147;;;;:::o;10272:143::-;10349:4;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;10362:22:0;::::1;;::::0;;;:13:::1;:22;::::0;;;;:29;;;::::1;;-1:-1:-1::0;;10362:29:0;;::::1;;::::0;;;10272:143;;;;:::o;10018:121::-;10075:4;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;10102:6:::1;;;;;;;;;-1:-1:-1::0;;;;;10102:6:0::1;-1:-1:-1::0;;;;;10102:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10088:11;:27:::0;;-1:-1:-1;;;;;;10088:27:0::1;-1:-1:-1::0;;;;;10088:27:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;10018:121:0:o;10731:126::-;10798:4;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;-1:-1:-1;10811:15:0::1;:22:::0;;-1:-1:-1;;10811:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;;10731:126:0:o;9542:102::-;9591:4;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;-1:-1:-1;9604:9:0::1;:16:::0;;-1:-1:-1;;9604:16:0::1;::::0;::::1;::::0;;9616:4:::1;9542:102:::0;:::o;8959:577::-;9093:4;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;9156:30:::1;9181:4;9156:20;:12:::0;9173:2:::1;9156:16;:20::i;:::-;:24:::0;::::1;:30::i;:::-;9115:37;9146:5:::0;9115:26:::1;:10:::0;9130;9115:14:::1;:26::i;:::-;:30:::0;::::1;:37::i;:::-;:71;;9106:82;;;::::0;::::1;;9215:30;9240:4;9215:20;:12:::0;9232:2:::1;9215:16;:20::i;:30::-;9204:7;:41;;9195:52;;;::::0;::::1;;9254:16;:29:::0;;;9290:16:::1;:29:::0;;;9326:11:::1;:19:::0;;;9369:26:::1;9273:10:::0;9309;9369:14:::1;:26::i;:::-;9352:14;:43:::0;;;9402:11:::1;:21:::0;;;9464:11:::1;::::0;9445:31:::1;::::0;9352:43;9445:18:::1;:31::i;:::-;9430:12;:46:::0;-1:-1:-1;9483:14:0::1;:29:::0;-1:-1:-1;9526:4:0::1;::::0;8959:577;-1:-1:-1;;;8959:577:0:o;12287:159::-;12367:4;12380:42;12394:10;12405:9;12415:6;12380:13;:42::i;9893:119::-;9958:4;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;-1:-1:-1;9971:5:0::1;:17:::0;10002:4:::1;::::0;9893:119::o;11025:496::-;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;11106:72:::1;11121:10;11140:4;11146:31;11163:13;6222:2;11163;:13;:::i;:::-;11146:12:::0;;:16:::1;:31::i;:::-;11106:14;:72::i;:::-;11219:4;11201:24;::::0;;;:9:::1;:24;::::0;;;;;:41:::1;::::0;11237:4:::1;::::0;11201:31:::1;::::0;11230:1:::1;11201:28;:31::i;:41::-;11185:13;:57:::0;11249:6:::1;:12:::0;;-1:-1:-1;;11249:12:0::1;11257:4;11249:12;::::0;;11268:6:::1;::::0;11336:4:::1;11249:6;11348:24:::0;;;:9:::1;:24;::::0;;;;;-1:-1:-1;;;;;11268:6:0;;::::1;::::0;:22:::1;::::0;11298:21:::1;::::0;11336:4;;11348:24;11249:6;11395:7:::1;3797::::0;3824:6;-1:-1:-1;;;;;3824:6:0;;3759:79;11395:7:::1;11409:15;11268:163;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11438:6:0::1;:14:::0;;-1:-1:-1;;11459:15:0;11438:14:::1;11459:15;::::0;;-1:-1:-1;11493:22:0::1;:15;11513:1;11493:19;:22::i;:::-;11481:9;:34:::0;-1:-1:-1;11025:496:0:o;9650:104::-;9700:4;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;-1:-1:-1;9713:9:0::1;:17:::0;;-1:-1:-1;;9713:17:0::1;::::0;;;9650:104;:::o;10145:121::-;10213:4;3886:6;;-1:-1:-1;;;;;3886:6:0;3379:10;3886:22;3878:67;;;;-1:-1:-1;;;3878:67:0;;;;;;;:::i;:::-;-1:-1:-1;10226:9:0::1;:16:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;10226:16:0;;::::1;;::::0;;-1:-1:-1;10145:121:0;;;:::o;4677:248::-;4735:7;4759:6;4755:47;;-1:-1:-1;4789:1:0;4782:8;;4755:47;4814:9;4826:5;4830:1;4826;:5;:::i;:::-;4814:17;-1:-1:-1;4859:1:0;4850:5;4854:1;4814:17;4850:5;:::i;:::-;:10;4842:56;;;;-1:-1:-1;;;4842:56:0;;6380:2:1;4842:56:0;;;6362:21:1;6419:2;6399:18;;;6392:30;6458:34;6438:18;;;6431:62;-1:-1:-1;;;6509:18:1;;;6502:31;6550:19;;4842:56:0;6178:397:1;4842:56:0;4916:1;4677:248;-1:-1:-1;;;4677:248:0:o;4931:132::-;4989:7;5016:39;5020:1;5023;5016:39;;;;;;;;;;;;;;;;;:3;:39::i;16023:240::-;-1:-1:-1;;;;;16113:19:0;;16105:28;;;;;;-1:-1:-1;;;;;16148:21:0;;16140:30;;;;;;-1:-1:-1;;;;;16177:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16225:32;;7087:25:1;;;16225:32:0;;7060:18:1;16225:32:0;;;;;;;;16023:240;;;:::o;4339:136::-;4397:7;4424:43;4428:1;4431;4424:43;;;;;;;;;;;;;;;;;:3;:43::i;13626:1041::-;13717:6;;;;;:19;;-1:-1:-1;13727:9:0;;;;;;;13717:19;:44;;;-1:-1:-1;13754:7:0;;-1:-1:-1;;;;;13754:7:0;13740:10;:21;13717:44;13714:948;;;13769:41;13784:6;13792:9;13803:6;13769:14;:41::i;:::-;13626:1041;;;:::o;13714:948::-;13859:13;;13852:4;13834:24;;;;:9;:24;;;;;;:38;:50;;;;-1:-1:-1;13876:8:0;;;;;;;13834:50;:72;;;;-1:-1:-1;13902:4:0;;-1:-1:-1;;;;;13902:4:0;13888:10;:18;;13834:72;13831:781;;;13914:6;:13;;-1:-1:-1;;13914:13:0;13923:4;13914:13;;;14002:14;;13980:16;;13962:13;;13914:6;;13962:55;;14002:14;;13962:35;;:17;:35::i;:55::-;13934:83;;14024:24;14051:36;14069:17;14051:13;;:17;;:36;;;;:::i;:::-;14024:63;-1:-1:-1;14094:23:0;14120;14024:63;14141:1;14120:20;:23::i;:::-;14094:49;-1:-1:-1;14150:20:0;14173:38;:17;14094:49;14173:21;:38::i;:::-;14150:61;-1:-1:-1;14242:21:0;14270:22;14150:61;14270:8;:22::i;:::-;14299:20;14322:40;:21;14348:13;14322:25;:40::i;:::-;14299:63;-1:-1:-1;14369:18:0;14390:53;14430:12;14390:35;14299:63;14407:17;14390:16;:35::i;:53::-;14369:74;-1:-1:-1;14450:16:0;14469:28;:12;14369:74;14469:16;:28::i;:::-;14450:47;;14512:7;3797;3824:6;-1:-1:-1;;;;;3824:6:0;;3759:79;14512:7;-1:-1:-1;;;;;14504:25:0;:37;14530:10;14504:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14548:35;14558:15;14574:8;14548:9;:35::i;:::-;-1:-1:-1;;14590:6:0;:14;;-1:-1:-1;;14590:14:0;;;-1:-1:-1;;;;;;13831:781:0;14618:36;14628:6;14636:9;14647:6;14618:9;:36::i;4154:179::-;4212:7;;4244:5;4248:1;4244;:5;:::i;:::-;4232:17;;4273:1;4268;:6;;4260:46;;;;-1:-1:-1;;;4260:46:0;;6024:2:1;4260:46:0;;;6006:21:1;6063:2;6043:18;;;6036:30;6102:29;6082:18;;;6075:57;6149:18;;4260:46:0;5822:351:1;15762:255:0;-1:-1:-1;;;;;15873:17:0;;;;;;:9;:17;;;;;;:29;;15895:6;15873:21;:29::i;:::-;-1:-1:-1;;;;;15853:17:0;;;;;;;:9;:17;;;;;;:49;;;;15932:20;;;;;;;:32;;15957:6;15932:24;:32::i;:::-;-1:-1:-1;;;;;15909:20:0;;;;;;;:9;:20;;;;;;;:55;;;;15976:35;;;;;;;;;;16004:6;7087:25:1;;7075:2;7060:18;;6941:177;5069:189:0;5155:7;5190:12;5183:5;5175:28;;;;-1:-1:-1;;;5175:28:0;;;;;;;;:::i;:::-;-1:-1:-1;5214:9:0;5226:5;5230:1;5226;:5;:::i;:::-;5214:17;5069:189;-1:-1:-1;;;;;5069:189:0:o;4481:190::-;4567:7;4603:12;4595:6;;;;4587:29;;;;-1:-1:-1;;;4587:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4627:9:0;4639:5;4643:1;4639;:5;:::i;12754:299::-;12828:16;;;12842:1;12828:16;;;;;;;;12804:21;;12828:16;;;;;;;;;;-1:-1:-1;12828:16:0;12804:40;;12869:4;12851;12856:1;12851:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12851:23:0;;;:7;;;;;;;;;:23;12891:11;;12881:7;;12891:11;;;12881:4;;12891:11;;12881:7;;;;;;:::i;:::-;-1:-1:-1;;;;;12881:21:0;;;:7;;;;;;;;;:21;12909:6;;:138;;-1:-1:-1;;;12909:138:0;;:6;;;:57;;:138;;12973:6;;12909;;12994:4;;13013;;13025:15;;12909:138;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12797:256;12754:299;:::o;13059:226::-;13137:6;;-1:-1:-1;;;;;13137:6:0;:22;13167:9;13193:4;13205:15;13137:6;;13243:7;3797;3824:6;-1:-1:-1;;;;;3824:6:0;;3759:79;13243:7;13257:15;13137:142;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13059:226;;:::o;14673:1083::-;-1:-1:-1;;;;;14767:20:0;;14759:29;;;;;;-1:-1:-1;;;;;14803:23:0;;14795:32;;;;;;14842:9;;;;;;;14834:60;;;;-1:-1:-1;;;14834:60:0;;5616:2:1;14834:60:0;;;5598:21:1;5655:2;5635:18;;;5628:30;5694:34;5674:18;;;5667:62;-1:-1:-1;;;5745:18:1;;;5738:37;5792:19;;14834:60:0;5414:403:1;14834:60:0;-1:-1:-1;;;;;14923:17:0;;;;;;:9;:17;;;;;;:29;;14945:6;14923:21;:29::i;:::-;-1:-1:-1;;;;;14903:17:0;;;;;;;:9;:17;;;;;;:49;;;;14982:20;;;;;;;:32;;15007:6;14982:24;:32::i;:::-;-1:-1:-1;;;;;14959:20:0;;;;;;;:9;:20;;;;;:55;;;;15036:4;;15026:14;;;15036:4;;15026:14;:47;;;;-1:-1:-1;;;;;;15045:28:0;;;;;;:17;:28;;;;;;;;15044:29;15026:47;:67;;;;-1:-1:-1;15078:15:0;;;;15077:16;15026:67;15023:140;;;15145:9;;-1:-1:-1;;;;;15109:20:0;;;;;;:9;:20;;;;;;:32;;15134:6;15109:24;:32::i;:::-;:45;;15101:54;;;;;;15184:4;;-1:-1:-1;;;;;15174:14:0;;;15184:4;;15174:14;:45;;;;-1:-1:-1;;;;;;15193:26:0;;;;;;:15;:26;;;;;;;;15192:27;15174:45;:65;;;;-1:-1:-1;15224:15:0;;;;15223:16;15174:65;15171:108;;;15265:5;;15255:6;:15;;15247:24;;;;;;15300:4;;-1:-1:-1;;;;;15290:14:0;;;15300:4;;15290:14;:43;;;;;15324:9;;15308:15;:25;15290:43;15287:70;;;15341:8;;;15287:70;-1:-1:-1;;;;;15417:21:0;;15365:15;15417:21;;;:13;:21;;;;;;15365:15;;15417:21;;15412:271;;15458:43;15486:14;;15458:23;15469:11;;15458:6;:10;;:23;;;;:::i;:43::-;15447:54;;15518:46;15549:14;;15518:26;15529:14;;15518:6;:10;;:26;;;;:::i;:46::-;15508:56;;15571:47;15586:9;15604:4;15610:7;15571:14;:47::i;:::-;15625:50;15640:9;15658:6;15666:8;15625:14;:50::i;:::-;-1:-1:-1;;;;;15700:48:0;;;;;;;15728:19;:6;15739:7;15728:10;:19::i;:::-;15700:48;;7087:25:1;;;7075:2;7060:18;15700:48:0;;;;;;;14752:1004;;14673:1083;;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;179:247;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;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:52;;;570:1;567;560:12;522:52;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:52;;;832:1;829;822:12;784:52;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;;;687:388;;;;;:::o;1080:456::-;1157:6;1165;1173;1226:2;1214:9;1205:7;1201:23;1197:32;1194:52;;;1242:1;1239;1232:12;1194:52;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;:::-;1080:456;;1472:7;;-1:-1:-1;;;1526:2:1;1511:18;;;;1498:32;;1080:456::o;1541:315::-;1606:6;1614;1667:2;1655:9;1646:7;1642:23;1638:32;1635:52;;;1683:1;1680;1673:12;1635:52;1722:9;1709:23;1741:31;1766:5;1741:31;:::i;:::-;1791:5;-1:-1:-1;1815:35:1;1846:2;1831:18;;1815:35;:::i;:::-;1805:45;;1541:315;;;;;:::o;1861:::-;1929:6;1937;1990:2;1978:9;1969:7;1965:23;1961:32;1958:52;;;2006:1;2003;1996:12;1958:52;2045:9;2032:23;2064:31;2089:5;2064:31;:::i;:::-;2114:5;2166:2;2151:18;;;;2138:32;;-1:-1:-1;;;1861:315:1:o;2181:180::-;2237:6;2290:2;2278:9;2269:7;2265:23;2261:32;2258:52;;;2306:1;2303;2296:12;2258:52;2329:26;2345:9;2329:26;:::i;2366:180::-;2425:6;2478:2;2466:9;2457:7;2453:23;2449:32;2446:52;;;2494:1;2491;2484:12;2446:52;-1:-1:-1;2517:23:1;;2366:180;-1:-1:-1;2366:180:1:o;2551:248::-;2616:6;2624;2677:2;2665:9;2656:7;2652:23;2648:32;2645:52;;;2693:1;2690;2683:12;2645:52;2729:9;2716:23;2706:33;;2758:35;2789:2;2778:9;2774:18;2758:35;:::i;2804:306::-;2892:6;2900;2908;2961:2;2949:9;2940:7;2936:23;2932:32;2929:52;;;2977:1;2974;2967:12;2929:52;3006:9;3000:16;2990:26;;3056:2;3045:9;3041:18;3035:25;3025:35;;3100:2;3089:9;3085:18;3079:25;3069:35;;2804:306;;;;;:::o;3115:454::-;3210:6;3218;3226;3234;3242;3295:3;3283:9;3274:7;3270:23;3266:33;3263:53;;;3312:1;3309;3302:12;3263:53;-1:-1:-1;;3335:23:1;;;3405:2;3390:18;;3377:32;;-1:-1:-1;3456:2:1;3441:18;;3428:32;;3507:2;3492:18;;3479:32;;-1:-1:-1;3558:3:1;3543:19;3530:33;;-1:-1:-1;3115:454:1;-1:-1:-1;3115:454:1:o;3782:607::-;-1:-1:-1;;;;;4141:15:1;;;4123:34;;4188:2;4173:18;;4166:34;;;;4231:2;4216:18;;4209:34;;;;4274:2;4259:18;;4252:34;;;;4323:15;;;4317:3;4302:19;;4295:44;4103:3;4355:19;;4348:35;;;;4072:3;4057:19;;3782:607::o;4812:597::-;4924:4;4953:2;4982;4971:9;4964:21;5014:6;5008:13;5057:6;5052:2;5041:9;5037:18;5030:34;5082:1;5092:140;5106:6;5103:1;5100:13;5092:140;;;5201:14;;;5197:23;;5191:30;5167:17;;;5186:2;5163:26;5156:66;5121:10;;5092:140;;;5250:6;5247:1;5244:13;5241:91;;;5320:1;5315:2;5306:6;5295:9;5291:22;5287:31;5280:42;5241:91;-1:-1:-1;5393:2:1;5372:15;-1:-1:-1;;5368:29:1;5353:45;;;;5400:2;5349:54;;4812:597;-1:-1:-1;;;4812:597:1:o;6580:356::-;6782:2;6764:21;;;6801:18;;;6794:30;6860:34;6855:2;6840:18;;6833:62;6927:2;6912:18;;6580:356::o;7123:980::-;7385:4;7433:3;7422:9;7418:19;7464:6;7453:9;7446:25;7490:2;7528:6;7523:2;7512:9;7508:18;7501:34;7571:3;7566:2;7555:9;7551:18;7544:31;7595:6;7630;7624:13;7661:6;7653;7646:22;7699:3;7688:9;7684:19;7677:26;;7738:2;7730:6;7726:15;7712:29;;7759:1;7769:195;7783:6;7780:1;7777:13;7769:195;;;7848:13;;-1:-1:-1;;;;;7844:39:1;7832:52;;7939:15;;;;7904:12;;;;7880:1;7798:9;7769:195;;;-1:-1:-1;;;;;;;8020:32:1;;;;8015:2;8000:18;;7993:60;-1:-1:-1;;;8084:3:1;8069:19;8062:35;7981:3;7123:980;-1:-1:-1;;;7123:980:1:o;8297:128::-;8337:3;8368:1;8364:6;8361:1;8358:13;8355:39;;;8374:18;;:::i;:::-;-1:-1:-1;8410:9:1;;8297:128::o;8430:217::-;8470:1;8496;8486:132;;8540:10;8535:3;8531:20;8528:1;8521:31;8575:4;8572:1;8565:15;8603:4;8600:1;8593:15;8486:132;-1:-1:-1;8632:9:1;;8430:217::o;8652:422::-;8741:1;8784:5;8741:1;8798:270;8819:7;8809:8;8806:21;8798:270;;;8878:4;8874:1;8870:6;8866:17;8860:4;8857:27;8854:53;;;8887:18;;:::i;:::-;8937:7;8927:8;8923:22;8920:55;;;8957:16;;;;8920:55;9036:22;;;;8996:15;;;;8798:270;;;8802:3;8652:422;;;;;:::o;9079:140::-;9137:5;9166:47;9207:4;9197:8;9193:19;9187:4;9273:5;9303:8;9293:80;;-1:-1:-1;9344:1:1;9358:5;;9293:80;9392:4;9382:76;;-1:-1:-1;9429:1:1;9443:5;;9382:76;9474:4;9492:1;9487:59;;;;9560:1;9555:130;;;;9467:218;;9487:59;9517:1;9508:10;;9531:5;;;9555:130;9592:3;9582:8;9579:17;9576:43;;;9599:18;;:::i;:::-;-1:-1:-1;;9655:1:1;9641:16;;9670:5;;9467:218;;9769:2;9759:8;9756:16;9750:3;9744:4;9741:13;9737:36;9731:2;9721:8;9718:16;9713:2;9707:4;9704:12;9700:35;9697:77;9694:159;;;-1:-1:-1;9806:19:1;;;9838:5;;9694:159;9885:34;9910:8;9904:4;9885:34;:::i;:::-;9955:6;9951:1;9947:6;9943:19;9934:7;9931:32;9928:58;;;9966:18;;:::i;:::-;10004:20;;9224:806;-1:-1:-1;;;9224:806:1:o;10035:168::-;10075:7;10141:1;10137;10133:6;10129:14;10126:1;10123:21;10118:1;10111:9;10104:17;10100:45;10097:71;;;10148:18;;:::i;:::-;-1:-1:-1;10188:9:1;;10035:168::o;10208:125::-;10248:4;10276:1;10273;10270:8;10267:34;;;10281:18;;:::i;:::-;-1:-1:-1;10318:9:1;;10208:125::o;10338:127::-;10399:10;10394:3;10390:20;10387:1;10380:31;10430:4;10427:1;10420:15;10454:4;10451:1;10444:15;10470:127;10531:10;10526:3;10522:20;10519:1;10512:31;10562:4;10559:1;10552:15;10586:4;10583:1;10576:15;10734:131;-1:-1:-1;;;;;10809:31:1;;10799:42;;10789:70;;10855:1;10852;10845:12;10789:70;10734:131;:::o

Swarm Source

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