ETH Price: $2,418.43 (+3.18%)

Token

Liquidity Mining Autonomous Operation (LMAO)
 

Overview

Max Total Supply

100,000,000 LMAO

Holders

32

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
251,881.994054932574948061 LMAO

Value
$0.00
0xcf7e9856ec92b3f3ae645c195afe36581283f2e4
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:
LMAO

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;
 
/**
 * ERC20 standard interface
 */
 
interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}
 
/**
 * Basic access control mechanism
 */
 
abstract contract Ownable {
    address internal owner;
    address private _previousOwner;
 
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
    constructor(address _owner) {
        owner = _owner;
    }
 
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!YOU ARE NOT THE OWNER"); _;
    }
 
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(owner, address(0));
        owner = address(0);
    }
}
 
/**
 * Router Interfaces
 */
 
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 addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
 
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
 
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
 
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
 
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
 
/**
 * Token Contract Code
 */
 
contract LMAO is ERC20, Ownable {
    // -- Mappings --
    mapping(address => bool) public _blacklisted;
    mapping(address => bool) private _whitelisted;
    mapping(address => bool) public _automatedMarketMakers;
    mapping(address => bool) private _isLimitless;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
 
    // -- Basic Token Information --
    string constant _name = "Liquidity Mining Autonomous Operation";
    string constant _symbol = "LMAO";
    uint8 constant _decimals = 18;
    uint256 private _totalSupply = 100_000_000 * 10 ** _decimals;
 
 
    // -- Transaction & Wallet Limits --
    uint256 public maxBuyPercentage;
    uint256 public maxSellPercentage;
    uint256 public maxWalletPercentage;
 
    uint256 private maxBuyAmount;
    uint256 private maxSellAmount;
    uint256 private maxWalletAmount;
 
    // -- Contract Variables --
    address[] private sniperList;
    uint256 tokenTax;
    uint256 transferFee;
    uint256 private targetLiquidity = 50;
 
    // -- Fee Structs --
    struct BuyFee {
        uint256 liquidityFee;
        uint256 developerFee;
        uint256 marketingFee;
        uint256 total;
    }
 
    struct SellFee {
        uint256 liquidityFee;
        uint256 developerFee;
        uint256 marketingFee;
        uint256 total;
    }
 
    BuyFee public buyFee;
    SellFee public sellFee;
 
    // -- Addresses --
    address public _exchangeRouterAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
 
    address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address private constant ZERO = 0x0000000000000000000000000000000000000000;
 
    address public developerReceiver = (msg.sender);
    address public marketingReceiver = (msg.sender);
 
    IDEXRouter public router;
    address public pair;
 
    // -- Misc Variables --
    bool public antiSniperMode = true;  // AntiSniper active at launch by default
    bool private _addingLP;
    bool private inSwap;
    bool private _initialDistributionFinished;
 
    // -- Swap Variables --
    bool public swapEnabled = true;
    uint256 private swapThreshold = _totalSupply / 1000;
 
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor () Ownable(msg.sender) {
 
        // Initialize Uniswap Pair
        router = IDEXRouter(_exchangeRouterAddress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;
        _automatedMarketMakers[pair]=true;
 
        // Set Initial Buy Fees -- Base 1000 Set 10 for 1%
        buyFee.liquidityFee = 0; 
        buyFee.developerFee = 5; 
        buyFee.marketingFee = 0;

        buyFee.total = buyFee.liquidityFee + buyFee.developerFee + buyFee.marketingFee;
 
        // Set Initial Sell Fees -- Base 1000 Set 10 for 1%
        sellFee.liquidityFee = 0; 
        sellFee.developerFee = 5; 
        sellFee.marketingFee = 250;

        sellFee.total = sellFee.liquidityFee + sellFee.developerFee + sellFee.marketingFee;
 
        // Set Initial Buy, Sell & Wallet Limits -- Base 1000 Set 10 for 1%
        maxBuyPercentage = 10; 
        maxBuyAmount = _totalSupply /1000 * maxBuyPercentage;

        maxSellPercentage = 5; 
        maxSellAmount = _totalSupply /1000 * maxSellPercentage;

        maxWalletPercentage = 10; 
        maxWalletAmount = _totalSupply /1000 * maxWalletPercentage;
 
        // Exclude from fees & limits
        _isLimitless[owner] = _isLimitless[address(this)] = true;
 
        // Mint _totalSupply to owner address
        _balances[owner] = _totalSupply;
        emit Transfer(address(0x0), owner, _totalSupply);
    }
 
 
    ///////////////////////////////////////// -- Setter Functions -- /////////////////////////////////////////
 
        // Use 10 to set 1% -- Base 1000 for easier fine adjust
    function ownerSetLimits(uint256 _maxBuyPercentage, uint256 _maxSellPercentage, uint256 _maxWalletPercentage) external onlyOwner {
        maxBuyPercentage = _maxBuyPercentage;           
        maxBuyAmount = _totalSupply /1000 * maxBuyPercentage;

        maxSellPercentage = _maxSellPercentage;         
        maxSellAmount = _totalSupply /1000 * maxSellPercentage;

        maxWalletPercentage= _maxWalletPercentage;      
        maxWalletAmount = _totalSupply /1000 * maxWalletPercentage;
    }
 
    function ownerSetInitialDistributionFinished() external onlyOwner {
        _initialDistributionFinished = true;
    }
 
    function ownerSetLimitlessAddress(address _addr, bool _status) external onlyOwner {
        _isLimitless[_addr] = _status;
    }
 
    function ownerSetSwapBackSettings(bool _enabled, uint256 _percentageBase1000) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _totalSupply / 1000 * _percentageBase1000;
    }
 
    function ownerSetTargetLiquidity(uint256 target) external onlyOwner {
        targetLiquidity = target;
    }
       // Use 10 to set 1% -- Base 1000 for easier fine adjust
    function ownerUpdateBuyFees (uint256 _liquidityFee, uint256 _developerFee, uint256 _marketingFee) external onlyOwner {
        buyFee.liquidityFee = _liquidityFee;
        buyFee.developerFee = _developerFee;
        buyFee.marketingFee = _marketingFee;
        buyFee.total = buyFee.liquidityFee + buyFee.developerFee + buyFee.marketingFee;
    }
        // Use 10 to set 1% -- Base 1000 for easier fine adjust
    function ownerUpdateSellFees (uint256 _liquidityFee, uint256 _developerFee, uint256 _marketingFee) external onlyOwner {
        sellFee.liquidityFee = _liquidityFee;
        sellFee.developerFee = _developerFee;
        sellFee.marketingFee = _marketingFee;
        sellFee.total = sellFee.liquidityFee + sellFee.developerFee + sellFee.marketingFee;
    }
        // Use 10 to set 1% -- Base 1000 for easier fine adjust
    function ownerUpdateTransferFee (uint256 _transferFee) external onlyOwner {
        transferFee = _transferFee;
    }
 
    function ownerReplaceReceivers (address _developer, address _marketing) external onlyOwner {
        developerReceiver = _developer;
        marketingReceiver = _marketing;
    }
 
    function ownerAirDropWallets(address[] memory airdropWallets, uint256[] memory amounts) external onlyOwner{
        require(airdropWallets.length < 100, "Can only airdrop 100 wallets per txn due to gas limits");
        for(uint256 i = 0; i < airdropWallets.length; i++){
            address wallet = airdropWallets[i];
            uint256 amount = (amounts[i] * 10**_decimals);
            _transfer(msg.sender, wallet, amount);
        }
    }
 
    function reverseSniper(address sniper) external onlyOwner {
        _blacklisted[sniper] = false;
    }
 
    function addNewMarketMaker(address newAMM) external onlyOwner {
        _automatedMarketMakers[newAMM]=true;
        _isLimitless[newAMM]=true;
    }
 
    function controlAntiSniperMode(bool value) external onlyOwner {
        antiSniperMode = value;
    }
 
    function clearStuckBalance() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(owner).transfer(contractETHBalance);
    }
 
    function clearStuckToken(address _token) public onlyOwner {
        uint256 _contractBalance = ERC20(_token).balanceOf(address(this));
        payable(developerReceiver).transfer(_contractBalance);
    }
    ///////////////////////////////////////// -- Getter Functions -- /////////////////////////////////////////
 
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO);
    }
 
    function showSniperList() public view returns(address[] memory){
        return sniperList;
    }
 
    function showSniperListLength() public view returns(uint256){
        return sniperList.length;
    }
 
    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy * (balanceOf(pair) * (2)) / (getCirculatingSupply());
    }
 
    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }
 
    ///////////////////////////////////////// -- Internal Functions -- /////////////////////////////////////////
 
    function _transfer(address sender,address recipient,uint256 amount) private {
        require(sender!=address(0)&&recipient!=address(0),"Cannot be address(0).");
        bool isBuy=_automatedMarketMakers[sender];
        bool isSell=_automatedMarketMakers[recipient];
        bool isExcluded=_isLimitless[sender]||_isLimitless[recipient]||_addingLP;
 
        if(isExcluded)_transferExcluded(sender,recipient,amount);
        else { require(_initialDistributionFinished);
            // Punish for Snipers
            if(antiSniperMode)_punishSnipers(sender,recipient,amount);
            // Buy Tokens
            else if(isBuy)_buyTokens(sender,recipient,amount);
            // Sell Tokens
            else if(isSell) {
                // Swap & Liquify
                if (shouldSwapBack()) {swapBack();}
                _sellTokens(sender,recipient,amount);
            } else {
                // P2P Transfer
                require(!_blacklisted[sender]&&!_blacklisted[recipient]);
                require(balanceOf(recipient)+amount<=maxWalletAmount, "Total amount exceed wallet limit");
                _P2PTransfer(sender,recipient,amount);
            }
        }
    }
 
    function _punishSnipers(address sender,address recipient,uint256 amount) private {
        require(!_blacklisted[recipient]);
        require(amount <= maxBuyAmount, "Buy exceeds limit");
        tokenTax = amount*20/100;
        _blacklisted[recipient]=true;
        sniperList.push(address(recipient));
        _transferIncluded(sender,recipient,amount,tokenTax);
    }
 
    function _buyTokens(address sender,address recipient,uint256 amount) private {
        require(!_blacklisted[recipient]);
        require(amount <= maxBuyAmount, "Buy exceeds limit");
        require(balanceOf(recipient)+amount<=maxWalletAmount, "Total amount exceed wallet limit");
        if(!_whitelisted[recipient]){
        tokenTax = amount*buyFee.total/1000;}
        else tokenTax = 0;
        _transferIncluded(sender,recipient,amount,tokenTax);
    }
    function _sellTokens(address sender,address recipient,uint256 amount) private {
        require(!_blacklisted[sender]);
        require(amount <= maxSellAmount);
        if(!_whitelisted[sender]){
        tokenTax = amount*sellFee.total/1000;}
        else tokenTax = 0;
        _transferIncluded(sender,recipient,amount,tokenTax);
    }
 
    function _P2PTransfer(address sender,address recipient,uint256 amount) private {
        tokenTax = amount * transferFee/1000;
        if( tokenTax > 0) {_transferIncluded(sender,recipient,amount,tokenTax);}
        else {_transferExcluded(sender,recipient,amount);}
    }
 
    function _transferExcluded(address sender,address recipient,uint256 amount) private {
        _updateBalance(sender,_balances[sender]-amount);
        _updateBalance(recipient,_balances[recipient]+amount);
        emit Transfer(sender,recipient,amount);
    }
 
    function _transferIncluded(address sender,address recipient,uint256 amount,uint256 taxAmount) private {
        uint256 newAmount = amount-tokenTax;
        _updateBalance(sender,_balances[sender]-amount);
        _updateBalance(address(this),_balances[address(this)]+taxAmount);
        _updateBalance(recipient,_balances[recipient]+newAmount);
        emit Transfer(sender,recipient,newAmount);
        emit Transfer(sender,address(this),taxAmount);
    }
 
    function _updateBalance(address account,uint256 newBalance) private {
        _balances[account] = newBalance;
    }
 
    function shouldSwapBack() private view returns (bool) {
        return
            !inSwap &&
            swapEnabled &&
            _balances[address(this)] >= swapThreshold;
    }   
 
    function swapBack() private swapping {
        uint256 toSwap = balanceOf(address(this));
 
        uint256 totalLPTokens=toSwap*(sellFee.liquidityFee + buyFee.liquidityFee)/(sellFee.total + buyFee.total);
        uint256 tokensLeft=toSwap-totalLPTokens;
        uint256 LPTokens=totalLPTokens/2;
        uint256 LPETHTokens=totalLPTokens-LPTokens;
        toSwap=tokensLeft+LPETHTokens;
        uint256 oldETH=address(this).balance;
        _swapTokensForETH(toSwap);
        uint256 newETH=address(this).balance-oldETH;
        uint256 LPETH=(newETH*LPETHTokens)/toSwap;
        _addLiquidity(LPTokens,LPETH);
        uint256 remainingETH=address(this).balance-oldETH;
        _distributeETH(remainingETH);
    }
 
    function _distributeETH(uint256 remainingETH) private {
        uint256 marketingFee = (buyFee.marketingFee + sellFee.marketingFee);
        uint256 developerFee = (buyFee.developerFee + sellFee.developerFee);
        uint256 totalFee = (marketingFee + developerFee);
 
        uint256 amountETHmarketing = remainingETH * (marketingFee) / (totalFee);
        uint256 amountETHdeveloper = remainingETH * (developerFee) / (totalFee);
 
        if(amountETHdeveloper > 0){
        (bool developerSuccess, /* bytes memory data */) = payable(developerReceiver).call{value: amountETHdeveloper, gas: 30000}("");
        require(developerSuccess, "receiver rejected ETH transfer"); }
 
        if(amountETHmarketing > 0){
        (bool marketingSuccess, /* bytes memory data */) = payable(marketingReceiver).call{value: amountETHmarketing, gas: 30000}("");
        require(marketingSuccess, "receiver rejected ETH transfer"); }
    }
 
    function _swapTokensForETH(uint256 amount) private {
        address[] memory path=new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
 
    function _addLiquidity(uint256 amountTokens,uint256 amountETH) private {
        _addingLP=true;
        router.addLiquidityETH{value: amountETH}(
            address(this),
            amountTokens,
            0,
            0,
            developerReceiver,
            block.timestamp
        );
        _addingLP=false;
    }
 
/**
 * IERC20
 */
 
    receive() external payable { }
 
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account];}
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender];}
 
    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }
 
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
 
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        uint256 allowance_ = _allowances[sender][msg.sender];
        require(allowance_ >= amount);
 
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        _transfer(sender, recipient, amount);
        return true;
    }
}

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":"address","name":"","type":"address"}],"name":"_automatedMarketMakers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_blacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_exchangeRouterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAMM","type":"address"}],"name":"addNewMarketMaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antiSniperMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"developerFee","type":"uint256"},{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"clearStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"controlAntiSniperMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"developerReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"airdropWallets","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"ownerAirDropWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_developer","type":"address"},{"internalType":"address","name":"_marketing","type":"address"}],"name":"ownerReplaceReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ownerSetInitialDistributionFinished","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"ownerSetLimitlessAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxBuyPercentage","type":"uint256"},{"internalType":"uint256","name":"_maxSellPercentage","type":"uint256"},{"internalType":"uint256","name":"_maxWalletPercentage","type":"uint256"}],"name":"ownerSetLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_percentageBase1000","type":"uint256"}],"name":"ownerSetSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"}],"name":"ownerSetTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_developerFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"ownerUpdateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_developerFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"ownerUpdateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_transferFee","type":"uint256"}],"name":"ownerUpdateTransferFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"reverseSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"developerFee","type":"uint256"},{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSniperList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSniperListLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a62000513565b62000022906305f5e1006200052b565b60088190556032601255601b8054737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031991821617909155601c8054339083168117909155601d8054909216179055601f805464ff000000ff60a01b19167801000000010000000000000000000000000000000000000000179055620000a7906103e8906200054d565b602055348015620000b757600080fd5b5060008054336001600160a01b031991821617909155601b54601e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014a919062000570565b6001600160a01b031663c9c65396601e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d2919062000570565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156200021f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000245919062000570565b601f80546001600160a01b0319166001600160a01b03928316178155306000908152600760209081526040808320601e5486168452825280832060001990559254909316815260049092528120805460ff191660011790556013819055600560148190556015829055620002ba90826200059b565b620002c691906200059b565b601655600060178190556005601881905560fa601981905591620002eb91906200059b565b620002f791906200059b565b601a55600a600981905560085462000313906103e8906200054d565b6200031f91906200052b565b600c556005600a8190556008546200033b906103e8906200054d565b6200034791906200052b565b600d55600a600b81905560085462000363906103e8906200054d565b6200036f91906200052b565b600e553060009081526005602090815260408083208054600160ff19918216811790925584546001600160a01b039081168652838620805490921690921790556008548454821685526006845282852081905584549251908152911692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620005b6565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000455578160001904821115620004395762000439620003fe565b808516156200044757918102915b93841c939080029062000419565b509250929050565b6000826200046e575060016200050d565b816200047d575060006200050d565b8160018114620004965760028114620004a157620004c1565b60019150506200050d565b60ff841115620004b557620004b5620003fe565b50506001821b6200050d565b5060208310610133831016604e8410600b8410161715620004e6575081810a6200050d565b620004f2838362000414565b8060001904821115620005095762000509620003fe565b0290505b92915050565b60006200052460ff8416836200045d565b9392505050565b6000816000190483118215151615620005485762000548620003fe565b500290565b6000826200056b57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200058357600080fd5b81516001600160a01b03811681146200052457600080fd5b60008219821115620005b157620005b1620003fe565b500190565b6125a480620005c66000396000f3fe60806040526004361061028c5760003560e01c80636dc53a0a1161015a5780639be953b3116100c1578063d51ed1c81161007a578063d51ed1c814610801578063dd62ed3e14610821578063e065099714610867578063e5a772d21461087d578063f2fde38b1461089d578063f887ea40146108bd57600080fd5b80639be953b31461074b578063a5949bcf1461076b578063a8aa1b311461078b578063a9059cbb146107ab578063b46ba24b146107cb578063b704a9f6146107eb57600080fd5b806387cfc4931161011357806387cfc49314610680578063893d20e8146106a05780638ca42e4e146106be5780638ee41ca8146106de57806395d89b41146106fe5780639b0ad05c1461072b57600080fd5b80636dc53a0a146105ba5780636ddd1713146105da57806370a08231146105fb578063715018a61461061b5780637a6d69b41461063057806383bd84851461066057600080fd5b80632f54bf6e116101fe5780634c5d8710116101b75780634c5d87101461050e57806352aae9dd1461052e57806353cd62101461054e578063599ca3971461056f57806359d3cac2146105855780636390aeeb146105a557600080fd5b80632f54bf6e14610456578063313ce56714610485578063364333f4146104a157806347062402146104b657806347375a37146104d95780634be7d589146104ee57600080fd5b806318160ddd1161025057806318160ddd146103655780631ca0b1d01461038457806323b872dd146103a65780632b112e49146103c65780632b14ca56146103db5780632d3b40471461041e57600080fd5b806306fdde0314610298578063095ea7b3146102c35780630c5b1d93146102f35780630cb23d86146103155780631161ae391461034557600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506102ad6108dd565b6040516102ba9190611ec1565b60405180910390f35b3480156102cf57600080fd5b506102e36102de366004611f2e565b6108fd565b60405190151581526020016102ba565b3480156102ff57600080fd5b5061031361030e366004611f6f565b61096a565b005b34801561032157600080fd5b506102e3610330366004611fa4565b60046020526000908152604090205460ff1681565b34801561035157600080fd5b506102e3610360366004611fc8565b6109c8565b34801561037157600080fd5b506008545b6040519081526020016102ba565b34801561039057600080fd5b506103996109dc565b6040516102ba919061202e565b3480156103b257600080fd5b506102e36103c1366004612041565b610a3e565b3480156103d257600080fd5b50610376610b05565b3480156103e757600080fd5b50601754601854601954601a546103fe9392919084565b6040805194855260208501939093529183015260608201526080016102ba565b34801561042a57600080fd5b50601b5461043e906001600160a01b031681565b6040516001600160a01b0390911681526020016102ba565b34801561046257600080fd5b506102e3610471366004611fa4565b6000546001600160a01b0391821691161490565b34801561049157600080fd5b50604051601281526020016102ba565b3480156104ad57600080fd5b50610313610b38565b3480156104c257600080fd5b506013546014546015546016546103fe9392919084565b3480156104e557600080fd5b50610313610ba1565b3480156104fa57600080fd5b50610313610509366004612082565b610be0565b34801561051a57600080fd5b506103136105293660046120bb565b610c38565b34801561053a57600080fd5b506103136105493660046120e7565b610cd3565b34801561055a57600080fd5b50601f546102e390600160a01b900460ff1681565b34801561057b57600080fd5b50610376600b5481565b34801561059157600080fd5b506103136105a03660046120bb565b610d02565b3480156105b157600080fd5b50600f54610376565b3480156105c657600080fd5b50601c5461043e906001600160a01b031681565b3480156105e657600080fd5b50601f546102e390600160c01b900460ff1681565b34801561060757600080fd5b50610376610616366004611fa4565b610d58565b34801561062757600080fd5b50610313610d73565b34801561063c57600080fd5b506102e361064b366004611fa4565b60026020526000908152604090205460ff1681565b34801561066c57600080fd5b5061031361067b366004612100565b610de7565b34801561068c57600080fd5b5061031361069b366004611fa4565b610e2f565b3480156106ac57600080fd5b506000546001600160a01b031661043e565b3480156106ca57600080fd5b506103136106d93660046120e7565b610e7a565b3480156106ea57600080fd5b506103136106f936600461211b565b610ea9565b34801561070a57600080fd5b506040805180820190915260048152634c4d414f60e01b60208201526102ad565b34801561073757600080fd5b5061031361074636600461220d565b610f0d565b34801561075757600080fd5b50610313610766366004611fa4565b61102c565b34801561077757600080fd5b50601d5461043e906001600160a01b031681565b34801561079757600080fd5b50601f5461043e906001600160a01b031681565b3480156107b757600080fd5b506102e36107c6366004611f2e565b6110fc565b3480156107d757600080fd5b506103136107e63660046120bb565b611112565b3480156107f757600080fd5b50610376600a5481565b34801561080d57600080fd5b5061037661081c3660046120e7565b611168565b34801561082d57600080fd5b5061037661083c366004612082565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561087357600080fd5b5061037660095481565b34801561088957600080fd5b50610313610898366004611fa4565b6111a6565b3480156108a957600080fd5b506103136108b8366004611fa4565b61120c565b3480156108c957600080fd5b50601e5461043e906001600160a01b031681565b606060405180606001604052806025815260200161254a60259139905090565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109589086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461099d5760405162461bcd60e51b8152600401610994906122cf565b60405180910390fd5b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000826109d483611168565b119392505050565b6060600f805480602002602001604051908101604052809291908181526020018280548015610a3457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a16575b5050505050905090565b6001600160a01b038316600090815260076020908152604080832033845290915281205482811015610a6f57600080fd5b6001600160a01b038516600090815260076020908152604080832033845290915290205460001914610aef576001600160a01b0385166000908152600760209081526040808320338452909152902054610aca908490612315565b6001600160a01b03861660009081526007602090815260408083203384529091529020555b610afa8585856112f6565b506001949350505050565b6000610b116000610d58565b610b1c61dead610d58565b600854610b299190612315565b610b339190612315565b905090565b6000546001600160a01b03163314610b625760405162461bcd60e51b8152600401610994906122cf565b6000805460405147926001600160a01b039092169183156108fc02918491818181858888f19350505050158015610b9d573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610bcb5760405162461bcd60e51b8152600401610994906122cf565b601f805460ff60b81b1916600160b81b179055565b6000546001600160a01b03163314610c0a5760405162461bcd60e51b8152600401610994906122cf565b601c80546001600160a01b039384166001600160a01b031991821617909155601d8054929093169116179055565b6000546001600160a01b03163314610c625760405162461bcd60e51b8152600401610994906122cf565b60098390556008548390610c79906103e89061232c565b610c83919061234e565b600c55600a8290556008548290610c9d906103e89061232c565b610ca7919061234e565b600d55600b8190556008548190610cc1906103e89061232c565b610ccb919061234e565b600e55505050565b6000546001600160a01b03163314610cfd5760405162461bcd60e51b8152600401610994906122cf565b601255565b6000546001600160a01b03163314610d2c5760405162461bcd60e51b8152600401610994906122cf565b60178390556018829055601981905580610d46838561236d565b610d50919061236d565b601a55505050565b6001600160a01b031660009081526006602052604090205490565b6000546001600160a01b03163314610d9d5760405162461bcd60e51b8152600401610994906122cf565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610e115760405162461bcd60e51b8152600401610994906122cf565b601f8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610e595760405162461bcd60e51b8152600401610994906122cf565b6001600160a01b03166000908152600260205260409020805460ff19169055565b6000546001600160a01b03163314610ea45760405162461bcd60e51b8152600401610994906122cf565b601155565b6000546001600160a01b03163314610ed35760405162461bcd60e51b8152600401610994906122cf565b601f805460ff60c01b1916600160c01b841515021790556008548190610efc906103e89061232c565b610f06919061234e565b6020555050565b6000546001600160a01b03163314610f375760405162461bcd60e51b8152600401610994906122cf565b6064825110610fa75760405162461bcd60e51b815260206004820152603660248201527f43616e206f6e6c792061697264726f70203130302077616c6c657473207065726044820152752074786e2064756520746f20676173206c696d69747360501b6064820152608401610994565b60005b8251811015611027576000838281518110610fc757610fc7612385565b6020026020010151905060006012600a610fe1919061247f565b848481518110610ff357610ff3612385565b6020026020010151611005919061234e565b90506110123383836112f6565b5050808061101f9061248e565b915050610faa565b505050565b6000546001600160a01b031633146110565760405162461bcd60e51b8152600401610994906122cf565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561109d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c191906124a9565b601c546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611027573d6000803e3d6000fd5b60006111093384846112f6565b50600192915050565b6000546001600160a01b0316331461113c5760405162461bcd60e51b8152600401610994906122cf565b60138390556014829055601581905580611156838561236d565b611160919061236d565b601655505050565b6000611172610b05565b601f54611187906001600160a01b0316610d58565b61119290600261234e565b61119c908461234e565b610964919061232c565b6000546001600160a01b031633146111d05760405162461bcd60e51b8152600401610994906122cf565b6001600160a01b031660009081526004602090815260408083208054600160ff1991821681179092556005909352922080549091169091179055565b6000546001600160a01b031633146112365760405162461bcd60e51b8152600401610994906122cf565b6001600160a01b03811661129b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610994565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061131657506001600160a01b03821615155b61135a5760405162461bcd60e51b815260206004820152601560248201527421b0b73737ba1031329030b2323932b9b99418149760591b6044820152606401610994565b6001600160a01b03808416600081815260046020908152604080832054948716835280832054938352600590915281205460ff938416939283169216806113b957506001600160a01b03851660009081526005602052604090205460ff165b806113cd5750601f54600160a81b900460ff165b905080156113e5576113e0868686611512565b61150a565b601f54600160b81b900460ff166113fb57600080fd5b601f54600160a01b900460ff1615611418576113e08686866115d4565b8215611429576113e08686866116d1565b811561144f576114376117f9565b1561144457611444611841565b6113e086868661193c565b6001600160a01b03861660009081526002602052604090205460ff1615801561149157506001600160a01b03851660009081526002602052604090205460ff16155b61149a57600080fd5b600e54846114a787610d58565b6114b1919061236d565b11156114ff5760405162461bcd60e51b815260206004820181905260248201527f546f74616c20616d6f756e74206578636565642077616c6c6574206c696d69746044820152606401610994565b61150a8686866119a2565b505050505050565b6001600160a01b03831660009081526006602052604090205461155890849061153c908490612315565b6001600160a01b03909116600090815260066020526040902055565b6001600160a01b03821660009081526006602052604090205461158290839061153c90849061236d565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115c791815260200190565b60405180910390a3505050565b6001600160a01b03821660009081526002602052604090205460ff16156115fa57600080fd5b600c548111156116405760405162461bcd60e51b8152602060048201526011602482015270109d5e48195e18d959591cc81b1a5b5a5d607a1b6044820152606401610994565b606461164d82601461234e565b611657919061232c565b60109081556001600160a01b0383166000818152600260205260408120805460ff19166001908117909155600f805491820181559091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b031916909117905554611027908490849084906119e0565b6001600160a01b03821660009081526002602052604090205460ff16156116f757600080fd5b600c5481111561173d5760405162461bcd60e51b8152602060048201526011602482015270109d5e48195e18d959591cc81b1a5b5a5d607a1b6044820152606401610994565b600e548161174a84610d58565b611754919061236d565b11156117a25760405162461bcd60e51b815260206004820181905260248201527f546f74616c20616d6f756e74206578636565642077616c6c6574206c696d69746044820152606401610994565b6001600160a01b03821660009081526003602052604090205460ff166117e5576016546103e8906117d3908361234e565b6117dd919061232c565b6010556117eb565b60006010555b6110278383836010546119e0565b601f54600090600160b01b900460ff1615801561181f5750601f54600160c01b900460ff165b8015610b33575050602080543060009081526006909252604090912054101590565b601f805460ff60b01b1916600160b01b179055600061185f30610d58565b601654601a54919250600091611875919061236d565b601354601754611885919061236d565b61188f908461234e565b611899919061232c565b905060006118a78284612315565b905060006118b660028461232c565b905060006118c48285612315565b90506118d0818461236d565b9450476118dc86611afb565b60006118e88247612315565b90506000876118f7858461234e565b611901919061232c565b905061190d8582611c34565b60006119198447612315565b905061192481611cf0565b5050601f805460ff60b01b1916905550505050505050565b6001600160a01b03831660009081526002602052604090205460ff161561196257600080fd5b600d5481111561197157600080fd5b6001600160a01b03831660009081526003602052604090205460ff166117e557601a546103e8906117d3908361234e565b6103e8601154826119b3919061234e565b6119bd919061232c565b6010819055156119d5576110278383836010546119e0565b611027838383611512565b6000601054836119f09190612315565b6001600160a01b038616600090815260066020526040902054909150611a1d90869061153c908690612315565b30600081815260066020526040902054611a3d919061153c90859061236d565b6001600160a01b038416600090815260066020526040902054611a6790859061153c90849061236d565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611aac91815260200190565b60405180910390a360405182815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b3057611b30612385565b6001600160a01b03928316602091820292909201810191909152601e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bad91906124c2565b81600181518110611bc057611bc0612385565b6001600160a01b039283166020918202929092010152601e5460405163791ac94760e01b815291169063791ac94790611c069085906000908690309042906004016124df565b600060405180830381600087803b158015611c2057600080fd5b505af115801561150a573d6000803e3d6000fd5b601f805460ff60a81b1916600160a81b179055601e54601c5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611cb7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cdc919061251b565b5050601f805460ff60a81b19169055505050565b601954601554600091611d029161236d565b601854601454919250600091611d18919061236d565b90506000611d26828461236d565b9050600081611d35858761234e565b611d3f919061232c565b9050600082611d4e858861234e565b611d58919061232c565b90508015611e0a57601c546040516000916001600160a01b03169061753090849084818181858888f193505050503d8060008114611db2576040519150601f19603f3d011682016040523d82523d6000602084013e611db7565b606091505b5050905080611e085760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610994565b505b811561150a57601d546040516000916001600160a01b03169061753090859084818181858888f193505050503d8060008114611e62576040519150601f19603f3d011682016040523d82523d6000602084013e611e67565b606091505b5050905080611eb85760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610994565b50505050505050565b600060208083528351808285015260005b81811015611eee57858101830151858201604001528201611ed2565b81811115611f00576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611f2b57600080fd5b50565b60008060408385031215611f4157600080fd5b8235611f4c81611f16565b946020939093013593505050565b80358015158114611f6a57600080fd5b919050565b60008060408385031215611f8257600080fd5b8235611f8d81611f16565b9150611f9b60208401611f5a565b90509250929050565b600060208284031215611fb657600080fd5b8135611fc181611f16565b9392505050565b60008060408385031215611fdb57600080fd5b50508035926020909101359150565b600081518084526020808501945080840160005b838110156120235781516001600160a01b031687529582019590820190600101611ffe565b509495945050505050565b602081526000611fc16020830184611fea565b60008060006060848603121561205657600080fd5b833561206181611f16565b9250602084013561207181611f16565b929592945050506040919091013590565b6000806040838503121561209557600080fd5b82356120a081611f16565b915060208301356120b081611f16565b809150509250929050565b6000806000606084860312156120d057600080fd5b505081359360208301359350604090920135919050565b6000602082840312156120f957600080fd5b5035919050565b60006020828403121561211257600080fd5b611fc182611f5a565b6000806040838503121561212e57600080fd5b611f4c83611f5a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561217657612176612137565b604052919050565b600067ffffffffffffffff82111561219857612198612137565b5060051b60200190565b600082601f8301126121b357600080fd5b813560206121c86121c38361217e565b61214d565b82815260059290921b840181019181810190868411156121e757600080fd5b8286015b8481101561220257803583529183019183016121eb565b509695505050505050565b6000806040838503121561222057600080fd5b823567ffffffffffffffff8082111561223857600080fd5b818501915085601f83011261224c57600080fd5b8135602061225c6121c38361217e565b82815260059290921b8401810191818101908984111561227b57600080fd5b948201945b838610156122a257853561229381611f16565b82529482019490820190612280565b965050860135925050808211156122b857600080fd5b506122c5858286016121a2565b9150509250929050565b60208082526016908201527510aca7aa9020a922902727aa102a24229027aba722a960511b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082821015612327576123276122ff565b500390565b60008261234957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612368576123686122ff565b500290565b60008219821115612380576123806122ff565b500190565b634e487b7160e01b600052603260045260246000fd5b600181815b808511156123d65781600019048211156123bc576123bc6122ff565b808516156123c957918102915b93841c93908002906123a0565b509250929050565b6000826123ed57506001610964565b816123fa57506000610964565b8160018114612410576002811461241a57612436565b6001915050610964565b60ff84111561242b5761242b6122ff565b50506001821b610964565b5060208310610133831016604e8410600b8410161715612459575081810a610964565b612463838361239b565b8060001904821115612477576124776122ff565b029392505050565b6000611fc160ff8416836123de565b60006000198214156124a2576124a26122ff565b5060010190565b6000602082840312156124bb57600080fd5b5051919050565b6000602082840312156124d457600080fd5b8151611fc181611f16565b85815284602082015260a0604082015260006124fe60a0830186611fea565b6001600160a01b0394909416606083015250608001529392505050565b60008060006060848603121561253057600080fd5b835192506020840151915060408401519050925092509256fe4c6971756964697479204d696e696e67204175746f6e6f6d6f7573204f7065726174696f6ea2646970667358221220dc8dcd47eae1c5225e360afdfe4d8e726ef761113d3fb690eafd875cf94e343564736f6c634300080a0033

