ETH Price: $2,864.23 (-10.57%)
Gas: 15 Gwei

Token

CRYPTORELAPSE (RELAPSE)
 

Overview

Max Total Supply

100,000,000 RELAPSE

Holders

75

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,000,000 RELAPSE

Value
$0.00
0xfebd96f46362bb1d846b5433b4b3b4f6a133023e
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:
CRYPTORELAPSE

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*

Website: cryptorelapse.com
Telegram: t.me/cryptorelapse
X: twitter.com/cryptorelapse_

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


───────▄▀▀▀▀▀▀▀▀▀▀▄▄
────▄▀▀░░░░░░░░░░░░░▀▄
──▄▀░░░░░░░░░░░░░░░░░░▀▄
──█░░░░░░░░░░░░░░░░░░░░░▀▄
─▐▌░░░░░░░░▄▄▄▄▄▄▄░░░░░░░▐▌
─█░░░░░░░░░░░▄▄▄▄░░▀▀▀▀▀░░█
▐▌░░░░░░░▀▀▀▀░░░░░▀▀▀▀▀░░░▐▌
█░░░░░░░░░▄▄▀▀▀▀▀░░░░▀▀▀▀▄░█
█░░░░░░░░░░░░░░░░▀░░░▐░░░░░▐▌
▐▌░░░░░░░░░▐▀▀██▄░░░░░░▄▄▄░▐▌
─█░░░░░░░░░░░▀▀▀░░░░░░▀▀██░░█
─▐▌░░░░▄░░░░░░░░░░░░░▌░░░░░░█
──▐▌░░▐░░░░░░░░░░░░░░▀▄░░░░░█
───█░░░▌░░░░░░░░▐▀░░░░▄▀░░░▐▌
───▐▌░░▀▄░░░░░░░░▀░▀░▀▀░░░▄▀
───▐▌░░▐▀▄░░░░░░░░░░░░░░░░█
───▐▌░░░▌░▀▄░░░░▀▀▀▀▀▀░░░█
───█░░░▀░░░░▀▄░░░░░░░░░░▄▀
──▐▌░░░░░░░░░░▀▄░░░░░░▄▀
─▄▀░░░▄▀░░░░░░░░▀▀▀▀█▀
▀░░░▄▀░░░░░░░░░░▀░░░▀▀▀▀▄▄▄▄▄
*/

pragma solidity ^0.8.0 <0.9.0;

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
    unchecked {
        _approve(sender, _msgSender(), currentAllowance - amount);
    }

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
    unchecked {
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
    }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
    unchecked {
        _balances[sender] = senderBalance - amount;
    }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _createInitialSupply(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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);
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

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

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

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

