ETH Price: $3,496.62 (+2.33%)
Gas: 11 Gwei

Token

Shinoki Inu (SHINOKI)
 

Overview

Max Total Supply

10,000,000,000 SHINOKI

Holders

173

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: SHINOKI
Balance
7,354,777,579.682037223 SHINOKI

Value
$0.00
0x42e2d8537925229ea1ce9359cb9b230cd024b839
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:
ShinokiInuETH

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-02-17
*/

/**
 *Submitted for verification at Etherscan.io on 2022-02-16

 ▄▄▄▄▄▄▄ ▄▄   ▄▄ ▄▄▄ ▄▄    ▄ ▄▄▄▄▄▄▄ ▄▄▄   ▄ ▄▄▄ 
█       █  █ █  █   █  █  █ █       █   █ █ █   █
█  ▄▄▄▄▄█  █▄█  █   █   █▄█ █   ▄   █   █▄█ █   █
█ █▄▄▄▄▄█       █   █       █  █ █  █      ▄█   █
█▄▄▄▄▄  █   ▄   █   █  ▄    █  █▄█  █     █▄█   █
 ▄▄▄▄▄█ █  █ █  █   █ █ █   █       █    ▄  █   █
█▄▄▄▄▄▄▄█▄▄█ █▄▄█▄▄▄█▄█  █▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄█

*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

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

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

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

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

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

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract ShinokiInuETH is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant _tTotal = 1e10 * 10**9;
    
    uint256 private _buyProjectFee = 4;
    uint256 private _previousBuyProjectFee = _buyProjectFee;
    uint256 private _buyLiquidityFee = 5;
    uint256 private _previousBuyLiquidityFee = _buyLiquidityFee;
    uint256 private _buyRewardFee = 1;
    uint256 private _previousBuyRewardFee = _buyRewardFee;
    
    uint256 private _sellProjectFee = 14;
    uint256 private _previousSellProjectFee = _sellProjectFee;
    uint256 private _sellLiquidityFee = 10;
    uint256 private _previousSellLiquidityFee = _sellLiquidityFee;
    uint256 private _sellRewardFee = 4;
    uint256 private _previousSellRewardFee = _sellRewardFee;

    uint256 private tokensForReward;
    uint256 private tokensForProject;
    uint256 private tokensForLiquidity;

    address payable private _rewardWallet;
    address payable private _projectWallet;
    address payable private _liquidityWallet;
    
    string private constant _name = "Shinoki Inu";
    string private constant _symbol = "SHINOKI";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private swapping;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private tradingActiveBlock = 0; // 0 means trading is not active
    uint256 private blocksToBlacklist = 10;
    uint256 private _maxBuyAmount = _tTotal;
    uint256 private _maxSellAmount = _tTotal;
    uint256 private _maxWalletAmount = _tTotal;
    uint256 private swapTokensAtAmount = 0;
    
    event MaxBuyAmountUpdated(uint _maxBuyAmount);
    event MaxSellAmountUpdated(uint _maxSellAmount);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiquidity
    );
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _projectWallet = payable(0x1B7De7daA79329CFCaC308379aF54B976621a8D5);
        _liquidityWallet = payable(address(0xdead));
        _rewardWallet = payable(0x1B7De7daA79329CFCaC308379aF54B976621a8D5);
        _rOwned[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_projectWallet] = true;
        _isExcludedFromFee[_liquidityWallet] = true;
        _isExcludedFromFee[_rewardWallet] = true;
        emit Transfer(address(0xbc4fD39F29D4aC708BB9EbBb19B2f938bf8a64D6), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

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

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function setSwapEnabled(bool onoff) external onlyOwner(){
        swapEnabled = onoff;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        bool takeFee = false;
        bool shouldSwap = false;
        if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {
            require(!bots[from] && !bots[to]);

            takeFee = true;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && cooldownEnabled) {
                require(amount <= _maxBuyAmount, "Transfer amount exceeds the maxBuyAmount.");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Exceeds maximum wallet token amount.");
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && !_isExcludedFromFee[from] && cooldownEnabled) {
                require(amount <= _maxSellAmount, "Transfer amount exceeds the maxSellAmount.");
                shouldSwap = true;
            }
        }

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = (contractTokenBalance > swapTokensAtAmount) && shouldSwap;

        if (canSwap && swapEnabled && !swapping && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            swapping = true;
            swapBack();
            swapping = false;
        }

        _tokenTransfer(from,to,amount,takeFee, shouldSwap);
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = tokensForLiquidity + tokensForReward + tokensForProject;
        bool success;
        
        if(contractBalance == 0 || totalTokensToSwap == 0) {return;}

        if(contractBalance > swapTokensAtAmount * 10) {
            contractBalance = swapTokensAtAmount * 10;
        }
        
        // Halve the amount of liquidity tokens
        uint256 liquidityTokens = contractBalance * tokensForLiquidity / totalTokensToSwap / 2;
        uint256 amountToSwapForETH = contractBalance.sub(liquidityTokens);
        
        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(amountToSwapForETH); 
        
        uint256 ethBalance = address(this).balance.sub(initialETHBalance);
        
        uint256 ethForReward = ethBalance.mul(tokensForReward).div(totalTokensToSwap);
        uint256 ethForProject = ethBalance.mul(tokensForProject).div(totalTokensToSwap);
        
        
        uint256 ethForLiquidity = ethBalance - ethForReward - ethForProject;
        
        
        tokensForLiquidity = 0;
        tokensForReward = 0;
        tokensForProject = 0;
        
        (success,) = address(_rewardWallet).call{value: ethForReward}("");
        
        if(liquidityTokens > 0 && ethForLiquidity > 0){
            addLiquidity(liquidityTokens, ethForLiquidity);
            emit SwapAndLiquify(amountToSwapForETH, ethForLiquidity, tokensForLiquidity);
        }
        
        
        (success,) = address(_projectWallet).call{value: address(this).balance}("");
    }

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

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            _liquidityWallet,
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _projectWallet.transfer(amount);
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxBuyAmount = 5e7 * 10**9;
        _maxSellAmount = 5e7 * 10**9;
        _maxWalletAmount = 1e8 * 10**9;
        swapTokensAtAmount = 5e6 * 10**9;
        tradingOpen = true;
        tradingActiveBlock = block.number;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function setMaxBuyAmount(uint256 maxBuy) public onlyOwner {
        _maxBuyAmount = maxBuy;
    }

    function setMaxSellAmount(uint256 maxSell) public onlyOwner {
        _maxSellAmount = maxSell;
    }
    
    function setMaxWalletAmount(uint256 maxToken) public onlyOwner {
        _maxWalletAmount = maxToken;
    }
    
    function setSwapTokensAtAmount(uint256 newAmount) public onlyOwner {
        require(newAmount >= 1e3 * 10**9, "Swap amount cannot be lower than 0.001% total supply.");
        require(newAmount <= 5e6 * 10**9, "Swap amount cannot be higher than 0.5% total supply.");
        swapTokensAtAmount = newAmount;
    }

    function setProjectWallet(address projectWallet) public onlyOwner() {
        require(projectWallet != address(0), "projectWallet address cannot be 0");
        _isExcludedFromFee[_projectWallet] = false;
        _projectWallet = payable(projectWallet);
        _isExcludedFromFee[_projectWallet] = true;
    }

    function setRewardWallet(address rewardWallet) public onlyOwner() {
        require(rewardWallet != address(0), "rewardWallet address cannot be 0");
        _isExcludedFromFee[_rewardWallet] = false;
        _rewardWallet = payable(rewardWallet);
        _isExcludedFromFee[_rewardWallet] = true;
    }

    function setLiquidityWallet(address liquidityWallet) public onlyOwner() {
        require(liquidityWallet != address(0), "liquidityWallet address cannot be 0");
        _isExcludedFromFee[_liquidityWallet] = false;
        _liquidityWallet = payable(liquidityWallet);
        _isExcludedFromFee[_liquidityWallet] = true;
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }
    
    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function setBuyFee(uint256 buyProjectFee, uint256 buyLiquidityFee, uint256 buyRewardFee) external onlyOwner {
        require(buyProjectFee + buyLiquidityFee + buyRewardFee <= 30, "Must keep buy taxes below 30%");
        _buyProjectFee = buyProjectFee;
        _buyLiquidityFee = buyLiquidityFee;
        _buyRewardFee = buyRewardFee;
    }

    function setSellFee(uint256 sellProjectFee, uint256 sellLiquidityFee, uint256 sellRewardFee) external onlyOwner {
        require(sellProjectFee + sellLiquidityFee + sellRewardFee <= 60, "Must keep sell taxes below 60%");
        _sellProjectFee = sellProjectFee;
        _sellLiquidityFee = sellLiquidityFee;
        _sellRewardFee = sellRewardFee;
    }

    function setBlocksToBlacklist(uint256 blocks) public onlyOwner {
        blocksToBlacklist = blocks;
    }

    function removeAllFee() private {
        if(_buyProjectFee == 0 && _buyLiquidityFee == 0 && _buyRewardFee == 0 && _sellProjectFee == 0 && _sellLiquidityFee == 0 && _sellRewardFee == 0) return;
        
        _previousBuyProjectFee = _buyProjectFee;
        _previousBuyLiquidityFee = _buyLiquidityFee;
        _previousBuyRewardFee = _buyRewardFee;
        _previousSellProjectFee = _sellProjectFee;
        _previousSellLiquidityFee = _sellLiquidityFee;
        _previousSellRewardFee = _sellRewardFee;
        
        _buyProjectFee = 0;
        _buyLiquidityFee = 0;
        _buyRewardFee = 0;
        _sellProjectFee = 0;
        _sellLiquidityFee = 0;
        _sellRewardFee = 0;
    }
    
    function restoreAllFee() private {
        _buyProjectFee = _previousBuyProjectFee;
        _buyLiquidityFee = _previousBuyLiquidityFee;
        _buyRewardFee = _previousBuyRewardFee;
        _sellProjectFee = _previousSellProjectFee;
        _sellLiquidityFee = _previousSellLiquidityFee;
        _sellRewardFee = _previousSellRewardFee;
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee, bool isSell) private {
        if(!takeFee) {
            removeAllFee();
        } else {
            amount = _takeFees(sender, amount, isSell);
        }

        _transferStandard(sender, recipient, amount);
        
        if(!takeFee) {
            restoreAllFee();
        }
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        _rOwned[sender] = _rOwned[sender].sub(tAmount);
        _rOwned[recipient] = _rOwned[recipient].add(tAmount);
        emit Transfer(sender, recipient, tAmount);
    }

    function _takeFees(address sender, uint256 amount, bool isSell) private returns (uint256) {
        uint256 _totalFees;
        uint256 pjctFee;
        uint256 liqFee;
        uint256 rwrdFee;
        if(tradingActiveBlock + blocksToBlacklist >= block.number){
            _totalFees = 99;
            liqFee = 92;
        } else {
            _totalFees = _getTotalFees(isSell);
            if (isSell) {
                pjctFee = _sellProjectFee;
                liqFee = _sellLiquidityFee;
                rwrdFee = _sellRewardFee;
            } else {
                pjctFee = _buyProjectFee;
                liqFee = _buyLiquidityFee;
                rwrdFee = _buyRewardFee;
            }
        }

        uint256 fees = amount.mul(_totalFees).div(100);
        tokensForReward += fees * rwrdFee / _totalFees;
        tokensForProject += fees * pjctFee / _totalFees;
        tokensForLiquidity += fees * liqFee / _totalFees;
            
        if(fees > 0) {
            _transferStandard(sender, address(this), fees);
        }
            
        return amount -= fees;
    }

    receive() external payable {}
    
    function manualswap() public onlyOwner() {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() public onlyOwner() {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function withdrawStuckETH() external onlyOwner {
        require(!tradingOpen, "Can only withdraw if trading hasn't started");
        bool success;
        (success,) = address(msg.sender).call{value: address(this).balance}("");
    }

    function _getTotalFees(bool isSell) private view returns(uint256) {
        if (isSell) {
            return _sellProjectFee + _sellLiquidityFee + _sellRewardFee;
        }
        return _buyProjectFee + _buyLiquidityFee + _buyRewardFee;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"MaxBuyAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxSellAmount","type":"uint256"}],"name":"MaxSellAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blocks","type":"uint256"}],"name":"setBlocksToBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyProjectFee","type":"uint256"},{"internalType":"uint256","name":"buyLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"buyRewardFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"liquidityWallet","type":"address"}],"name":"setLiquidityWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuy","type":"uint256"}],"name":"setMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxSell","type":"uint256"}],"name":"setMaxSellAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxToken","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"projectWallet","type":"address"}],"name":"setProjectWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"rewardWallet","type":"address"}],"name":"setRewardWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellProjectFee","type":"uint256"},{"internalType":"uint256","name":"sellLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"sellRewardFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260046007819055600881905560056009819055600a9081556001600b819055600c55600e600d8190558055600f81905560108190556011829055601291909155601a805462ffffff60b01b191690556000601b819055601c91909155678ac7230489e80000601d819055601e819055601f5560205534801561008557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601780546001600160a01b0319908116731b7de7daa79329cfcac308379af54b976621a8d5908117835560188054831661dead178155601680549093169091178255336000818152600260209081526040808320678ac7230489e80000905582546001600160a01b0390811684526004909252808320805460ff1990811660019081179092553085528285208054821683179055975483168452818420805489168217905594548216835280832080548816861790559454168152929092208054909316179091556001600160a01b031673bc4fd39f29d4ac708bb9ebbb19b2f938bf8a64d66001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef678ac7230489e800006040516101ef91815260200190565b60405180910390a3612903806102066000396000f3fe6080604052600436106101dc5760003560e01c8063715018a611610102578063c9567bf911610095578063e99c9d0911610064578063e99c9d09146105a9578063ea2f0b37146105c9578063f34eb0b8146105e9578063f5648a4f1461060957600080fd5b8063c9567bf91461050e578063dd62ed3e14610523578063e01af92c14610569578063e6f7ef4d1461058957600080fd5b8063a9059cbb116100d1578063a9059cbb14610499578063afa4f3b2146104b9578063b515566a146104d9578063c3c8cd80146104f957600080fd5b8063715018a61461040c5780638a780447146104215780638da5cb5b1461044157806395d89b411461046957600080fd5b806327a14fc21161017a5780635932ead1116101495780635932ead1146103815780635958621e146103a15780636fc3eaec146103c157806370a08231146103d657600080fd5b806327a14fc214610305578063296f0a0c14610325578063313ce56714610345578063437823ec1461036157600080fd5b80631d865c30116101b65780631d865c301461028357806323b872dd146102a557806325519cf2146102c5578063273123b7146102e557600080fd5b806306fdde03146101e8578063095ea7b31461022e57806318160ddd1461025e57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152600b81526a5368696e6f6b6920496e7560a81b60208201525b60405161022591906126ba565b60405180910390f35b34801561023a57600080fd5b5061024e6102493660046124da565b61061e565b6040519015158152602001610225565b34801561026a57600080fd5b50678ac7230489e800005b604051908152602001610225565b34801561028f57600080fd5b506102a361029e366004612625565b610635565b005b3480156102b157600080fd5b5061024e6102c0366004612499565b6106db565b3480156102d157600080fd5b506102a36102e0366004612625565b610744565b3480156102f157600080fd5b506102a3610300366004612426565b6107e1565b34801561031157600080fd5b506102a361032036600461260c565b61082c565b34801561033157600080fd5b506102a3610340366004612426565b61085b565b34801561035157600080fd5b5060405160098152602001610225565b34801561036d57600080fd5b506102a361037c366004612426565b610937565b34801561038d57600080fd5b506102a361039c3660046125d2565b610985565b3480156103ad57600080fd5b506102a36103bc366004612426565b6109cd565b3480156103cd57600080fd5b506102a3610a9d565b3480156103e257600080fd5b506102756103f1366004612426565b6001600160a01b031660009081526002602052604090205490565b34801561041857600080fd5b506102a3610ad4565b34801561042d57600080fd5b506102a361043c366004612426565b610b48565b34801561044d57600080fd5b506000546040516001600160a01b039091168152602001610225565b34801561047557600080fd5b506040805180820190915260078152665348494e4f4b4960c81b6020820152610218565b3480156104a557600080fd5b5061024e6104b43660046124da565b610c22565b3480156104c557600080fd5b506102a36104d436600461260c565b610c2f565b3480156104e557600080fd5b506102a36104f4366004612506565b610d45565b34801561050557600080fd5b506102a3610ddb565b34801561051a57600080fd5b506102a3610e1e565b34801561052f57600080fd5b5061027561053e366004612460565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561057557600080fd5b506102a36105843660046125d2565b6111f1565b34801561059557600080fd5b506102a36105a436600461260c565b611239565b3480156105b557600080fd5b506102a36105c436600461260c565b611268565b3480156105d557600080fd5b506102a36105e4366004612426565b611297565b3480156105f557600080fd5b506102a361060436600461260c565b6112e2565b34801561061557600080fd5b506102a3611311565b600061062b3384846113f6565b5060015b92915050565b6000546001600160a01b031633146106685760405162461bcd60e51b815260040161065f9061270f565b60405180910390fd5b603c8161067584866127b5565b61067f91906127b5565b11156106cd5760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b6565702073656c6c2074617865732062656c6f77203630250000604482015260640161065f565b600d92909255600f55601155565b60006106e884848461151b565b61073a8433610735856040518060600160405280602881526020016128a6602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611ab4565b6113f6565b5060019392505050565b6000546001600160a01b0316331461076e5760405162461bcd60e51b815260040161065f9061270f565b601e8161077b84866127b5565b61078591906127b5565b11156107d35760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206275792074617865732062656c6f7720333025000000604482015260640161065f565b600792909255600955600b55565b6000546001600160a01b0316331461080b5760405162461bcd60e51b815260040161065f9061270f565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146108565760405162461bcd60e51b815260040161065f9061270f565b601f55565b6000546001600160a01b031633146108855760405162461bcd60e51b815260040161065f9061270f565b6001600160a01b0381166108e75760405162461bcd60e51b815260206004820152602360248201527f6c697175696469747957616c6c657420616464726573732063616e6e6f74206260448201526206520360ec1b606482015260840161065f565b601880546001600160a01b03908116600090815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b031633146109615760405162461bcd60e51b815260040161065f9061270f565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146109af5760405162461bcd60e51b815260040161065f9061270f565b601a8054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b031633146109f75760405162461bcd60e51b815260040161065f9061270f565b6001600160a01b038116610a4d5760405162461bcd60e51b815260206004820181905260248201527f72657761726457616c6c657420616464726573732063616e6e6f742062652030604482015260640161065f565b601680546001600160a01b03908116600090815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b03163314610ac75760405162461bcd60e51b815260040161065f9061270f565b47610ad181611aee565b50565b6000546001600160a01b03163314610afe5760405162461bcd60e51b815260040161065f9061270f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b725760405162461bcd60e51b815260040161065f9061270f565b6001600160a01b038116610bd25760405162461bcd60e51b815260206004820152602160248201527f70726f6a65637457616c6c657420616464726573732063616e6e6f74206265206044820152600360fc1b606482015260840161065f565b601780546001600160a01b03908116600090815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b600061062b33848461151b565b6000546001600160a01b03163314610c595760405162461bcd60e51b815260040161065f9061270f565b64e8d4a51000811015610ccc5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b606482015260840161065f565b6611c37937e08000811115610d405760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b606482015260840161065f565b602055565b6000546001600160a01b03163314610d6f5760405162461bcd60e51b815260040161065f9061270f565b60005b8151811015610dd757600160056000848481518110610d9357610d93612856565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610dcf81612825565b915050610d72565b5050565b6000546001600160a01b03163314610e055760405162461bcd60e51b815260040161065f9061270f565b30600090815260026020526040902054610ad181611b28565b6000546001600160a01b03163314610e485760405162461bcd60e51b815260040161065f9061270f565b601a54600160a01b900460ff1615610ea25760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161065f565b601980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610ede3082678ac7230489e800006113f6565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f1757600080fd5b505afa158015610f2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4f9190612443565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9757600080fd5b505afa158015610fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcf9190612443565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561101757600080fd5b505af115801561102b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104f9190612443565b601a80546001600160a01b039283166001600160a01b03199091161790556019541663f305d7194730611097816001600160a01b031660009081526002602052604090205490565b6000806110ac6000546001600160a01b031690565b426040518863ffffffff1660e01b81526004016110ce9695949392919061267f565b6060604051808303818588803b1580156110e757600080fd5b505af11580156110fb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111209190612651565b5050601a805466b1a2bc2ec50000601d819055601e5567016345785d8a0000601f556611c37937e0800060205564ffff0000ff60a01b19811664010100000160a01b1790915543601b5560195460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156111b957600080fd5b505af11580156111cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd791906125ef565b6000546001600160a01b0316331461121b5760405162461bcd60e51b815260040161065f9061270f565b601a8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146112635760405162461bcd60e51b815260040161065f9061270f565b601c55565b6000546001600160a01b031633146112925760405162461bcd60e51b815260040161065f9061270f565b601e55565b6000546001600160a01b031633146112c15760405162461bcd60e51b815260040161065f9061270f565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b0316331461130c5760405162461bcd60e51b815260040161065f9061270f565b601d55565b6000546001600160a01b0316331461133b5760405162461bcd60e51b815260040161065f9061270f565b601a54600160a01b900460ff16156113a95760405162461bcd60e51b815260206004820152602b60248201527f43616e206f6e6c792077697468647261772069662074726164696e672068617360448201526a1b89dd081cdd185c9d195960aa1b606482015260840161065f565b604051600090339047908381818185875af1925050503d80600081146113eb576040519150601f19603f3d011682016040523d82523d6000602084013e6113f0565b606091505b50505050565b6001600160a01b0383166114585760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161065f565b6001600160a01b0382166114b95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161065f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661157f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161065f565b6001600160a01b0382166115e15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161065f565b600081116116435760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161065f565b6000806116586000546001600160a01b031690565b6001600160a01b0316856001600160a01b03161415801561168757506000546001600160a01b03858116911614155b801561169b57506001600160a01b03841615155b80156116b257506001600160a01b03841661dead14155b80156116c85750601a54600160a81b900460ff16155b1561198d576001600160a01b03851660009081526005602052604090205460ff1615801561170f57506001600160a01b03841660009081526005602052604090205460ff16155b61171857600080fd5b601a54600192506001600160a01b03868116911614801561174757506019546001600160a01b03858116911614155b801561176c57506001600160a01b03841660009081526004602052604090205460ff16155b80156117815750601a54600160c01b900460ff165b156118ba57601d548311156117ea5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178426044820152683abca0b6b7bab73a1760b91b606482015260840161065f565b601f548361180d866001600160a01b031660009081526002602052604090205490565b61181791906127b5565b11156118715760405162461bcd60e51b8152602060048201526024808201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152633ab73a1760e11b606482015260840161065f565b6001600160a01b038416600090815260066020526040902054421161189557600080fd5b6118a042601e6127b5565b6001600160a01b0385166000908152600660205260409020555b601a546001600160a01b0385811691161480156118e557506019546001600160a01b03868116911614155b801561190a57506001600160a01b03851660009081526004602052604090205460ff16155b801561191f5750601a54600160c01b900460ff165b1561198d57601e548311156119895760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785360448201526932b63620b6b7bab73a1760b11b606482015260840161065f565b5060015b6001600160a01b03851660009081526004602052604090205460ff16806119cc57506001600160a01b03841660009081526004602052604090205460ff165b156119d657600091505b3060009081526002602052604081205490506000602054821180156119f85750825b9050808015611a105750601a54600160b81b900460ff165b8015611a265750601a54600160a81b900460ff16155b8015611a4b57506001600160a01b03871660009081526004602052604090205460ff16155b8015611a7057506001600160a01b03861660009081526004602052604090205460ff16155b15611a9e57601a805460ff60a81b1916600160a81b179055611a90611cb1565b601a805460ff60a81b191690555b611aab8787878787611ef1565b50505050505050565b60008184841115611ad85760405162461bcd60e51b815260040161065f91906126ba565b506000611ae5848661280e565b95945050505050565b6017546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610dd7573d6000803e3d6000fd5b601a805460ff60b01b1916600160b01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611b7057611b70612856565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611bc457600080fd5b505afa158015611bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfc9190612443565b81600181518110611c0f57611c0f612856565b6001600160a01b039283166020918202929092010152601954611c3591309116846113f6565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c6e908590600090869030904290600401612744565b600060405180830381600087803b158015611c8857600080fd5b505af1158015611c9c573d6000803e3d6000fd5b5050601a805460ff60b01b1916905550505050565b3060009081526002602052604081205490506000601454601354601554611cd891906127b5565b611ce291906127b5565b90506000821580611cf1575081155b15611cfb57505050565b602054611d0990600a6127ef565b831115611d2157602054611d1e90600a6127ef565b92505b600060028360155486611d3491906127ef565b611d3e91906127cd565b611d4891906127cd565b90506000611d568583611f51565b905047611d6282611b28565b6000611d6e4783611f51565b90506000611d9187611d8b60135485611f9a90919063ffffffff16565b90612019565b90506000611dae88611d8b60145486611f9a90919063ffffffff16565b9050600081611dbd848661280e565b611dc7919061280e565b60006015819055601381905560148190556016546040519293506001600160a01b031691859181818185875af1925050503d8060008114611e24576040519150601f19603f3d011682016040523d82523d6000602084013e611e29565b606091505b50909850508615801590611e3d5750600081115b15611e9057611e4c878261205b565b601554604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6017546040516001600160a01b03909116904790600081818185875af1925050503d8060008114611edd576040519150601f19603f3d011682016040523d82523d6000602084013e611ee2565b606091505b50505050505050505050505050565b81611f0357611efe612105565b611f11565b611f0e85848361218d565b92505b611f1c8585856122ab565b81611f4a57611f4a600854600755600a54600955600c54600b55600e54600d55601054600f55601254601155565b5050505050565b6000611f9383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ab4565b9392505050565b600082611fa95750600061062f565b6000611fb583856127ef565b905082611fc285836127cd565b14611f935760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161065f565b6000611f9383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612351565b6019546120739030906001600160a01b0316846113f6565b60195460185460405163f305d71960e01b81526001600160a01b039283169263f305d7199285926120b3923092899260009283921690429060040161267f565b6060604051808303818588803b1580156120cc57600080fd5b505af11580156120e0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f4a9190612651565b6007541580156121155750600954155b80156121215750600b54155b801561212d5750600d54155b80156121395750600f54155b80156121455750601154155b1561214c57565b6007805460085560098054600a55600b8054600c55600d8054600e55600f805460105560118054601255600095869055938590559184905583905582905555565b600080600080600043601c54601b546121a691906127b5565b106121b85760639350605c91506121ed565b6121c18661237f565b935085156121dd57600d549250600f54915060115490506121ed565b60075492506009549150600b5490505b60006121fe6064611d8b8a88611f9a565b90508461220b83836127ef565b61221591906127cd565b6013600082825461222691906127b5565b9091555085905061223785836127ef565b61224191906127cd565b6014600082825461225291906127b5565b9091555085905061226384836127ef565b61226d91906127cd565b6015600082825461227e91906127b5565b90915550508015612294576122948930836122ab565b61229e818961280e565b9998505050505050505050565b6001600160a01b0383166000908152600260205260409020546122ce9082611f51565b6001600160a01b0380851660009081526002602052604080822093909355908416815220546122fd90826123b7565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061150e9085815260200190565b600081836123725760405162461bcd60e51b815260040161065f91906126ba565b506000611ae584866127cd565b600081156123a457601154600f54600d5461239a91906127b5565b61062f91906127b5565b600b5460095460075461239a91906127b5565b6000806123c483856127b5565b905083811015611f935760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161065f565b803561242181612882565b919050565b60006020828403121561243857600080fd5b8135611f9381612882565b60006020828403121561245557600080fd5b8151611f9381612882565b6000806040838503121561247357600080fd5b823561247e81612882565b9150602083013561248e81612882565b809150509250929050565b6000806000606084860312156124ae57600080fd5b83356124b981612882565b925060208401356124c981612882565b929592945050506040919091013590565b600080604083850312156124ed57600080fd5b82356124f881612882565b946020939093013593505050565b6000602080838503121561251957600080fd5b823567ffffffffffffffff8082111561253157600080fd5b818501915085601f83011261254557600080fd5b8135818111156125575761255761286c565b8060051b604051601f19603f8301168101818110858211171561257c5761257c61286c565b604052828152858101935084860182860187018a101561259b57600080fd5b600095505b838610156125c5576125b181612416565b8552600195909501949386019386016125a0565b5098975050505050505050565b6000602082840312156125e457600080fd5b8135611f9381612897565b60006020828403121561260157600080fd5b8151611f9381612897565b60006020828403121561261e57600080fd5b5035919050565b60008060006060848603121561263a57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561266657600080fd5b8351925060208401519150604084015190509250925092565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600060208083528351808285015260005b818110156126e7578581018301518582016040015282016126cb565b818111156126f9576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156127945784516001600160a01b03168352938301939183019160010161276f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156127c8576127c8612840565b500190565b6000826127ea57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561280957612809612840565b500290565b60008282101561282057612820612840565b500390565b600060001982141561283957612839612840565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610ad157600080fd5b8015158114610ad157600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122085bc596ad42f8511bd3a005ded0cdd14b48629534ddfa0a5f993d5420912162e64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c8063715018a611610102578063c9567bf911610095578063e99c9d0911610064578063e99c9d09146105a9578063ea2f0b37146105c9578063f34eb0b8146105e9578063f5648a4f1461060957600080fd5b8063c9567bf91461050e578063dd62ed3e14610523578063e01af92c14610569578063e6f7ef4d1461058957600080fd5b8063a9059cbb116100d1578063a9059cbb14610499578063afa4f3b2146104b9578063b515566a146104d9578063c3c8cd80146104f957600080fd5b8063715018a61461040c5780638a780447146104215780638da5cb5b1461044157806395d89b411461046957600080fd5b806327a14fc21161017a5780635932ead1116101495780635932ead1146103815780635958621e146103a15780636fc3eaec146103c157806370a08231146103d657600080fd5b806327a14fc214610305578063296f0a0c14610325578063313ce56714610345578063437823ec1461036157600080fd5b80631d865c30116101b65780631d865c301461028357806323b872dd146102a557806325519cf2146102c5578063273123b7146102e557600080fd5b806306fdde03146101e8578063095ea7b31461022e57806318160ddd1461025e57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152600b81526a5368696e6f6b6920496e7560a81b60208201525b60405161022591906126ba565b60405180910390f35b34801561023a57600080fd5b5061024e6102493660046124da565b61061e565b6040519015158152602001610225565b34801561026a57600080fd5b50678ac7230489e800005b604051908152602001610225565b34801561028f57600080fd5b506102a361029e366004612625565b610635565b005b3480156102b157600080fd5b5061024e6102c0366004612499565b6106db565b3480156102d157600080fd5b506102a36102e0366004612625565b610744565b3480156102f157600080fd5b506102a3610300366004612426565b6107e1565b34801561031157600080fd5b506102a361032036600461260c565b61082c565b34801561033157600080fd5b506102a3610340366004612426565b61085b565b34801561035157600080fd5b5060405160098152602001610225565b34801561036d57600080fd5b506102a361037c366004612426565b610937565b34801561038d57600080fd5b506102a361039c3660046125d2565b610985565b3480156103ad57600080fd5b506102a36103bc366004612426565b6109cd565b3480156103cd57600080fd5b506102a3610a9d565b3480156103e257600080fd5b506102756103f1366004612426565b6001600160a01b031660009081526002602052604090205490565b34801561041857600080fd5b506102a3610ad4565b34801561042d57600080fd5b506102a361043c366004612426565b610b48565b34801561044d57600080fd5b506000546040516001600160a01b039091168152602001610225565b34801561047557600080fd5b506040805180820190915260078152665348494e4f4b4960c81b6020820152610218565b3480156104a557600080fd5b5061024e6104b43660046124da565b610c22565b3480156104c557600080fd5b506102a36104d436600461260c565b610c2f565b3480156104e557600080fd5b506102a36104f4366004612506565b610d45565b34801561050557600080fd5b506102a3610ddb565b34801561051a57600080fd5b506102a3610e1e565b34801561052f57600080fd5b5061027561053e366004612460565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561057557600080fd5b506102a36105843660046125d2565b6111f1565b34801561059557600080fd5b506102a36105a436600461260c565b611239565b3480156105b557600080fd5b506102a36105c436600461260c565b611268565b3480156105d557600080fd5b506102a36105e4366004612426565b611297565b3480156105f557600080fd5b506102a361060436600461260c565b6112e2565b34801561061557600080fd5b506102a3611311565b600061062b3384846113f6565b5060015b92915050565b6000546001600160a01b031633146106685760405162461bcd60e51b815260040161065f9061270f565b60405180910390fd5b603c8161067584866127b5565b61067f91906127b5565b11156106cd5760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b6565702073656c6c2074617865732062656c6f77203630250000604482015260640161065f565b600d92909255600f55601155565b60006106e884848461151b565b61073a8433610735856040518060600160405280602881526020016128a6602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611ab4565b6113f6565b5060019392505050565b6000546001600160a01b0316331461076e5760405162461bcd60e51b815260040161065f9061270f565b601e8161077b84866127b5565b61078591906127b5565b11156107d35760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206275792074617865732062656c6f7720333025000000604482015260640161065f565b600792909255600955600b55565b6000546001600160a01b0316331461080b5760405162461bcd60e51b815260040161065f9061270f565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146108565760405162461bcd60e51b815260040161065f9061270f565b601f55565b6000546001600160a01b031633146108855760405162461bcd60e51b815260040161065f9061270f565b6001600160a01b0381166108e75760405162461bcd60e51b815260206004820152602360248201527f6c697175696469747957616c6c657420616464726573732063616e6e6f74206260448201526206520360ec1b606482015260840161065f565b601880546001600160a01b03908116600090815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b031633146109615760405162461bcd60e51b815260040161065f9061270f565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146109af5760405162461bcd60e51b815260040161065f9061270f565b601a8054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b031633146109f75760405162461bcd60e51b815260040161065f9061270f565b6001600160a01b038116610a4d5760405162461bcd60e51b815260206004820181905260248201527f72657761726457616c6c657420616464726573732063616e6e6f742062652030604482015260640161065f565b601680546001600160a01b03908116600090815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b03163314610ac75760405162461bcd60e51b815260040161065f9061270f565b47610ad181611aee565b50565b6000546001600160a01b03163314610afe5760405162461bcd60e51b815260040161065f9061270f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b725760405162461bcd60e51b815260040161065f9061270f565b6001600160a01b038116610bd25760405162461bcd60e51b815260206004820152602160248201527f70726f6a65637457616c6c657420616464726573732063616e6e6f74206265206044820152600360fc1b606482015260840161065f565b601780546001600160a01b03908116600090815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b600061062b33848461151b565b6000546001600160a01b03163314610c595760405162461bcd60e51b815260040161065f9061270f565b64e8d4a51000811015610ccc5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b606482015260840161065f565b6611c37937e08000811115610d405760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b606482015260840161065f565b602055565b6000546001600160a01b03163314610d6f5760405162461bcd60e51b815260040161065f9061270f565b60005b8151811015610dd757600160056000848481518110610d9357610d93612856565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610dcf81612825565b915050610d72565b5050565b6000546001600160a01b03163314610e055760405162461bcd60e51b815260040161065f9061270f565b30600090815260026020526040902054610ad181611b28565b6000546001600160a01b03163314610e485760405162461bcd60e51b815260040161065f9061270f565b601a54600160a01b900460ff1615610ea25760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161065f565b601980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610ede3082678ac7230489e800006113f6565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f1757600080fd5b505afa158015610f2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4f9190612443565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9757600080fd5b505afa158015610fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcf9190612443565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561101757600080fd5b505af115801561102b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104f9190612443565b601a80546001600160a01b039283166001600160a01b03199091161790556019541663f305d7194730611097816001600160a01b031660009081526002602052604090205490565b6000806110ac6000546001600160a01b031690565b426040518863ffffffff1660e01b81526004016110ce9695949392919061267f565b6060604051808303818588803b1580156110e757600080fd5b505af11580156110fb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111209190612651565b5050601a805466b1a2bc2ec50000601d819055601e5567016345785d8a0000601f556611c37937e0800060205564ffff0000ff60a01b19811664010100000160a01b1790915543601b5560195460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156111b957600080fd5b505af11580156111cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd791906125ef565b6000546001600160a01b0316331461121b5760405162461bcd60e51b815260040161065f9061270f565b601a8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146112635760405162461bcd60e51b815260040161065f9061270f565b601c55565b6000546001600160a01b031633146112925760405162461bcd60e51b815260040161065f9061270f565b601e55565b6000546001600160a01b031633146112c15760405162461bcd60e51b815260040161065f9061270f565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b0316331461130c5760405162461bcd60e51b815260040161065f9061270f565b601d55565b6000546001600160a01b0316331461133b5760405162461bcd60e51b815260040161065f9061270f565b601a54600160a01b900460ff16156113a95760405162461bcd60e51b815260206004820152602b60248201527f43616e206f6e6c792077697468647261772069662074726164696e672068617360448201526a1b89dd081cdd185c9d195960aa1b606482015260840161065f565b604051600090339047908381818185875af1925050503d80600081146113eb576040519150601f19603f3d011682016040523d82523d6000602084013e6113f0565b606091505b50505050565b6001600160a01b0383166114585760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161065f565b6001600160a01b0382166114b95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161065f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661157f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161065f565b6001600160a01b0382166115e15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161065f565b600081116116435760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161065f565b6000806116586000546001600160a01b031690565b6001600160a01b0316856001600160a01b03161415801561168757506000546001600160a01b03858116911614155b801561169b57506001600160a01b03841615155b80156116b257506001600160a01b03841661dead14155b80156116c85750601a54600160a81b900460ff16155b1561198d576001600160a01b03851660009081526005602052604090205460ff1615801561170f57506001600160a01b03841660009081526005602052604090205460ff16155b61171857600080fd5b601a54600192506001600160a01b03868116911614801561174757506019546001600160a01b03858116911614155b801561176c57506001600160a01b03841660009081526004602052604090205460ff16155b80156117815750601a54600160c01b900460ff165b156118ba57601d548311156117ea5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178426044820152683abca0b6b7bab73a1760b91b606482015260840161065f565b601f548361180d866001600160a01b031660009081526002602052604090205490565b61181791906127b5565b11156118715760405162461bcd60e51b8152602060048201526024808201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152633ab73a1760e11b606482015260840161065f565b6001600160a01b038416600090815260066020526040902054421161189557600080fd5b6118a042601e6127b5565b6001600160a01b0385166000908152600660205260409020555b601a546001600160a01b0385811691161480156118e557506019546001600160a01b03868116911614155b801561190a57506001600160a01b03851660009081526004602052604090205460ff16155b801561191f5750601a54600160c01b900460ff165b1561198d57601e548311156119895760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785360448201526932b63620b6b7bab73a1760b11b606482015260840161065f565b5060015b6001600160a01b03851660009081526004602052604090205460ff16806119cc57506001600160a01b03841660009081526004602052604090205460ff165b156119d657600091505b3060009081526002602052604081205490506000602054821180156119f85750825b9050808015611a105750601a54600160b81b900460ff165b8015611a265750601a54600160a81b900460ff16155b8015611a4b57506001600160a01b03871660009081526004602052604090205460ff16155b8015611a7057506001600160a01b03861660009081526004602052604090205460ff16155b15611a9e57601a805460ff60a81b1916600160a81b179055611a90611cb1565b601a805460ff60a81b191690555b611aab8787878787611ef1565b50505050505050565b60008184841115611ad85760405162461bcd60e51b815260040161065f91906126ba565b506000611ae5848661280e565b95945050505050565b6017546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610dd7573d6000803e3d6000fd5b601a805460ff60b01b1916600160b01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611b7057611b70612856565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611bc457600080fd5b505afa158015611bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfc9190612443565b81600181518110611c0f57611c0f612856565b6001600160a01b039283166020918202929092010152601954611c3591309116846113f6565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c6e908590600090869030904290600401612744565b600060405180830381600087803b158015611c8857600080fd5b505af1158015611c9c573d6000803e3d6000fd5b5050601a805460ff60b01b1916905550505050565b3060009081526002602052604081205490506000601454601354601554611cd891906127b5565b611ce291906127b5565b90506000821580611cf1575081155b15611cfb57505050565b602054611d0990600a6127ef565b831115611d2157602054611d1e90600a6127ef565b92505b600060028360155486611d3491906127ef565b611d3e91906127cd565b611d4891906127cd565b90506000611d568583611f51565b905047611d6282611b28565b6000611d6e4783611f51565b90506000611d9187611d8b60135485611f9a90919063ffffffff16565b90612019565b90506000611dae88611d8b60145486611f9a90919063ffffffff16565b9050600081611dbd848661280e565b611dc7919061280e565b60006015819055601381905560148190556016546040519293506001600160a01b031691859181818185875af1925050503d8060008114611e24576040519150601f19603f3d011682016040523d82523d6000602084013e611e29565b606091505b50909850508615801590611e3d5750600081115b15611e9057611e4c878261205b565b601554604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6017546040516001600160a01b03909116904790600081818185875af1925050503d8060008114611edd576040519150601f19603f3d011682016040523d82523d6000602084013e611ee2565b606091505b50505050505050505050505050565b81611f0357611efe612105565b611f11565b611f0e85848361218d565b92505b611f1c8585856122ab565b81611f4a57611f4a600854600755600a54600955600c54600b55600e54600d55601054600f55601254601155565b5050505050565b6000611f9383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ab4565b9392505050565b600082611fa95750600061062f565b6000611fb583856127ef565b905082611fc285836127cd565b14611f935760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161065f565b6000611f9383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612351565b6019546120739030906001600160a01b0316846113f6565b60195460185460405163f305d71960e01b81526001600160a01b039283169263f305d7199285926120b3923092899260009283921690429060040161267f565b6060604051808303818588803b1580156120cc57600080fd5b505af11580156120e0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f4a9190612651565b6007541580156121155750600954155b80156121215750600b54155b801561212d5750600d54155b80156121395750600f54155b80156121455750601154155b1561214c57565b6007805460085560098054600a55600b8054600c55600d8054600e55600f805460105560118054601255600095869055938590559184905583905582905555565b600080600080600043601c54601b546121a691906127b5565b106121b85760639350605c91506121ed565b6121c18661237f565b935085156121dd57600d549250600f54915060115490506121ed565b60075492506009549150600b5490505b60006121fe6064611d8b8a88611f9a565b90508461220b83836127ef565b61221591906127cd565b6013600082825461222691906127b5565b9091555085905061223785836127ef565b61224191906127cd565b6014600082825461225291906127b5565b9091555085905061226384836127ef565b61226d91906127cd565b6015600082825461227e91906127b5565b90915550508015612294576122948930836122ab565b61229e818961280e565b9998505050505050505050565b6001600160a01b0383166000908152600260205260409020546122ce9082611f51565b6001600160a01b0380851660009081526002602052604080822093909355908416815220546122fd90826123b7565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061150e9085815260200190565b600081836123725760405162461bcd60e51b815260040161065f91906126ba565b506000611ae584866127cd565b600081156123a457601154600f54600d5461239a91906127b5565b61062f91906127b5565b600b5460095460075461239a91906127b5565b6000806123c483856127b5565b905083811015611f935760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161065f565b803561242181612882565b919050565b60006020828403121561243857600080fd5b8135611f9381612882565b60006020828403121561245557600080fd5b8151611f9381612882565b6000806040838503121561247357600080fd5b823561247e81612882565b9150602083013561248e81612882565b809150509250929050565b6000806000606084860312156124ae57600080fd5b83356124b981612882565b925060208401356124c981612882565b929592945050506040919091013590565b600080604083850312156124ed57600080fd5b82356124f881612882565b946020939093013593505050565b6000602080838503121561251957600080fd5b823567ffffffffffffffff8082111561253157600080fd5b818501915085601f83011261254557600080fd5b8135818111156125575761255761286c565b8060051b604051601f19603f8301168101818110858211171561257c5761257c61286c565b604052828152858101935084860182860187018a101561259b57600080fd5b600095505b838610156125c5576125b181612416565b8552600195909501949386019386016125a0565b5098975050505050505050565b6000602082840312156125e457600080fd5b8135611f9381612897565b60006020828403121561260157600080fd5b8151611f9381612897565b60006020828403121561261e57600080fd5b5035919050565b60008060006060848603121561263a57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561266657600080fd5b8351925060208401519150604084015190509250925092565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600060208083528351808285015260005b818110156126e7578581018301518582016040015282016126cb565b818111156126f9576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156127945784516001600160a01b03168352938301939183019160010161276f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156127c8576127c8612840565b500190565b6000826127ea57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561280957612809612840565b500290565b60008282101561282057612820612840565b500390565b600060001982141561283957612839612840565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610ad157600080fd5b8015158114610ad157600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122085bc596ad42f8511bd3a005ded0cdd14b48629534ddfa0a5f993d5420912162e64736f6c63430008070033

Deployed Bytecode Sourcemap

4287:17238:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7323:83;;;;;;;;;;-1:-1:-1;7393:5:0;;;;;;;;;;;;-1:-1:-1;;;7393:5:0;;;;7323:83;;;;;;;:::i;:::-;;;;;;;;8154:161;;;;;;;;;;-1:-1:-1;8154:161:0;;;;;:::i;:::-;;:::i;:::-;;;6688:14:1;;6681:22;6663:41;;6651:2;6636:18;8154:161:0;6523:187:1;7600:95:0;;;;;;;;;;-1:-1:-1;4693:12:0;7600:95;;;15327:25:1;;;15315:2;15300:18;7600:95:0;15181:177:1;17184:360:0;;;;;;;;;;-1:-1:-1;17184:360:0;;;;;:::i;:::-;;:::i;:::-;;8323:313;;;;;;;;;;-1:-1:-1;8323:313:0;;;;;:::i;:::-;;:::i;16830:346::-;;;;;;;;;;-1:-1:-1;16830:346:0;;;;;:::i;:::-;;:::i;18753:88::-;;;;;;;;;;-1:-1:-1;18753:88:0;;;;;:::i;:::-;;:::i;15166:109::-;;;;;;;;;;-1:-1:-1;15166:109:0;;;;;:::i;:::-;;:::i;16250:331::-;;;;;;;;;;-1:-1:-1;16250:331:0;;;;;:::i;:::-;;:::i;7509:83::-;;;;;;;;;;-1:-1:-1;7509:83:0;;5760:1;16814:36:1;;16802:2;16787:18;7509:83:0;16672:184:1;16589:111:0;;;;;;;;;;-1:-1:-1;16589:111:0;;;;;:::i;:::-;;:::i;8644:103::-;;;;;;;;;;-1:-1:-1;8644:103:0;;;;;:::i;:::-;;:::i;15935:307::-;;;;;;;;;;-1:-1:-1;15935:307:0;;;;;:::i;:::-;;:::i;20865:153::-;;;;;;;;;;;;;:::i;7703:117::-;;;;;;;;;;-1:-1:-1;7703:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;7796:16:0;7769:7;7796:16;;;:7;:16;;;;;;;7703:117;3366:148;;;;;;;;;;;;;:::i;15612:315::-;;;;;;;;;;-1:-1:-1;15612:315:0;;;;;:::i;:::-;;:::i;3152:79::-;;;;;;;;;;-1:-1:-1;3190:7:0;3217:6;3152:79;;-1:-1:-1;;;;;3217:6:0;;;4641:51:1;;4629:2;4614:18;3152:79:0;4495:203:1;7414:87:0;;;;;;;;;;-1:-1:-1;7486:7:0;;;;;;;;;;;;-1:-1:-1;;;7486:7:0;;;;7414:87;;7828:167;;;;;;;;;;-1:-1:-1;7828:167:0;;;;;:::i;:::-;;:::i;15287:317::-;;;;;;;;;;-1:-1:-1;15287:317:0;;;;;:::i;:::-;;:::i;14772:164::-;;;;;;;;;;-1:-1:-1;14772:164:0;;;;;:::i;:::-;;:::i;20699:154::-;;;;;;;;;;;;;:::i;13784:976::-;;;;;;;;;;;;;:::i;8003:143::-;;;;;;;;;;-1:-1:-1;8003:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8111:18:0;;;8084:7;8111:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8003:143;8755:94;;;;;;;;;;-1:-1:-1;8755:94:0;;;;;:::i;:::-;;:::i;17552:108::-;;;;;;;;;;-1:-1:-1;17552:108:0;;;;;:::i;:::-;;:::i;15051:103::-;;;;;;;;;;-1:-1:-1;15051:103:0;;;;;:::i;:::-;;:::i;16712:110::-;;;;;;;;;;-1:-1:-1;16712:110:0;;;;;:::i;:::-;;:::i;14944:99::-;;;;;;;;;;-1:-1:-1;14944:99:0;;;;;:::i;:::-;;:::i;21026:239::-;;;;;;;;;;;;;:::i;8154:161::-;8229:4;8246:39;950:10;8269:7;8278:6;8246:8;:39::i;:::-;-1:-1:-1;8303:4:0;8154:161;;;;;:::o;17184:360::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;;;;;;;;;17368:2:::1;17351:13:::0;17315:33:::1;17332:16:::0;17315:14;:33:::1;:::i;:::-;:49;;;;:::i;:::-;:55;;17307:98;;;::::0;-1:-1:-1;;;17307:98:0;;11863:2:1;17307:98:0::1;::::0;::::1;11845:21:1::0;11902:2;11882:18;;;11875:30;11941:32;11921:18;;;11914:60;11991:18;;17307:98:0::1;11661:354:1::0;17307:98:0::1;17416:15;:32:::0;;;;17459:17:::1;:36:::0;17506:14:::1;:30:::0;17184:360::o;8323:313::-;8421:4;8438:36;8448:6;8456:9;8467:6;8438:9;:36::i;:::-;8485:121;8494:6;950:10;8516:89;8554:6;8516:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8516:19:0;;;;;;:11;:19;;;;;;;;950:10;8516:33;;;;;;;;;;:37;:89::i;:::-;8485:8;:121::i;:::-;-1:-1:-1;8624:4:0;8323:313;;;;;:::o;16830:346::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;17007:2:::1;16991:12:::0;16957:31:::1;16973:15:::0;16957:13;:31:::1;:::i;:::-;:46;;;;:::i;:::-;:52;;16949:94;;;::::0;-1:-1:-1;;;16949:94:0;;11144:2:1;16949:94:0::1;::::0;::::1;11126:21:1::0;11183:2;11163:18;;;11156:30;11222:31;11202:18;;;11195:59;11271:18;;16949:94:0::1;10942:353:1::0;16949:94:0::1;17054:14;:30:::0;;;;17095:16:::1;:34:::0;17140:13:::1;:28:::0;16830:346::o;18753:88::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18813:12:0::1;18828:5;18813:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;18813:20:0::1;::::0;;18753:88::o;15166:109::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;15240:16:::1;:27:::0;15166:109::o;16250:331::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16341:29:0;::::1;16333:77;;;::::0;-1:-1:-1;;;16333:77:0;;12632:2:1;16333:77:0::1;::::0;::::1;12614:21:1::0;12671:2;12651:18;;;12644:30;12710:34;12690:18;;;12683:62;-1:-1:-1;;;12761:18:1;;;12754:33;12804:19;;16333:77:0::1;12430:399:1::0;16333:77:0::1;16440:16;::::0;;-1:-1:-1;;;;;16440:16:0;;::::1;16460:5;16421:36:::0;;;:18:::1;:36;::::0;;;;;:44;;-1:-1:-1;;16421:44:0;;::::1;::::0;;;16476:43;;-1:-1:-1;;;;;;16476:43:0::1;::::0;;;::::1;::::0;;::::1;::::0;;;16530:36;;;;;:43;;;;::::1;-1:-1:-1::0;16530:43:0::1;::::0;;16250:331::o;16589:111::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16658:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;16658:34:0::1;16688:4;16658:34;::::0;;16589:111::o;8644:103::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;8716:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;8716:23:0::1;-1:-1:-1::0;;;;8716:23:0;;::::1;::::0;;;::::1;::::0;;8644:103::o;15935:307::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16020:26:0;::::1;16012:71;;;::::0;-1:-1:-1;;;16012:71:0;;14199:2:1;16012:71:0::1;::::0;::::1;14181:21:1::0;;;14218:18;;;14211:30;14277:34;14257:18;;;14250:62;14329:18;;16012:71:0::1;13997:356:1::0;16012:71:0::1;16113:13;::::0;;-1:-1:-1;;;;;16113:13:0;;::::1;16130:5;16094:33:::0;;;:18:::1;:33;::::0;;;;;:41;;-1:-1:-1;;16094:41:0;;::::1;::::0;;;16146:37;;-1:-1:-1;;;;;;16146:37:0::1;::::0;;;::::1;::::0;;::::1;::::0;;;16194:33;;;;;:40;;;;::::1;-1:-1:-1::0;16194:40:0::1;::::0;;15935:307::o;20865:153::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;20946:21:::1;20978:32;20946:21:::0;20978:12:::1;:32::i;:::-;20906:112;20865:153::o:0;3366:148::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;3473:1:::1;3457:6:::0;;3436:40:::1;::::0;-1:-1:-1;;;;;3457:6:0;;::::1;::::0;3436:40:::1;::::0;3473:1;;3436:40:::1;3504:1;3487:19:::0;;-1:-1:-1;;;;;;3487:19:0::1;::::0;;3366:148::o;15612:315::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15699:27:0;::::1;15691:73;;;::::0;-1:-1:-1;;;15691:73:0;;8682:2:1;15691:73:0::1;::::0;::::1;8664:21:1::0;8721:2;8701:18;;;8694:30;8760:34;8740:18;;;8733:62;-1:-1:-1;;;8811:18:1;;;8804:31;8852:19;;15691:73:0::1;8480:397:1::0;15691:73:0::1;15794:14;::::0;;-1:-1:-1;;;;;15794:14:0;;::::1;15812:5;15775:34:::0;;;:18:::1;:34;::::0;;;;;:42;;-1:-1:-1;;15775:42:0;;::::1;::::0;;;15828:39;;-1:-1:-1;;;;;;15828:39:0::1;::::0;;;::::1;::::0;;::::1;::::0;;;15878:34;;;;;:41;;;;::::1;-1:-1:-1::0;15878:41:0::1;::::0;;15612:315::o;7828:167::-;7906:4;7923:42;950:10;7947:9;7958:6;7923:9;:42::i;15287:317::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;15386:11:::1;15373:9;:24;;15365:90;;;::::0;-1:-1:-1;;;15365:90:0;;9084:2:1;15365:90:0::1;::::0;::::1;9066:21:1::0;9123:2;9103:18;;;9096:30;9162:34;9142:18;;;9135:62;-1:-1:-1;;;9213:18:1;;;9206:51;9274:19;;15365:90:0::1;8882:417:1::0;15365:90:0::1;15487:11;15474:9;:24;;15466:89;;;::::0;-1:-1:-1;;;15466:89:0;;9506:2:1;15466:89:0::1;::::0;::::1;9488:21:1::0;9545:2;9525:18;;;9518:30;9584:34;9564:18;;;9557:62;-1:-1:-1;;;9635:18:1;;;9628:50;9695:19;;15466:89:0::1;9304:416:1::0;15466:89:0::1;15566:18;:30:::0;15287:317::o;14772:164::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;14846:6:::1;14841:88;14862:5;:12;14858:1;:16;14841:88;;;14913:4;14896;:14;14901:5;14907:1;14901:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14896:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14896:14:0;:21;;-1:-1:-1;;14896:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14876:3;::::1;::::0;::::1;:::i;:::-;;;;14841:88;;;;14772:164:::0;:::o;20699:154::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;20795:4:::1;20751:23;7796:16:::0;;;:7;:16;;;;;;20812:33:::1;7796:16:::0;20812::::1;:33::i;13784:976::-:0;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;13848:11:::1;::::0;-1:-1:-1;;;13848:11:0;::::1;;;13847:12;13839:47;;;::::0;-1:-1:-1;;;13839:47:0;;13847:2:1;13839:47:0::1;::::0;::::1;13829:21:1::0;13886:2;13866:18;;;13859:30;13925:25;13905:18;;;13898:53;13968:18;;13839:47:0::1;13645:347:1::0;13839:47:0::1;14008:15;:34:::0;;-1:-1:-1;;;;;;14008:34:0::1;13954:42;14008:34:::0;;::::1;::::0;;;14053:58:::1;14070:4;13954:42:::0;4693:12:::1;14053:8;:58::i;:::-;14156:16;-1:-1:-1::0;;;;;14156:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14138:56:0::1;;14203:4;14210:16;-1:-1:-1::0;;;;;14210:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14138:96;::::0;-1:-1:-1;;;;;;14138:96:0::1;::::0;;;;;;-1:-1:-1;;;;;4933:15:1;;;14138:96:0::1;::::0;::::1;4915:34:1::0;4985:15;;4965:18;;;4958:43;4850:18;;14138:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14122:13;:112:::0;;-1:-1:-1;;;;;14122:112:0;;::::1;-1:-1:-1::0;;;;;;14122:112:0;;::::1;;::::0;;14245:15:::1;::::0;::::1;:31;14284:21;14315:4;14321:24;14315:4:::0;-1:-1:-1;;;;;7796:16:0;7769:7;7796:16;;;:7;:16;;;;;;;7703:117;14321:24:::1;14346:1;14348::::0;14350:7:::1;3190::::0;3217:6;-1:-1:-1;;;;;3217:6:0;;3152:79;14350:7:::1;14358:15;14245:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;14385:11:0::1;:18:::0;;14463:11:::1;14447:13;:27:::0;;;14485:14:::1;:28:::0;14543:11:::1;14524:16;:30:::0;14586:11:::1;14565:18;:32:::0;-1:-1:-1;;;;14608:18:0;;-1:-1:-1;;;14608:18:0;;;;14658:12:::1;14637:18;:33:::0;14719:15:::1;::::0;14681:71:::1;::::0;-1:-1:-1;;;14681:71:0;;-1:-1:-1;;;;;14719:15:0;;::::1;-1:-1:-1::0;14681:71:0;::::1;5186:51:1::0;-1:-1:-1;;5253:18:1;;;5246:34;14688:13:0;;;-1:-1:-1;14681:29:0::1;::::0;5159:18:1;;14681:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8755:94::-:0;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;8822:11:::1;:19:::0;;;::::1;;-1:-1:-1::0;;;8822:19:0::1;-1:-1:-1::0;;;;8822:19:0;;::::1;::::0;;;::::1;::::0;;8755:94::o;17552:108::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;17626:17:::1;:26:::0;17552:108::o;15051:103::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;15122:14:::1;:24:::0;15051:103::o;16712:110::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16779:27:0::1;16809:5;16779:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;16779:35:0::1;::::0;;16712:110::o;14944:99::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;15013:13:::1;:22:::0;14944:99::o;21026:239::-;3279:6;;-1:-1:-1;;;;;3279:6:0;950:10;3279:22;3271:67;;;;-1:-1:-1;;;3271:67:0;;;;;;;:::i;:::-;21093:11:::1;::::0;-1:-1:-1;;;21093:11:0;::::1;;;21092:12;21084:68;;;::::0;-1:-1:-1;;;21084:68:0;;14971:2:1;21084:68:0::1;::::0;::::1;14953:21:1::0;15010:2;14990:18;;;14983:30;15049:34;15029:18;;;15022:62;-1:-1:-1;;;15100:18:1;;;15093:41;15151:19;;21084:68:0::1;14769:407:1::0;21084:68:0::1;21199:58;::::0;21163:12:::1;::::0;21207:10:::1;::::0;21231:21:::1;::::0;21163:12;21199:58;21163:12;21199:58;21231:21;21207:10;21199:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;21026:239:0:o;8857:335::-;-1:-1:-1;;;;;8950:19:0;;8942:68;;;;-1:-1:-1;;;8942:68:0;;13442:2:1;8942:68:0;;;13424:21:1;13481:2;13461:18;;;13454:30;13520:34;13500:18;;;13493:62;-1:-1:-1;;;13571:18:1;;;13564:34;13615:19;;8942:68:0;13240:400:1;8942:68:0;-1:-1:-1;;;;;9029:21:0;;9021:68;;;;-1:-1:-1;;;9021:68:0;;7923:2:1;9021:68:0;;;7905:21:1;7962:2;7942:18;;;7935:30;8001:34;7981:18;;;7974:62;-1:-1:-1;;;8052:18:1;;;8045:32;8094:19;;9021:68:0;7721:398:1;9021:68:0;-1:-1:-1;;;;;9100:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9152:32;;15327:25:1;;;9152:32:0;;15300:18:1;9152:32:0;;;;;;;;8857:335;;;:::o;9200:1850::-;-1:-1:-1;;;;;9288:18:0;;9280:68;;;;-1:-1:-1;;;9280:68:0;;13036:2:1;9280:68:0;;;13018:21:1;13075:2;13055:18;;;13048:30;13114:34;13094:18;;;13087:62;-1:-1:-1;;;13165:18:1;;;13158:35;13210:19;;9280:68:0;12834:401:1;9280:68:0;-1:-1:-1;;;;;9367:16:0;;9359:64;;;;-1:-1:-1;;;9359:64:0;;7519:2:1;9359:64:0;;;7501:21:1;7558:2;7538:18;;;7531:30;7597:34;7577:18;;;7570:62;-1:-1:-1;;;7648:18:1;;;7641:33;7691:19;;9359:64:0;7317:399:1;9359:64:0;9451:1;9442:6;:10;9434:64;;;;-1:-1:-1;;;9434:64:0;;12222:2:1;9434:64:0;;;12204:21:1;12261:2;12241:18;;;12234:30;12300:34;12280:18;;;12273:62;-1:-1:-1;;;12351:18:1;;;12344:39;12400:19;;9434:64:0;12020:405:1;9434:64:0;9509:12;9540:15;9586:7;3190;3217:6;-1:-1:-1;;;;;3217:6:0;;3152:79;9586:7;-1:-1:-1;;;;;9578:15:0;:4;-1:-1:-1;;;;;9578:15:0;;;:32;;;;-1:-1:-1;3190:7:0;3217:6;-1:-1:-1;;;;;9597:13:0;;;3217:6;;9597:13;;9578:32;:52;;;;-1:-1:-1;;;;;;9614:16:0;;;;9578:52;:77;;;;-1:-1:-1;;;;;;9634:21:0;;9648:6;9634:21;;9578:77;:90;;;;-1:-1:-1;9660:8:0;;-1:-1:-1;;;9660:8:0;;;;9659:9;9578:90;9574:939;;;-1:-1:-1;;;;;9694:10:0;;;;;;:4;:10;;;;;;;;9693:11;:24;;;;-1:-1:-1;;;;;;9709:8:0;;;;;;:4;:8;;;;;;;;9708:9;9693:24;9685:33;;;;;;9776:13;;9745:4;;-1:-1:-1;;;;;;9768:21:0;;;9776:13;;9768:21;:55;;;;-1:-1:-1;9807:15:0;;-1:-1:-1;;;;;9793:30:0;;;9807:15;;9793:30;;9768:55;:82;;;;-1:-1:-1;;;;;;9828:22:0;;;;;;:18;:22;;;;;;;;9827:23;9768:82;:101;;;;-1:-1:-1;9854:15:0;;-1:-1:-1;;;9854:15:0;;;;9768:101;9764:451;;;9908:13;;9898:6;:23;;9890:77;;;;-1:-1:-1;;;9890:77:0;;10332:2:1;9890:77:0;;;10314:21:1;10371:2;10351:18;;;10344:30;10410:34;10390:18;;;10383:62;-1:-1:-1;;;10461:18:1;;;10454:39;10510:19;;9890:77:0;10130:405:1;9890:77:0;10020:16;;10010:6;9994:13;10004:2;-1:-1:-1;;;;;7796:16:0;7769:7;7796:16;;;:7;:16;;;;;;;7703:117;9994:13;:22;;;;:::i;:::-;:42;;9986:91;;;;-1:-1:-1;;;9986:91:0;;9927:2:1;9986:91:0;;;9909:21:1;9966:2;9946:18;;;9939:30;10005:34;9985:18;;;9978:62;-1:-1:-1;;;10056:18:1;;;10049:34;10100:19;;9986:91:0;9725:400:1;9986:91:0;-1:-1:-1;;;;;10104:12:0;;;;;;:8;:12;;;;;;10119:15;-1:-1:-1;10096:39:0;;;;;;10169:30;:15;10188:10;10169:30;:::i;:::-;-1:-1:-1;;;;;10154:12:0;;;;;;:8;:12;;;;;:45;9764:451;10253:13;;-1:-1:-1;;;;;10247:19:0;;;10253:13;;10247:19;:55;;;;-1:-1:-1;10286:15:0;;-1:-1:-1;;;;;10270:32:0;;;10286:15;;10270:32;;10247:55;:84;;;;-1:-1:-1;;;;;;10307:24:0;;;;;;:18;:24;;;;;;;;10306:25;10247:84;:103;;;;-1:-1:-1;10335:15:0;;-1:-1:-1;;;10335:15:0;;;;10247:103;10243:259;;;10389:14;;10379:6;:24;;10371:79;;;;-1:-1:-1;;;10371:79:0;;14560:2:1;10371:79:0;;;14542:21:1;14599:2;14579:18;;;14572:30;14638:34;14618:18;;;14611:62;-1:-1:-1;;;14689:18:1;;;14682:40;14739:19;;10371:79:0;14358:406:1;10371:79:0;-1:-1:-1;10482:4:0;10243:259;-1:-1:-1;;;;;10528:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;10556:22:0;;;;;;:18;:22;;;;;;;;10528:50;10525:97;;;10605:5;10595:15;;10525:97;10683:4;10634:28;7796:16;;;:7;:16;;;;;;10634:55;;10700:12;10739:18;;10716:20;:41;10715:57;;;;;10762:10;10715:57;10700:72;;10789:7;:22;;;;-1:-1:-1;10800:11:0;;-1:-1:-1;;;10800:11:0;;;;10789:22;:35;;;;-1:-1:-1;10816:8:0;;-1:-1:-1;;;10816:8:0;;;;10815:9;10789:35;:64;;;;-1:-1:-1;;;;;;10829:24:0;;;;;;:18;:24;;;;;;;;10828:25;10789:64;:91;;;;-1:-1:-1;;;;;;10858:22:0;;;;;;:18;:22;;;;;;;;10857:23;10789:91;10785:195;;;10897:8;:15;;-1:-1:-1;;;;10897:15:0;-1:-1:-1;;;10897:15:0;;;10927:10;:8;:10::i;:::-;10952:8;:16;;-1:-1:-1;;;;10952:16:0;;;10785:195;10992:50;11007:4;11012:2;11015:6;11022:7;11031:10;10992:14;:50::i;:::-;9269:1781;;;;9200:1850;;;:::o;2007:190::-;2093:7;2129:12;2121:6;;;;2113:29;;;;-1:-1:-1;;;2113:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2153:9:0;2165:5;2169:1;2165;:5;:::i;:::-;2153:17;2007:190;-1:-1:-1;;;;;2007:190:0:o;13676:96::-;13733:14;;:31;;-1:-1:-1;;;;;13733:14:0;;;;:31;;;;;13757:6;;13733:14;:31;:14;:31;13757:6;13733:14;:31;;;;;;;;;;;;;;;;;;;12746:483;6622:6;:13;;-1:-1:-1;;;;6622:13:0;-1:-1:-1;;;6622:13:0;;;12848:16:::1;::::0;;12862:1:::1;12848:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12848:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12848:16:0::1;12824:40;;12893:4;12875;12880:1;12875:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12875:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12919:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12919:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12875:7;;12919:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12909:4;12914:1;12909:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12909:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12984:15:::1;::::0;12952:62:::1;::::0;12969:4:::1;::::0;12984:15:::1;13002:11:::0;12952:8:::1;:62::i;:::-;13025:15;::::0;:196:::1;::::0;-1:-1:-1;;;13025:196:0;;-1:-1:-1;;;;;13025:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13106:11;;13025:15:::1;::::0;13148:4;;13175::::1;::::0;13195:15:::1;::::0;13025:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6658:6:0;:14;;-1:-1:-1;;;;6658:14:0;;;-1:-1:-1;;;;12746:483:0:o;11058:1680::-;11141:4;11097:23;7796:16;;;:7;:16;;;;;;11097:50;;11158:25;11225:16;;11207:15;;11186:18;;:36;;;;:::i;:::-;:55;;;;:::i;:::-;11158:83;-1:-1:-1;11252:12:0;11288:20;;;:46;;-1:-1:-1;11312:22:0;;11288:46;11285:60;;;11337:7;;;11058:1680::o;11285:60::-;11378:18;;:23;;11399:2;11378:23;:::i;:::-;11360:15;:41;11357:114;;;11436:18;;:23;;11457:2;11436:23;:::i;:::-;11418:41;;11357:114;11540:23;11625:1;11605:17;11584:18;;11566:15;:36;;;;:::i;:::-;:56;;;;:::i;:::-;:60;;;;:::i;:::-;11540:86;-1:-1:-1;11637:26:0;11666:36;:15;11540:86;11666:19;:36::i;:::-;11637:65;-1:-1:-1;11751:21:0;11785:36;11637:65;11785:16;:36::i;:::-;11843:18;11864:44;:21;11890:17;11864:25;:44::i;:::-;11843:65;;11929:20;11952:54;11988:17;11952:31;11967:15;;11952:10;:14;;:31;;;;:::i;:::-;:35;;:54::i;:::-;11929:77;;12017:21;12041:55;12078:17;12041:32;12056:16;;12041:10;:14;;:32;;;;:::i;:55::-;12017:79;-1:-1:-1;12127:23:0;12017:79;12153:25;12166:12;12153:10;:25;:::i;:::-;:41;;;;:::i;:::-;12246:1;12225:18;:22;;;12258:15;:19;;;12288:16;:20;;;12350:13;;12342:52;;12127:67;;-1:-1:-1;;;;;;12350:13:0;;12377:12;;12342:52;12246:1;12342:52;12377:12;12350:13;12342:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12329:65:0;;-1:-1:-1;;12418:19:0;;;;;:42;;;12459:1;12441:15;:19;12418:42;12415:210;;;12476:46;12489:15;12506;12476:12;:46::i;:::-;12594:18;;12542:71;;;16550:25:1;;;16606:2;16591:18;;16584:34;;;16634:18;;;16627:34;;;;12542:71:0;;;;;;16538:2:1;12542:71:0;;;12415:210;12676:14;;12668:62;;-1:-1:-1;;;;;12676:14:0;;;;12704:21;;12668:62;;;;12704:21;12676:14;12668:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;11058:1680:0:o;18857:389::-;18982:7;18978:129;;19006:14;:12;:14::i;:::-;18978:129;;;19062:33;19072:6;19080;19088;19062:9;:33::i;:::-;19053:42;;18978:129;19119:44;19137:6;19145:9;19156:6;19119:17;:44::i;:::-;19188:7;19184:55;;19212:15;18451:22;;18434:14;:39;18503:24;;18484:16;:43;18554:21;;18538:13;:37;18604:23;;18586:15;:41;18658:25;;18638:17;:45;18711:22;;18694:14;:39;18390:351;19212:15;18857:389;;;;;:::o;1863:136::-;1921:7;1948:43;1952:1;1955;1948:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1941:50;1863:136;-1:-1:-1;;;1863:136:0:o;2205:246::-;2263:7;2287:6;2283:47;;-1:-1:-1;2317:1:0;2310:8;;2283:47;2340:9;2352:5;2356:1;2352;:5;:::i;:::-;2340:17;-1:-1:-1;2385:1:0;2376:5;2380:1;2340:17;2376:5;:::i;:::-;:10;2368:56;;;;-1:-1:-1;;;2368:56:0;;10742:2:1;2368:56:0;;;10724:21:1;10781:2;10761:18;;;10754:30;10820:34;10800:18;;;10793:62;-1:-1:-1;;;10871:18:1;;;10864:31;10912:19;;2368:56:0;10540:397:1;2459:132:0;2517:7;2544:39;2548:1;2551;2544:39;;;;;;;;;;;;;;;;;:3;:39::i;13237:423::-;13350:15;;13318:62;;13335:4;;-1:-1:-1;;;;;13350:15:0;13368:11;13318:8;:62::i;:::-;13391:15;;13595:16;;13391:261;;-1:-1:-1;;;13391:261:0;;-1:-1:-1;;;;;13391:15:0;;;;:31;;13430:9;;13391:261;;13463:4;;13483:11;;13391:15;;;;13595:16;;13626:15;;13391:261;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17668:710::-;17714:14;;:19;:44;;;;-1:-1:-1;17737:16:0;;:21;17714:44;:66;;;;-1:-1:-1;17762:13:0;;:18;17714:66;:90;;;;-1:-1:-1;17784:15:0;;:20;17714:90;:116;;;;-1:-1:-1;17808:17:0;;:22;17714:116;:139;;;;-1:-1:-1;17834:14:0;;:19;17714:139;17711:151;;;17668:710::o;17711:151::-;17907:14;;;17882:22;:39;17959:16;;;17932:24;:43;18010:13;;;17986:21;:37;18060:15;;;18034:23;:41;18114:17;;;18086:25;:45;18167:14;;;18142:22;:39;-1:-1:-1;18202:18:0;;;;18231:20;;;;18262:17;;;;18290:19;;;18320:21;;;18352:18;17668:710::o;19529:1121::-;19610:7;19630:18;19659:15;19685:14;19710:15;19781:12;19760:17;;19739:18;;:38;;;;:::i;:::-;:54;19736:518;;19822:2;19809:15;;19848:2;19839:11;;19736:518;;;19896:21;19910:6;19896:13;:21::i;:::-;19883:34;;19936:6;19932:311;;;19973:15;;19963:25;;20016:17;;20007:26;;20062:14;;20052:24;;19932:311;;;20127:14;;20117:24;;20169:16;;20160:25;;20214:13;;20204:23;;19932:311;20266:12;20281:31;20308:3;20281:22;:6;20292:10;20281;:22::i;:31::-;20266:46;-1:-1:-1;20359:10:0;20342:14;20349:7;20266:46;20342:14;:::i;:::-;:27;;;;:::i;:::-;20323:15;;:46;;;;;;;:::i;:::-;;;;-1:-1:-1;20417:10:0;;-1:-1:-1;20400:14:0;20407:7;20400:4;:14;:::i;:::-;:27;;;;:::i;:::-;20380:16;;:47;;;;;;;:::i;:::-;;;;-1:-1:-1;20476:10:0;;-1:-1:-1;20460:13:0;20467:6;20460:4;:13;:::i;:::-;:26;;;;:::i;:::-;20438:18;;:48;;;;;;;:::i;:::-;;;;-1:-1:-1;;20514:8:0;;20511:86;;20539:46;20557:6;20573:4;20580;20539:17;:46::i;:::-;20628:14;20638:4;20628:14;;:::i;:::-;;19529:1121;-1:-1:-1;;;;;;;;;19529:1121:0:o;19254:267::-;-1:-1:-1;;;;;19370:15:0;;;;;;:7;:15;;;;;;:28;;19390:7;19370:19;:28::i;:::-;-1:-1:-1;;;;;19352:15:0;;;;;;;:7;:15;;;;;;:46;;;;19430:18;;;;;;;:31;;19453:7;19430:22;:31::i;:::-;-1:-1:-1;;;;;19409:18:0;;;;;;;:7;:18;;;;;;;:52;;;;19477:36;;;;;;;;;;19505:7;15327:25:1;;15315:2;15300:18;;15181:177;2599:189:0;2685:7;2720:12;2713:5;2705:28;;;;-1:-1:-1;;;2705:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2744:9:0;2756:5;2760:1;2756;:5;:::i;21273:249::-;21330:7;21354:6;21350:98;;;21422:14;;21402:17;;21384:15;;:35;;;;:::i;:::-;:52;;;;:::i;21350:98::-;21501:13;;21482:16;;21465:14;;:33;;;;:::i;1676:179::-;1734:7;;1766:5;1770:1;1766;:5;:::i;:::-;1754:17;;1795:1;1790;:6;;1782:46;;;;-1:-1:-1;;;1782:46:0;;8326:2:1;1782:46:0;;;8308:21:1;8365:2;8345:18;;;8338:30;8404:29;8384:18;;;8377:57;8451:18;;1782:46:0;8124:351:1;14:134;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:52;;;281:1;278;271:12;233:52;320:9;307:23;339:31;364:5;339:31;:::i;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:52;;;544:1;541;534:12;496:52;576:9;570:16;595:31;620:5;595:31;:::i;661:388::-;729:6;737;790:2;778:9;769:7;765:23;761:32;758:52;;;806:1;803;796:12;758:52;845:9;832:23;864:31;889:5;864:31;:::i;:::-;914:5;-1:-1:-1;971:2:1;956:18;;943:32;984:33;943:32;984:33;:::i;:::-;1036:7;1026:17;;;661:388;;;;;:::o;1054:456::-;1131:6;1139;1147;1200:2;1188:9;1179:7;1175:23;1171:32;1168:52;;;1216:1;1213;1206:12;1168:52;1255:9;1242:23;1274:31;1299:5;1274:31;:::i;:::-;1324:5;-1:-1:-1;1381:2:1;1366:18;;1353:32;1394:33;1353:32;1394:33;:::i;:::-;1054:456;;1446:7;;-1:-1:-1;;;1500:2:1;1485:18;;;;1472:32;;1054:456::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1515:315:1:o;1835:1132::-;1919:6;1950:2;1993;1981:9;1972:7;1968:23;1964:32;1961:52;;;2009:1;2006;1999:12;1961:52;2049:9;2036:23;2078:18;2119:2;2111:6;2108:14;2105:34;;;2135:1;2132;2125:12;2105:34;2173:6;2162:9;2158:22;2148:32;;2218:7;2211:4;2207:2;2203:13;2199:27;2189:55;;2240:1;2237;2230:12;2189:55;2276:2;2263:16;2298:2;2294;2291:10;2288:36;;;2304:18;;:::i;:::-;2350:2;2347:1;2343:10;2382:2;2376:9;2445:2;2441:7;2436:2;2432;2428:11;2424:25;2416:6;2412:38;2500:6;2488:10;2485:22;2480:2;2468:10;2465:18;2462:46;2459:72;;;2511:18;;:::i;:::-;2547:2;2540:22;2597:18;;;2631:15;;;;-1:-1:-1;2666:11:1;;;2696;;;2692:20;;2689:33;-1:-1:-1;2686:53:1;;;2735:1;2732;2725:12;2686:53;2757:1;2748:10;;2767:169;2781:2;2778:1;2775:9;2767:169;;;2838:23;2857:3;2838:23;:::i;:::-;2826:36;;2799:1;2792:9;;;;;2882:12;;;;2914;;2767:169;;;-1:-1:-1;2955:6:1;1835:1132;-1:-1:-1;;;;;;;;1835:1132:1:o;2972:241::-;3028:6;3081:2;3069:9;3060:7;3056:23;3052:32;3049:52;;;3097:1;3094;3087:12;3049:52;3136:9;3123:23;3155:28;3177:5;3155:28;:::i;3218:245::-;3285:6;3338:2;3326:9;3317:7;3313:23;3309:32;3306:52;;;3354:1;3351;3344:12;3306:52;3386:9;3380:16;3405:28;3427:5;3405:28;:::i;3468:180::-;3527:6;3580:2;3568:9;3559:7;3555:23;3551:32;3548:52;;;3596:1;3593;3586:12;3548:52;-1:-1:-1;3619:23:1;;3468:180;-1:-1:-1;3468:180:1:o;3653:316::-;3730:6;3738;3746;3799:2;3787:9;3778:7;3774:23;3770:32;3767:52;;;3815:1;3812;3805:12;3767:52;-1:-1:-1;;3838:23:1;;;3908:2;3893:18;;3880:32;;-1:-1:-1;3959:2:1;3944:18;;;3931:32;;3653:316;-1:-1:-1;3653:316:1:o;3974:306::-;4062:6;4070;4078;4131:2;4119:9;4110:7;4106:23;4102:32;4099:52;;;4147:1;4144;4137:12;4099:52;4176:9;4170:16;4160:26;;4226:2;4215:9;4211:18;4205:25;4195:35;;4270:2;4259:9;4255:18;4249:25;4239:35;;3974:306;;;;;:::o;5291:615::-;-1:-1:-1;;;;;5658:15:1;;;5640:34;;5705:2;5690:18;;5683:34;;;;5748:2;5733:18;;5726:34;;;;5791:2;5776:18;;5769:34;;;;5840:15;;;5834:3;5819:19;;5812:44;5620:3;5872:19;;5865:35;;;;5589:3;5574:19;;5291:615::o;6715:597::-;6827:4;6856:2;6885;6874:9;6867:21;6917:6;6911:13;6960:6;6955:2;6944:9;6940:18;6933:34;6985:1;6995:140;7009:6;7006:1;7003:13;6995:140;;;7104:14;;;7100:23;;7094:30;7070:17;;;7089:2;7066:26;7059:66;7024:10;;6995:140;;;7153:6;7150:1;7147:13;7144:91;;;7223:1;7218:2;7209:6;7198:9;7194:22;7190:31;7183:42;7144:91;-1:-1:-1;7296:2:1;7275:15;-1:-1:-1;;7271:29:1;7256:45;;;;7303:2;7252:54;;6715:597;-1:-1:-1;;;6715:597:1:o;11300:356::-;11502:2;11484:21;;;11521:18;;;11514:30;11580:34;11575:2;11560:18;;11553:62;11647:2;11632:18;;11300:356::o;15363:980::-;15625:4;15673:3;15662:9;15658:19;15704:6;15693:9;15686:25;15730:2;15768:6;15763:2;15752:9;15748:18;15741:34;15811:3;15806:2;15795:9;15791:18;15784:31;15835:6;15870;15864:13;15901:6;15893;15886:22;15939:3;15928:9;15924:19;15917:26;;15978:2;15970:6;15966:15;15952:29;;15999:1;16009:195;16023:6;16020:1;16017:13;16009:195;;;16088:13;;-1:-1:-1;;;;;16084:39:1;16072:52;;16179:15;;;;16144:12;;;;16120:1;16038:9;16009:195;;;-1:-1:-1;;;;;;;16260:32:1;;;;16255:2;16240:18;;16233:60;-1:-1:-1;;;16324:3:1;16309:19;16302:35;16221:3;15363:980;-1:-1:-1;;;15363:980:1:o;16861:128::-;16901:3;16932:1;16928:6;16925:1;16922:13;16919:39;;;16938:18;;:::i;:::-;-1:-1:-1;16974:9:1;;16861:128::o;16994:217::-;17034:1;17060;17050:132;;17104:10;17099:3;17095:20;17092:1;17085:31;17139:4;17136:1;17129:15;17167:4;17164:1;17157:15;17050:132;-1:-1:-1;17196:9:1;;16994:217::o;17216:168::-;17256:7;17322:1;17318;17314:6;17310:14;17307:1;17304:21;17299:1;17292:9;17285:17;17281:45;17278:71;;;17329:18;;:::i;:::-;-1:-1:-1;17369:9:1;;17216:168::o;17389:125::-;17429:4;17457:1;17454;17451:8;17448:34;;;17462:18;;:::i;:::-;-1:-1:-1;17499:9:1;;17389:125::o;17519:135::-;17558:3;-1:-1:-1;;17579:17:1;;17576:43;;;17599:18;;:::i;:::-;-1:-1:-1;17646:1:1;17635:13;;17519:135::o;17659:127::-;17720:10;17715:3;17711:20;17708:1;17701:31;17751:4;17748:1;17741:15;17775:4;17772:1;17765:15;17791:127;17852:10;17847:3;17843:20;17840:1;17833:31;17883:4;17880:1;17873:15;17907:4;17904:1;17897:15;17923:127;17984:10;17979:3;17975:20;17972:1;17965:31;18015:4;18012:1;18005:15;18039:4;18036:1;18029:15;18055:131;-1:-1:-1;;;;;18130:31:1;;18120:42;;18110:70;;18176:1;18173;18166:12;18191:118;18277:5;18270:13;18263:21;18256:5;18253:32;18243:60;;18299:1;18296;18289:12

Swarm Source

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