Deployed Bytecode

0x60806040526004361061028c5760003560e01c80636dc53a0a1161015a5780639be953b3116100c1578063d51ed1c81161007a578063d51ed1c814610801578063dd62ed3e14610821578063e065099714610867578063e5a772d21461087d578063f2fde38b1461089d578063f887ea40146108bd57600080fd5b80639be953b31461074b578063a5949bcf1461076b578063a8aa1b311461078b578063a9059cbb146107ab578063b46ba24b146107cb578063b704a9f6146107eb57600080fd5b806387cfc4931161011357806387cfc49314610680578063893d20e8146106a05780638ca42e4e146106be5780638ee41ca8146106de57806395d89b41146106fe5780639b0ad05c1461072b57600080fd5b80636dc53a0a146105ba5780636ddd1713146105da57806370a08231146105fb578063715018a61461061b5780637a6d69b41461063057806383bd84851461066057600080fd5b80632f54bf6e116101fe5780634c5d8710116101b75780634c5d87101461050e57806352aae9dd1461052e57806353cd62101461054e578063599ca3971461056f57806359d3cac2146105855780636390aeeb146105a557600080fd5b80632f54bf6e14610456578063313ce56714610485578063364333f4146104a157806347062402146104b657806347375a37146104d95780634be7d589146104ee57600080fd5b806318160ddd1161025057806318160ddd146103655780631ca0b1d01461038457806323b872dd146103a65780632b112e49146103c65780632b14ca56146103db5780632d3b40471461041e57600080fd5b806306fdde0314610298578063095ea7b3146102c35780630c5b1d93146102f35780630cb23d86146103155780631161ae391461034557600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506102ad6108dd565b6040516102ba9190611ec1565b60405180910390f35b3480156102cf57600080fd5b506102e36102de366004611f2e565b6108fd565b60405190151581526020016102ba565b3480156102ff57600080fd5b5061031361030e366004611f6f565b61096a565b005b34801561032157600080fd5b506102e3610330366004611fa4565b60046020526000908152604090205460ff1681565b34801561035157600080fd5b506102e3610360366004611fc8565b6109c8565b34801561037157600080fd5b506008545b6040519081526020016102ba565b34801561039057600080fd5b506103996109dc565b6040516102ba919061202e565b3480156103b257600080fd5b506102e36103c1366004612041565b610a3e565b3480156103d257600080fd5b50610376610b05565b3480156103e757600080fd5b50601754601854601954601a546103fe9392919084565b6040805194855260208501939093529183015260608201526080016102ba565b34801561042a57600080fd5b50601b5461043e906001600160a01b031681565b6040516001600160a01b0390911681526020016102ba565b34801561046257600080fd5b506102e3610471366004611fa4565b6000546001600160a01b0391821691161490565b34801561049157600080fd5b50604051601281526020016102ba565b3480156104ad57600080fd5b50610313610b38565b3480156104c257600080fd5b506013546014546015546016546103fe9392919084565b3480156104e557600080fd5b50610313610ba1565b3480156104fa57600080fd5b50610313610509366004612082565b610be0565b34801561051a57600080fd5b506103136105293660046120bb565b610c38565b34801561053a57600080fd5b506103136105493660046120e7565b610cd3565b34801561055a57600080fd5b50601f546102e390600160a01b900460ff1681565b34801561057b57600080fd5b50610376600b5481565b34801561059157600080fd5b506103136105a03660046120bb565b610d02565b3480156105b157600080fd5b50600f54610376565b3480156105c657600080fd5b50601c5461043e906001600160a01b031681565b3480156105e657600080fd5b50601f546102e390600160c01b900460ff1681565b34801561060757600080fd5b50610376610616366004611fa4565b610d58565b34801561062757600080fd5b50610313610d73565b34801561063c57600080fd5b506102e361064b366004611fa4565b60026020526000908152604090205460ff1681565b34801561066c57600080fd5b5061031361067b366004612100565b610de7565b34801561068c57600080fd5b5061031361069b366004611fa4565b610e2f565b3480156106ac57600080fd5b506000546001600160a01b031661043e565b3480156106ca57600080fd5b506103136106d93660046120e7565b610e7a565b3480156106ea57600080fd5b506103136106f936600461211b565b610ea9565b34801561070a57600080fd5b506040805180820190915260048152634c4d414f60e01b60208201526102ad565b34801561073757600080fd5b5061031361074636600461220d565b610f0d565b34801561075757600080fd5b50610313610766366004611fa4565b61102c565b34801561077757600080fd5b50601d5461043e906001600160a01b031681565b34801561079757600080fd5b50601f5461043e906001600160a01b031681565b3480156107b757600080fd5b506102e36107c6366004611f2e565b6110fc565b3480156107d757600080fd5b506103136107e63660046120bb565b611112565b3480156107f757600080fd5b50610376600a5481565b34801561080d57600080fd5b5061037661081c3660046120e7565b611168565b34801561082d57600080fd5b5061037661083c366004612082565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561087357600080fd5b5061037660095481565b34801561088957600080fd5b50610313610898366004611fa4565b6111a6565b3480156108a957600080fd5b506103136108b8366004611fa4565b61120c565b3480156108c957600080fd5b50601e5461043e906001600160a01b031681565b606060405180606001604052806025815260200161254a60259139905090565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109589086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461099d5760405162461bcd60e51b8152600401610994906122cf565b60405180910390fd5b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000826109d483611168565b119392505050565b6060600f805480602002602001604051908101604052809291908181526020018280548015610a3457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a16575b5050505050905090565b6001600160a01b038316600090815260076020908152604080832033845290915281205482811015610a6f57600080fd5b6001600160a01b038516600090815260076020908152604080832033845290915290205460001914610aef576001600160a01b0385166000908152600760209081526040808320338452909152902054610aca908490612315565b6001600160a01b03861660009081526007602090815260408083203384529091529020555b610afa8585856112f6565b506001949350505050565b6000610b116000610d58565b610b1c61dead610d58565b600854610b299190612315565b610b339190612315565b905090565b6000546001600160a01b03163314610b625760405162461bcd60e51b8152600401610994906122cf565b6000805460405147926001600160a01b039092169183156108fc02918491818181858888f19350505050158015610b9d573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610bcb5760405162461bcd60e51b8152600401610994906122cf565b601f805460ff60b81b1916600160b81b179055565b6000546001600160a01b03163314610c0a5760405162461bcd60e51b8152600401610994906122cf565b601c80546001600160a01b039384166001600160a01b031991821617909155601d8054929093169116179055565b6000546001600160a01b03163314610c625760405162461bcd60e51b8152600401610994906122cf565b60098390556008548390610c79906103e89061232c565b610c83919061234e565b600c55600a8290556008548290610c9d906103e89061232c565b610ca7919061234e565b600d55600b8190556008548190610cc1906103e89061232c565b610ccb919061234e565b600e55505050565b6000546001600160a01b03163314610cfd5760405162461bcd60e51b8152600401610994906122cf565b601255565b6000546001600160a01b03163314610d2c5760405162461bcd60e51b8152600401610994906122cf565b60178390556018829055601981905580610d46838561236d565b610d50919061236d565b601a55505050565b6001600160a01b031660009081526006602052604090205490565b6000546001600160a01b03163314610d9d5760405162461bcd60e51b8152600401610994906122cf565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610e115760405162461bcd60e51b8152600401610994906122cf565b601f8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610e595760405162461bcd60e51b8152600401610994906122cf565b6001600160a01b03166000908152600260205260409020805460ff19169055565b6000546001600160a01b03163314610ea45760405162461bcd60e51b8152600401610994906122cf565b601155565b6000546001600160a01b03163314610ed35760405162461bcd60e51b8152600401610994906122cf565b601f805460ff60c01b1916600160c01b841515021790556008548190610efc906103e89061232c565b610f06919061234e565b6020555050565b6000546001600160a01b03163314610f375760405162461bcd60e51b8152600401610994906122cf565b6064825110610fa75760405162461bcd60e51b815260206004820152603660248201527f43616e206f6e6c792061697264726f70203130302077616c6c657473207065726044820152752074786e2064756520746f20676173206c696d69747360501b6064820152608401610994565b60005b8251811015611027576000838281518110610fc757610fc7612385565b6020026020010151905060006012600a610fe1919061247f565b848481518110610ff357610ff3612385565b6020026020010151611005919061234e565b90506110123383836112f6565b5050808061101f9061248e565b915050610faa565b505050565b6000546001600160a01b031633146110565760405162461bcd60e51b8152600401610994906122cf565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561109d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c191906124a9565b601c546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611027573d6000803e3d6000fd5b60006111093384846112f6565b50600192915050565b6000546001600160a01b0316331461113c5760405162461bcd60e51b8152600401610994906122cf565b60138390556014829055601581905580611156838561236d565b611160919061236d565b601655505050565b6000611172610b05565b601f54611187906001600160a01b0316610d58565b61119290600261234e565b61119c908461234e565b610964919061232c565b6000546001600160a01b031633146111d05760405162461bcd60e51b8152600401610994906122cf565b6001600160a01b031660009081526004602090815260408083208054600160ff1991821681179092556005909352922080549091169091179055565b6000546001600160a01b031633146112365760405162461bcd60e51b8152600401610994906122cf565b6001600160a01b03811661129b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610994565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061131657506001600160a01b03821615155b61135a5760405162461bcd60e51b815260206004820152601560248201527421b0b73737ba1031329030b2323932b9b99418149760591b6044820152606401610994565b6001600160a01b03808416600081815260046020908152604080832054948716835280832054938352600590915281205460ff938416939283169216806113b957506001600160a01b03851660009081526005602052604090205460ff165b806113cd5750601f54600160a81b900460ff165b905080156113e5576113e0868686611512565b61150a565b601f54600160b81b900460ff166113fb57600080fd5b601f54600160a01b900460ff1615611418576113e08686866115d4565b8215611429576113e08686866116d1565b811561144f576114376117f9565b1561144457611444611841565b6113e086868661193c565b6001600160a01b03861660009081526002602052604090205460ff1615801561149157506001600160a01b03851660009081526002602052604090205460ff16155b61149a57600080fd5b600e54846114a787610d58565b6114b1919061236d565b11156114ff5760405162461bcd60e51b815260206004820181905260248201527f546f74616c20616d6f756e74206578636565642077616c6c6574206c696d69746044820152606401610994565b61150a8686866119a2565b505050505050565b6001600160a01b03831660009081526006602052604090205461155890849061153c908490612315565b6001600160a01b03909116600090815260066020526040902055565b6001600160a01b03821660009081526006602052604090205461158290839061153c90849061236d565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115c791815260200190565b60405180910390a3505050565b6001600160a01b03821660009081526002602052604090205460ff16156115fa57600080fd5b600c548111156116405760405162461bcd60e51b8152602060048201526011602482015270109d5e48195e18d959591cc81b1a5b5a5d607a1b6044820152606401610994565b606461164d82601461234e565b611657919061232c565b60109081556001600160a01b0383166000818152600260205260408120805460ff19166001908117909155600f805491820181559091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b031916909117905554611027908490849084906119e0565b6001600160a01b03821660009081526002602052604090205460ff16156116f757600080fd5b600c5481111561173d5760405162461bcd60e51b8152602060048201526011602482015270109d5e48195e18d959591cc81b1a5b5a5d607a1b6044820152606401610994565b600e548161174a84610d58565b611754919061236d565b11156117a25760405162461bcd60e51b815260206004820181905260248201527f546f74616c20616d6f756e74206578636565642077616c6c6574206c696d69746044820152606401610994565b6001600160a01b03821660009081526003602052604090205460ff166117e5576016546103e8906117d3908361234e565b6117dd919061232c565b6010556117eb565b60006010555b6110278383836010546119e0565b601f54600090600160b01b900460ff1615801561181f5750601f54600160c01b900460ff165b8015610b33575050602080543060009081526006909252604090912054101590565b601f805460ff60b01b1916600160b01b179055600061185f30610d58565b601654601a54919250600091611875919061236d565b601354601754611885919061236d565b61188f908461234e565b611899919061232c565b905060006118a78284612315565b905060006118b660028461232c565b905060006118c48285612315565b90506118d0818461236d565b9450476118dc86611afb565b60006118e88247612315565b90506000876118f7858461234e565b611901919061232c565b905061190d8582611c34565b60006119198447612315565b905061192481611cf0565b5050601f805460ff60b01b1916905550505050505050565b6001600160a01b03831660009081526002602052604090205460ff161561196257600080fd5b600d5481111561197157600080fd5b6001600160a01b03831660009081526003602052604090205460ff166117e557601a546103e8906117d3908361234e565b6103e8601154826119b3919061234e565b6119bd919061232c565b6010819055156119d5576110278383836010546119e0565b611027838383611512565b6000601054836119f09190612315565b6001600160a01b038616600090815260066020526040902054909150611a1d90869061153c908690612315565b30600081815260066020526040902054611a3d919061153c90859061236d565b6001600160a01b038416600090815260066020526040902054611a6790859061153c90849061236d565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611aac91815260200190565b60405180910390a360405182815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b3057611b30612385565b6001600160a01b03928316602091820292909201810191909152601e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bad91906124c2565b81600181518110611bc057611bc0612385565b6001600160a01b039283166020918202929092010152601e5460405163791ac94760e01b815291169063791ac94790611c069085906000908690309042906004016124df565b600060405180830381600087803b158015611c2057600080fd5b505af115801561150a573d6000803e3d6000fd5b601f805460ff60a81b1916600160a81b179055601e54601c5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611cb7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cdc919061251b565b5050601f805460ff60a81b19169055505050565b601954601554600091611d029161236d565b601854601454919250600091611d18919061236d565b90506000611d26828461236d565b9050600081611d35858761234e565b611d3f919061232c565b9050600082611d4e858861234e565b611d58919061232c565b90508015611e0a57601c546040516000916001600160a01b03169061753090849084818181858888f193505050503d8060008114611db2576040519150601f19603f3d011682016040523d82523d6000602084013e611db7565b606091505b5050905080611e085760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610994565b505b811561150a57601d546040516000916001600160a01b03169061753090859084818181858888f193505050503d8060008114611e62576040519150601f19603f3d011682016040523d82523d6000602084013e611e67565b606091505b5050905080611eb85760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610994565b50505050505050565b600060208083528351808285015260005b81811015611eee57858101830151858201604001528201611ed2565b81811115611f00576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611f2b57600080fd5b50565b60008060408385031215611f4157600080fd5b8235611f4c81611f16565b946020939093013593505050565b80358015158114611f6a57600080fd5b919050565b60008060408385031215611f8257600080fd5b8235611f8d81611f16565b9150611f9b60208401611f5a565b90509250929050565b600060208284031215611fb657600080fd5b8135611fc181611f16565b9392505050565b60008060408385031215611fdb57600080fd5b50508035926020909101359150565b600081518084526020808501945080840160005b838110156120235781516001600160a01b031687529582019590820190600101611ffe565b509495945050505050565b602081526000611fc16020830184611fea565b60008060006060848603121561205657600080fd5b833561206181611f16565b9250602084013561207181611f16565b929592945050506040919091013590565b6000806040838503121561209557600080fd5b82356120a081611f16565b915060208301356120b081611f16565b809150509250929050565b6000806000606084860312156120d057600080fd5b505081359360208301359350604090920135919050565b6000602082840312156120f957600080fd5b5035919050565b60006020828403121561211257600080fd5b611fc182611f5a565b6000806040838503121561212e57600080fd5b611f4c83611f5a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561217657612176612137565b604052919050565b600067ffffffffffffffff82111561219857612198612137565b5060051b60200190565b600082601f8301126121b357600080fd5b813560206121c86121c38361217e565b61214d565b82815260059290921b840181019181810190868411156121e757600080fd5b8286015b8481101561220257803583529183019183016121eb565b509695505050505050565b6000806040838503121561222057600080fd5b823567ffffffffffffffff8082111561223857600080fd5b818501915085601f83011261224c57600080fd5b8135602061225c6121c38361217e565b82815260059290921b8401810191818101908984111561227b57600080fd5b948201945b838610156122a257853561229381611f16565b82529482019490820190612280565b965050860135925050808211156122b857600080fd5b506122c5858286016121a2565b9150509250929050565b60208082526016908201527510aca7aa9020a922902727aa102a24229027aba722a960511b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082821015612327576123276122ff565b500390565b60008261234957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612368576123686122ff565b500290565b60008219821115612380576123806122ff565b500190565b634e487b7160e01b600052603260045260246000fd5b600181815b808511156123d65781600019048211156123bc576123bc6122ff565b808516156123c957918102915b93841c93908002906123a0565b509250929050565b6000826123ed57506001610964565b816123fa57506000610964565b8160018114612410576002811461241a57612436565b6001915050610964565b60ff84111561242b5761242b6122ff565b50506001821b610964565b5060208310610133831016604e8410600b8410161715612459575081810a610964565b612463838361239b565b8060001904821115612477576124776122ff565b029392505050565b6000611fc160ff8416836123de565b60006000198214156124a2576124a26122ff565b5060010190565b6000602082840312156124bb57600080fd5b5051919050565b6000602082840312156124d457600080fd5b8151611fc181611f16565b85815284602082015260a0604082015260006124fe60a0830186611fea565b6001600160a01b0394909416606083015250608001529392505050565b60008060006060848603121561253057600080fd5b835192506020840151915060408401519050925092509256fe4c6971756964697479204d696e696e67204175746f6e6f6d6f7573204f7065726174696f6ea2646970667358221220dc8dcd47eae1c5225e360afdfe4d8e726ef761113d3fb690eafd875cf94e343564736f6c634300080a0033