contract CRYPTORELAPSE is ERC20, Ownable {

    uint256 public maxBuyAmount;
    uint256 public maxSellAmount;
    uint256 public maxWalletAmount;

    IDexRouter public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;

    bool private _swapping;
    uint256 public swapTokensAtAmount;

    address public MarketingAddress;

    uint256 public tradingActiveBlock = 0; 
    uint256 public deadBlocks = 0;

    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public swapEnabled = false;
    bool public sniperManagementEnabled = true;

    uint256 public buyFee;

    uint256 public sellFee;

    mapping (address => bool) public isExcludedFromFees;
    mapping (address => bool) public isExcludedFromLimits;
    mapping (address => bool) public automatedMarketMakerPairs;
    mapping (address => bool) public isSniper;

    constructor() ERC20("CRYPTORELAPSE", "RELAPSE") {

        address newOwner = msg.sender; 

        IDexRouter _uniswapV2Router = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _excludeFromLimits(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;

        address tokenA = address(this);
        address tokenB = _uniswapV2Router.WETH();
        (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        uniswapV2Pair = address(uint160(uint(keccak256(abi.encodePacked(
            hex'ff',
            _uniswapV2Router.factory(),
            keccak256(abi.encodePacked(token0, token1)),
            hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f'
        )))));

        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        uint256 totalSupply = 100000000  * 1e18;

        maxBuyAmount = totalSupply * 2 / 100;
        maxSellAmount = totalSupply *  1 / 100;
        maxWalletAmount = totalSupply * 2 / 100;
        swapTokensAtAmount = totalSupply * 1 / 100; 

        buyFee = 0;
        sellFee = 0;

        _excludeFromLimits(newOwner, true);
        _excludeFromLimits(address(this), true);

        MarketingAddress = address(0x06FDDfeb36D6C6ec94C79F91D46609682F7F0578);

        excludeFromFees(newOwner, true);
        excludeFromFees(address(this), true);

        _createInitialSupply(newOwner, totalSupply);
        transferOwnership(newOwner);
    }

    receive() external payable {}

    function createPair() external onlyOwner {
        IDexFactory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
    }

    function updateMaxBuyAmount(uint256 newAmount) external onlyOwner {
        require(newAmount * 1e18 >= (totalSupply() * 1 / 100), "RELAPSE: new max buy amount less than 1% of total supply");
        maxBuyAmount = newAmount * 1e18;
    }

    function updateMaxSellAmount(uint256 newAmount) external onlyOwner {
        require(newAmount * 1e18 >= (totalSupply() * 1 / 100), "RELAPSE: new max sell amount less than 1% of total supply");
        maxSellAmount = newAmount * 1e18;
    }

    function updateMaxWalletAmount(uint256 newAmount) external onlyOwner {
        require(newAmount * 1e18 >= (totalSupply() * 2 / 100), "RELAPSE: new max wallet amount less than 2% of total supply");
        maxWalletAmount = newAmount * 1e18;
    }

    function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner {
        require(newAmount * 1e18 >= totalSupply() * 1 / 100000, "RELAPSE: new swap amount less than 0.001% of total supply");
        require(newAmount <= totalSupply() * 1 / 1000, "RELAPSE: new Swap amount exceeds 0.1% of total supply");
        swapTokensAtAmount = newAmount * 1e18;
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
    }

    function _excludeFromLimits(address account, bool isExcluded) private {
        isExcludedFromLimits[account] = isExcluded;
    }

    function excludeFromLimits(address account, bool isExcluded) external onlyOwner {
        if (!isExcluded) {
            require(account != uniswapV2Pair, "RELAPSE: account to be exscluded is pair address");
        }
        _excludeFromLimits(account, isExcluded);
    }

    function updateBuyFee(uint256 newBuyFee) external onlyOwner {
        require(newBuyFee <= 5, "RELAPSE: new buy fee exceeds 5%");
        buyFee = newBuyFee;
    }

    function updateSellFee(uint256 newSellFee) external onlyOwner {
        if (sellFee > 5) {
            require(newSellFee <= sellFee, "RELAPSE: new sell fee exceeds current sell fee");
        } else {
            require(sellFee <= 5, "RELAPSE: new sell fee exceeds 5%");
        }
        sellFee = newSellFee;
    }

    function excludeFromFees(address account, bool isExcluded) public onlyOwner {
        isExcludedFromFees[account] = isExcluded;
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        require(amount > 0, "RELAPSE: amount is zero");
        require(!isSniper[from], "RELAPSE: sender marked as sniper");
        require(!isSniper[to], "RELAPSE: recipient marked as sniper");
 
        if (limitsInEffect) {
            if (from != owner() && to != owner() && !isExcludedFromFees[from] && !isExcludedFromFees[to]) {
                require(tradingActive, "RELAPSE: trading is not active");
                if (tradingActiveBlock > 0 && block.number < (tradingActiveBlock + deadBlocks) ) {
                    isSniper[to] = true;
                }
                // buy
                if (automatedMarketMakerPairs[from] && !isExcludedFromLimits[to]) {
                    require(amount <= maxBuyAmount, "RELAPSE: transfer amount exceeds max buy amount");
                    require(amount + balanceOf(to) <= maxWalletAmount, "RELAPSE: balance exceeds max wallet amount");
                }
                // sell
                else if (automatedMarketMakerPairs[to] && !isExcludedFromLimits[from]) {
                    require(amount <= maxSellAmount, "RELAPSE: transfer amount exceeds max sell amount");
                }
                else if (!isExcludedFromLimits[to]) {
                    require(amount + balanceOf(to) <= maxWalletAmount, "RELAPSE: balance exceeds max wallet amount");
                }
            }
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= swapTokensAtAmount;
        if(canSwap && swapEnabled && !_swapping && !automatedMarketMakerPairs[from] && !isExcludedFromFees[from] && !isExcludedFromFees[to]) {
            _swapping = true;
            _swapBack();
            _swapping = false;
        }

        uint256 fee = 0;
        uint256 penaltyAmount = 0;
        if(!isExcludedFromFees[from] && !isExcludedFromFees[to]){
            // sniper penalty
            if (tradingActiveBlock > 0 && block.number < (tradingActiveBlock + deadBlocks) ) {
                penaltyAmount = amount * 98 / 100;
                super._transfer(from, MarketingAddress, penaltyAmount);
            }
            // sell
            else if (automatedMarketMakerPairs[to] && sellFee > 0){
                fee = amount * sellFee / 100;
            }
            // buy
            else if(automatedMarketMakerPairs[from] && buyFee > 0) {
                fee = amount * buyFee / 100;
            }
            if(fee > 0){
                super._transfer(from, address(this), fee);
            }
            amount -= fee + penaltyAmount;
        }

        super._transfer(from, to, amount);
    }

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

    function setAutomatedMarketMakerPair(address pair, bool isAMM) external onlyOwner {
        if(!isAMM) {
            require(pair != uniswapV2Pair, "RELAPSE: automated market maker pair is uniswap V2 pair");
        }
        _setAutomatedMarketMakerPair(pair, isAMM);
    }

    function _setAutomatedMarketMakerPair(address pair, bool isAMM) private {
        automatedMarketMakerPairs[pair] = isAMM;
        _excludeFromLimits(pair, isAMM);
    }

    // once enabled, can never be turned off
    function enableTrading(bool _status, uint256 _deadBlocks) external onlyOwner {
        require(!tradingActive, "RELAPSE: trading is already active");
        require(_deadBlocks <= 5, "RELAPSE: deadblocks amount exceeds 5");
        tradingActive = _status;
        swapEnabled = true;

        if (tradingActive && tradingActiveBlock == 0) {
            tradingActiveBlock = block.number;
            deadBlocks = _deadBlocks;
        }
    }

    function setMarketingAddress(address newMarketingAddress) external onlyOwner {
        require(newMarketingAddress != address(0), "RELAPSE: new marketing address is the zero address");
        MarketingAddress = payable(newMarketingAddress);
    }

    function manageSniper(address sniperAddress, bool status) external onlyOwner {
        require(sniperManagementEnabled, "RELAPSE: sniper management permanently disabled");
        isSniper[sniperAddress] = status;
    }

    function manageSnipers(address[] calldata addresses, bool status) external onlyOwner {
        require(sniperManagementEnabled, "RELAPSE: snipers management permanently disabled");
        for (uint256 i; i < addresses.length; ++i) {
            isSniper[addresses[i]] = status;
        }
    }

    // permanently disable sniper management
    function disableSniperManagement() external onlyOwner {
        sniperManagementEnabled = false;
    }

    function _swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance == 0) {
            return;
        }
        if (contractBalance > swapTokensAtAmount * 10) {
            contractBalance = swapTokensAtAmount * 10;
        }
        _swapTokensForEth(contractBalance);
        bool success;
        (success,) = address(MarketingAddress).call{value: address(this).balance}("");
    }

    function transferForeignToken(address token, address to) external onlyOwner returns (bool) {
        require(token != address(0), "RELAPSE: token is the zero address");
        uint256 _contractBalance = IERC20(token).balanceOf(address(this));
        return IERC20(token).transfer(to, _contractBalance);
    }

    function withdrawStuckETH() external onlyOwner {
        bool success;
        (success,) = address(msg.sender).call{value: address(this).balance}("");
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MarketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableSniperManagement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint256","name":"_deadBlocks","type":"uint256"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"excludeFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sniperAddress","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manageSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manageSnipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"isAMM","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMarketingAddress","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sniperManagementEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActiveBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"transferForeignToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"}],"name":"updateBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateMaxSellAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"updateSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526000600c819055600d55600e805463ffffffff191663010000011790553480156200002e57600080fd5b506040518060400160405280600d81526020016c43525950544f52454c4150534560981b8152506040518060400160405280600781526020016652454c4150534560c81b815250816003908162000086919062000781565b50600462000095828262000781565b5050506000620000aa6200047c60201b60201c565b600580546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020620036f3833981519152908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d600081905260126020527f3c6737805ae477fd0cfdda13dc5f99b32fcbfecb81e47f9e11e1b03813c08ec2805460ff191660011790553390806001600160a01b03166080816001600160a01b03168152505060003090506000826001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000194573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ba91906200084d565b9050600080826001600160a01b0316846001600160a01b031610620001e1578284620001e4565b83835b91509150846001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000227573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024d91906200084d565b6040516001600160601b0319606085811b8216602084015284901b16603482015260480160405160208183030381529060405280519060200120604051602001620002fd9291907fff00000000000000000000000000000000000000000000000000000000000000815260609290921b6001600160601b031916600183015260158201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f603582015260550190565b60408051601f1981840301815291815281516020928301206001600160a01b031660a08190526000908152601383528181208054600160ff199182168117909255601290945291902080549092161790556a52b7d2dcc80cd2e400000060646200036982600262000895565b620003759190620008b5565b60065560646200038782600162000895565b620003939190620008b5565b6007556064620003a582600262000895565b620003b19190620008b5565b6008556064620003c382600162000895565b620003cf9190620008b5565b600a556000600f81905560108190556001600160a01b0388168152601260205260409020805460ff19166001179055306000908152601260205260409020805460ff19166001179055600b80546001600160a01b0319167306fddfeb36d6c6ec94c79f91d46609682f7f05781790556200044b87600162000480565b6200045830600162000480565b620004648782620004fa565b6200046f87620005df565b50505050505050620008ee565b3390565b6005546001600160a01b03163314620004cf5760405162461bcd60e51b81526020600482018190526024820152600080516020620036d383398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6001600160a01b038216620005525760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004c6565b8060026000828254620005669190620008d8565b90915550506001600160a01b0382166000908152602081905260408120805483929062000595908490620008d8565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b031633146200062a5760405162461bcd60e51b81526020600482018190526024820152600080516020620036d38339815191526044820152606401620004c6565b6001600160a01b038116620006915760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620004c6565b6005546040516001600160a01b03808416921690600080516020620036f383398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200070757607f821691505b6020821081036200072857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200077c57600081815260208120601f850160051c81016020861015620007575750805b601f850160051c820191505b81811015620007785782815560010162000763565b5050505b505050565b81516001600160401b038111156200079d576200079d620006dc565b620007b581620007ae8454620006f2565b846200072e565b602080601f831160018114620007ed5760008415620007d45750858301515b600019600386901b1c1916600185901b17855562000778565b600085815260208120601f198616915b828110156200081e57888601518255948401946001909101908401620007fd565b50858210156200083d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200086057600080fd5b81516001600160a01b03811681146200087857600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620008af57620008af6200087f565b92915050565b600082620008d357634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620008af57620008af6200087f565b60805160a051612d8e6200094560003960008181610506015281816112a10152611664015260008181610391015281816113b301528181611444015281816127a801528181612861015261289d0152612d8e6000f3fe6080604052600436106102e85760003560e01c80638366e79a11610190578063c0a904a2116100dc578063e2f4560511610095578063f2fde38b1161006f578063f2fde38b1461092e578063f5648a4f1461094e578063fabb0b4f14610963578063faf216e31461097957600080fd5b8063e2f45605146108e2578063ed494189146108f8578063ee40166e1461091857600080fd5b8063c0a904a2146107fb578063c18bc1951461081b578063d257b34f1461083b578063dbf5b9161461085b578063dc3f0d0f1461087c578063dd62ed3e1461089c57600080fd5b80639e78fb4f11610149578063aa4bde2811610123578063aa4bde2814610776578063b62496f51461078c578063bbc0c742146107bc578063c0246668146107db57600080fd5b80639e78fb4f14610721578063a457c2d714610736578063a9059cbb1461075657600080fd5b80638366e79a1461067857806388e765ff146106985780638da5cb5b146106ae578063906e9dd0146106cc57806395d89b41146106ec5780639a7a23d61461070157600080fd5b8063467abe0a1161024f5780635e83ae761161020857806370a08231116101e257806370a08231146105f8578063715018a61461062e578063751039fc14610643578063819d38d21461065857600080fd5b80635e83ae76146105a257806366d602ae146105c25780636ddd1713146105d857600080fd5b8063467abe0a146104be57806347062402146104de57806349bd5a5e146104f45780634a62bb65146105285780634fbee193146105425780635cce86cd1461057257600080fd5b806323b872dd116102a157806323b872dd1461040c5780632b14ca561461042c5780632be32b6114610442578063313ce567146104625780633936e8b91461047e578063395093511461049e57600080fd5b806306fdde03146102f4578063095ea7b31461031f5780630f3a325f1461034f5780631694505e1461037f57806318160ddd146103cb5780631d933a4a146103ea57600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061030961098e565b6040516103169190612911565b60405180910390f35b34801561032b57600080fd5b5061033f61033a366004612974565b610a20565b6040519015158152602001610316565b34801561035b57600080fd5b5061033f61036a3660046129a0565b60146020526000908152604090205460ff1681565b34801561038b57600080fd5b506103b37f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610316565b3480156103d757600080fd5b506002545b604051908152602001610316565b3480156103f657600080fd5b5061040a6104053660046129c4565b610a37565b005b34801561041857600080fd5b5061033f6104273660046129dd565b610b36565b34801561043857600080fd5b506103dc60105481565b34801561044e57600080fd5b5061040a61045d3660046129c4565b610be0565b34801561046e57600080fd5b5060405160128152602001610316565b34801561048a57600080fd5b50600b546103b3906001600160a01b031681565b3480156104aa57600080fd5b5061033f6104b9366004612974565b610cc8565b3480156104ca57600080fd5b5061040a6104d93660046129c4565b610d04565b3480156104ea57600080fd5b506103dc600f5481565b34801561050057600080fd5b506103b37f000000000000000000000000000000000000000000000000000000000000000081565b34801561053457600080fd5b50600e5461033f9060ff1681565b34801561054e57600080fd5b5061033f61055d3660046129a0565b60116020526000908152604090205460ff1681565b34801561057e57600080fd5b5061033f61058d3660046129a0565b60126020526000908152604090205460ff1681565b3480156105ae57600080fd5b5061040a6105bd366004612a2c565b610d84565b3480156105ce57600080fd5b506103dc60075481565b3480156105e457600080fd5b50600e5461033f9062010000900460ff1681565b34801561060457600080fd5b506103dc6106133660046129a0565b6001600160a01b031660009081526020819052604090205490565b34801561063a57600080fd5b5061040a610ebc565b34801561064f57600080fd5b5061040a610f30565b34801561066457600080fd5b5061040a610673366004612a4a565b610f66565b34801561068457600080fd5b5061033f610693366004612a83565b61102c565b3480156106a457600080fd5b506103dc60065481565b3480156106ba57600080fd5b506005546001600160a01b03166103b3565b3480156106d857600080fd5b5061040a6106e73660046129a0565b6111a4565b3480156106f857600080fd5b50610309611261565b34801561070d57600080fd5b5061040a61071c366004612a4a565b611270565b34801561072d57600080fd5b5061040a611387565b34801561074257600080fd5b5061033f610751366004612974565b611538565b34801561076257600080fd5b5061033f610771366004612974565b6115d1565b34801561078257600080fd5b506103dc60085481565b34801561079857600080fd5b5061033f6107a73660046129a0565b60136020526000908152604090205460ff1681565b3480156107c857600080fd5b50600e5461033f90610100900460ff1681565b3480156107e757600080fd5b5061040a6107f6366004612a4a565b6115de565b34801561080757600080fd5b5061040a610816366004612a4a565b611633565b34801561082757600080fd5b5061040a6108363660046129c4565b611726565b34801561084757600080fd5b5061040a6108563660046129c4565b61180e565b34801561086757600080fd5b50600e5461033f906301000000900460ff1681565b34801561088857600080fd5b5061040a6108973660046129c4565b611986565b3480156108a857600080fd5b506103dc6108b7366004612a83565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156108ee57600080fd5b506103dc600a5481565b34801561090457600080fd5b5061040a610913366004612ab1565b611a6e565b34801561092457600080fd5b506103dc600c5481565b34801561093a57600080fd5b5061040a6109493660046129a0565b611b7f565b34801561095a57600080fd5b5061040a611c6a565b34801561096f57600080fd5b506103dc600d5481565b34801561098557600080fd5b5061040a611cd6565b60606003805461099d90612b37565b80601f01602080910402602001604051908101604052809291908181526020018280546109c990612b37565b8015610a165780601f106109eb57610100808354040283529160200191610a16565b820191906000526020600020905b8154815290600101906020018083116109f957829003601f168201915b5050505050905090565b6000610a2d338484611d0f565b5060015b92915050565b6005546001600160a01b03163314610a6a5760405162461bcd60e51b8152600401610a6190612b71565b60405180910390fd5b60056010541115610ae357601054811115610ade5760405162461bcd60e51b815260206004820152602e60248201527f52454c415053453a206e65772073656c6c20666565206578636565647320637560448201526d7272656e742073656c6c2066656560901b6064820152608401610a61565b601055565b60056010541115610ade5760405162461bcd60e51b815260206004820181905260248201527f52454c415053453a206e65772073656c6c2066656520657863656564732035256044820152606401610a61565b6000610b43848484611e33565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610bc85760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610a61565b610bd58533858403611d0f565b506001949350505050565b6005546001600160a01b03163314610c0a5760405162461bcd60e51b8152600401610a6190612b71565b6064610c1560025490565b610c20906001612bbc565b610c2a9190612bd3565b610c3c82670de0b6b3a7640000612bbc565b1015610cb05760405162461bcd60e51b815260206004820152603860248201527f52454c415053453a206e6577206d61782062757920616d6f756e74206c65737360448201527f207468616e203125206f6620746f74616c20737570706c7900000000000000006064820152608401610a61565b610cc281670de0b6b3a7640000612bbc565b60065550565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a2d918590610cff908690612bf5565b611d0f565b6005546001600160a01b03163314610d2e5760405162461bcd60e51b8152600401610a6190612b71565b6005811115610d7f5760405162461bcd60e51b815260206004820152601f60248201527f52454c415053453a206e657720627579206665652065786365656473203525006044820152606401610a61565b600f55565b6005546001600160a01b03163314610dae5760405162461bcd60e51b8152600401610a6190612b71565b600e54610100900460ff1615610e115760405162461bcd60e51b815260206004820152602260248201527f52454c415053453a2074726164696e6720697320616c72656164792061637469604482015261766560f01b6064820152608401610a61565b6005811115610e6e5760405162461bcd60e51b8152602060048201526024808201527f52454c415053453a2064656164626c6f636b7320616d6f756e742065786365656044820152636473203560e01b6064820152608401610a61565b600e80546201000062ffff0019909116610100851515810262ff0000191691909117919091179182905560ff9104168015610ea95750600c54155b15610eb85743600c55600d8190555b5050565b6005546001600160a01b03163314610ee65760405162461bcd60e51b8152600401610a6190612b71565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610f5a5760405162461bcd60e51b8152600401610a6190612b71565b600e805460ff19169055565b6005546001600160a01b03163314610f905760405162461bcd60e51b8152600401610a6190612b71565b600e546301000000900460ff166110015760405162461bcd60e51b815260206004820152602f60248201527f52454c415053453a20736e69706572206d616e6167656d656e74207065726d6160448201526e1b995b9d1b1e48191a5cd8589b1959608a1b6064820152608401610a61565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6005546000906001600160a01b031633146110595760405162461bcd60e51b8152600401610a6190612b71565b6001600160a01b0383166110ba5760405162461bcd60e51b815260206004820152602260248201527f52454c415053453a20746f6b656e20697320746865207a65726f206164647265604482015261737360f01b6064820152608401610a61565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111259190612c08565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015611178573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119c9190612c21565b949350505050565b6005546001600160a01b031633146111ce5760405162461bcd60e51b8152600401610a6190612b71565b6001600160a01b03811661123f5760405162461bcd60e51b815260206004820152603260248201527f52454c415053453a206e6577206d61726b6574696e67206164647265737320696044820152717320746865207a65726f206164647265737360701b6064820152608401610a61565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b60606004805461099d90612b37565b6005546001600160a01b0316331461129a5760405162461bcd60e51b8152600401610a6190612b71565b80611346577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036113465760405162461bcd60e51b815260206004820152603760248201527f52454c415053453a206175746f6d61746564206d61726b6574206d616b65722060448201527f7061697220697320756e697377617020563220706169720000000000000000006064820152608401610a61565b6001600160a01b0382166000908152601360209081526040808320805485151560ff1991821681179092556012909352922080549091169091179055610eb8565b6005546001600160a01b031633146113b15760405162461bcd60e51b8152600401610a6190612b71565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561140f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114339190612c3e565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c49190612c3e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611511573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115359190612c3e565b50565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156115ba5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a61565b6115c73385858403611d0f565b5060019392505050565b6000610a2d338484611e33565b6005546001600160a01b031633146116085760405162461bcd60e51b8152600401610a6190612b71565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6005546001600160a01b0316331461165d5760405162461bcd60e51b8152600401610a6190612b71565b806116fc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036116fc5760405162461bcd60e51b815260206004820152603060248201527f52454c415053453a206163636f756e7420746f20626520657873636c7564656460448201526f2069732070616972206164647265737360801b6064820152608401610a61565b6001600160a01b0382166000908152601260205260409020805482151560ff199091161790555050565b6005546001600160a01b031633146117505760405162461bcd60e51b8152600401610a6190612b71565b606461175b60025490565b611766906002612bbc565b6117709190612bd3565b61178282670de0b6b3a7640000612bbc565b10156117f65760405162461bcd60e51b815260206004820152603b60248201527f52454c415053453a206e6577206d61782077616c6c657420616d6f756e74206c60448201527f657373207468616e203225206f6620746f74616c20737570706c7900000000006064820152608401610a61565b61180881670de0b6b3a7640000612bbc565b60085550565b6005546001600160a01b031633146118385760405162461bcd60e51b8152600401610a6190612b71565b620186a061184560025490565b611850906001612bbc565b61185a9190612bd3565b61186c82670de0b6b3a7640000612bbc565b10156118e05760405162461bcd60e51b815260206004820152603960248201527f52454c415053453a206e6577207377617020616d6f756e74206c65737320746860448201527f616e20302e30303125206f6620746f74616c20737570706c79000000000000006064820152608401610a61565b6103e86118ec60025490565b6118f7906001612bbc565b6119019190612bd3565b81111561196e5760405162461bcd60e51b815260206004820152603560248201527f52454c415053453a206e6577205377617020616d6f756e74206578636565647360448201527420302e3125206f6620746f74616c20737570706c7960581b6064820152608401610a61565b61198081670de0b6b3a7640000612bbc565b600a5550565b6005546001600160a01b031633146119b05760405162461bcd60e51b8152600401610a6190612b71565b60646119bb60025490565b6119c6906001612bbc565b6119d09190612bd3565b6119e282670de0b6b3a7640000612bbc565b1015611a565760405162461bcd60e51b815260206004820152603960248201527f52454c415053453a206e6577206d61782073656c6c20616d6f756e74206c657360448201527f73207468616e203125206f6620746f74616c20737570706c79000000000000006064820152608401610a61565b611a6881670de0b6b3a7640000612bbc565b60075550565b6005546001600160a01b03163314611a985760405162461bcd60e51b8152600401610a6190612b71565b600e546301000000900460ff16611b0a5760405162461bcd60e51b815260206004820152603060248201527f52454c415053453a20736e6970657273206d616e6167656d656e74207065726d60448201526f185b995b9d1b1e48191a5cd8589b195960821b6064820152608401610a61565b60005b82811015611b79578160146000868685818110611b2c57611b2c612c5b565b9050602002016020810190611b4191906129a0565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611b7281612c71565b9050611b0d565b50505050565b6005546001600160a01b03163314611ba95760405162461bcd60e51b8152600401610a6190612b71565b6001600160a01b038116611c0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a61565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611c945760405162461bcd60e51b8152600401610a6190612b71565b604051600090339047908381818185875af1925050503d8060008114611b79576040519150601f19603f3d011682016040523d82523d6000602084013e611b79565b6005546001600160a01b03163314611d005760405162461bcd60e51b8152600401610a6190612b71565b600e805463ff00000019169055565b6001600160a01b038316611d715760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a61565b6001600160a01b038216611dd25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a61565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008111611e835760405162461bcd60e51b815260206004820152601760248201527f52454c415053453a20616d6f756e74206973207a65726f0000000000000000006044820152606401610a61565b6001600160a01b03831660009081526014602052604090205460ff1615611eec5760405162461bcd60e51b815260206004820181905260248201527f52454c415053453a2073656e646572206d61726b656420617320736e697065726044820152606401610a61565b6001600160a01b03821660009081526014602052604090205460ff1615611f615760405162461bcd60e51b815260206004820152602360248201527f52454c415053453a20726563697069656e74206d61726b656420617320736e696044820152623832b960e91b6064820152608401610a61565b600e5460ff1615612295576005546001600160a01b03848116911614801590611f9857506005546001600160a01b03838116911614155b8015611fbd57506001600160a01b03831660009081526011602052604090205460ff16155b8015611fe257506001600160a01b03821660009081526011602052604090205460ff16155b1561229557600e54610100900460ff1661203e5760405162461bcd60e51b815260206004820152601e60248201527f52454c415053453a2074726164696e67206973206e6f742061637469766500006044820152606401610a61565b6000600c5411801561205e5750600d54600c5461205b9190612bf5565b43105b15612087576001600160a01b0382166000908152601460205260409020805460ff191660011790555b6001600160a01b03831660009081526013602052604090205460ff1680156120c857506001600160a01b03821660009081526012602052604090205460ff16155b15612180576006548111156121375760405162461bcd60e51b815260206004820152602f60248201527f52454c415053453a207472616e7366657220616d6f756e74206578636565647360448201526e081b585e08189d5e48185b5bdd5b9d608a1b6064820152608401610a61565b6008546001600160a01b03831660009081526020819052604090205461215d9083612bf5565b111561217b5760405162461bcd60e51b8152600401610a6190612c8a565b612295565b6001600160a01b03821660009081526013602052604090205460ff1680156121c157506001600160a01b03831660009081526012602052604090205460ff16155b156122315760075481111561217b5760405162461bcd60e51b815260206004820152603060248201527f52454c415053453a207472616e7366657220616d6f756e74206578636565647360448201526f081b585e081cd95b1b08185b5bdd5b9d60821b6064820152608401610a61565b6001600160a01b03821660009081526012602052604090205460ff16612295576008546001600160a01b0383166000908152602081905260409020546122779083612bf5565b11156122955760405162461bcd60e51b8152600401610a6190612c8a565b30600090815260208190526040902054600a54811080159081906122c15750600e5462010000900460ff165b80156122d0575060095460ff16155b80156122f557506001600160a01b03851660009081526013602052604090205460ff16155b801561231a57506001600160a01b03851660009081526011602052604090205460ff16155b801561233f57506001600160a01b03841660009081526011602052604090205460ff16155b15612364576009805460ff191660011790556123596124e1565b6009805460ff191690555b6001600160a01b038516600090815260116020526040812054819060ff161580156123a857506001600160a01b03861660009081526011602052604090205460ff16155b156124cd576000600c541180156123cd5750600d54600c546123ca9190612bf5565b43105b156124095760646123df866062612bbc565b6123e99190612bd3565b600b549091506124049088906001600160a01b031683612582565b6124a5565b6001600160a01b03861660009081526013602052604090205460ff16801561243357506000601054115b15612459576064601054866124489190612bbc565b6124529190612bd3565b91506124a5565b6001600160a01b03871660009081526013602052604090205460ff16801561248357506000600f54115b156124a5576064600f54866124989190612bbc565b6124a29190612bd3565b91505b81156124b6576124b6873084612582565b6124c08183612bf5565b6124ca9086612cd4565b94505b6124d8878787612582565b50505050505050565b30600090815260208190526040812054908190036124fc5750565b600a805461250991612bbc565b81111561252057600a805461251d91612bbc565b90505b61252981612751565b600b546040516000916001600160a01b03169047908381818185875af1925050503d8060008114612576576040519150601f19603f3d011682016040523d82523d6000602084013e61257b565b606091505b5050505050565b6001600160a01b0383166125e65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a61565b6001600160a01b0382166126485760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a61565b6001600160a01b038316600090815260208190526040902054818110156126c05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a61565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906126f7908490612bf5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161274391815260200190565b60405180910390a350505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061278657612786612c5b565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128289190612c3e565b8160018151811061283b5761283b612c5b565b60200260200101906001600160a01b031690816001600160a01b031681525050612886307f000000000000000000000000000000000000000000000000000000000000000084611d0f565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906128db908590600090869030904290600401612ce7565b600060405180830381600087803b1580156128f557600080fd5b505af1158015612909573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561293e57858101830151858201604001528201612922565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461153557600080fd5b6000806040838503121561298757600080fd5b82356129928161295f565b946020939093013593505050565b6000602082840312156129b257600080fd5b81356129bd8161295f565b9392505050565b6000602082840312156129d657600080fd5b5035919050565b6000806000606084860312156129f257600080fd5b83356129fd8161295f565b92506020840135612a0d8161295f565b929592945050506040919091013590565b801515811461153557600080fd5b60008060408385031215612a3f57600080fd5b823561299281612a1e565b60008060408385031215612a5d57600080fd5b8235612a688161295f565b91506020830135612a7881612a1e565b809150509250929050565b60008060408385031215612a9657600080fd5b8235612aa18161295f565b91506020830135612a788161295f565b600080600060408486031215612ac657600080fd5b833567ffffffffffffffff80821115612ade57600080fd5b818601915086601f830112612af257600080fd5b813581811115612b0157600080fd5b8760208260051b8501011115612b1657600080fd5b60209283019550935050840135612b2c81612a1e565b809150509250925092565b600181811c90821680612b4b57607f821691505b602082108103612b6b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a3157610a31612ba6565b600082612bf057634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a3157610a31612ba6565b600060208284031215612c1a57600080fd5b5051919050565b600060208284031215612c3357600080fd5b81516129bd81612a1e565b600060208284031215612c5057600080fd5b81516129bd8161295f565b634e487b7160e01b600052603260045260246000fd5b600060018201612c8357612c83612ba6565b5060010190565b6020808252602a908201527f52454c415053453a2062616c616e63652065786365656473206d61782077616c6040820152691b195d08185b5bdd5b9d60b21b606082015260800190565b81810381811115610a3157610a31612ba6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612d375784516001600160a01b031683529383019391830191600101612d12565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122067259bb3b24255c2daa391bc50d6e9b2fba329304df1d4cc54fb135edf92299864736f6c634300081200334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0

Deployed Bytecode

0x6080604052600436106102e85760003560e01c80638366e79a11610190578063c0a904a2116100dc578063e2f4560511610095578063f2fde38b1161006f578063f2fde38b1461092e578063f5648a4f1461094e578063fabb0b4f14610963578063faf216e31461097957600080fd5b8063e2f45605146108e2578063ed494189146108f8578063ee40166e1461091857600080fd5b8063c0a904a2146107fb578063c18bc1951461081b578063d257b34f1461083b578063dbf5b9161461085b578063dc3f0d0f1461087c578063dd62ed3e1461089c57600080fd5b80639e78fb4f11610149578063aa4bde2811610123578063aa4bde2814610776578063b62496f51461078c578063bbc0c742146107bc578063c0246668146107db57600080fd5b80639e78fb4f14610721578063a457c2d714610736578063a9059cbb1461075657600080fd5b80638366e79a1461067857806388e765ff146106985780638da5cb5b146106ae578063906e9dd0146106cc57806395d89b41146106ec5780639a7a23d61461070157600080fd5b8063467abe0a1161024f5780635e83ae761161020857806370a08231116101e257806370a08231146105f8578063715018a61461062e578063751039fc14610643578063819d38d21461065857600080fd5b80635e83ae76146105a257806366d602ae146105c25780636ddd1713146105d857600080fd5b8063467abe0a146104be57806347062402146104de57806349bd5a5e146104f45780634a62bb65146105285780634fbee193146105425780635cce86cd1461057257600080fd5b806323b872dd116102a157806323b872dd1461040c5780632b14ca561461042c5780632be32b6114610442578063313ce567146104625780633936e8b91461047e578063395093511461049e57600080fd5b806306fdde03146102f4578063095ea7b31461031f5780630f3a325f1461034f5780631694505e1461037f57806318160ddd146103cb5780631d933a4a146103ea57600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061030961098e565b6040516103169190612911565b60405180910390f35b34801561032b57600080fd5b5061033f61033a366004612974565b610a20565b6040519015158152602001610316565b34801561035b57600080fd5b5061033f61036a3660046129a0565b60146020526000908152604090205460ff1681565b34801561038b57600080fd5b506103b37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610316565b3480156103d757600080fd5b506002545b604051908152602001610316565b3480156103f657600080fd5b5061040a6104053660046129c4565b610a37565b005b34801561041857600080fd5b5061033f6104273660046129dd565b610b36565b34801561043857600080fd5b506103dc60105481565b34801561044e57600080fd5b5061040a61045d3660046129c4565b610be0565b34801561046e57600080fd5b5060405160128152602001610316565b34801561048a57600080fd5b50600b546103b3906001600160a01b031681565b3480156104aa57600080fd5b5061033f6104b9366004612974565b610cc8565b3480156104ca57600080fd5b5061040a6104d93660046129c4565b610d04565b3480156104ea57600080fd5b506103dc600f5481565b34801561050057600080fd5b506103b37f00000000000000000000000034ab395d5b8200518e13b85e7f3822733f0bdc9c81565b34801561053457600080fd5b50600e5461033f9060ff1681565b34801561054e57600080fd5b5061033f61055d3660046129a0565b60116020526000908152604090205460ff1681565b34801561057e57600080fd5b5061033f61058d3660046129a0565b60126020526000908152604090205460ff1681565b3480156105ae57600080fd5b5061040a6105bd366004612a2c565b610d84565b3480156105ce57600080fd5b506103dc60075481565b3480156105e457600080fd5b50600e5461033f9062010000900460ff1681565b34801561060457600080fd5b506103dc6106133660046129a0565b6001600160a01b031660009081526020819052604090205490565b34801561063a57600080fd5b5061040a610ebc565b34801561064f57600080fd5b5061040a610f30565b34801561066457600080fd5b5061040a610673366004612a4a565b610f66565b34801561068457600080fd5b5061033f610693366004612a83565b61102c565b3480156106a457600080fd5b506103dc60065481565b3480156106ba57600080fd5b506005546001600160a01b03166103b3565b3480156106d857600080fd5b5061040a6106e73660046129a0565b6111a4565b3480156106f857600080fd5b50610309611261565b34801561070d57600080fd5b5061040a61071c366004612a4a565b611270565b34801561072d57600080fd5b5061040a611387565b34801561074257600080fd5b5061033f610751366004612974565b611538565b34801561076257600080fd5b5061033f610771366004612974565b6115d1565b34801561078257600080fd5b506103dc60085481565b34801561079857600080fd5b5061033f6107a73660046129a0565b60136020526000908152604090205460ff1681565b3480156107c857600080fd5b50600e5461033f90610100900460ff1681565b3480156107e757600080fd5b5061040a6107f6366004612a4a565b6115de565b34801561080757600080fd5b5061040a610816366004612a4a565b611633565b34801561082757600080fd5b5061040a6108363660046129c4565b611726565b34801561084757600080fd5b5061040a6108563660046129c4565b61180e565b34801561086757600080fd5b50600e5461033f906301000000900460ff1681565b34801561088857600080fd5b5061040a6108973660046129c4565b611986565b3480156108a857600080fd5b506103dc6108b7366004612a83565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156108ee57600080fd5b506103dc600a5481565b34801561090457600080fd5b5061040a610913366004612ab1565b611a6e565b34801561092457600080fd5b506103dc600c5481565b34801561093a57600080fd5b5061040a6109493660046129a0565b611b7f565b34801561095a57600080fd5b5061040a611c6a565b34801561096f57600080fd5b506103dc600d5481565b34801561098557600080fd5b5061040a611cd6565b60606003805461099d90612b37565b80601f01602080910402602001604051908101604052809291908181526020018280546109c990612b37565b8015610a165780601f106109eb57610100808354040283529160200191610a16565b820191906000526020600020905b8154815290600101906020018083116109f957829003601f168201915b5050505050905090565b6000610a2d338484611d0f565b5060015b92915050565b6005546001600160a01b03163314610a6a5760405162461bcd60e51b8152600401610a6190612b71565b60405180910390fd5b60056010541115610ae357601054811115610ade5760405162461bcd60e51b815260206004820152602e60248201527f52454c415053453a206e65772073656c6c20666565206578636565647320637560448201526d7272656e742073656c6c2066656560901b6064820152608401610a61565b601055565b60056010541115610ade5760405162461bcd60e51b815260206004820181905260248201527f52454c415053453a206e65772073656c6c2066656520657863656564732035256044820152606401610a61565b6000610b43848484611e33565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610bc85760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610a61565b610bd58533858403611d0f565b506001949350505050565b6005546001600160a01b03163314610c0a5760405162461bcd60e51b8152600401610a6190612b71565b6064610c1560025490565b610c20906001612bbc565b610c2a9190612bd3565b610c3c82670de0b6b3a7640000612bbc565b1015610cb05760405162461bcd60e51b815260206004820152603860248201527f52454c415053453a206e6577206d61782062757920616d6f756e74206c65737360448201527f207468616e203125206f6620746f74616c20737570706c7900000000000000006064820152608401610a61565b610cc281670de0b6b3a7640000612bbc565b60065550565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a2d918590610cff908690612bf5565b611d0f565b6005546001600160a01b03163314610d2e5760405162461bcd60e51b8152600401610a6190612b71565b6005811115610d7f5760405162461bcd60e51b815260206004820152601f60248201527f52454c415053453a206e657720627579206665652065786365656473203525006044820152606401610a61565b600f55565b6005546001600160a01b03163314610dae5760405162461bcd60e51b8152600401610a6190612b71565b600e54610100900460ff1615610e115760405162461bcd60e51b815260206004820152602260248201527f52454c415053453a2074726164696e6720697320616c72656164792061637469604482015261766560f01b6064820152608401610a61565b6005811115610e6e5760405162461bcd60e51b8152602060048201526024808201527f52454c415053453a2064656164626c6f636b7320616d6f756e742065786365656044820152636473203560e01b6064820152608401610a61565b600e80546201000062ffff0019909116610100851515810262ff0000191691909117919091179182905560ff9104168015610ea95750600c54155b15610eb85743600c55600d8190555b5050565b6005546001600160a01b03163314610ee65760405162461bcd60e51b8152600401610a6190612b71565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610f5a5760405162461bcd60e51b8152600401610a6190612b71565b600e805460ff19169055565b6005546001600160a01b03163314610f905760405162461bcd60e51b8152600401610a6190612b71565b600e546301000000900460ff166110015760405162461bcd60e51b815260206004820152602f60248201527f52454c415053453a20736e69706572206d616e6167656d656e74207065726d6160448201526e1b995b9d1b1e48191a5cd8589b1959608a1b6064820152608401610a61565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6005546000906001600160a01b031633146110595760405162461bcd60e51b8152600401610a6190612b71565b6001600160a01b0383166110ba5760405162461bcd60e51b815260206004820152602260248201527f52454c415053453a20746f6b656e20697320746865207a65726f206164647265604482015261737360f01b6064820152608401610a61565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111259190612c08565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015611178573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119c9190612c21565b949350505050565b6005546001600160a01b031633146111ce5760405162461bcd60e51b8152600401610a6190612b71565b6001600160a01b03811661123f5760405162461bcd60e51b815260206004820152603260248201527f52454c415053453a206e6577206d61726b6574696e67206164647265737320696044820152717320746865207a65726f206164647265737360701b6064820152608401610a61565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b60606004805461099d90612b37565b6005546001600160a01b0316331461129a5760405162461bcd60e51b8152600401610a6190612b71565b80611346577f00000000000000000000000034ab395d5b8200518e13b85e7f3822733f0bdc9c6001600160a01b0316826001600160a01b0316036113465760405162461bcd60e51b815260206004820152603760248201527f52454c415053453a206175746f6d61746564206d61726b6574206d616b65722060448201527f7061697220697320756e697377617020563220706169720000000000000000006064820152608401610a61565b6001600160a01b0382166000908152601360209081526040808320805485151560ff1991821681179092556012909352922080549091169091179055610eb8565b6005546001600160a01b031633146113b15760405162461bcd60e51b8152600401610a6190612b71565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561140f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114339190612c3e565b6001600160a01b031663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c49190612c3e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611511573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115359190612c3e565b50565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156115ba5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a61565b6115c73385858403611d0f565b5060019392505050565b6000610a2d338484611e33565b6005546001600160a01b031633146116085760405162461bcd60e51b8152600401610a6190612b71565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6005546001600160a01b0316331461165d5760405162461bcd60e51b8152600401610a6190612b71565b806116fc577f00000000000000000000000034ab395d5b8200518e13b85e7f3822733f0bdc9c6001600160a01b0316826001600160a01b0316036116fc5760405162461bcd60e51b815260206004820152603060248201527f52454c415053453a206163636f756e7420746f20626520657873636c7564656460448201526f2069732070616972206164647265737360801b6064820152608401610a61565b6001600160a01b0382166000908152601260205260409020805482151560ff199091161790555050565b6005546001600160a01b031633146117505760405162461bcd60e51b8152600401610a6190612b71565b606461175b60025490565b611766906002612bbc565b6117709190612bd3565b61178282670de0b6b3a7640000612bbc565b10156117f65760405162461bcd60e51b815260206004820152603b60248201527f52454c415053453a206e6577206d61782077616c6c657420616d6f756e74206c60448201527f657373207468616e203225206f6620746f74616c20737570706c7900000000006064820152608401610a61565b61180881670de0b6b3a7640000612bbc565b60085550565b6005546001600160a01b031633146118385760405162461bcd60e51b8152600401610a6190612b71565b620186a061184560025490565b611850906001612bbc565b61185a9190612bd3565b61186c82670de0b6b3a7640000612bbc565b10156118e05760405162461bcd60e51b815260206004820152603960248201527f52454c415053453a206e6577207377617020616d6f756e74206c65737320746860448201527f616e20302e30303125206f6620746f74616c20737570706c79000000000000006064820152608401610a61565b6103e86118ec60025490565b6118f7906001612bbc565b6119019190612bd3565b81111561196e5760405162461bcd60e51b815260206004820152603560248201527f52454c415053453a206e6577205377617020616d6f756e74206578636565647360448201527420302e3125206f6620746f74616c20737570706c7960581b6064820152608401610a61565b61198081670de0b6b3a7640000612bbc565b600a5550565b6005546001600160a01b031633146119b05760405162461bcd60e51b8152600401610a6190612b71565b60646119bb60025490565b6119c6906001612bbc565b6119d09190612bd3565b6119e282670de0b6b3a7640000612bbc565b1015611a565760405162461bcd60e51b815260206004820152603960248201527f52454c415053453a206e6577206d61782073656c6c20616d6f756e74206c657360448201527f73207468616e203125206f6620746f74616c20737570706c79000000000000006064820152608401610a61565b611a6881670de0b6b3a7640000612bbc565b60075550565b6005546001600160a01b03163314611a985760405162461bcd60e51b8152600401610a6190612b71565b600e546301000000900460ff16611b0a5760405162461bcd60e51b815260206004820152603060248201527f52454c415053453a20736e6970657273206d616e6167656d656e74207065726d60448201526f185b995b9d1b1e48191a5cd8589b195960821b6064820152608401610a61565b60005b82811015611b79578160146000868685818110611b2c57611b2c612c5b565b9050602002016020810190611b4191906129a0565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611b7281612c71565b9050611b0d565b50505050565b6005546001600160a01b03163314611ba95760405162461bcd60e51b8152600401610a6190612b71565b6001600160a01b038116611c0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a61565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611c945760405162461bcd60e51b8152600401610a6190612b71565b604051600090339047908381818185875af1925050503d8060008114611b79576040519150601f19603f3d011682016040523d82523d6000602084013e611b79565b6005546001600160a01b03163314611d005760405162461bcd60e51b8152600401610a6190612b71565b600e805463ff00000019169055565b6001600160a01b038316611d715760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a61565b6001600160a01b038216611dd25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a61565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008111611e835760405162461bcd60e51b815260206004820152601760248201527f52454c415053453a20616d6f756e74206973207a65726f0000000000000000006044820152606401610a61565b6001600160a01b03831660009081526014602052604090205460ff1615611eec5760405162461bcd60e51b815260206004820181905260248201527f52454c415053453a2073656e646572206d61726b656420617320736e697065726044820152606401610a61565b6001600160a01b03821660009081526014602052604090205460ff1615611f615760405162461bcd60e51b815260206004820152602360248201527f52454c415053453a20726563697069656e74206d61726b656420617320736e696044820152623832b960e91b6064820152608401610a61565b600e5460ff1615612295576005546001600160a01b03848116911614801590611f9857506005546001600160a01b03838116911614155b8015611fbd57506001600160a01b03831660009081526011602052604090205460ff16155b8015611fe257506001600160a01b03821660009081526011602052604090205460ff16155b1561229557600e54610100900460ff1661203e5760405162461bcd60e51b815260206004820152601e60248201527f52454c415053453a2074726164696e67206973206e6f742061637469766500006044820152606401610a61565b6000600c5411801561205e5750600d54600c5461205b9190612bf5565b43105b15612087576001600160a01b0382166000908152601460205260409020805460ff191660011790555b6001600160a01b03831660009081526013602052604090205460ff1680156120c857506001600160a01b03821660009081526012602052604090205460ff16155b15612180576006548111156121375760405162461bcd60e51b815260206004820152602f60248201527f52454c415053453a207472616e7366657220616d6f756e74206578636565647360448201526e081b585e08189d5e48185b5bdd5b9d608a1b6064820152608401610a61565b6008546001600160a01b03831660009081526020819052604090205461215d9083612bf5565b111561217b5760405162461bcd60e51b8152600401610a6190612c8a565b612295565b6001600160a01b03821660009081526013602052604090205460ff1680156121c157506001600160a01b03831660009081526012602052604090205460ff16155b156122315760075481111561217b5760405162461bcd60e51b815260206004820152603060248201527f52454c415053453a207472616e7366657220616d6f756e74206578636565647360448201526f081b585e081cd95b1b08185b5bdd5b9d60821b6064820152608401610a61565b6001600160a01b03821660009081526012602052604090205460ff16612295576008546001600160a01b0383166000908152602081905260409020546122779083612bf5565b11156122955760405162461bcd60e51b8152600401610a6190612c8a565b30600090815260208190526040902054600a54811080159081906122c15750600e5462010000900460ff165b80156122d0575060095460ff16155b80156122f557506001600160a01b03851660009081526013602052604090205460ff16155b801561231a57506001600160a01b03851660009081526011602052604090205460ff16155b801561233f57506001600160a01b03841660009081526011602052604090205460ff16155b15612364576009805460ff191660011790556123596124e1565b6009805460ff191690555b6001600160a01b038516600090815260116020526040812054819060ff161580156123a857506001600160a01b03861660009081526011602052604090205460ff16155b156124cd576000600c541180156123cd5750600d54600c546123ca9190612bf5565b43105b156124095760646123df866062612bbc565b6123e99190612bd3565b600b549091506124049088906001600160a01b031683612582565b6124a5565b6001600160a01b03861660009081526013602052604090205460ff16801561243357506000601054115b15612459576064601054866124489190612bbc565b6124529190612bd3565b91506124a5565b6001600160a01b03871660009081526013602052604090205460ff16801561248357506000600f54115b156124a5576064600f54866124989190612bbc565b6124a29190612bd3565b91505b81156124b6576124b6873084612582565b6124c08183612bf5565b6124ca9086612cd4565b94505b6124d8878787612582565b50505050505050565b30600090815260208190526040812054908190036124fc5750565b600a805461250991612bbc565b81111561252057600a805461251d91612bbc565b90505b61252981612751565b600b546040516000916001600160a01b03169047908381818185875af1925050503d8060008114612576576040519150601f19603f3d011682016040523d82523d6000602084013e61257b565b606091505b5050505050565b6001600160a01b0383166125e65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a61565b6001600160a01b0382166126485760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a61565b6001600160a01b038316600090815260208190526040902054818110156126c05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a61565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906126f7908490612bf5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161274391815260200190565b60405180910390a350505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061278657612786612c5b565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128289190612c3e565b8160018151811061283b5761283b612c5b565b60200260200101906001600160a01b031690816001600160a01b031681525050612886307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611d0f565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906128db908590600090869030904290600401612ce7565b600060405180830381600087803b1580156128f557600080fd5b505af1158015612909573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561293e57858101830151858201604001528201612922565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461153557600080fd5b6000806040838503121561298757600080fd5b82356129928161295f565b946020939093013593505050565b6000602082840312156129b257600080fd5b81356129bd8161295f565b9392505050565b6000602082840312156129d657600080fd5b5035919050565b6000806000606084860312156129f257600080fd5b83356129fd8161295f565b92506020840135612a0d8161295f565b929592945050506040919091013590565b801515811461153557600080fd5b60008060408385031215612a3f57600080fd5b823561299281612a1e565b60008060408385031215612a5d57600080fd5b8235612a688161295f565b91506020830135612a7881612a1e565b809150509250929050565b60008060408385031215612a9657600080fd5b8235612aa18161295f565b91506020830135612a788161295f565b600080600060408486031215612ac657600080fd5b833567ffffffffffffffff80821115612ade57600080fd5b818601915086601f830112612af257600080fd5b813581811115612b0157600080fd5b8760208260051b8501011115612b1657600080fd5b60209283019550935050840135612b2c81612a1e565b809150509250925092565b600181811c90821680612b4b57607f821691505b602082108103612b6b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a3157610a31612ba6565b600082612bf057634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a3157610a31612ba6565b600060208284031215612c1a57600080fd5b5051919050565b600060208284031215612c3357600080fd5b81516129bd81612a1e565b600060208284031215612c5057600080fd5b81516129bd8161295f565b634e487b7160e01b600052603260045260246000fd5b600060018201612c8357612c83612ba6565b5060010190565b6020808252602a908201527f52454c415053453a2062616c616e63652065786365656473206d61782077616c6040820152691b195d08185b5bdd5b9d60b21b606082015260800190565b81810381811115610a3157610a31612ba6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612d375784516001600160a01b031683529383019391830191600101612d12565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122067259bb3b24255c2daa391bc50d6e9b2fba329304df1d4cc54fb135edf92299864736f6c63430008120033

Deployed Bytecode Sourcemap

9950:11059:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4668:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5582:169;;;;;;;;;;-1:-1:-1;5582:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5582:169:0;1023:187:1;10812:41:0;;;;;;;;;;-1:-1:-1;10812:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10108:43;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1649:32:1;;;1631:51;;1619:2;1604:18;10108:43:0;1467:221:1;4989:108:0;;;;;;;;;;-1:-1:-1;5077:12:0;;4989:108;;;1839:25:1;;;1827:2;1812:18;4989:108:0;1693:177:1;14414:325:0;;;;;;;;;;-1:-1:-1;14414:325:0;;;;;:::i;:::-;;:::i;:::-;;5759:480;;;;;;;;;;-1:-1:-1;5759:480:0;;;;;:::i;:::-;;:::i;10598:22::-;;;;;;;;;;;;;;;;12588:241;;;;;;;;;;-1:-1:-1;12588:241:0;;;;;:::i;:::-;;:::i;4888:93::-;;;;;;;;;;-1:-1:-1;4888:93:0;;4971:2;2663:36:1;;2651:2;2636:18;4888:93:0;2521:184:1;10276:31:0;;;;;;;;;;-1:-1:-1;10276:31:0;;;;-1:-1:-1;;;;;10276:31:0;;;6247:215;;;;;;;;;;-1:-1:-1;6247:215:0;;;;;:::i;:::-;;:::i;14240:166::-;;;;;;;;;;-1:-1:-1;14240:166:0;;;;;:::i;:::-;;:::i;10568:21::-;;;;;;;;;;;;;;;;10158:38;;;;;;;;;;;;;;;10399:33;;;;;;;;;;-1:-1:-1;10399:33:0;;;;;;;;10629:51;;;;;;;;;;-1:-1:-1;10629:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10687:53;;;;;;;;;;-1:-1:-1;10687:53:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18652:453;;;;;;;;;;-1:-1:-1;18652:453:0;;;;;:::i;:::-;;:::i;10034:28::-;;;;;;;;;;;;;;;;10479:31;;;;;;;;;;-1:-1:-1;10479:31:0;;;;;;;;;;;5105:127;;;;;;;;;;-1:-1:-1;5105:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;5206:18:0;5179:7;5206:18;;;;;;;;;;;;5105:127;8709:150;;;;;;;;;;;;;:::i;13724:84::-;;;;;;;;;;;;;:::i;19371:222::-;;;;;;;;;;-1:-1:-1;19371:222:0;;;;;:::i;:::-;;:::i;20522:314::-;;;;;;;;;;-1:-1:-1;20522:314:0;;;;;:::i;:::-;;:::i;10000:27::-;;;;;;;;;;;;;;;;8495:79;;;;;;;;;;-1:-1:-1;8560:6:0;;-1:-1:-1;;;;;8560:6:0;8495:79;;19113:250;;;;;;;;;;-1:-1:-1;19113:250:0;;;;;:::i;:::-;;:::i;4776:104::-;;;;;;;;;;;;;:::i;18139:279::-;;;;;;;;;;-1:-1:-1;18139:279:0;;;;;:::i;:::-;;:::i;12432:148::-;;;;;;;;;;;;;:::i;6470:401::-;;;;;;;;;;-1:-1:-1;6470:401:0;;;;;:::i;:::-;;:::i;5240:175::-;;;;;;;;;;-1:-1:-1;5240:175:0;;;;;:::i;:::-;;:::i;10069:30::-;;;;;;;;;;;;;;;;10747:58;;;;;;;;;;-1:-1:-1;10747:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10439:33;;;;;;;;;;-1:-1:-1;10439:33:0;;;;;;;;;;;14747:135;;;;;;;;;;-1:-1:-1;14747:135:0;;;;;:::i;:::-;;:::i;13955:277::-;;;;;;;;;;-1:-1:-1;13955:277:0;;;;;:::i;:::-;;:::i;13089:250::-;;;;;;;;;;-1:-1:-1;13089:250:0;;;;;:::i;:::-;;:::i;13347:369::-;;;;;;;;;;-1:-1:-1;13347:369:0;;;;;:::i;:::-;;:::i;10517:42::-;;;;;;;;;;-1:-1:-1;10517:42:0;;;;;;;;;;;12837:244;;;;;;;;;;-1:-1:-1;12837:244:0;;;;;:::i;:::-;;:::i;5423:151::-;;;;;;;;;;-1:-1:-1;5423:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;5539:18:0;;;5512:7;5539:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5423:151;10234:33;;;;;;;;;;;;;;;;19601:299;;;;;;;;;;-1:-1:-1;19601:299:0;;;;;:::i;:::-;;:::i;10316:37::-;;;;;;;;;;;;;;;;8867:244;;;;;;;;;;-1:-1:-1;8867:244:0;;;;;:::i;:::-;;:::i;20844:160::-;;;;;;;;;;;;;:::i;10361:29::-;;;;;;;;;;;;;;;;19954:104;;;;;;;;;;;;;:::i;4668:100::-;4722:13;4755:5;4748:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4668:100;:::o;5582:169::-;5665:4;5682:39;4119:10;5705:7;5714:6;5682:8;:39::i;:::-;-1:-1:-1;5739:4:0;5582:169;;;;;:::o;14414:325::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;;;;;;;;;14501:1:::1;14491:7;;:11;14487:214;;;14541:7;;14527:10;:21;;14519:80;;;::::0;-1:-1:-1;;;14519:80:0;;5838:2:1;14519:80:0::1;::::0;::::1;5820:21:1::0;5877:2;5857:18;;;5850:30;5916:34;5896:18;;;5889:62;-1:-1:-1;;;5967:18:1;;;5960:44;6021:19;;14519:80:0::1;5636:410:1::0;14519:80:0::1;14711:7;:20:::0;14414:325::o;14487:214::-:1;14651:1;14640:7;;:12;;14632:57;;;::::0;-1:-1:-1;;;14632:57:0;;6253:2:1;14632:57:0::1;::::0;::::1;6235:21:1::0;;;6272:18;;;6265:30;6331:34;6311:18;;;6304:62;6383:18;;14632:57:0::1;6051:356:1::0;5759:480:0;5899:4;5916:36;5926:6;5934:9;5945:6;5916:9;:36::i;:::-;-1:-1:-1;;;;;5992:19:0;;5965:24;5992:19;;;:11;:19;;;;;;;;4119:10;5992:33;;;;;;;;6044:26;;;;6036:79;;;;-1:-1:-1;;;6036:79:0;;6614:2:1;6036:79:0;;;6596:21:1;6653:2;6633:18;;;6626:30;6692:34;6672:18;;;6665:62;-1:-1:-1;;;6743:18:1;;;6736:38;6791:19;;6036:79:0;6412:404:1;6036:79:0;6143:57;6152:6;4119:10;6193:6;6174:16;:25;6143:8;:57::i;:::-;-1:-1:-1;6227:4:0;;5759:480;-1:-1:-1;;;;5759:480:0:o;12588:241::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;12714:3:::1;12694:13;5077:12:::0;;;4989:108;12694:13:::1;:17;::::0;12710:1:::1;12694:17;:::i;:::-;:23;;;;:::i;:::-;12673:16;:9:::0;12685:4:::1;12673:16;:::i;:::-;:45;;12665:114;;;::::0;-1:-1:-1;;;12665:114:0;;7550:2:1;12665:114:0::1;::::0;::::1;7532:21:1::0;7589:2;7569:18;;;7562:30;7628:34;7608:18;;;7601:62;7699:26;7679:18;;;7672:54;7743:19;;12665:114:0::1;7348:420:1::0;12665:114:0::1;12805:16;:9:::0;12817:4:::1;12805:16;:::i;:::-;12790:12;:31:::0;-1:-1:-1;12588:241:0:o;6247:215::-;4119:10;6335:4;6384:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6384:34:0;;;;;;;;;;6335:4;;6352:80;;6375:7;;6384:47;;6421:10;;6384:47;:::i;:::-;6352:8;:80::i;14240:166::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;14332:1:::1;14319:9;:14;;14311:58;;;::::0;-1:-1:-1;;;14311:58:0;;8105:2:1;14311:58:0::1;::::0;::::1;8087:21:1::0;8144:2;8124:18;;;8117:30;8183:33;8163:18;;;8156:61;8234:18;;14311:58:0::1;7903:355:1::0;14311:58:0::1;14380:6;:18:::0;14240:166::o;18652:453::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;18749:13:::1;::::0;::::1;::::0;::::1;;;18748:14;18740:61;;;::::0;-1:-1:-1;;;18740:61:0;;8465:2:1;18740:61:0::1;::::0;::::1;8447:21:1::0;8504:2;8484:18;;;8477:30;8543:34;8523:18;;;8516:62;-1:-1:-1;;;8594:18:1;;;8587:32;8636:19;;18740:61:0::1;8263:398:1::0;18740:61:0::1;18835:1;18820:11;:16;;18812:65;;;::::0;-1:-1:-1;;;18812:65:0;;8868:2:1;18812:65:0::1;::::0;::::1;8850:21:1::0;8907:2;8887:18;;;8880:30;8946:34;8926:18;;;8919:62;-1:-1:-1;;;8997:18:1;;;8990:34;9041:19;;18812:65:0::1;8666:400:1::0;18812:65:0::1;18888:13;:23:::0;;18922:18;-1:-1:-1;;18922:18:0;;;18888:23:::1;::::0;::::1;;::::0;::::1;-1:-1:-1::0;;18922:18:0;;;;;;;;::::1;::::0;;;;18888:23:::1;18957:13:::0;::::1;;:40:::0;::::1;;;-1:-1:-1::0;18974:18:0::1;::::0;:23;18957:40:::1;18953:145;;;19035:12;19014:18;:33:::0;19062:10:::1;:24:::0;;;18953:145:::1;18652:453:::0;;:::o;8709:150::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;8802:6:::1;::::0;8781:40:::1;::::0;8818:1:::1;::::0;-1:-1:-1;;;;;8802:6:0::1;::::0;8781:40:::1;::::0;8818:1;;8781:40:::1;8832:6;:19:::0;;-1:-1:-1;;;;;;8832:19:0::1;::::0;;8709:150::o;13724:84::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;13778:14:::1;:22:::0;;-1:-1:-1;;13778:22:0::1;::::0;;13724:84::o;19371:222::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;19467:23:::1;::::0;;;::::1;;;19459:83;;;::::0;-1:-1:-1;;;19459:83:0;;9273:2:1;19459:83:0::1;::::0;::::1;9255:21:1::0;9312:2;9292:18;;;9285:30;9351:34;9331:18;;;9324:62;-1:-1:-1;;;9402:18:1;;;9395:45;9457:19;;19459:83:0::1;9071:411:1::0;19459:83:0::1;-1:-1:-1::0;;;;;19553:23:0;;;::::1;;::::0;;;:8:::1;:23;::::0;;;;:32;;-1:-1:-1;;19553:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19371:222::o;20522:314::-;8622:6;;20607:4;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20632:19:0;::::1;20624:66;;;::::0;-1:-1:-1;;;20624:66:0;;9689:2:1;20624:66:0::1;::::0;::::1;9671:21:1::0;9728:2;9708:18;;;9701:30;9767:34;9747:18;;;9740:62;-1:-1:-1;;;9818:18:1;;;9811:32;9860:19;;20624:66:0::1;9487:398:1::0;20624:66:0::1;20728:38;::::0;-1:-1:-1;;;20728:38:0;;20760:4:::1;20728:38;::::0;::::1;1631:51:1::0;20701:24:0::1;::::0;-1:-1:-1;;;;;20728:23:0;::::1;::::0;::::1;::::0;1604:18:1;;20728:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20784:44;::::0;-1:-1:-1;;;20784:44:0;;-1:-1:-1;;;;;10271:32:1;;;20784:44:0::1;::::0;::::1;10253:51:1::0;10320:18;;;10313:34;;;20701:65:0;;-1:-1:-1;20784:22:0;;::::1;::::0;::::1;::::0;10226:18:1;;20784:44:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20777:51:::0;20522:314;-1:-1:-1;;;;20522:314:0:o;19113:250::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19209:33:0;::::1;19201:96;;;::::0;-1:-1:-1;;;19201:96:0;;10810:2:1;19201:96:0::1;::::0;::::1;10792:21:1::0;10849:2;10829:18;;;10822:30;10888:34;10868:18;;;10861:62;-1:-1:-1;;;10939:18:1;;;10932:48;10997:19;;19201:96:0::1;10608:414:1::0;19201:96:0::1;19308:16;:47:::0;;-1:-1:-1;;;;;;19308:47:0::1;-1:-1:-1::0;;;;;19308:47:0;;;::::1;::::0;;;::::1;::::0;;19113:250::o;4776:104::-;4832:13;4865:7;4858:14;;;;;:::i;18139:279::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;18236:5:::1;18232:127;;18274:13;-1:-1:-1::0;;;;;18266:21:0::1;:4;-1:-1:-1::0;;;;;18266:21:0::1;::::0;18258:89:::1;;;::::0;-1:-1:-1;;;18258:89:0;;11229:2:1;18258:89:0::1;::::0;::::1;11211:21:1::0;11268:2;11248:18;;;11241:30;11307:34;11287:18;;;11280:62;11378:25;11358:18;;;11351:53;11421:19;;18258:89:0::1;11027:419:1::0;18258:89:0::1;-1:-1:-1::0;;;;;18509:31:0;;;;;;:25;:31;;;;;;;;:39;;;;;-1:-1:-1;;18509:39:0;;;;;;;;13897:20;:29;;;;;:42;;;;;;;;;;18369:41:::1;18652:453::o:0;12432:148::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;12496:15:::1;-1:-1:-1::0;;;;;12496:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12484:49:0::1;;12542:4;12549:15;-1:-1:-1::0;;;;;12549:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12484:88;::::0;-1:-1:-1;;;;;;12484:88:0::1;::::0;;;;;;-1:-1:-1;;;;;11937:15:1;;;12484:88:0::1;::::0;::::1;11919:34:1::0;11989:15;;11969:18;;;11962:43;11854:18;;12484:88:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12432:148::o:0;6470:401::-;4119:10;6563:4;6607:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6607:34:0;;;;;;;;;;6660:35;;;;6652:85;;;;-1:-1:-1;;;6652:85:0;;12218:2:1;6652:85:0;;;12200:21:1;12257:2;12237:18;;;12230:30;12296:34;12276:18;;;12269:62;-1:-1:-1;;;12347:18:1;;;12340:35;12392:19;;6652:85:0;12016:401:1;6652:85:0;6765:67;4119:10;6788:7;6816:15;6797:16;:34;6765:8;:67::i;:::-;-1:-1:-1;6859:4:0;;6470:401;-1:-1:-1;;;6470:401:0:o;5240:175::-;5326:4;5343:42;4119:10;5367:9;5378:6;5343:9;:42::i;14747:135::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14834:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:40;;-1:-1:-1;;14834:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14747:135::o;13955:277::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;14051:10:::1;14046:129;;14097:13;-1:-1:-1::0;;;;;14086:24:0::1;:7;-1:-1:-1::0;;;;;14086:24:0::1;::::0;14078:85:::1;;;::::0;-1:-1:-1;;;14078:85:0;;12624:2:1;14078:85:0::1;::::0;::::1;12606:21:1::0;12663:2;12643:18;;;12636:30;12702:34;12682:18;;;12675:62;-1:-1:-1;;;12753:18:1;;;12746:46;12809:19;;14078:85:0::1;12422:412:1::0;14078:85:0::1;-1:-1:-1::0;;;;;13897:29:0;;;;;;:20;:29;;;;;:42;;;;;-1:-1:-1;;13897:42:0;;;;;;18652:453;;:::o;13089:250::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;13218:3:::1;13198:13;5077:12:::0;;;4989:108;13198:13:::1;:17;::::0;13214:1:::1;13198:17;:::i;:::-;:23;;;;:::i;:::-;13177:16;:9:::0;13189:4:::1;13177:16;:::i;:::-;:45;;13169:117;;;::::0;-1:-1:-1;;;13169:117:0;;13041:2:1;13169:117:0::1;::::0;::::1;13023:21:1::0;13080:2;13060:18;;;13053:30;13119:34;13099:18;;;13092:62;13190:29;13170:18;;;13163:57;13237:19;;13169:117:0::1;12839:423:1::0;13169:117:0::1;13315:16;:9:::0;13327:4:::1;13315:16;:::i;:::-;13297:15;:34:::0;-1:-1:-1;13089:250:0:o;13347:369::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;13478:6:::1;13458:13;5077:12:::0;;;4989:108;13458:13:::1;:17;::::0;13474:1:::1;13458:17;:::i;:::-;:26;;;;:::i;:::-;13438:16;:9:::0;13450:4:::1;13438:16;:::i;:::-;:46;;13430:116;;;::::0;-1:-1:-1;;;13430:116:0;;13469:2:1;13430:116:0::1;::::0;::::1;13451:21:1::0;13508:2;13488:18;;;13481:30;13547:34;13527:18;;;13520:62;13618:27;13598:18;;;13591:55;13663:19;;13430:116:0::1;13267:421:1::0;13430:116:0::1;13598:4;13578:13;5077:12:::0;;;4989:108;13578:13:::1;:17;::::0;13594:1:::1;13578:17;:::i;:::-;:24;;;;:::i;:::-;13565:9;:37;;13557:103;;;::::0;-1:-1:-1;;;13557:103:0;;13895:2:1;13557:103:0::1;::::0;::::1;13877:21:1::0;13934:2;13914:18;;;13907:30;13973:34;13953:18;;;13946:62;-1:-1:-1;;;14024:18:1;;;14017:51;14085:19;;13557:103:0::1;13693:417:1::0;13557:103:0::1;13692:16;:9:::0;13704:4:::1;13692:16;:::i;:::-;13671:18;:37:::0;-1:-1:-1;13347:369:0:o;12837:244::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;12964:3:::1;12944:13;5077:12:::0;;;4989:108;12944:13:::1;:17;::::0;12960:1:::1;12944:17;:::i;:::-;:23;;;;:::i;:::-;12923:16;:9:::0;12935:4:::1;12923:16;:::i;:::-;:45;;12915:115;;;::::0;-1:-1:-1;;;12915:115:0;;14317:2:1;12915:115:0::1;::::0;::::1;14299:21:1::0;14356:2;14336:18;;;14329:30;14395:34;14375:18;;;14368:62;14466:27;14446:18;;;14439:55;14511:19;;12915:115:0::1;14115:421:1::0;12915:115:0::1;13057:16;:9:::0;13069:4:::1;13057:16;:::i;:::-;13041:13;:32:::0;-1:-1:-1;12837:244:0:o;19601:299::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;19705:23:::1;::::0;;;::::1;;;19697:84;;;::::0;-1:-1:-1;;;19697:84:0;;14743:2:1;19697:84:0::1;::::0;::::1;14725:21:1::0;14782:2;14762:18;;;14755:30;14821:34;14801:18;;;14794:62;-1:-1:-1;;;14872:18:1;;;14865:46;14928:19;;19697:84:0::1;14541:412:1::0;19697:84:0::1;19797:9;19792:101;19808:20:::0;;::::1;19792:101;;;19875:6;19850:8;:22;19859:9;;19869:1;19859:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19850:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;19850:22:0;:31;;-1:-1:-1;;19850:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19830:3:::1;::::0;::::1;:::i;:::-;;;19792:101;;;;19601:299:::0;;;:::o;8867:244::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8956:22:0;::::1;8948:73;;;::::0;-1:-1:-1;;;8948:73:0;;15432:2:1;8948:73:0::1;::::0;::::1;15414:21:1::0;15471:2;15451:18;;;15444:30;15510:34;15490:18;;;15483:62;-1:-1:-1;;;15561:18:1;;;15554:36;15607:19;;8948:73:0::1;15230:402:1::0;8948:73:0::1;9058:6;::::0;9037:38:::1;::::0;-1:-1:-1;;;;;9037:38:0;;::::1;::::0;9058:6:::1;::::0;9037:38:::1;::::0;9058:6:::1;::::0;9037:38:::1;9086:6;:17:::0;;-1:-1:-1;;;;;;9086:17:0::1;-1:-1:-1::0;;;;;9086:17:0;;;::::1;::::0;;;::::1;::::0;;8867:244::o;20844:160::-;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;20938:58:::1;::::0;20902:12:::1;::::0;20946:10:::1;::::0;20970:21:::1;::::0;20902:12;20938:58;20902:12;20938:58;20970:21;20946:10;20938:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19954:104:::0;8622:6;;-1:-1:-1;;;;;8622:6:0;4119:10;8622:22;8614:67;;;;-1:-1:-1;;;8614:67:0;;;;;;;:::i;:::-;20019:23:::1;:31:::0;;-1:-1:-1;;20019:31:0::1;::::0;;19954:104::o;7788:380::-;-1:-1:-1;;;;;7924:19:0;;7916:68;;;;-1:-1:-1;;;7916:68:0;;16049:2:1;7916:68:0;;;16031:21:1;16088:2;16068:18;;;16061:30;16127:34;16107:18;;;16100:62;-1:-1:-1;;;16178:18:1;;;16171:34;16222:19;;7916:68:0;15847:400:1;7916:68:0;-1:-1:-1;;;;;8003:21:0;;7995:68;;;;-1:-1:-1;;;7995:68:0;;16454:2:1;7995:68:0;;;16436:21:1;16493:2;16473:18;;;16466:30;16532:34;16512:18;;;16505:62;-1:-1:-1;;;16583:18:1;;;16576:32;16625:19;;7995:68:0;16252:398:1;7995:68:0;-1:-1:-1;;;;;8076:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8128:32;;1839:25:1;;;8128:32:0;;1812:18:1;8128:32:0;;;;;;;7788:380;;;:::o;14890:2761::-;14997:1;14988:6;:10;14980:46;;;;-1:-1:-1;;;14980:46:0;;16857:2:1;14980:46:0;;;16839:21:1;16896:2;16876:18;;;16869:30;16935:25;16915:18;;;16908:53;16978:18;;14980:46:0;16655:347:1;14980:46:0;-1:-1:-1;;;;;15046:14:0;;;;;;:8;:14;;;;;;;;15045:15;15037:60;;;;-1:-1:-1;;;15037:60:0;;17209:2:1;15037:60:0;;;17191:21:1;;;17228:18;;;17221:30;17287:34;17267:18;;;17260:62;17339:18;;15037:60:0;17007:356:1;15037:60:0;-1:-1:-1;;;;;15117:12:0;;;;;;:8;:12;;;;;;;;15116:13;15108:61;;;;-1:-1:-1;;;15108:61:0;;17570:2:1;15108:61:0;;;17552:21:1;17609:2;17589:18;;;17582:30;17648:34;17628:18;;;17621:62;-1:-1:-1;;;17699:18:1;;;17692:33;17742:19;;15108:61:0;17368:399:1;15108:61:0;15187:14;;;;15183:1178;;;8560:6;;-1:-1:-1;;;;;15222:15:0;;;8560:6;;15222:15;;;;:32;;-1:-1:-1;8560:6:0;;-1:-1:-1;;;;;15241:13:0;;;8560:6;;15241:13;;15222:32;:61;;;;-1:-1:-1;;;;;;15259:24:0;;;;;;:18;:24;;;;;;;;15258:25;15222:61;:88;;;;-1:-1:-1;;;;;;15288:22:0;;;;;;:18;:22;;;;;;;;15287:23;15222:88;15218:1132;;;15339:13;;;;;;;15331:56;;;;-1:-1:-1;;;15331:56:0;;17974:2:1;15331:56:0;;;17956:21:1;18013:2;17993:18;;;17986:30;18052:32;18032:18;;;18025:60;18102:18;;15331:56:0;17772:354:1;15331:56:0;15431:1;15410:18;;:22;:74;;;;;15473:10;;15452:18;;:31;;;;:::i;:::-;15436:12;:48;15410:74;15406:143;;;-1:-1:-1;;;;;15510:12:0;;;;;;:8;:12;;;;;:19;;-1:-1:-1;;15510:19:0;15525:4;15510:19;;;15406:143;-1:-1:-1;;;;;15595:31:0;;;;;;:25;:31;;;;;;;;:60;;;;-1:-1:-1;;;;;;15631:24:0;;;;;;:20;:24;;;;;;;;15630:25;15595:60;15591:744;;;15698:12;;15688:6;:22;;15680:82;;;;-1:-1:-1;;;15680:82:0;;18333:2:1;15680:82:0;;;18315:21:1;18372:2;18352:18;;;18345:30;18411:34;18391:18;;;18384:62;-1:-1:-1;;;18462:18:1;;;18455:45;18517:19;;15680:82:0;18131:411:1;15680:82:0;15819:15;;-1:-1:-1;;;;;5206:18:0;;5179:7;5206:18;;;;;;;;;;;15793:22;;:6;:22;:::i;:::-;:41;;15785:96;;;;-1:-1:-1;;;15785:96:0;;;;;;;:::i;:::-;15591:744;;;-1:-1:-1;;;;;15953:29:0;;;;;;:25;:29;;;;;;;;:60;;;;-1:-1:-1;;;;;;15987:26:0;;;;;;:20;:26;;;;;;;;15986:27;15953:60;15949:386;;;16056:13;;16046:6;:23;;16038:84;;;;-1:-1:-1;;;16038:84:0;;19160:2:1;16038:84:0;;;19142:21:1;19199:2;19179:18;;;19172:30;19238:34;19218:18;;;19211:62;-1:-1:-1;;;19289:18:1;;;19282:46;19345:19;;16038:84:0;18958:412:1;15949:386:0;-1:-1:-1;;;;;16170:24:0;;;;;;:20;:24;;;;;;;;16165:170;;16253:15;;-1:-1:-1;;;;;5206:18:0;;5179:7;5206:18;;;;;;;;;;;16227:22;;:6;:22;:::i;:::-;:41;;16219:96;;;;-1:-1:-1;;;16219:96:0;;;;;;;:::i;:::-;16422:4;16373:28;5206:18;;;;;;;;;;;16478;;16454:42;;;;;;;16510:22;;-1:-1:-1;16521:11:0;;;;;;;16510:22;:36;;;;-1:-1:-1;16537:9:0;;;;16536:10;16510:36;:72;;;;-1:-1:-1;;;;;;16551:31:0;;;;;;:25;:31;;;;;;;;16550:32;16510:72;:101;;;;-1:-1:-1;;;;;;16587:24:0;;;;;;:18;:24;;;;;;;;16586:25;16510:101;:128;;;;-1:-1:-1;;;;;;16616:22:0;;;;;;:18;:22;;;;;;;;16615:23;16510:128;16507:234;;;16655:9;:16;;-1:-1:-1;;16655:16:0;16667:4;16655:16;;;16686:11;:9;:11::i;:::-;16712:9;:17;;-1:-1:-1;;16712:17:0;;;16507:234;-1:-1:-1;;;;;16819:24:0;;16753:11;16819:24;;;:18;:24;;;;;;16753:11;;16819:24;;16818:25;:52;;;;-1:-1:-1;;;;;;16848:22:0;;;;;;:18;:22;;;;;;;;16847:23;16818:52;16815:783;;;16942:1;16921:18;;:22;:74;;;;;16984:10;;16963:18;;:31;;;;:::i;:::-;16947:12;:48;16921:74;16917:525;;;17047:3;17033:11;:6;17042:2;17033:11;:::i;:::-;:17;;;;:::i;:::-;17091:16;;17017:33;;-1:-1:-1;17069:54:0;;17085:4;;-1:-1:-1;;;;;17091:16:0;17017:33;17069:15;:54::i;:::-;16917:525;;;-1:-1:-1;;;;;17183:29:0;;;;;;:25;:29;;;;;;;;:44;;;;;17226:1;17216:7;;:11;17183:44;17179:263;;;17272:3;17262:7;;17253:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;17247:28;;17179:263;;;-1:-1:-1;;;;;17333:31:0;;;;;;:25;:31;;;;;;;;:45;;;;;17377:1;17368:6;;:10;17333:45;17330:112;;;17423:3;17414:6;;17405;:15;;;;:::i;:::-;:21;;;;:::i;:::-;17399:27;;17330:112;17459:7;;17456:87;;17486:41;17502:4;17516;17523:3;17486:15;:41::i;:::-;17567:19;17573:13;17567:3;:19;:::i;:::-;17557:29;;;;:::i;:::-;;;16815:783;17610:33;17626:4;17632:2;17636:6;17610:15;:33::i;:::-;14969:2682;;;;14890:2761;;;:::o;20066:448::-;20150:4;20106:23;5206:18;;;;;;;;;;;;20171:20;;;20167:59;;20208:7;20066:448::o;20167:59::-;20258:18;;;:23;;;:::i;:::-;20240:15;:41;20236:115;;;20316:18;;;:23;;;:::i;:::-;20298:41;;20236:115;20361:34;20379:15;20361:17;:34::i;:::-;20450:16;;20442:64;;20406:12;;-1:-1:-1;;;;;20450:16:0;;20480:21;;20406:12;20442:64;20406:12;20442:64;20480:21;20450:16;20442:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20066:448:0:o;6879:602::-;-1:-1:-1;;;;;7019:20:0;;7011:70;;;;-1:-1:-1;;;7011:70:0;;19710:2:1;7011:70:0;;;19692:21:1;19749:2;19729:18;;;19722:30;19788:34;19768:18;;;19761:62;-1:-1:-1;;;19839:18:1;;;19832:35;19884:19;;7011:70:0;19508:401:1;7011:70:0;-1:-1:-1;;;;;7100:23:0;;7092:71;;;;-1:-1:-1;;;7092:71:0;;20116:2:1;7092:71:0;;;20098:21:1;20155:2;20135:18;;;20128:30;20194:34;20174:18;;;20167:62;-1:-1:-1;;;20245:18:1;;;20238:33;20288:19;;7092:71:0;19914:399:1;7092:71:0;-1:-1:-1;;;;;7200:17:0;;7176:21;7200:17;;;;;;;;;;;7236:23;;;;7228:74;;;;-1:-1:-1;;;7228:74:0;;20520:2:1;7228:74:0;;;20502:21:1;20559:2;20539:18;;;20532:30;20598:34;20578:18;;;20571:62;-1:-1:-1;;;20649:18:1;;;20642:36;20695:19;;7228:74:0;20318:402:1;7228:74:0;-1:-1:-1;;;;;7330:17:0;;;:9;:17;;;;;;;;;;;7350:22;;;7330:42;;7390:20;;;;;;;;:30;;7366:6;;7330:9;7390:30;;7366:6;;7390:30;:::i;:::-;;;;;;;;7455:9;-1:-1:-1;;;;;7438:35:0;7447:6;-1:-1:-1;;;;;7438:35:0;;7466:6;7438:35;;;;1839:25:1;;1827:2;1812:18;;1693:177;7438:35:0;;;;;;;;7000:481;6879:602;;;:::o;17659:472::-;17750:16;;;17764:1;17750:16;;;;;;;;17726:21;;17750:16;;;;;;;;;;-1:-1:-1;17750:16:0;17726:40;;17795:4;17777;17782:1;17777:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;17777:23:0;;;-1:-1:-1;;;;;17777:23:0;;;;;17821:15;-1:-1:-1;;;;;17821:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17811:4;17816:1;17811:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;17811:32:0;;;-1:-1:-1;;;;;17811:32:0;;;;;17854:62;17871:4;17886:15;17904:11;17854:8;:62::i;:::-;17927:196;;-1:-1:-1;;;17927:196:0;;-1:-1:-1;;;;;17927:15:0;:66;;;;:196;;18008:11;;18034:1;;18050:4;;18077;;18097:15;;17927:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17715:416;17659:472;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:247::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;1382:9;1369:23;1401:31;1426:5;1401:31;:::i;:::-;1451:5;1215:247;-1:-1:-1;;;1215:247:1:o;1875:180::-;1934:6;1987:2;1975:9;1966:7;1962:23;1958:32;1955:52;;;2003:1;2000;1993:12;1955:52;-1:-1:-1;2026:23:1;;1875:180;-1:-1:-1;1875:180:1:o;2060:456::-;2137:6;2145;2153;2206:2;2194:9;2185:7;2181:23;2177:32;2174:52;;;2222:1;2219;2212:12;2174:52;2261:9;2248:23;2280:31;2305:5;2280:31;:::i;:::-;2330:5;-1:-1:-1;2387:2:1;2372:18;;2359:32;2400:33;2359:32;2400:33;:::i;:::-;2060:456;;2452:7;;-1:-1:-1;;;2506:2:1;2491:18;;;;2478:32;;2060:456::o;2918:118::-;3004:5;2997:13;2990:21;2983:5;2980:32;2970:60;;3026:1;3023;3016:12;3041:309;3106:6;3114;3167:2;3155:9;3146:7;3142:23;3138:32;3135:52;;;3183:1;3180;3173:12;3135:52;3222:9;3209:23;3241:28;3263:5;3241:28;:::i;3355:382::-;3420:6;3428;3481:2;3469:9;3460:7;3456:23;3452:32;3449:52;;;3497:1;3494;3487:12;3449:52;3536:9;3523:23;3555:31;3580:5;3555:31;:::i;:::-;3605:5;-1:-1:-1;3662:2:1;3647:18;;3634:32;3675:30;3634:32;3675:30;:::i;:::-;3724:7;3714:17;;;3355:382;;;;;:::o;3742:388::-;3810:6;3818;3871:2;3859:9;3850:7;3846:23;3842:32;3839:52;;;3887:1;3884;3877:12;3839:52;3926:9;3913:23;3945:31;3970:5;3945:31;:::i;:::-;3995:5;-1:-1:-1;4052:2:1;4037:18;;4024:32;4065:33;4024:32;4065:33;:::i;4135:750::-;4227:6;4235;4243;4296:2;4284:9;4275:7;4271:23;4267:32;4264:52;;;4312:1;4309;4302:12;4264:52;4352:9;4339:23;4381:18;4422:2;4414:6;4411:14;4408:34;;;4438:1;4435;4428:12;4408:34;4476:6;4465:9;4461:22;4451:32;;4521:7;4514:4;4510:2;4506:13;4502:27;4492:55;;4543:1;4540;4533:12;4492:55;4583:2;4570:16;4609:2;4601:6;4598:14;4595:34;;;4625:1;4622;4615:12;4595:34;4680:7;4673:4;4663:6;4660:1;4656:14;4652:2;4648:23;4644:34;4641:47;4638:67;;;4701:1;4698;4691:12;4638:67;4732:4;4724:13;;;;-1:-1:-1;4756:6:1;-1:-1:-1;;4797:20:1;;4784:34;4827:28;4784:34;4827:28;:::i;:::-;4874:5;4864:15;;;4135:750;;;;;:::o;4890:380::-;4969:1;4965:12;;;;5012;;;5033:61;;5087:4;5079:6;5075:17;5065:27;;5033:61;5140:2;5132:6;5129:14;5109:18;5106:38;5103:161;;5186:10;5181:3;5177:20;5174:1;5167:31;5221:4;5218:1;5211:15;5249:4;5246:1;5239:15;5103:161;;4890:380;;;:::o;5275:356::-;5477:2;5459:21;;;5496:18;;;5489:30;5555:34;5550:2;5535:18;;5528:62;5622:2;5607:18;;5275:356::o;6821:127::-;6882:10;6877:3;6873:20;6870:1;6863:31;6913:4;6910:1;6903:15;6937:4;6934:1;6927:15;6953:168;7026:9;;;7057;;7074:15;;;7068:22;;7054:37;7044:71;;7095:18;;:::i;7126:217::-;7166:1;7192;7182:132;;7236:10;7231:3;7227:20;7224:1;7217:31;7271:4;7268:1;7261:15;7299:4;7296:1;7289:15;7182:132;-1:-1:-1;7328:9:1;;7126:217::o;7773:125::-;7838:9;;;7859:10;;;7856:36;;;7872:18;;:::i;9890:184::-;9960:6;10013:2;10001:9;9992:7;9988:23;9984:32;9981:52;;;10029:1;10026;10019:12;9981:52;-1:-1:-1;10052:16:1;;9890:184;-1:-1:-1;9890:184:1:o;10358:245::-;10425:6;10478:2;10466:9;10457:7;10453:23;10449:32;10446:52;;;10494:1;10491;10484:12;10446:52;10526:9;10520:16;10545:28;10567:5;10545:28;:::i;11451:251::-;11521:6;11574:2;11562:9;11553:7;11549:23;11545:32;11542:52;;;11590:1;11587;11580:12;11542:52;11622:9;11616:16;11641:31;11666:5;11641:31;:::i;14958:127::-;15019:10;15014:3;15010:20;15007:1;15000:31;15050:4;15047:1;15040:15;15074:4;15071:1;15064:15;15090:135;15129:3;15150:17;;;15147:43;;15170:18;;:::i;:::-;-1:-1:-1;15217:1:1;15206:13;;15090:135::o;18547:406::-;18749:2;18731:21;;;18788:2;18768:18;;;18761:30;18827:34;18822:2;18807:18;;18800:62;-1:-1:-1;;;18893:2:1;18878:18;;18871:40;18943:3;18928:19;;18547:406::o;19375:128::-;19442:9;;;19463:11;;;19460:37;;;19477:18;;:::i;20857:980::-;21119:4;21167:3;21156:9;21152:19;21198:6;21187:9;21180:25;21224:2;21262:6;21257:2;21246:9;21242:18;21235:34;21305:3;21300:2;21289:9;21285:18;21278:31;21329:6;21364;21358:13;21395:6;21387;21380:22;21433:3;21422:9;21418:19;21411:26;;21472:2;21464:6;21460:15;21446:29;;21493:1;21503:195;21517:6;21514:1;21511:13;21503:195;;;21582:13;;-1:-1:-1;;;;;21578:39:1;21566:52;;21673:15;;;;21638:12;;;;21614:1;21532:9;21503:195;;;-1:-1:-1;;;;;;;21754:32:1;;;;21749:2;21734:18;;21727:60;-1:-1:-1;;;21818:3:1;21803:19;21796:35;21715:3;20857:980;-1:-1:-1;;;20857:980:1:o

Swarm Source

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