Deployed Bytecode Sourcemap

3508:16416:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18645:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19066:216;;;;;;;;;;-1:-1:-1;19066:216:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;19066:216:0;1072:187:1;8238:130:0;;;;;;;;;;-1:-1:-1;8238:130:0;;;;;:::i;:::-;;:::i;:::-;;3673:54;;;;;;;;;;-1:-1:-1;3673:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11838:150;;;;;;;;;;-1:-1:-1;11838:150:0;;;;;:::i;:::-;;:::i;18375:88::-;;;;;;;;;;-1:-1:-1;18448:12:0;;18375:88;;;2400:25:1;;;2388:2;2373:18;18375:88:0;2254:177:1;11445:99:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;19465:456::-;;;;;;;;;;-1:-1:-1;19465:456:0;;;;;:::i;:::-;;:::i;11300:136::-;;;;;;;;;;;;;:::i;4959:22::-;;;;;;;;;;-1:-1:-1;4959:22:0;;;;;;;;;;;;;;;;;;;3860:25:1;;;3916:2;3901:18;;3894:34;;;;3944:18;;;3937:34;4002:2;3987:18;;3980:34;3847:3;3832:19;4959:22:0;3629:391:1;5015:82:0;;;;;;;;;;-1:-1:-1;5015:82:0;;;;-1:-1:-1;;;;;5015:82:0;;;;;;-1:-1:-1;;;;;4189:32:1;;;4171:51;;4159:2;4144:18;5015:82:0;4025:203:1;1437:103:0;;;;;;;;;;-1:-1:-1;1437:103:0;;;;;:::i;:::-;1492:4;1527:5;-1:-1:-1;;;;;1516:16:0;;;1527:5;;1516:16;;1437:103;18469:80;;;;;;;;;;-1:-1:-1;18469:80:0;;4089:2;4375:36:1;;4363:2;4348:18;18469:80:0;4233:184:1;10793:171:0;;;;;;;;;;;;;:::i;4932:20::-;;;;;;;;;;-1:-1:-1;4932:20:0;;;;;;;;;;;;;;;8109:120;;;;;;;;;;;;;:::i;9755:181::-;;;;;;;;;;-1:-1:-1;9755:181:0;;;;;:::i;:::-;;:::i;7589:511::-;;;;;;;;;;-1:-1:-1;7589:511:0;;;;;:::i;:::-;;:::i;8592:111::-;;;;;;;;;;-1:-1:-1;8592:111:0;;;;;:::i;:::-;;:::i;5472:33::-;;;;;;;;;;-1:-1:-1;5472:33:0;;;;-1:-1:-1;;;5472:33:0;;;;;;4290:34;;;;;;;;;;;;;;;;9196:360;;;;;;;;;;-1:-1:-1;9196:360:0;;;;;:::i;:::-;;:::i;11553:103::-;;;;;;;;;;-1:-1:-1;11631:10:0;:17;11553:103;;5272:47;;;;;;;;;;-1:-1:-1;5272:47:0;;;;-1:-1:-1;;;;;5272:47:0;;;5690:30;;;;;;;;;;-1:-1:-1;5690:30:0;;;;-1:-1:-1;;;5690:30:0;;;;;;18815:104;;;;;;;;;;-1:-1:-1;18815:104:0;;;;;:::i;:::-;;:::i;1800:146::-;;;;;;;;;;;;;:::i;3570:44::-;;;;;;;;;;-1:-1:-1;3570:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10681:103;;;;;;;;;;-1:-1:-1;10681:103:0;;;;;:::i;:::-;;:::i;10406:105::-;;;;;;;;;;-1:-1:-1;10406:105:0;;;;;:::i;:::-;;:::i;18731:78::-;;;;;;;;;;-1:-1:-1;18783:7:0;18801:5;-1:-1:-1;;;;;18801:5:0;18731:78;;9627:119;;;;;;;;;;-1:-1:-1;9627:119:0;;;;;:::i;:::-;;:::i;8377:206::-;;;;;;;;;;-1:-1:-1;8377:206:0;;;;;:::i;:::-;;:::i;18555:84::-;;;;;;;;;;-1:-1:-1;18629:7:0;;;;;;;;;;;;-1:-1:-1;;;18629:7:0;;;;18555:84;;9945:452;;;;;;;;;;-1:-1:-1;9945:452:0;;;;;:::i;:::-;;:::i;10973:206::-;;;;;;;;;;-1:-1:-1;10973:206:0;;;;;:::i;:::-;;:::i;5326:47::-;;;;;;;;;;-1:-1:-1;5326:47:0;;;;-1:-1:-1;;;;;5326:47:0;;;5414:19;;;;;;;;;;-1:-1:-1;5414:19:0;;;;-1:-1:-1;;;;;5414:19:0;;;19291:165;;;;;;;;;;-1:-1:-1;19291:165:0;;;;;:::i;:::-;;:::i;8773:352::-;;;;;;;;;;-1:-1:-1;8773:352:0;;;;;:::i;:::-;;:::i;4251:32::-;;;;;;;;;;;;;;;;11665:164;;;;;;;;;;-1:-1:-1;11665:164:0;;;;;:::i;:::-;;:::i;18925:132::-;;;;;;;;;;-1:-1:-1;18925:132:0;;;;;:::i;:::-;-1:-1:-1;;;;;19027:19:0;;;19009:7;19027:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;18925:132;4213:31;;;;;;;;;;;;;;;;10520:152;;;;;;;;;;-1:-1:-1;10520:152:0;;;;;:::i;:::-;;:::i;1549:242::-;;;;;;;;;;-1:-1:-1;1549:242:0;;;;;:::i;:::-;;:::i;5383:24::-;;;;;;;;;;-1:-1:-1;5383:24:0;;;;-1:-1:-1;;;;;5383:24:0;;;18645:80;18693:13;18717:5;;;;;;;;;;;;;;;;;18710:12;;18645:80;:::o;19066:216::-;19170:10;19141:4;19158:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;19158:32:0;;;;;;;;;;:41;;;19215:37;19141:4;;19158:32;;19215:37;;;;19193:6;2400:25:1;;2388:2;2373:18;;2254:177;19215:37:0;;;;;;;;-1:-1:-1;19270:4:0;19066:216;;;;;:::o;8238:130::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;8331:19:0;;;::::1;;::::0;;;:12:::1;:19;::::0;;;;:29;;-1:-1:-1;;8331:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8238:130::o;11838:150::-;11918:4;11974:6;11942:29;11962:8;11942:19;:29::i;:::-;:38;;11838:150;-1:-1:-1;;;11838:150:0:o;11445:99::-;11491:16;11526:10;11519:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11519:17:0;;;;;;;;;;;;;;;;;;;;;;;11445:99;:::o;19465:456::-;-1:-1:-1;;;;;19601:19:0;;19563:4;19601:19;;;:11;:19;;;;;;;;19621:10;19601:31;;;;;;;;19651:20;;;;19643:29;;;;;;-1:-1:-1;;;;;19690:19:0;;;;;;:11;:19;;;;;;;;19710:10;19690:31;;;;;;;;-1:-1:-1;;19690:52:0;19686:159;;-1:-1:-1;;;;;19793:19:0;;;;;;:11;:19;;;;;;;;19813:10;19793:31;;;;;;;;:40;;19827:6;;19793:40;:::i;:::-;-1:-1:-1;;;;;19759:19:0;;;;;;:11;:19;;;;;;;;19779:10;19759:31;;;;;;;:74;19686:159;19855:36;19865:6;19873:9;19884:6;19855:9;:36::i;:::-;-1:-1:-1;19909:4:0;;19465:456;-1:-1:-1;;;;19465:456:0:o;11300:136::-;11353:7;11413:15;5220:42;11413:9;:15::i;:::-;11395;5139:42;11395:9;:15::i;:::-;11380:12;;:30;;;;:::i;:::-;:48;;;;:::i;:::-;11373:55;;11300:136;:::o;10793:171::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;10852:26:::1;10921:5:::0;;10913:43:::1;::::0;10881:21:::1;::::0;-1:-1:-1;;;;;10921:5:0;;::::1;::::0;10913:43;::::1;;;::::0;10881:21;;10913:43;10852:26;10913:43;10881:21;10921:5;10913:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10841:123;10793:171::o:0;8109:120::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;8186:28:::1;:35:::0;;-1:-1:-1;;;;8186:35:0::1;-1:-1:-1::0;;;8186:35:0::1;::::0;;8109:120::o;9755:181::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;9857:17:::1;:30:::0;;-1:-1:-1;;;;;9857:30:0;;::::1;-1:-1:-1::0;;;;;;9857:30:0;;::::1;;::::0;;;9898:17:::1;:30:::0;;;;;::::1;::::0;::::1;;::::0;;9755:181::o;7589:511::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;7728:16:::1;:36:::0;;;7801:12:::1;::::0;7747:17;;7801:18:::1;::::0;7815:4:::1;::::0;7801:18:::1;:::i;:::-;:37;;;;:::i;:::-;7786:12;:52:::0;7851:17:::1;:38:::0;;;7925:12:::1;::::0;7871:18;;7925::::1;::::0;7939:4:::1;::::0;7925:18:::1;:::i;:::-;:38;;;;:::i;:::-;7909:13;:54:::0;7976:19:::1;:41:::0;;;8052:12:::1;::::0;7997:20;;8052:18:::1;::::0;8066:4:::1;::::0;8052:18:::1;:::i;:::-;:40;;;;:::i;:::-;8034:15;:58:::0;-1:-1:-1;;;7589:511:0:o;8592:111::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;8671:15:::1;:24:::0;8592:111::o;9196:360::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;9325:7:::1;:36:::0;;;9372:20;:36;;;9419:20;:36;;;9442:13;9482:43:::1;9395:13:::0;9348;9482:43:::1;:::i;:::-;:66;;;;:::i;:::-;9466:13:::0;:82;-1:-1:-1;;;9196:360:0:o;18815:104::-;-1:-1:-1;;;;;18899:18:0;18881:7;18899:18;;;:9;:18;;;;;;;18815:104::o;1800:146::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;1906:1:::1;1891:5:::0;;1870:39:::1;::::0;-1:-1:-1;;;;;1891:5:0;;::::1;::::0;1870:39:::1;::::0;1906:1;;1870:39:::1;1936:1;1920:18:::0;;-1:-1:-1;;;;;;1920:18:0::1;::::0;;1800:146::o;10681:103::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;10754:14:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;10754:22:0::1;-1:-1:-1::0;;;;10754:22:0;;::::1;::::0;;;::::1;::::0;;10681:103::o;10406:105::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10475:20:0::1;10498:5;10475:20:::0;;;:12:::1;:20;::::0;;;;:28;;-1:-1:-1;;10475:28:0::1;::::0;;10406:105::o;9627:119::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;9712:11:::1;:26:::0;9627:119::o;8377:206::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;8485:11:::1;:22:::0;;-1:-1:-1;;;;8485:22:0::1;-1:-1:-1::0;;;8485:22:0;::::1;;;;::::0;;8534:12:::1;::::0;8556:19;;8534::::1;::::0;8549:4:::1;::::0;8534:19:::1;:::i;:::-;:41;;;;:::i;:::-;8518:13;:57:::0;-1:-1:-1;;8377:206:0:o;9945:452::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;10094:3:::1;10070:14;:21;:27;10062:94;;;::::0;-1:-1:-1;;;10062:94:0;;9815:2:1;10062:94:0::1;::::0;::::1;9797:21:1::0;9854:2;9834:18;;;9827:30;9893:34;9873:18;;;9866:62;-1:-1:-1;;;9944:18:1;;;9937:52;10006:19;;10062:94:0::1;9613:418:1::0;10062:94:0::1;10171:9;10167:223;10190:14;:21;10186:1;:25;10167:223;;;10232:14;10249;10264:1;10249:17;;;;;;;;:::i;:::-;;;;;;;10232:34;;10281:14;4089:2;10312;:13;;;;:::i;:::-;10299:7;10307:1;10299:10;;;;;;;;:::i;:::-;;;;;;;:26;;;;:::i;:::-;10281:45;;10341:37;10351:10;10363:6;10371;10341:9;:37::i;:::-;10217:173;;10213:3;;;;;:::i;:::-;;;;10167:223;;;;9945:452:::0;;:::o;10973:206::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;11069:38:::1;::::0;-1:-1:-1;;;11069:38:0;;11101:4:::1;11069:38;::::0;::::1;4171:51:1::0;11042:24:0::1;::::0;-1:-1:-1;;;;;11069:23:0;::::1;::::0;::::1;::::0;4144:18:1;;11069:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11126:17;::::0;11118:53:::1;::::0;11042:65;;-1:-1:-1;;;;;;11126:17:0::1;::::0;11118:53;::::1;;;::::0;11042:65;;11126:17:::1;11118:53:::0;11126:17;11118:53;11042:65;11126:17;11118:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;19291:165:::0;19369:4;19386:40;19396:10;19408:9;19419:6;19386:9;:40::i;:::-;-1:-1:-1;19444:4:0;19291:165;;;;:::o;8773:352::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;8901:6:::1;:35:::0;;;8947:19;:35;;;8993:19;:35;;;9015:13;9054:41:::1;8969:13:::0;8923;9054:41:::1;:::i;:::-;:63;;;;:::i;:::-;9039:12:::0;:78;-1:-1:-1;;;8773:352:0:o;11665:164::-;11733:7;11798:22;:20;:22::i;:::-;11782:4;;11772:15;;-1:-1:-1;;;;;11782:4:0;11772:9;:15::i;:::-;:21;;11791:1;11772:21;:::i;:::-;11760:34;;:8;:34;:::i;:::-;:61;;;;:::i;10520:152::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10593:30:0::1;;::::0;;;:22:::1;:30;::::0;;;;;;;:35;;10624:4:::1;-1:-1:-1::0;;10593:35:0;;::::1;::::0;::::1;::::0;;;10639:12:::1;:20:::0;;;;;:25;;;;::::1;::::0;;::::1;::::0;;10520:152::o;1549:242::-;1492:4;1527:5;-1:-1:-1;;;;;1527:5:0;1379:10;1516:16;1363:54;;;;-1:-1:-1;;;1363:54:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1638:22:0;::::1;1630:73;;;::::0;-1:-1:-1;;;1630:73:0;;12082:2:1;1630:73:0::1;::::0;::::1;12064:21:1::0;12121:2;12101:18;;;12094:30;12160:34;12140:18;;;12133:62;-1:-1:-1;;;12211:18:1;;;12204:36;12257:19;;1630:73:0::1;11880:402:1::0;1630:73:0::1;1740:5;::::0;;1719:37:::1;::::0;-1:-1:-1;;;;;1719:37:0;;::::1;::::0;1740:5;::::1;::::0;1719:37:::1;::::0;::::1;1767:5;:16:::0;;-1:-1:-1;;;;;;1767:16:0::1;-1:-1:-1::0;;;;;1767:16:0;;;::::1;::::0;;;::::1;::::0;;1549:242::o;12114:1205::-;-1:-1:-1;;;;;12209:18:0;;;;;;:41;;-1:-1:-1;;;;;;12229:21:0;;;;12209:41;12201:74;;;;-1:-1:-1;;;12201:74:0;;12489:2:1;12201:74:0;;;12471:21:1;12528:2;12508:18;;;12501:30;-1:-1:-1;;;12547:18:1;;;12540:51;12608:18;;12201:74:0;12287:345:1;12201:74:0;-1:-1:-1;;;;;12297:30:0;;;12286:10;12297:30;;;:22;:30;;;;;;;;;12350:33;;;;;;;;;12410:20;;;:12;:20;;;;;;12297:30;;;;;12350:33;;;;12410:20;;:45;;-1:-1:-1;;;;;;12432:23:0;;;;;;:12;:23;;;;;;;;12410:45;:56;;;-1:-1:-1;12457:9:0;;-1:-1:-1;;;12457:9:0;;;;12410:56;12394:72;;12483:10;12480:832;;;12494:42;12512:6;12519:9;12529:6;12494:17;:42::i;:::-;12480:832;;;12562:28;;-1:-1:-1;;;12562:28:0;;;;12554:37;;;;;;12644:14;;-1:-1:-1;;;12644:14:0;;;;12641:660;;;12659:39;12674:6;12681:9;12691:6;12659:14;:39::i;12641:660::-;12748:5;12745:556;;;12754:35;12765:6;12772:9;12782:6;12754:10;:35::i;12745:556::-;12840:6;12837:464;;;12906:16;:14;:16::i;:::-;12902:35;;;12925:10;:8;:10::i;:::-;12955:36;12967:6;12974:9;12984:6;12955:11;:36::i;12837:464::-;-1:-1:-1;;;;;13074:20:0;;;;;;:12;:20;;;;;;;;13073:21;:47;;;;-1:-1:-1;;;;;;13097:23:0;;;;;;:12;:23;;;;;;;;13096:24;13073:47;13065:56;;;;;;13177:15;;13169:6;13148:20;13158:9;13148;:20::i;:::-;:27;;;;:::i;:::-;:44;;13140:89;;;;-1:-1:-1;;;13140:89:0;;12839:2:1;13140:89:0;;;12821:21:1;;;12858:18;;;12851:30;12917:34;12897:18;;;12890:62;12969:18;;13140:89:0;12637:356:1;13140:89:0;13248:37;13261:6;13268:9;13278:6;13248:12;:37::i;:::-;12190:1129;;;12114:1205;;;:::o;14827:263::-;-1:-1:-1;;;;;14944:17:0;;;;;;:9;:17;;;;;;14922:47;;14937:6;;14944:24;;14962:6;;14944:24;:::i;:::-;-1:-1:-1;;;;;15651:18:0;;;;;;;:9;:18;;;;;:31;15572:118;14922:47;-1:-1:-1;;;;;15005:20:0;;;;;;:9;:20;;;;;;14980:53;;14995:9;;15005:27;;15026:6;;15005:27;:::i;14980:53::-;15065:9;-1:-1:-1;;;;;15049:33:0;15058:6;-1:-1:-1;;;;;15049:33:0;;15075:6;15049:33;;;;2400:25:1;;2388:2;2373:18;;2254:177;15049:33:0;;;;;;;;14827:263;;;:::o;13328:378::-;-1:-1:-1;;;;;13429:23:0;;;;;;:12;:23;;;;;;;;13428:24;13420:33;;;;;;13482:12;;13472:6;:22;;13464:52;;;;-1:-1:-1;;;13464:52:0;;13200:2:1;13464:52:0;;;13182:21:1;13239:2;13219:18;;;13212:30;-1:-1:-1;;;13258:18:1;;;13251:47;13315:18;;13464:52:0;12998:341:1;13464:52:0;13548:3;13538:9;:6;13545:2;13538:9;:::i;:::-;:13;;;;:::i;:::-;13527:8;:24;;;-1:-1:-1;;;;;13562:23:0;;;;;;:12;:23;;;;;:28;;-1:-1:-1;;13562:28:0;13586:4;13562:28;;;;;;13601:10;:35;;;;;;;;;;;;;;-1:-1:-1;;;;;;13601:35:0;;;;;;13689:8;13647:51;;13665:6;;13575:9;;13682:6;;13647:17;:51::i;13715:468::-;-1:-1:-1;;;;;13812:23:0;;;;;;:12;:23;;;;;;;;13811:24;13803:33;;;;;;13865:12;;13855:6;:22;;13847:52;;;;-1:-1:-1;;;13847:52:0;;13200:2:1;13847:52:0;;;13182:21:1;13239:2;13219:18;;;13212:30;-1:-1:-1;;;13258:18:1;;;13251:47;13315:18;;13847:52:0;12998:341:1;13847:52:0;13947:15;;13939:6;13918:20;13928:9;13918;:20::i;:::-;:27;;;;:::i;:::-;:44;;13910:89;;;;-1:-1:-1;;;13910:89:0;;12839:2:1;13910:89:0;;;12821:21:1;;;12858:18;;;12851:30;12917:34;12897:18;;;12890:62;12969:18;;13910:89:0;12637:356:1;13910:89:0;-1:-1:-1;;;;;14014:23:0;;;;;;:12;:23;;;;;;;;14010:103;;14067:12;;14080:4;;14060:19;;:6;:19;:::i;:::-;:24;;;;:::i;:::-;14049:8;:35;14010:103;;;14112:1;14101:8;:12;14010:103;14124:51;14142:6;14149:9;14159:6;14166:8;;14124:17;:51::i;15699:186::-;15785:6;;15747:4;;-1:-1:-1;;;15785:6:0;;;;15784:7;:35;;;;-1:-1:-1;15808:11:0;;-1:-1:-1;;;15808:11:0;;;;15784:35;:93;;;;-1:-1:-1;;15864:13:0;;;15854:4;15836:24;;;;:9;:24;;;;;;;;:41;;;15699:186::o;15897:729::-;5819:6;:13;;-1:-1:-1;;;;5819:13:0;-1:-1:-1;;;5819:13:0;;;;15962:24:::1;15980:4;15962:9;:24::i;:::-;16091:12:::0;;16075:13;;15945:41;;-1:-1:-1;16000:21:0::1;::::0;16075:28:::1;::::0;16091:12;16075:28:::1;:::i;:::-;16053:6;:19:::0;16030:7:::1;:20:::0;:42:::1;::::0;16053:19;16030:42:::1;:::i;:::-;16022:51;::::0;:6;:51:::1;:::i;:::-;:82;;;;:::i;:::-;16000:104:::0;-1:-1:-1;16115:18:0::1;16134:20;16000:104:::0;16134:6;:20:::1;:::i;:::-;16115:39:::0;-1:-1:-1;16165:16:0::1;16182:15;16196:1;16182:13:::0;:15:::1;:::i;:::-;16165:32:::0;-1:-1:-1;16208:19:0::1;16228:22;16165:32:::0;16228:13;:22:::1;:::i;:::-;16208:42:::0;-1:-1:-1;16268:22:0::1;16208:42:::0;16268:10;:22:::1;:::i;:::-;16261:29:::0;-1:-1:-1;16316:21:0::1;16348:25;16261:29:::0;16348:17:::1;:25::i;:::-;16384:14;16399:28;16421:6:::0;16399:21:::1;:28;:::i;:::-;16384:43:::0;-1:-1:-1;16438:13:0::1;16473:6:::0;16453:18:::1;16460:11:::0;16384:43;16453:18:::1;:::i;:::-;16452:27;;;;:::i;:::-;16438:41;;16490:29;16504:8;16513:5;16490:13;:29::i;:::-;16530:20;16551:28;16573:6:::0;16551:21:::1;:28;:::i;:::-;16530:49;;16590:28;16605:12;16590:14;:28::i;:::-;-1:-1:-1::0;;5855:6:0;:14;;-1:-1:-1;;;;5855:14:0;;;-1:-1:-1;;;;;;;15897:729:0:o;14189:344::-;-1:-1:-1;;;;;14287:20:0;;;;;;:12;:20;;;;;;;;14286:21;14278:30;;;;;;14337:13;;14327:6;:23;;14319:32;;;;;;-1:-1:-1;;;;;14366:20:0;;;;;;:12;:20;;;;;;;;14362:101;;14416:13;;14430:4;;14409:20;;:6;:20;:::i;14542:276::-;14664:4;14652:11;;14643:6;:20;;;;:::i;:::-;:25;;;;:::i;:::-;14632:8;:36;;;14683:12;14679:132;;14698:51;14716:6;14723:9;14733:6;14740:8;;14698:17;:51::i;14679:132::-;14767:42;14785:6;14792:9;14802:6;14767:17;:42::i;15099:464::-;15212:17;15239:8;;15232:6;:15;;;;:::i;:::-;-1:-1:-1;;;;;15280:17:0;;;;;;:9;:17;;;;;;15212:35;;-1:-1:-1;15258:47:0;;15273:6;;15280:24;;15298:6;;15280:24;:::i;15258:47::-;15339:4;15345:24;;;;:9;:24;;;;;;15316:64;;15339:4;15345:34;;15370:9;;15345:34;:::i;15316:64::-;-1:-1:-1;;;;;15416:20:0;;;;;;:9;:20;;;;;;15391:56;;15406:9;;15416:30;;15437:9;;15416:30;:::i;15391:56::-;15479:9;-1:-1:-1;;;;;15463:36:0;15472:6;-1:-1:-1;;;;;15463:36:0;;15489:9;15463:36;;;;2400:25:1;;2388:2;2373:18;;2254:177;15463:36:0;;;;;;;;15515:40;;2400:25:1;;;15539:4:0;;-1:-1:-1;;;;;15515:40:0;;;;;2388:2:1;2373:18;15515:40:0;;;;;;;15201:362;15099:464;;;;:::o;17584:369::-;17668:16;;;17682:1;17668:16;;;;;;;;17646:21;;17668:16;;;;;;;;;;-1:-1:-1;17668:16:0;17646:38;;17713:4;17695;17700:1;17695:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17695:23:0;;;:7;;;;;;;;;;:23;;;;17739:6;;:13;;;-1:-1:-1;;;17739:13:0;;;;:6;;;;;:11;;:13;;;;;17695:7;;17739:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17729:4;17734:1;17729:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17729:23:0;;;:7;;;;;;;;;:23;17763:6;;:182;;-1:-1:-1;;;17763:182:0;;:6;;;:57;;:182;;17835:6;;17763;;17872:4;;17899;;17919:15;;17763:182;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17962:341;18044:9;:14;;-1:-1:-1;;;;18044:14:0;-1:-1:-1;;;18044:14:0;;;18069:6;;18211:17;;18069:200;;-1:-1:-1;;;18069:200:0;;18132:4;18069:200;;;14528:34:1;14578:18;;;14571:34;;;-1:-1:-1;14621:18:1;;;14614:34;;;14664:18;;;14657:34;-1:-1:-1;;;;;18211:17:0;;;14707:19:1;;;14700:44;18243:15:0;14760:19:1;;;14753:35;18069:6:0;;;:22;;18099:9;;14462:19:1;;18069:200:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;18280:9:0;:15;;-1:-1:-1;;;;18280:15:0;;;-1:-1:-1;;;17962:341:0:o;16635:940::-;16746:20;;16724:19;;16700:20;;16724:42;;;:::i;:::-;16824:20;;16802:19;;16700:67;;-1:-1:-1;16778:20:0;;16802:42;;16824:20;16802:42;:::i;:::-;16778:67;-1:-1:-1;16856:16:0;16876:27;16778:67;16876:12;:27;:::i;:::-;16856:48;-1:-1:-1;16918:26:0;16856:48;16947:29;16963:12;16947;:29;:::i;:::-;:42;;;;:::i;:::-;16918:71;-1:-1:-1;17000:26:0;17062:8;17029:29;17045:12;17029;:29;:::i;:::-;:42;;;;:::i;:::-;17000:71;-1:-1:-1;17088:22:0;;17085:235;;17181:17;;17173:74;;17123:21;;-1:-1:-1;;;;;17181:17:0;;17237:5;;17212:18;;17123:21;17173:74;17123:21;17173:74;17212:18;17181:17;17237:5;17173:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17122:125;;;17266:16;17258:59;;;;-1:-1:-1;;;17258:59:0;;15522:2:1;17258:59:0;;;15504:21:1;15561:2;15541:18;;;15534:30;15600:32;15580:18;;;15573:60;15650:18;;17258:59:0;15320:354:1;17258:59:0;17111:209;17085:235;17336:22;;17333:235;;17429:17;;17421:74;;17371:21;;-1:-1:-1;;;;;17429:17:0;;17485:5;;17460:18;;17371:21;17421:74;17371:21;17421:74;17460:18;17429:17;17485:5;17421:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17370:125;;;17514:16;17506:59;;;;-1:-1:-1;;;17506:59:0;;15522:2:1;17506:59:0;;;15504:21:1;15561:2;15541:18;;;15534:30;15600:32;15580:18;;;15573:60;15650:18;;17506:59:0;15320:354:1;17506:59:0;17359:209;16689:886;;;;;16635:940;:::o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1264:160::-;1329:20;;1385:13;;1378:21;1368:32;;1358:60;;1414:1;1411;1404:12;1358:60;1264:160;;;:::o;1429:315::-;1494:6;1502;1555:2;1543:9;1534:7;1530:23;1526:32;1523:52;;;1571:1;1568;1561:12;1523:52;1610:9;1597:23;1629:31;1654:5;1629:31;:::i;:::-;1679:5;-1:-1:-1;1703:35:1;1734:2;1719:18;;1703:35;:::i;:::-;1693:45;;1429:315;;;;;:::o;1749:247::-;1808:6;1861:2;1849:9;1840:7;1836:23;1832:32;1829:52;;;1877:1;1874;1867:12;1829:52;1916:9;1903:23;1935:31;1960:5;1935:31;:::i;:::-;1985:5;1749:247;-1:-1:-1;;;1749:247:1:o;2001:248::-;2069:6;2077;2130:2;2118:9;2109:7;2105:23;2101:32;2098:52;;;2146:1;2143;2136:12;2098:52;-1:-1:-1;;2169:23:1;;;2239:2;2224:18;;;2211:32;;-1:-1:-1;2001:248:1:o;2436:461::-;2489:3;2527:5;2521:12;2554:6;2549:3;2542:19;2580:4;2609:2;2604:3;2600:12;2593:19;;2646:2;2639:5;2635:14;2667:1;2677:195;2691:6;2688:1;2685:13;2677:195;;;2756:13;;-1:-1:-1;;;;;2752:39:1;2740:52;;2812:12;;;;2847:15;;;;2788:1;2706:9;2677:195;;;-1:-1:-1;2888:3:1;;2436:461;-1:-1:-1;;;;;2436:461:1:o;2902:261::-;3081:2;3070:9;3063:21;3044:4;3101:56;3153:2;3142:9;3138:18;3130:6;3101:56;:::i;3168:456::-;3245:6;3253;3261;3314:2;3302:9;3293:7;3289:23;3285:32;3282:52;;;3330:1;3327;3320:12;3282:52;3369:9;3356:23;3388:31;3413:5;3388:31;:::i;:::-;3438:5;-1:-1:-1;3495:2:1;3480:18;;3467:32;3508:33;3467:32;3508:33;:::i;:::-;3168:456;;3560:7;;-1:-1:-1;;;3614:2:1;3599:18;;;;3586:32;;3168:456::o;4422:388::-;4490:6;4498;4551:2;4539:9;4530:7;4526:23;4522:32;4519:52;;;4567:1;4564;4557:12;4519:52;4606:9;4593:23;4625:31;4650:5;4625:31;:::i;:::-;4675:5;-1:-1:-1;4732:2:1;4717:18;;4704:32;4745:33;4704:32;4745:33;:::i;:::-;4797:7;4787:17;;;4422:388;;;;;:::o;4815:316::-;4892:6;4900;4908;4961:2;4949:9;4940:7;4936:23;4932:32;4929:52;;;4977:1;4974;4967:12;4929:52;-1:-1:-1;;5000:23:1;;;5070:2;5055:18;;5042:32;;-1:-1:-1;5121:2:1;5106:18;;;5093:32;;4815:316;-1:-1:-1;4815:316:1:o;5136:180::-;5195:6;5248:2;5236:9;5227:7;5223:23;5219:32;5216:52;;;5264:1;5261;5254:12;5216:52;-1:-1:-1;5287:23:1;;5136:180;-1:-1:-1;5136:180:1:o;5321:::-;5377:6;5430:2;5418:9;5409:7;5405:23;5401:32;5398:52;;;5446:1;5443;5436:12;5398:52;5469:26;5485:9;5469:26;:::i;5506:248::-;5571:6;5579;5632:2;5620:9;5611:7;5607:23;5603:32;5600:52;;;5648:1;5645;5638:12;5600:52;5671:26;5687:9;5671:26;:::i;5759:127::-;5820:10;5815:3;5811:20;5808:1;5801:31;5851:4;5848:1;5841:15;5875:4;5872:1;5865:15;5891:275;5962:2;5956:9;6027:2;6008:13;;-1:-1:-1;;6004:27:1;5992:40;;6062:18;6047:34;;6083:22;;;6044:62;6041:88;;;6109:18;;:::i;:::-;6145:2;6138:22;5891:275;;-1:-1:-1;5891:275:1:o;6171:183::-;6231:4;6264:18;6256:6;6253:30;6250:56;;;6286:18;;:::i;:::-;-1:-1:-1;6331:1:1;6327:14;6343:4;6323:25;;6171:183::o;6359:662::-;6413:5;6466:3;6459:4;6451:6;6447:17;6443:27;6433:55;;6484:1;6481;6474:12;6433:55;6520:6;6507:20;6546:4;6570:60;6586:43;6626:2;6586:43;:::i;:::-;6570:60;:::i;:::-;6664:15;;;6750:1;6746:10;;;;6734:23;;6730:32;;;6695:12;;;;6774:15;;;6771:35;;;6802:1;6799;6792:12;6771:35;6838:2;6830:6;6826:15;6850:142;6866:6;6861:3;6858:15;6850:142;;;6932:17;;6920:30;;6970:12;;;;6883;;6850:142;;;-1:-1:-1;7010:5:1;6359:662;-1:-1:-1;;;;;;6359:662:1:o;7026:1215::-;7144:6;7152;7205:2;7193:9;7184:7;7180:23;7176:32;7173:52;;;7221:1;7218;7211:12;7173:52;7261:9;7248:23;7290:18;7331:2;7323:6;7320:14;7317:34;;;7347:1;7344;7337:12;7317:34;7385:6;7374:9;7370:22;7360:32;;7430:7;7423:4;7419:2;7415:13;7411:27;7401:55;;7452:1;7449;7442:12;7401:55;7488:2;7475:16;7510:4;7534:60;7550:43;7590:2;7550:43;:::i;7534:60::-;7628:15;;;7710:1;7706:10;;;;7698:19;;7694:28;;;7659:12;;;;7734:19;;;7731:39;;;7766:1;7763;7756:12;7731:39;7790:11;;;;7810:217;7826:6;7821:3;7818:15;7810:217;;;7906:3;7893:17;7923:31;7948:5;7923:31;:::i;:::-;7967:18;;7843:12;;;;8005;;;;7810:217;;;8046:5;-1:-1:-1;;8089:18:1;;8076:32;;-1:-1:-1;;8120:16:1;;;8117:36;;;8149:1;8146;8139:12;8117:36;;8172:63;8227:7;8216:8;8205:9;8201:24;8172:63;:::i;:::-;8162:73;;;7026:1215;;;;;:::o;8472:346::-;8674:2;8656:21;;;8713:2;8693:18;;;8686:30;-1:-1:-1;;;8747:2:1;8732:18;;8725:52;8809:2;8794:18;;8472:346::o;8823:127::-;8884:10;8879:3;8875:20;8872:1;8865:31;8915:4;8912:1;8905:15;8939:4;8936:1;8929:15;8955:125;8995:4;9023:1;9020;9017:8;9014:34;;;9028:18;;:::i;:::-;-1:-1:-1;9065:9:1;;8955:125::o;9085:217::-;9125:1;9151;9141:132;;9195:10;9190:3;9186:20;9183:1;9176:31;9230:4;9227:1;9220:15;9258:4;9255:1;9248:15;9141:132;-1:-1:-1;9287:9:1;;9085:217::o;9307:168::-;9347:7;9413:1;9409;9405:6;9401:14;9398:1;9395:21;9390:1;9383:9;9376:17;9372:45;9369:71;;;9420:18;;:::i;:::-;-1:-1:-1;9460:9:1;;9307:168::o;9480:128::-;9520:3;9551:1;9547:6;9544:1;9541:13;9538:39;;;9557:18;;:::i;:::-;-1:-1:-1;9593:9:1;;9480:128::o;10036:127::-;10097:10;10092:3;10088:20;10085:1;10078:31;10128:4;10125:1;10118:15;10152:4;10149:1;10142:15;10168:422;10257:1;10300:5;10257:1;10314:270;10335:7;10325:8;10322:21;10314:270;;;10394:4;10390:1;10386:6;10382:17;10376:4;10373:27;10370:53;;;10403:18;;:::i;:::-;10453:7;10443:8;10439:22;10436:55;;;10473:16;;;;10436:55;10552:22;;;;10512:15;;;;10314:270;;;10318:3;10168:422;;;;;:::o;10595:806::-;10644:5;10674:8;10664:80;;-1:-1:-1;10715:1:1;10729:5;;10664:80;10763:4;10753:76;;-1:-1:-1;10800:1:1;10814:5;;10753:76;10845:4;10863:1;10858:59;;;;10931:1;10926:130;;;;10838:218;;10858:59;10888:1;10879:10;;10902:5;;;10926:130;10963:3;10953:8;10950:17;10947:43;;;10970:18;;:::i;:::-;-1:-1:-1;;11026:1:1;11012:16;;11041:5;;10838:218;;11140:2;11130:8;11127:16;11121:3;11115:4;11112:13;11108:36;11102:2;11092:8;11089:16;11084:2;11078:4;11075:12;11071:35;11068:77;11065:159;;;-1:-1:-1;11177:19:1;;;11209:5;;11065:159;11256:34;11281:8;11275:4;11256:34;:::i;:::-;11326:6;11322:1;11318:6;11314:19;11305:7;11302:32;11299:58;;;11337:18;;:::i;:::-;11375:20;;10595:806;-1:-1:-1;;;10595:806:1:o;11406:140::-;11464:5;11493:47;11534:4;11524:8;11520:19;11514:4;11493:47;:::i;11551:135::-;11590:3;-1:-1:-1;;11611:17:1;;11608:43;;;11631:18;;:::i;:::-;-1:-1:-1;11678:1:1;11667:13;;11551:135::o;11691:184::-;11761:6;11814:2;11802:9;11793:7;11789:23;11785:32;11782:52;;;11830:1;11827;11820:12;11782:52;-1:-1:-1;11853:16:1;;11691:184;-1:-1:-1;11691:184:1:o;13344:251::-;13414:6;13467:2;13455:9;13446:7;13442:23;13438:32;13435:52;;;13483:1;13480;13473:12;13435:52;13515:9;13509:16;13534:31;13559:5;13534:31;:::i;13600:582::-;13899:6;13888:9;13881:25;13942:6;13937:2;13926:9;13922:18;13915:34;13985:3;13980:2;13969:9;13965:18;13958:31;13862:4;14006:57;14058:3;14047:9;14043:19;14035:6;14006:57;:::i;:::-;-1:-1:-1;;;;;14099:32:1;;;;14094:2;14079:18;;14072:60;-1:-1:-1;14163:3:1;14148:19;14141:35;13998:65;13600:582;-1:-1:-1;;;13600:582:1:o;14799:306::-;14887:6;14895;14903;14956:2;14944:9;14935:7;14931:23;14927:32;14924:52;;;14972:1;14969;14962:12;14924:52;15001:9;14995:16;14985:26;;15051:2;15040:9;15036:18;15030:25;15020:35;;15095:2;15084:9;15080:18;15074:25;15064:35;;14799:306;;;;;:::o

Swarm Source

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