ETH Price: $2,396.89 (-3.61%)

Token

The Curse (REDEEM)
 

Overview

Max Total Supply

9,596,536.232620819 REDEEM

Holders

108

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.077654827 REDEEM

Value
$0.00
0xc28c705107140dbe596e181f913d98b481d7dac5
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:
Token02

Compiler Version
v0.8.8+commit.dddeac2f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-23
*/

// Website - http://redeemthecurse.com/ 
// SPDX-License-Identifier: MIT
pragma solidity 0.8.8;

// Interfaces
    interface IUniswapV2Pair {
        event Approval(address indexed owner, address indexed spender, uint value);
        event Transfer(address indexed from, address indexed to, uint value);

        function name() external pure returns (string memory);
        function symbol() external pure returns (string memory);
        function decimals() external pure returns (uint8);
        function totalSupply() external view returns (uint);
        function balanceOf(address owner) external view returns (uint);
        function allowance(address owner, address spender) external view returns (uint);

        function approve(address spender, uint value) external returns (bool);
        function transfer(address to, uint value) external returns (bool);
        function transferFrom(address from, address to, uint value) external returns (bool);

        event Swap(
            address indexed sender,
            uint amount0In,
            uint amount1In,
            uint amount0Out,
            uint amount1Out,
            address indexed to
        );
        event Sync(uint112 reserve0, uint112 reserve1);

        function factory() external view returns (address);
        function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    }

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

    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 Ownable {
        address private _owner;

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

        constructor() { _transferOwnership(msg.sender); }

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

        function renounceOwnership() public virtual onlyOwner {
            _transferOwnership(address(0));
        }

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

        function _transferOwnership(address newOwner) internal virtual {
            address oldOwner = _owner;
            _owner = newOwner;
            emit OwnershipTransferred(oldOwner, newOwner);
        }
        
        modifier onlyOwner() {
            require(owner() == msg.sender, "Ownable: caller is not the owner");
            _;
        }
    }

    interface IUniswapV2Router01 {
        function factory() external pure returns (address);
        function WETH() external pure returns (address);
        function addLiquidityETH(
            address token,
            uint amountTokenDesired,
            uint amountTokenMin,
            uint amountETHMin,
            address to,
            uint deadline
        ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    }

    interface IUniswapV2Router02 is IUniswapV2Router01 {
        function swapExactTokensForETHSupportingFeeOnTransferTokens(
            uint amountIn, 
            uint amountOutMin, 
            address[] calldata path, 
            address to, 
            uint deadline
        ) external;
    }

// Contracts
    contract ERC20 is 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 9; }
        function totalSupply() public view virtual override returns (uint256) { return _totalSupply; }
        function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; }
        function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; }

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

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

        function transferFrom(address sender, address recipient, uint256 amount ) public virtual override returns (bool) {
            uint256 currentAllowance = _allowances[sender][msg.sender];
            if (currentAllowance != type(uint256).max) {
                require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
                _approve(sender, msg.sender, currentAllowance - amount);
            }
            _transfer(sender, recipient, amount);
            return true;
        }

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

        function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
            uint256 currentAllowance = _allowances[msg.sender][spender];
            require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
            _approve(msg.sender, 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");
            _balances[sender] = senderBalance - amount;
            _balances[recipient] += amount;
            emit Transfer(sender, recipient, amount);
        }

        function _mint(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 _burn(address account, uint256 amount) internal virtual {
            require(account != address(0), "ERC20: burn from the zero address");
            uint256 accountBalance = _balances[account];
            require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
            _balances[account] = accountBalance - amount;
            _totalSupply = _totalSupply - amount;
            emit Transfer(account, address(0), 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 Token02 is ERC20, Ownable {

        IUniswapV2Router02 public immutable uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address public immutable uniswapV2Pair;
        address public constant deadAddress = address(0xdead);

        bool private _swapping;
        bool private _isBuy;
        uint256 private _launchTime;

        address private MarketingWallet = msg.sender;
        address public _Deployer = msg.sender;
        
        uint256 public maxTransactionAmount;
        uint256 public swapTokensAtAmount;
        uint256 public maxWallet;
            
        bool public limitsInEffect = true;
        bool public tradingActive = false;

        mapping(address => bool) public isBot;
        mapping(address => uint256) private _holderLastTransferTimestamp;
        bool public transferDelayEnabled = true;
        
        uint256 public buyTotalFees = 4;
        uint256 public buyMarketingFee = 4;
        uint256 public buyBurnFee = 0;
        uint256 public sellTotalFees = 10;
        uint256 public sellMarketingFee = 5;
        uint256 public sellBurnFee = 5;

        uint256 public tokensForMarketing;
        uint256 public tokensForBurn;
        uint256 public HOUR = 3600;
        
        mapping (address => bool) private _isExcludedFromFees;
        mapping (address => bool) public _isExcludedMaxTransactionAmount;
        mapping (address => bool) public pair;

        mapping(address => uint256) lastTX;
        mapping(address => uint256) stakeTime;
        mapping(address => uint256) userStake;
        mapping(address => bool) nonJeet;
        uint256 private userTokens;

        event MarketingWalletUpdated(address indexed newWallet, address indexed oldWallet);

        constructor() ERC20("The Curse", "REDEEM") {
            
            uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
            _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

            uint256 totalSupply = 10000000 * (10 ** 9);
            
            maxTransactionAmount = totalSupply * 2 / 100; // 2% maxTransactionAmountTxn
            maxWallet = totalSupply * 3 / 100; // 3% maxWallet
            swapTokensAtAmount = totalSupply * 5 / 10000; // 0.05% swap wallet

            _isExcludedFromFees[msg.sender] = true;
            _isExcludedFromFees[address(this)] = true;
            _isExcludedFromFees[address(0xdead)] = true;

            _isExcludedMaxTransactionAmount[msg.sender] = true;
            _isExcludedMaxTransactionAmount[address(this)] = true;
            _isExcludedMaxTransactionAmount[address(0xdead)] = true;
            _isExcludedMaxTransactionAmount[address(uniswapV2Router)] = true;
            _isExcludedMaxTransactionAmount[address(uniswapV2Pair)] = true;

            _mint(msg.sender, totalSupply);
        }

        receive() external payable { }

        // View
            function isExcludedFromFees(address account) public view returns(bool) { return _isExcludedFromFees[account]; }
            function getNonJeetStatus() public view returns(bool) { return nonJeet[msg.sender]; }
            function getMyTax() public view returns(uint256) { return _getFees(msg.sender); }
            function getMyStake() public view returns(uint256) { return userStake[msg.sender]; }

            function getMyStakeTime() public view returns(uint256) {
                if(block.timestamp - stakeTime[msg.sender] == block.timestamp){ return 0; }
                else{ return block.timestamp - stakeTime[msg.sender]; }
            }

        // Public
            function deposit() public {
                uint256 v = balanceOf(msg.sender);
                    userStake[msg.sender] += v;
                    stakeTime[msg.sender] = block.timestamp;
                    userTokens += v;
                    super._transfer(msg.sender, address(this), v);
            }

            function withdraw() public {
                require(userStake[msg.sender] != 0, "User has no tokens");
                require(stakeTime[msg.sender] - block.timestamp > (HOUR * 16), "Dont be a jeet");
                    uint256 v = userStake[msg.sender];
                    userStake[msg.sender] = 0;
                    stakeTime[msg.sender] = 0;
                    nonJeet[msg.sender] = true;
                    userTokens -= v;
                    super._transfer(address(this), msg.sender, v);
            }

            function emergencyWithdraw() public {
                require(userStake[msg.sender] != 0, "User has no tokens");
                    uint256 v = userStake[msg.sender];
                    userStake[msg.sender] = 0;
                    stakeTime[msg.sender] = 0;
                    userTokens -= v;
                    super._transfer(address(this), msg.sender, v);
            }

        // Owner
            function setNonJeet(address u, bool s) public onlyOwner{ nonJeet[u] = s; }
            function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; }

            function setAutomatedMarketMakerPair(address p, bool value) public onlyOwner {
                require(p != uniswapV2Pair, "The pair cannot be removed");
                _setAutomatedMarketMakerPair(p, value);
            }

            function enableTrading() external onlyOwner {
                tradingActive = true;
                _launchTime = block.timestamp + 2;
            }
        
            function removeLimits() external onlyOwner returns (bool) {
                limitsInEffect = false;
                return true;
            }

            function disableTransferDelay() external onlyOwner returns (bool) {
                transferDelayEnabled = false;
                return true;
            }

            function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner returns (bool) {
                require(newAmount >= totalSupply() / 100000, "Swap amount cannot be lower than 0.001% total supply.");
                require(newAmount <= totalSupply() * 5 / 1000, "Swap amount cannot be higher than 0.5% total supply.");
                swapTokensAtAmount = newAmount;
                return true;
            }
            
            function updateMaxTxnAmount(uint256 newNum) external onlyOwner {
                require(newNum >= (totalSupply() * 1 / 1000) / 1e18, "Cannot set maxTransactionAmount lower than 0.1%");
                maxTransactionAmount = newNum * 1e18;
            }

            function updateMaxWalletAmount(uint256 newNum) external onlyOwner {
                require(newNum >= (totalSupply() * 5 / 1000)/1e18, "Cannot set maxWallet lower than 0.5%");
                maxWallet = newNum * 1e18;
            }
            
            function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner {
                _isExcludedMaxTransactionAmount[updAds] = isEx;
            }

            function updateMarketingWallet(address newWallet) external onlyOwner {
                emit MarketingWalletUpdated(newWallet, MarketingWallet);
                MarketingWallet = newWallet;
            }
        
            function addBots(address[] memory bots) public onlyOwner() {
                for (uint i = 0; i < bots.length; i++) {
                    if (bots[i] != uniswapV2Pair && bots[i] != address(uniswapV2Router)) {
                        isBot[bots[i]] = true;
                    }
                }
            }
            
            function removeBots(address[] memory bots) public onlyOwner() {
                for (uint i = 0; i < bots.length; i++) { isBot[bots[i]] = false; }
            }

        // Internal
            function _setAutomatedMarketMakerPair(address p, bool value) private { pair[p] = value; }

            function _transfer(address from, address to, uint256 amount) internal override {
                require(from != address(0), "ERC20: transfer from the zero address");
                require(to != address(0), "ERC20: transfer to the zero address");
                require(!isBot[from], "Your address has been marked as a bot/sniper, you are unable to transfer or swap.");
                
                if (amount == 0) { super._transfer(from, to, 0); return; }
                if (block.timestamp < _launchTime) isBot[to] = true;

                if (limitsInEffect) {
                    if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !_swapping) {
                        if (!tradingActive) { require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active."); }
    
                        if (transferDelayEnabled){
                            if (to != owner() && to != address(uniswapV2Router) && to != address(uniswapV2Pair)){
                                require(_holderLastTransferTimestamp[tx.origin] < block.number);
                                _holderLastTransferTimestamp[tx.origin] = block.number;
                            }
                        }
                        
                        // On buy
                        if (pair[from] && !_isExcludedMaxTransactionAmount[to]) {
                            require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount.");
                            require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                        }
                        
                        // On sell
                        else if (pair[to] && !_isExcludedMaxTransactionAmount[from]) {
                            require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount.");
                        }
                        else if (!_isExcludedMaxTransactionAmount[to]){
                            require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                        }
                    }
                }
                
                uint256 contractTokenBalance = balanceOf(address(this)) - userTokens;
                bool canSwap = contractTokenBalance >= swapTokensAtAmount;

                if (canSwap && !_swapping && !pair[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
                    _swapping = true;
                    swapBack();
                    _swapping = false;
                }

                bool takeFee = !_swapping;

                if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) takeFee = false;
                
                uint256 buyFees = 0;
                uint256 sellFees = 0;
                
                if (takeFee) { // On sell
                    if (pair[to] && sellTotalFees > 0){
                        _isBuy = false;
                        uint256 f = _getFees(from);
                        sellFees = (amount * f) / 100;
                        tokensForMarketing += sellFees * 75 / 100;
                        tokensForBurn += sellFees - tokensForMarketing;
                        super._transfer(from, address(this), sellFees);
                        _burn(address(this), tokensForBurn);
                        tokensForBurn = 0;
                        amount -= sellFees;
                    } // on buy
                    else if(pair[from] && buyTotalFees > 0) {
                        _isBuy = true;
                        buyFees = (amount * buyTotalFees) / 100;
                        tokensForMarketing += buyFees;
                        super._transfer(from, address(this), buyFees);
                        amount -= buyFees;
                    }
                } 
                
                if(pair[from]){ lastTX[to] = block.timestamp; }
                if(pair[to]){
                    lastTX[from] = block.timestamp;
                    if(nonJeet[from]){ nonJeet[from] = false; }
                }
                
                super._transfer(from, to, amount);
            }

            function _getFees(address u) internal view returns (uint256){
                if(nonJeet[u]){ return 4; }
                else{
                    uint256 mult;
                    uint256 base = 20;
                    uint256 hold = block.timestamp - lastTX[u];
                    if(hold == block.timestamp){ mult = 0; }
                    else{ mult = hold / (HOUR * 2); }
                    if(base - mult < 6){ return 6; }
                    else{ return base - mult; }
                }
            }

            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 _addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
                _approve(address(this), address(uniswapV2Router), tokenAmount);

                uniswapV2Router.addLiquidityETH{value: ethAmount}(
                    address(this),
                    tokenAmount,
                    0,
                    0,
                    owner(),
                    block.timestamp
                );
            }

            function swapBack() private {
                uint256 contractBalance = balanceOf(address(this)) - userTokens;
                bool success;
                if(contractBalance == 0) {return;}
                if(contractBalance > swapTokensAtAmount * 20){ contractBalance = swapTokensAtAmount * 20; }
                uint256 tokenLP = contractBalance / 3;
                uint256 spot = address(this).balance;

                _swapTokensForEth(contractBalance - tokenLP); 

                uint256 spot2 = address(this).balance - spot;
                require(spot2 != 0, "Nothing gained from swap");
                uint256 LPETH = spot2 / 2;

                _addLiquidity(tokenLP, LPETH);

                tokensForMarketing = 0;
                (success,) = address(MarketingWallet).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":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"MarketingWalletUpdated","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":"HOUR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMyStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMyStakeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNonJeetStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots","type":"address[]"}],"name":"removeBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"p","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"u","type":"address"},{"internalType":"bool","name":"s","type":"bool"}],"name":"setNonJeet","outputs":[],"stateMutability":"nonpayable","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":"tokensForBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"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 IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040527f7a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000060805260078054336001600160a01b03199182168117909255600880549091169091179055600c805461ffff19166001908117909155600f805460ff19169091179055600460108190556011556000601255600a60135560056014819055601555610e106018553480156200009957600080fd5b50604080518082018252600981526854686520437572736560b81b60208083019182528351808501909452600684526552454445454d60d01b908401528151919291620000e99160039162000549565b508051620000ff90600490602084019062000549565b50505062000113336200040f60201b60201c565b60805160601c6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200015257600080fd5b505afa15801562000167573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018d9190620005ef565b6001600160a01b031663c9c653963060805160601c6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001db57600080fd5b505afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002169190620005ef565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200025f57600080fd5b505af115801562000274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029a9190620005ef565b606081901b6001600160601b03191660a0526001600160a01b03166000908152601b60205260409020805460ff19166001179055662386f26fc100006064620002e582600262000637565b620002f1919062000659565b60095560646200030382600362000637565b6200030f919062000659565b600b556127106200032282600562000637565b6200032e919062000659565b600a553360008181526019602090815260408083208054600160ff1991821681179092553080865283862080548316841790557fc73b1d6eda13a615b81c31830292dbbbf5fbb07f472982e223002bd83d5c3dc48054831684179055868652601a909452828520805482168317905592845281842080548416821790557f428bdc965569ef4717764ecfd84e88946a9a226b52b813e6ab6a7f46aad86e888054841682179055608051606090811c8552828520805485168317905560a051901c845292208054909116909117905562000408908262000461565b50620006d4565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620004bc5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620004d091906200067c565b90915550506001600160a01b03821660009081526020819052604081208054839290620004ff9084906200067c565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b828054620005579062000697565b90600052602060002090601f0160209004810192826200057b5760008555620005c6565b82601f106200059657805160ff1916838001178555620005c6565b82800160010185558215620005c6579182015b82811115620005c6578251825591602001919060010190620005a9565b50620005d4929150620005d8565b5090565b5b80821115620005d45760008155600101620005d9565b6000602082840312156200060257600080fd5b81516001600160a01b03811681146200061a57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161562000654576200065462000621565b500290565b6000826200067757634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111562000692576200069262000621565b500190565b600181811c90821680620006ac57607f821691505b60208210811415620006ce57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160601c60a05160601c612fb662000746600039600081816105e80152818161110f015281816116480152611ca40152600081816104230152818161169e01528181611c6601528181612822015281816128ea01528181612926015281816129a001526129c70152612fb66000f3fe60806040526004361061037a5760003560e01c80637fb992f7116101d1578063c18bc19511610102578063d85ba063116100a0578063e71dc3f51161006f578063e71dc3f514610a2a578063e884f26014610a40578063f2fde38b14610a55578063f8b45b0514610a7557600080fd5b8063d85ba063146109a3578063db2e21bc146109b9578063dd62ed3e146109ce578063e2f4560514610a1457600080fd5b8063cdb17760116100dc578063cdb1776014610939578063d0e30db01461094e578063d257b34f14610963578063d34628cc1461098357600080fd5b8063c18bc195146108e9578063c876d0b914610909578063c8c8ebe41461092357600080fd5b8063a39dc9be1161016f578063aacebbe311610149578063aacebbe314610874578063adb873bd14610894578063bbc0c742146108aa578063c0246668146108c957600080fd5b8063a39dc9be1461081e578063a457c2d714610834578063a9059cbb1461085457600080fd5b80638da5cb5b116101ab5780638da5cb5b146107b557806392136913146107d357806395d89b41146107e95780639a7a23d6146107fe57600080fd5b80637fb992f71461074b5780638a8c523c1461077b5780638b59a0a81461079057600080fd5b80633bbac579116102ab5780636a486a8e11610249578063715018a611610223578063715018a6146106eb578063751039fc146107005780637571336a146107155780637bce5a041461073557600080fd5b80636a486a8e1461067f5780636c3bbfd71461069557806370a08231146106b557600080fd5b806349bd5a5e1161028557806349bd5a5e146105d65780634a62bb651461060a5780634fbee193146106245780635499dca51461065d57600080fd5b80633bbac5791461057c5780633ccfd60b146105ac57806346eadc88146105c157600080fd5b8063203e727e11610318578063275b56c5116102f2578063275b56c51461050a57806327c8f8351461052a578063313ce56714610540578063395093511461055c57600080fd5b8063203e727e146104a857806321f5d2d9146104ca57806323b872dd146104ea57600080fd5b80631694505e116103545780631694505e1461041157806318160ddd1461045d5780631d7778561461047c5780631f3fed8f1461049257600080fd5b806306fdde0314610386578063095ea7b3146103b157806310d5de53146103e157600080fd5b3661038157005b600080fd5b34801561039257600080fd5b5061039b610a8b565b6040516103a89190612aaf565b60405180910390f35b3480156103bd57600080fd5b506103d16103cc366004612b24565b610b1d565b60405190151581526020016103a8565b3480156103ed57600080fd5b506103d16103fc366004612b50565b601a6020526000908152604090205460ff1681565b34801561041d57600080fd5b506104457f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103a8565b34801561046957600080fd5b506002545b6040519081526020016103a8565b34801561048857600080fd5b5061046e60175481565b34801561049e57600080fd5b5061046e60165481565b3480156104b457600080fd5b506104c86104c3366004612b74565b610b33565b005b3480156104d657600080fd5b506104c86104e5366004612b8d565b610c28565b3480156104f657600080fd5b506103d1610505366004612bcb565b610c8c565b34801561051657600080fd5b50600854610445906001600160a01b031681565b34801561053657600080fd5b5061044561dead81565b34801561054c57600080fd5b50604051600981526020016103a8565b34801561056857600080fd5b506103d1610577366004612b24565b610d44565b34801561058857600080fd5b506103d1610597366004612b50565b600d6020526000908152604090205460ff1681565b3480156105b857600080fd5b506104c8610d7b565b3480156105cd57600080fd5b5061046e610e8d565b3480156105e257600080fd5b506104457f000000000000000000000000000000000000000000000000000000000000000081565b34801561061657600080fd5b50600c546103d19060ff1681565b34801561063057600080fd5b506103d161063f366004612b50565b6001600160a01b031660009081526019602052604090205460ff1690565b34801561066957600080fd5b50336000908152601e602052604090205461046e565b34801561068b57600080fd5b5061046e60135481565b3480156106a157600080fd5b506104c86106b0366004612c22565b610ed4565b3480156106c157600080fd5b5061046e6106d0366004612b50565b6001600160a01b031660009081526020819052604090205490565b3480156106f757600080fd5b506104c8610f79565b34801561070c57600080fd5b506103d1610fbe565b34801561072157600080fd5b506104c8610730366004612b8d565b611009565b34801561074157600080fd5b5061046e60115481565b34801561075757600080fd5b506103d1610766366004612b50565b601b6020526000908152604090205460ff1681565b34801561078757600080fd5b506104c861106d565b34801561079c57600080fd5b50336000908152601f602052604090205460ff166103d1565b3480156107c157600080fd5b506005546001600160a01b0316610445565b3480156107df57600080fd5b5061046e60145481565b3480156107f557600080fd5b5061039b6110c5565b34801561080a57600080fd5b506104c8610819366004612b8d565b6110d4565b34801561082a57600080fd5b5061046e60185481565b34801561084057600080fd5b506103d161084f366004612b24565b6111b7565b34801561086057600080fd5b506103d161086f366004612b24565b611252565b34801561088057600080fd5b506104c861088f366004612b50565b61125f565b3480156108a057600080fd5b5061046e60155481565b3480156108b657600080fd5b50600c546103d190610100900460ff1681565b3480156108d557600080fd5b506104c86108e4366004612b8d565b6112f5565b3480156108f557600080fd5b506104c8610904366004612b74565b611359565b34801561091557600080fd5b50600f546103d19060ff1681565b34801561092f57600080fd5b5061046e60095481565b34801561094557600080fd5b5061046e611439565b34801561095a57600080fd5b506104c8611444565b34801561096f57600080fd5b506103d161097e366004612b74565b6114a7565b34801561098f57600080fd5b506104c861099e366004612c22565b611601565b3480156109af57600080fd5b5061046e60105481565b3480156109c557600080fd5b506104c861175b565b3480156109da57600080fd5b5061046e6109e9366004612ce7565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610a2057600080fd5b5061046e600a5481565b348015610a3657600080fd5b5061046e60125481565b348015610a4c57600080fd5b506103d16117e0565b348015610a6157600080fd5b506104c8610a70366004612b50565b61182b565b348015610a8157600080fd5b5061046e600b5481565b606060038054610a9a90612d15565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac690612d15565b8015610b135780601f10610ae857610100808354040283529160200191610b13565b820191906000526020600020905b815481529060010190602001808311610af657829003601f168201915b5050505050905090565b6000610b2a3384846118d2565b50600192915050565b33610b466005546001600160a01b031690565b6001600160a01b031614610b755760405162461bcd60e51b8152600401610b6c90612d50565b60405180910390fd5b670de0b6b3a76400006103e8610b8a60025490565b610b95906001612d9b565b610b9f9190612dba565b610ba99190612dba565b811015610c105760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b6064820152608401610b6c565b610c2281670de0b6b3a7640000612d9b565b60095550565b33610c3b6005546001600160a01b031690565b6001600160a01b031614610c615760405162461bcd60e51b8152600401610b6c90612d50565b6001600160a01b03919091166000908152601f60205260409020805460ff1916911515919091179055565b6001600160a01b03831660009081526001602090815260408083203384529091528120546000198114610d2e5782811015610d1a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610b6c565b610d2e8533610d298685612ddc565b6118d2565b610d398585856119f7565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610b2a918590610d29908690612df3565b336000908152601e6020526040902054610dcc5760405162461bcd60e51b81526020600482015260126024820152715573657220686173206e6f20746f6b656e7360701b6044820152606401610b6c565b601854610dda906010612d9b565b336000908152601d6020526040902054610df5904290612ddc565b11610e335760405162461bcd60e51b815260206004820152600e60248201526d111bdb9d0818994818481a99595d60921b6044820152606401610b6c565b336000908152601e60209081526040808320805490849055601d8352818420849055601f8352908320805460ff1916600117905581549092839291610e79908490612ddc565b90915550610e8a90503033836122dd565b50565b336000908152601d60205260408120544290610ea99082612ddc565b1415610eb55750600090565b336000908152601d6020526040902054610ecf9042612ddc565b905090565b33610ee76005546001600160a01b031690565b6001600160a01b031614610f0d5760405162461bcd60e51b8152600401610b6c90612d50565b60005b8151811015610f75576000600d6000848481518110610f3157610f31612e0b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610f6d81612e21565b915050610f10565b5050565b33610f8c6005546001600160a01b031690565b6001600160a01b031614610fb25760405162461bcd60e51b8152600401610b6c90612d50565b610fbc600061243b565b565b600033610fd36005546001600160a01b031690565b6001600160a01b031614610ff95760405162461bcd60e51b8152600401610b6c90612d50565b50600c805460ff19169055600190565b3361101c6005546001600160a01b031690565b6001600160a01b0316146110425760405162461bcd60e51b8152600401610b6c90612d50565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b336110806005546001600160a01b031690565b6001600160a01b0316146110a65760405162461bcd60e51b8152600401610b6c90612d50565b600c805461ff0019166101001790556110c0426002612df3565b600655565b606060048054610a9a90612d15565b336110e76005546001600160a01b031690565b6001600160a01b03161461110d5760405162461bcd60e51b8152600401610b6c90612d50565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316141561118f5760405162461bcd60e51b815260206004820152601a60248201527f54686520706169722063616e6e6f742062652072656d6f7665640000000000006044820152606401610b6c565b6001600160a01b0382166000908152601b60205260409020805460ff19168215151790555050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156112395760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610b6c565b6112483385610d298685612ddc565b5060019392505050565b6000610b2a3384846119f7565b336112726005546001600160a01b031690565b6001600160a01b0316146112985760405162461bcd60e51b8152600401610b6c90612d50565b6007546040516001600160a01b03918216918316907f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6790600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b336113086005546001600160a01b031690565b6001600160a01b03161461132e5760405162461bcd60e51b8152600401610b6c90612d50565b6001600160a01b03919091166000908152601960205260409020805460ff1916911515919091179055565b3361136c6005546001600160a01b031690565b6001600160a01b0316146113925760405162461bcd60e51b8152600401610b6c90612d50565b670de0b6b3a76400006103e86113a760025490565b6113b2906005612d9b565b6113bc9190612dba565b6113c69190612dba565b8110156114215760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b6064820152608401610b6c565b61143381670de0b6b3a7640000612d9b565b600b5550565b6000610ecf3361248d565b3360009081526020818152604080832054601e909252822080549192839261146d908490612df3565b9091555050336000908152601d6020908152604082204290558054839290611496908490612df3565b90915550610e8a90503330836122dd565b6000336114bc6005546001600160a01b031690565b6001600160a01b0316146114e25760405162461bcd60e51b8152600401610b6c90612d50565b620186a06114ef60025490565b6114f99190612dba565b8210156115665760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610b6c565b6103e861157260025490565b61157d906005612d9b565b6115879190612dba565b8211156115f35760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610b6c565b50600a81905560015b919050565b336116146005546001600160a01b031690565b6001600160a01b03161461163a5760405162461bcd60e51b8152600401610b6c90612d50565b60005b8151811015610f75577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682828151811061168257611682612e0b565b60200260200101516001600160a01b0316141580156116ec57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168282815181106116d8576116d8612e0b565b60200260200101516001600160a01b031614155b15611749576001600d600084848151811061170957611709612e0b565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8061175381612e21565b91505061163d565b336000908152601e60205260409020546117ac5760405162461bcd60e51b81526020600482015260126024820152715573657220686173206e6f20746f6b656e7360701b6044820152606401610b6c565b336000908152601e60209081526040808320805490849055601d835290832083905581549092839291610e79908490612ddc565b6000336117f56005546001600160a01b031690565b6001600160a01b03161461181b5760405162461bcd60e51b8152600401610b6c90612d50565b50600f805460ff19169055600190565b3361183e6005546001600160a01b031690565b6001600160a01b0316146118645760405162461bcd60e51b8152600401610b6c90612d50565b6001600160a01b0381166118c95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b6c565b610e8a8161243b565b6001600160a01b0383166119345760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b6c565b6001600160a01b0382166119955760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b6c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316611a1d5760405162461bcd60e51b8152600401610b6c90612e3c565b6001600160a01b038216611a435760405162461bcd60e51b8152600401610b6c90612e81565b6001600160a01b0383166000908152600d602052604090205460ff1615611aec5760405162461bcd60e51b815260206004820152605160248201527f596f7572206164647265737320686173206265656e206d61726b65642061732060448201527f6120626f742f736e697065722c20796f752061726520756e61626c6520746f206064820152703a3930b739b332b91037b91039bbb0b81760791b608482015260a401610b6c565b80611b0257611afd838360006122dd565b505050565b600654421015611b30576001600160a01b0382166000908152600d60205260409020805460ff191660011790555b600c5460ff1615611f72576005546001600160a01b03848116911614801590611b6757506005546001600160a01b03838116911614155b8015611b7b57506001600160a01b03821615155b8015611b9257506001600160a01b03821661dead14155b8015611ba85750600554600160a01b900460ff16155b15611f7257600c54610100900460ff16611c40576001600160a01b03831660009081526019602052604090205460ff1680611bfb57506001600160a01b03821660009081526019602052604090205460ff165b611c405760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610b6c565b600f5460ff1615611d0c576005546001600160a01b03838116911614801590611c9b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b8015611cd957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b15611d0c57326000908152600e60205260409020544311611cf957600080fd5b326000908152600e602052604090204390555b6001600160a01b0383166000908152601b602052604090205460ff168015611d4d57506001600160a01b0382166000908152601a602052604090205460ff16155b15611e3157600954811115611dc25760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610b6c565b600b546001600160a01b038316600090815260208190526040902054611de89083612df3565b1115611e2c5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610b6c565b611f72565b6001600160a01b0382166000908152601b602052604090205460ff168015611e7257506001600160a01b0383166000908152601a602052604090205460ff16155b15611ee857600954811115611e2c5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610b6c565b6001600160a01b0382166000908152601a602052604090205460ff16611f7257600b546001600160a01b038316600090815260208190526040902054611f2e9083612df3565b1115611f725760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610b6c565b60208054306000908152918290526040822054611f8f9190612ddc565b600a5490915081108015908190611fb05750600554600160a01b900460ff16155b8015611fd557506001600160a01b0385166000908152601b602052604090205460ff16155b8015611ffa57506001600160a01b03851660009081526019602052604090205460ff16155b801561201f57506001600160a01b03841660009081526019602052604090205460ff16155b1561204d576005805460ff60a01b1916600160a01b17905561203f61253c565b6005805460ff60a01b191690555b6005546001600160a01b03861660009081526019602052604090205460ff600160a01b90920482161591168061209b57506001600160a01b03851660009081526019602052604090205460ff165b156120a4575060005b600080821561221b576001600160a01b0387166000908152601b602052604090205460ff1680156120d757506000601354115b1561218d576005805460ff60a81b1916905560006120f48961248d565b905060646121028289612d9b565b61210c9190612dba565b9150606461211b83604b612d9b565b6121259190612dba565b601660008282546121369190612df3565b90915550506016546121489083612ddc565b601760008282546121599190612df3565b9091555061216a90508930846122dd565b61217630601754612685565b60006017556121858288612ddc565b96505061221b565b6001600160a01b0388166000908152601b602052604090205460ff1680156121b757506000601054115b1561221b576005805460ff60a81b1916600160a81b1790556010546064906121df9088612d9b565b6121e99190612dba565b915081601660008282546121fd9190612df3565b9091555061220e90508830846122dd565b6122188287612ddc565b95505b6001600160a01b0388166000908152601b602052604090205460ff1615612258576001600160a01b0387166000908152601c602052604090204290555b6001600160a01b0387166000908152601b602052604090205460ff16156122c8576001600160a01b0388166000908152601c60209081526040808320429055601f90915290205460ff16156122c8576001600160a01b0388166000908152601f60205260409020805460ff191690555b6122d38888886122dd565b5050505050505050565b6001600160a01b0383166123035760405162461bcd60e51b8152600401610b6c90612e3c565b6001600160a01b0382166123295760405162461bcd60e51b8152600401610b6c90612e81565b6001600160a01b038316600090815260208190526040902054818110156123a15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b6c565b6123ab8282612ddc565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906123e1908490612df3565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161242d91815260200190565b60405180910390a350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0381166000908152601f602052604081205460ff16156124b657506004919050565b6001600160a01b0382166000908152601c602052604081205460149082906124de9042612ddc565b9050428114156124f1576000925061250c565b6018546124ff906002612d9b565b6125099082612dba565b92505b60066125188484612ddc565b101561252957506006949350505050565b6125338383612ddc565b95945050505050565b602080543060009081529182905260408220546125599190612ddc565b9050600081612566575050565b600a54612574906014612d9b565b82111561258c57600a54612589906014612d9b565b91505b6000612599600384612dba565b9050476125ae6125a98386612ddc565b6127cb565b60006125ba8247612ddc565b9050806126095760405162461bcd60e51b815260206004820152601860248201527f4e6f7468696e67206761696e65642066726f6d207377617000000000000000006044820152606401610b6c565b6000612616600283612dba565b9050612622848261299a565b600060168190556007546040516001600160a01b039091169147919081818185875af1925050503d8060008114612675576040519150601f19603f3d011682016040523d82523d6000602084013e61267a565b606091505b505050505050505050565b6001600160a01b0382166126e55760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610b6c565b6001600160a01b038216600090815260208190526040902054818110156127595760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610b6c565b6127638282612ddc565b6001600160a01b03841660009081526020819052604090205560025461278a908390612ddc565b6002556040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016119ea565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061280057612800612e0b565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561287957600080fd5b505afa15801561288d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128b19190612ec4565b816001815181106128c4576128c4612e0b565b60200260200101906001600160a01b031690816001600160a01b03168152505061290f307f0000000000000000000000000000000000000000000000000000000000000000846118d2565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790612964908590600090869030904290600401612ee1565b600060405180830381600087803b15801561297e57600080fd5b505af1158015612992573d6000803e3d6000fd5b505050505050565b6129c5307f0000000000000000000000000000000000000000000000000000000000000000846118d2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d719823085600080612a0c6005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015612a6f57600080fd5b505af1158015612a83573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612aa89190612f52565b5050505050565b600060208083528351808285015260005b81811015612adc57858101830151858201604001528201612ac0565b81811115612aee576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610e8a57600080fd5b80356115fc81612b04565b60008060408385031215612b3757600080fd5b8235612b4281612b04565b946020939093013593505050565b600060208284031215612b6257600080fd5b8135612b6d81612b04565b9392505050565b600060208284031215612b8657600080fd5b5035919050565b60008060408385031215612ba057600080fd5b8235612bab81612b04565b915060208301358015158114612bc057600080fd5b809150509250929050565b600080600060608486031215612be057600080fd5b8335612beb81612b04565b92506020840135612bfb81612b04565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215612c3557600080fd5b823567ffffffffffffffff80821115612c4d57600080fd5b818501915085601f830112612c6157600080fd5b813581811115612c7357612c73612c0c565b8060051b604051601f19603f83011681018181108582111715612c9857612c98612c0c565b604052918252848201925083810185019188831115612cb657600080fd5b938501935b82851015612cdb57612ccc85612b19565b84529385019392850192612cbb565b98975050505050505050565b60008060408385031215612cfa57600080fd5b8235612d0581612b04565b91506020830135612bc081612b04565b600181811c90821680612d2957607f821691505b60208210811415612d4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612db557612db5612d85565b500290565b600082612dd757634e487b7160e01b600052601260045260246000fd5b500490565b600082821015612dee57612dee612d85565b500390565b60008219821115612e0657612e06612d85565b500190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415612e3557612e35612d85565b5060010190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600060208284031215612ed657600080fd5b8151612b6d81612b04565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612f315784516001600160a01b031683529383019391830191600101612f0c565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612f6757600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122018fb97cfff60c8ba0a80bb899663d3360a89d589996a3c96962afbbe53a29eff64736f6c63430008080033

Deployed Bytecode

0x60806040526004361061037a5760003560e01c80637fb992f7116101d1578063c18bc19511610102578063d85ba063116100a0578063e71dc3f51161006f578063e71dc3f514610a2a578063e884f26014610a40578063f2fde38b14610a55578063f8b45b0514610a7557600080fd5b8063d85ba063146109a3578063db2e21bc146109b9578063dd62ed3e146109ce578063e2f4560514610a1457600080fd5b8063cdb17760116100dc578063cdb1776014610939578063d0e30db01461094e578063d257b34f14610963578063d34628cc1461098357600080fd5b8063c18bc195146108e9578063c876d0b914610909578063c8c8ebe41461092357600080fd5b8063a39dc9be1161016f578063aacebbe311610149578063aacebbe314610874578063adb873bd14610894578063bbc0c742146108aa578063c0246668146108c957600080fd5b8063a39dc9be1461081e578063a457c2d714610834578063a9059cbb1461085457600080fd5b80638da5cb5b116101ab5780638da5cb5b146107b557806392136913146107d357806395d89b41146107e95780639a7a23d6146107fe57600080fd5b80637fb992f71461074b5780638a8c523c1461077b5780638b59a0a81461079057600080fd5b80633bbac579116102ab5780636a486a8e11610249578063715018a611610223578063715018a6146106eb578063751039fc146107005780637571336a146107155780637bce5a041461073557600080fd5b80636a486a8e1461067f5780636c3bbfd71461069557806370a08231146106b557600080fd5b806349bd5a5e1161028557806349bd5a5e146105d65780634a62bb651461060a5780634fbee193146106245780635499dca51461065d57600080fd5b80633bbac5791461057c5780633ccfd60b146105ac57806346eadc88146105c157600080fd5b8063203e727e11610318578063275b56c5116102f2578063275b56c51461050a57806327c8f8351461052a578063313ce56714610540578063395093511461055c57600080fd5b8063203e727e146104a857806321f5d2d9146104ca57806323b872dd146104ea57600080fd5b80631694505e116103545780631694505e1461041157806318160ddd1461045d5780631d7778561461047c5780631f3fed8f1461049257600080fd5b806306fdde0314610386578063095ea7b3146103b157806310d5de53146103e157600080fd5b3661038157005b600080fd5b34801561039257600080fd5b5061039b610a8b565b6040516103a89190612aaf565b60405180910390f35b3480156103bd57600080fd5b506103d16103cc366004612b24565b610b1d565b60405190151581526020016103a8565b3480156103ed57600080fd5b506103d16103fc366004612b50565b601a6020526000908152604090205460ff1681565b34801561041d57600080fd5b506104457f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016103a8565b34801561046957600080fd5b506002545b6040519081526020016103a8565b34801561048857600080fd5b5061046e60175481565b34801561049e57600080fd5b5061046e60165481565b3480156104b457600080fd5b506104c86104c3366004612b74565b610b33565b005b3480156104d657600080fd5b506104c86104e5366004612b8d565b610c28565b3480156104f657600080fd5b506103d1610505366004612bcb565b610c8c565b34801561051657600080fd5b50600854610445906001600160a01b031681565b34801561053657600080fd5b5061044561dead81565b34801561054c57600080fd5b50604051600981526020016103a8565b34801561056857600080fd5b506103d1610577366004612b24565b610d44565b34801561058857600080fd5b506103d1610597366004612b50565b600d6020526000908152604090205460ff1681565b3480156105b857600080fd5b506104c8610d7b565b3480156105cd57600080fd5b5061046e610e8d565b3480156105e257600080fd5b506104457f00000000000000000000000022dff13fe50aa5de2a40b5bdf885e773a2e123c081565b34801561061657600080fd5b50600c546103d19060ff1681565b34801561063057600080fd5b506103d161063f366004612b50565b6001600160a01b031660009081526019602052604090205460ff1690565b34801561066957600080fd5b50336000908152601e602052604090205461046e565b34801561068b57600080fd5b5061046e60135481565b3480156106a157600080fd5b506104c86106b0366004612c22565b610ed4565b3480156106c157600080fd5b5061046e6106d0366004612b50565b6001600160a01b031660009081526020819052604090205490565b3480156106f757600080fd5b506104c8610f79565b34801561070c57600080fd5b506103d1610fbe565b34801561072157600080fd5b506104c8610730366004612b8d565b611009565b34801561074157600080fd5b5061046e60115481565b34801561075757600080fd5b506103d1610766366004612b50565b601b6020526000908152604090205460ff1681565b34801561078757600080fd5b506104c861106d565b34801561079c57600080fd5b50336000908152601f602052604090205460ff166103d1565b3480156107c157600080fd5b506005546001600160a01b0316610445565b3480156107df57600080fd5b5061046e60145481565b3480156107f557600080fd5b5061039b6110c5565b34801561080a57600080fd5b506104c8610819366004612b8d565b6110d4565b34801561082a57600080fd5b5061046e60185481565b34801561084057600080fd5b506103d161084f366004612b24565b6111b7565b34801561086057600080fd5b506103d161086f366004612b24565b611252565b34801561088057600080fd5b506104c861088f366004612b50565b61125f565b3480156108a057600080fd5b5061046e60155481565b3480156108b657600080fd5b50600c546103d190610100900460ff1681565b3480156108d557600080fd5b506104c86108e4366004612b8d565b6112f5565b3480156108f557600080fd5b506104c8610904366004612b74565b611359565b34801561091557600080fd5b50600f546103d19060ff1681565b34801561092f57600080fd5b5061046e60095481565b34801561094557600080fd5b5061046e611439565b34801561095a57600080fd5b506104c8611444565b34801561096f57600080fd5b506103d161097e366004612b74565b6114a7565b34801561098f57600080fd5b506104c861099e366004612c22565b611601565b3480156109af57600080fd5b5061046e60105481565b3480156109c557600080fd5b506104c861175b565b3480156109da57600080fd5b5061046e6109e9366004612ce7565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610a2057600080fd5b5061046e600a5481565b348015610a3657600080fd5b5061046e60125481565b348015610a4c57600080fd5b506103d16117e0565b348015610a6157600080fd5b506104c8610a70366004612b50565b61182b565b348015610a8157600080fd5b5061046e600b5481565b606060038054610a9a90612d15565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac690612d15565b8015610b135780601f10610ae857610100808354040283529160200191610b13565b820191906000526020600020905b815481529060010190602001808311610af657829003601f168201915b5050505050905090565b6000610b2a3384846118d2565b50600192915050565b33610b466005546001600160a01b031690565b6001600160a01b031614610b755760405162461bcd60e51b8152600401610b6c90612d50565b60405180910390fd5b670de0b6b3a76400006103e8610b8a60025490565b610b95906001612d9b565b610b9f9190612dba565b610ba99190612dba565b811015610c105760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b6064820152608401610b6c565b610c2281670de0b6b3a7640000612d9b565b60095550565b33610c3b6005546001600160a01b031690565b6001600160a01b031614610c615760405162461bcd60e51b8152600401610b6c90612d50565b6001600160a01b03919091166000908152601f60205260409020805460ff1916911515919091179055565b6001600160a01b03831660009081526001602090815260408083203384529091528120546000198114610d2e5782811015610d1a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610b6c565b610d2e8533610d298685612ddc565b6118d2565b610d398585856119f7565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610b2a918590610d29908690612df3565b336000908152601e6020526040902054610dcc5760405162461bcd60e51b81526020600482015260126024820152715573657220686173206e6f20746f6b656e7360701b6044820152606401610b6c565b601854610dda906010612d9b565b336000908152601d6020526040902054610df5904290612ddc565b11610e335760405162461bcd60e51b815260206004820152600e60248201526d111bdb9d0818994818481a99595d60921b6044820152606401610b6c565b336000908152601e60209081526040808320805490849055601d8352818420849055601f8352908320805460ff1916600117905581549092839291610e79908490612ddc565b90915550610e8a90503033836122dd565b50565b336000908152601d60205260408120544290610ea99082612ddc565b1415610eb55750600090565b336000908152601d6020526040902054610ecf9042612ddc565b905090565b33610ee76005546001600160a01b031690565b6001600160a01b031614610f0d5760405162461bcd60e51b8152600401610b6c90612d50565b60005b8151811015610f75576000600d6000848481518110610f3157610f31612e0b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610f6d81612e21565b915050610f10565b5050565b33610f8c6005546001600160a01b031690565b6001600160a01b031614610fb25760405162461bcd60e51b8152600401610b6c90612d50565b610fbc600061243b565b565b600033610fd36005546001600160a01b031690565b6001600160a01b031614610ff95760405162461bcd60e51b8152600401610b6c90612d50565b50600c805460ff19169055600190565b3361101c6005546001600160a01b031690565b6001600160a01b0316146110425760405162461bcd60e51b8152600401610b6c90612d50565b6001600160a01b03919091166000908152601a60205260409020805460ff1916911515919091179055565b336110806005546001600160a01b031690565b6001600160a01b0316146110a65760405162461bcd60e51b8152600401610b6c90612d50565b600c805461ff0019166101001790556110c0426002612df3565b600655565b606060048054610a9a90612d15565b336110e76005546001600160a01b031690565b6001600160a01b03161461110d5760405162461bcd60e51b8152600401610b6c90612d50565b7f00000000000000000000000022dff13fe50aa5de2a40b5bdf885e773a2e123c06001600160a01b0316826001600160a01b0316141561118f5760405162461bcd60e51b815260206004820152601a60248201527f54686520706169722063616e6e6f742062652072656d6f7665640000000000006044820152606401610b6c565b6001600160a01b0382166000908152601b60205260409020805460ff19168215151790555050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156112395760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610b6c565b6112483385610d298685612ddc565b5060019392505050565b6000610b2a3384846119f7565b336112726005546001600160a01b031690565b6001600160a01b0316146112985760405162461bcd60e51b8152600401610b6c90612d50565b6007546040516001600160a01b03918216918316907f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6790600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b336113086005546001600160a01b031690565b6001600160a01b03161461132e5760405162461bcd60e51b8152600401610b6c90612d50565b6001600160a01b03919091166000908152601960205260409020805460ff1916911515919091179055565b3361136c6005546001600160a01b031690565b6001600160a01b0316146113925760405162461bcd60e51b8152600401610b6c90612d50565b670de0b6b3a76400006103e86113a760025490565b6113b2906005612d9b565b6113bc9190612dba565b6113c69190612dba565b8110156114215760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b6064820152608401610b6c565b61143381670de0b6b3a7640000612d9b565b600b5550565b6000610ecf3361248d565b3360009081526020818152604080832054601e909252822080549192839261146d908490612df3565b9091555050336000908152601d6020908152604082204290558054839290611496908490612df3565b90915550610e8a90503330836122dd565b6000336114bc6005546001600160a01b031690565b6001600160a01b0316146114e25760405162461bcd60e51b8152600401610b6c90612d50565b620186a06114ef60025490565b6114f99190612dba565b8210156115665760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610b6c565b6103e861157260025490565b61157d906005612d9b565b6115879190612dba565b8211156115f35760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610b6c565b50600a81905560015b919050565b336116146005546001600160a01b031690565b6001600160a01b03161461163a5760405162461bcd60e51b8152600401610b6c90612d50565b60005b8151811015610f75577f00000000000000000000000022dff13fe50aa5de2a40b5bdf885e773a2e123c06001600160a01b031682828151811061168257611682612e0b565b60200260200101516001600160a01b0316141580156116ec57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03168282815181106116d8576116d8612e0b565b60200260200101516001600160a01b031614155b15611749576001600d600084848151811061170957611709612e0b565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8061175381612e21565b91505061163d565b336000908152601e60205260409020546117ac5760405162461bcd60e51b81526020600482015260126024820152715573657220686173206e6f20746f6b656e7360701b6044820152606401610b6c565b336000908152601e60209081526040808320805490849055601d835290832083905581549092839291610e79908490612ddc565b6000336117f56005546001600160a01b031690565b6001600160a01b03161461181b5760405162461bcd60e51b8152600401610b6c90612d50565b50600f805460ff19169055600190565b3361183e6005546001600160a01b031690565b6001600160a01b0316146118645760405162461bcd60e51b8152600401610b6c90612d50565b6001600160a01b0381166118c95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b6c565b610e8a8161243b565b6001600160a01b0383166119345760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b6c565b6001600160a01b0382166119955760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b6c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316611a1d5760405162461bcd60e51b8152600401610b6c90612e3c565b6001600160a01b038216611a435760405162461bcd60e51b8152600401610b6c90612e81565b6001600160a01b0383166000908152600d602052604090205460ff1615611aec5760405162461bcd60e51b815260206004820152605160248201527f596f7572206164647265737320686173206265656e206d61726b65642061732060448201527f6120626f742f736e697065722c20796f752061726520756e61626c6520746f206064820152703a3930b739b332b91037b91039bbb0b81760791b608482015260a401610b6c565b80611b0257611afd838360006122dd565b505050565b600654421015611b30576001600160a01b0382166000908152600d60205260409020805460ff191660011790555b600c5460ff1615611f72576005546001600160a01b03848116911614801590611b6757506005546001600160a01b03838116911614155b8015611b7b57506001600160a01b03821615155b8015611b9257506001600160a01b03821661dead14155b8015611ba85750600554600160a01b900460ff16155b15611f7257600c54610100900460ff16611c40576001600160a01b03831660009081526019602052604090205460ff1680611bfb57506001600160a01b03821660009081526019602052604090205460ff165b611c405760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610b6c565b600f5460ff1615611d0c576005546001600160a01b03838116911614801590611c9b57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316826001600160a01b031614155b8015611cd957507f00000000000000000000000022dff13fe50aa5de2a40b5bdf885e773a2e123c06001600160a01b0316826001600160a01b031614155b15611d0c57326000908152600e60205260409020544311611cf957600080fd5b326000908152600e602052604090204390555b6001600160a01b0383166000908152601b602052604090205460ff168015611d4d57506001600160a01b0382166000908152601a602052604090205460ff16155b15611e3157600954811115611dc25760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610b6c565b600b546001600160a01b038316600090815260208190526040902054611de89083612df3565b1115611e2c5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610b6c565b611f72565b6001600160a01b0382166000908152601b602052604090205460ff168015611e7257506001600160a01b0383166000908152601a602052604090205460ff16155b15611ee857600954811115611e2c5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610b6c565b6001600160a01b0382166000908152601a602052604090205460ff16611f7257600b546001600160a01b038316600090815260208190526040902054611f2e9083612df3565b1115611f725760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610b6c565b60208054306000908152918290526040822054611f8f9190612ddc565b600a5490915081108015908190611fb05750600554600160a01b900460ff16155b8015611fd557506001600160a01b0385166000908152601b602052604090205460ff16155b8015611ffa57506001600160a01b03851660009081526019602052604090205460ff16155b801561201f57506001600160a01b03841660009081526019602052604090205460ff16155b1561204d576005805460ff60a01b1916600160a01b17905561203f61253c565b6005805460ff60a01b191690555b6005546001600160a01b03861660009081526019602052604090205460ff600160a01b90920482161591168061209b57506001600160a01b03851660009081526019602052604090205460ff165b156120a4575060005b600080821561221b576001600160a01b0387166000908152601b602052604090205460ff1680156120d757506000601354115b1561218d576005805460ff60a81b1916905560006120f48961248d565b905060646121028289612d9b565b61210c9190612dba565b9150606461211b83604b612d9b565b6121259190612dba565b601660008282546121369190612df3565b90915550506016546121489083612ddc565b601760008282546121599190612df3565b9091555061216a90508930846122dd565b61217630601754612685565b60006017556121858288612ddc565b96505061221b565b6001600160a01b0388166000908152601b602052604090205460ff1680156121b757506000601054115b1561221b576005805460ff60a81b1916600160a81b1790556010546064906121df9088612d9b565b6121e99190612dba565b915081601660008282546121fd9190612df3565b9091555061220e90508830846122dd565b6122188287612ddc565b95505b6001600160a01b0388166000908152601b602052604090205460ff1615612258576001600160a01b0387166000908152601c602052604090204290555b6001600160a01b0387166000908152601b602052604090205460ff16156122c8576001600160a01b0388166000908152601c60209081526040808320429055601f90915290205460ff16156122c8576001600160a01b0388166000908152601f60205260409020805460ff191690555b6122d38888886122dd565b5050505050505050565b6001600160a01b0383166123035760405162461bcd60e51b8152600401610b6c90612e3c565b6001600160a01b0382166123295760405162461bcd60e51b8152600401610b6c90612e81565b6001600160a01b038316600090815260208190526040902054818110156123a15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b6c565b6123ab8282612ddc565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906123e1908490612df3565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161242d91815260200190565b60405180910390a350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0381166000908152601f602052604081205460ff16156124b657506004919050565b6001600160a01b0382166000908152601c602052604081205460149082906124de9042612ddc565b9050428114156124f1576000925061250c565b6018546124ff906002612d9b565b6125099082612dba565b92505b60066125188484612ddc565b101561252957506006949350505050565b6125338383612ddc565b95945050505050565b602080543060009081529182905260408220546125599190612ddc565b9050600081612566575050565b600a54612574906014612d9b565b82111561258c57600a54612589906014612d9b565b91505b6000612599600384612dba565b9050476125ae6125a98386612ddc565b6127cb565b60006125ba8247612ddc565b9050806126095760405162461bcd60e51b815260206004820152601860248201527f4e6f7468696e67206761696e65642066726f6d207377617000000000000000006044820152606401610b6c565b6000612616600283612dba565b9050612622848261299a565b600060168190556007546040516001600160a01b039091169147919081818185875af1925050503d8060008114612675576040519150601f19603f3d011682016040523d82523d6000602084013e61267a565b606091505b505050505050505050565b6001600160a01b0382166126e55760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610b6c565b6001600160a01b038216600090815260208190526040902054818110156127595760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610b6c565b6127638282612ddc565b6001600160a01b03841660009081526020819052604090205560025461278a908390612ddc565b6002556040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016119ea565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061280057612800612e0b565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561287957600080fd5b505afa15801561288d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128b19190612ec4565b816001815181106128c4576128c4612e0b565b60200260200101906001600160a01b031690816001600160a01b03168152505061290f307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846118d2565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790612964908590600090869030904290600401612ee1565b600060405180830381600087803b15801561297e57600080fd5b505af1158015612992573d6000803e3d6000fd5b505050505050565b6129c5307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846118d2565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d719823085600080612a0c6005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015612a6f57600080fd5b505af1158015612a83573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612aa89190612f52565b5050505050565b600060208083528351808285015260005b81811015612adc57858101830151858201604001528201612ac0565b81811115612aee576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610e8a57600080fd5b80356115fc81612b04565b60008060408385031215612b3757600080fd5b8235612b4281612b04565b946020939093013593505050565b600060208284031215612b6257600080fd5b8135612b6d81612b04565b9392505050565b600060208284031215612b8657600080fd5b5035919050565b60008060408385031215612ba057600080fd5b8235612bab81612b04565b915060208301358015158114612bc057600080fd5b809150509250929050565b600080600060608486031215612be057600080fd5b8335612beb81612b04565b92506020840135612bfb81612b04565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215612c3557600080fd5b823567ffffffffffffffff80821115612c4d57600080fd5b818501915085601f830112612c6157600080fd5b813581811115612c7357612c73612c0c565b8060051b604051601f19603f83011681018181108582111715612c9857612c98612c0c565b604052918252848201925083810185019188831115612cb657600080fd5b938501935b82851015612cdb57612ccc85612b19565b84529385019392850192612cbb565b98975050505050505050565b60008060408385031215612cfa57600080fd5b8235612d0581612b04565b91506020830135612bc081612b04565b600181811c90821680612d2957607f821691505b60208210811415612d4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612db557612db5612d85565b500290565b600082612dd757634e487b7160e01b600052601260045260246000fd5b500490565b600082821015612dee57612dee612d85565b500390565b60008219821115612e0657612e06612d85565b500190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415612e3557612e35612d85565b5060010190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600060208284031215612ed657600080fd5b8151612b6d81612b04565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612f315784516001600160a01b031683529383019391830191600101612f0c565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612f6757600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122018fb97cfff60c8ba0a80bb899663d3360a89d589996a3c96962afbbe53a29eff64736f6c63430008080033

Deployed Bytecode Sourcemap

8767:14768:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4796:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5653:179;;;;;;;;;;-1:-1:-1;5653:179:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;5653:179:0;1211:187:1;10139:64:0;;;;;;;;;;-1:-1:-1;10139:64:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8815:116;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1845:32:1;;;1827:51;;1815:2;1800:18;8815:116:0;1655:229:1;5080:94:0;;;;;;;;;;-1:-1:-1;5159:12:0;;5080:94;;;2035:25:1;;;2023:2;2008:18;5080:94:0;1889:177:1;9989:28:0;;;;;;;;;;;;;;;;9945:33;;;;;;;;;;;;;;;;15212:256;;;;;;;;;;-1:-1:-1;15212:256:0;;;;;:::i;:::-;;:::i;:::-;;13786:74;;;;;;;;;;-1:-1:-1;13786:74:0;;;;;:::i;:::-;;:::i;5844:520::-;;;;;;;;;;-1:-1:-1;5844:520:0;;;;;:::i;:::-;;:::i;9215:37::-;;;;;;;;;;-1:-1:-1;9215:37:0;;;;-1:-1:-1;;;;;9215:37:0;;;8991:53;;;;;;;;;;;;9037:6;8991:53;;4992:78;;;;;;;;;;-1:-1:-1;4992:78:0;;5066:1;3488:36:1;;3476:2;3461:18;4992:78:0;3346:184:1;6376:223:0;;;;;;;;;;-1:-1:-1;6376:223:0;;;;;:::i;:::-;;:::i;9502:37::-;;;;;;;;;;-1:-1:-1;9502:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12825:525;;;;;;;;;;;;;:::i;12226:237::-;;;;;;;;;;;;;:::i;8942:38::-;;;;;;;;;;;;;;;9412:33;;;;;;;;;;-1:-1:-1;9412:33:0;;;;;;;;11807:111;;;;;;;;;;-1:-1:-1;11807:111:0;;;;;:::i;:::-;-1:-1:-1;;;;;11887:28:0;11872:4;11887:28;;;:19;:28;;;;;;;;;11807:111;12126:84;;;;;;;;;;-1:-1:-1;12196:10:0;12168:7;12186:21;;;:9;:21;;;;;;12126:84;;9812:33;;;;;;;;;;;;;;;;16495:162;;;;;;;;;;-1:-1:-1;16495:162:0;;;;;:::i;:::-;;:::i;5184:113::-;;;;;;;;;;-1:-1:-1;5184:113:0;;;;;:::i;:::-;-1:-1:-1;;;;;5276:18:0;5258:7;5276:18;;;;;;;;;;;;5184:113;2846:111;;;;;;;;;;;;;:::i;14425:145::-;;;;;;;;;;;;;:::i;15747:160::-;;;;;;;;;;-1:-1:-1;15747:160:0;;;;;:::i;:::-;;:::i;9727:34::-;;;;;;;;;;;;;;;;10214:37;;;;;;;;;;-1:-1:-1;10214:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14250:151;;;;;;;;;;;;;:::i;11932:85::-;;;;;;;;;;-1:-1:-1;12003:10:0;11980:4;11995:19;;;:7;:19;;;;;;;;11932:85;;2761:73;;;;;;;;;;-1:-1:-1;2825:6:0;;-1:-1:-1;;;;;2825:6:0;2761:73;;9856:35;;;;;;;;;;;;;;;;4892:90;;;;;;;;;;;;;:::i;14008:226::-;;;;;;;;;;-1:-1:-1;14008:226:0;;;;;:::i;:::-;;:::i;10028:26::-;;;;;;;;;;;;;;;;6611:391;;;;;;;;;;-1:-1:-1;6611:391:0;;;;;:::i;:::-;;:::i;5456:185::-;;;;;;;;;;-1:-1:-1;5456:185:0;;;;;:::i;:::-;;:::i;15923:205::-;;;;;;;;;;-1:-1:-1;15923:205:0;;;;;:::i;:::-;;:::i;9902:30::-;;;;;;;;;;;;;;;;9456:33;;;;;;;;;;-1:-1:-1;9456:33:0;;;;;;;;;;;13874:118;;;;;;;;;;-1:-1:-1;13874:118:0;;;;;:::i;:::-;;:::i;15484:235::-;;;;;;;;;;-1:-1:-1;15484:235:0;;;;;:::i;:::-;;:::i;9625:39::-;;;;;;;;;;-1:-1:-1;9625:39:0;;;;;;;;9273:35;;;;;;;;;;;;;;;;12031:81;;;;;;;;;;;;;:::i;12498:311::-;;;;;;;;;;;;;:::i;14761:423::-;;;;;;;;;;-1:-1:-1;14761:423:0;;;;;:::i;:::-;;:::i;16152:315::-;;;;;;;;;;-1:-1:-1;16152:315:0;;;;;:::i;:::-;;:::i;9685:31::-;;;;;;;;;;;;;;;;13366:386;;;;;;;;;;;;;:::i;5307:137::-;;;;;;;;;;-1:-1:-1;5307:137:0;;;;;:::i;:::-;-1:-1:-1;;;;;5414:18:0;;;5396:7;5414:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5307:137;9319:33;;;;;;;;;;;;;;;;9772:29;;;;;;;;;;;;;;;;14586:159;;;;;;;;;;;;;:::i;2969:213::-;;;;;;;;;;-1:-1:-1;2969:213:0;;;;;:::i;:::-;;:::i;9363:24::-;;;;;;;;;;;;;;;;4796:86;4850:13;4874:5;4867:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4796:86;:::o;5653:179::-;5736:4;5757:37;5766:10;5778:7;5787:6;5757:8;:37::i;:::-;-1:-1:-1;5816:4:0;5653:179;;;;:::o;15212:256::-;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;;;;;;;;;15341:4:::1;15333;15313:13;5159:12:::0;;;5080:94;15313:13:::1;:17;::::0;15329:1:::1;15313:17;:::i;:::-;:24;;;;:::i;:::-;15312:33;;;;:::i;:::-;15302:6;:43;;15294:103;;;::::0;-1:-1:-1;;;15294:103:0;;6661:2:1;15294:103:0::1;::::0;::::1;6643:21:1::0;6700:2;6680:18;;;6673:30;6739:34;6719:18;;;6712:62;-1:-1:-1;;;6790:18:1;;;6783:45;6845:19;;15294:103:0::1;6459:411:1::0;15294:103:0::1;15439:13;:6:::0;15448:4:::1;15439:13;:::i;:::-;15416:20;:36:::0;-1:-1:-1;15212:256:0:o;13786:74::-;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13843:10:0;;;::::1;;::::0;;;:7:::1;:10;::::0;;;;:14;;-1:-1:-1;;13843:14:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13786:74::o;5844:520::-;-1:-1:-1;;;;;5999:19:0;;5951:4;5999:19;;;:11;:19;;;;;;;;6019:10;5999:31;;;;;;;;-1:-1:-1;;6049:37:0;;6045:231;;6135:6;6115:16;:26;;6107:79;;;;-1:-1:-1;;;6107:79:0;;7077:2:1;6107:79:0;;;7059:21:1;7116:2;7096:18;;;7089:30;7155:34;7135:18;;;7128:62;-1:-1:-1;;;7206:18:1;;;7199:38;7254:19;;6107:79:0;6875:404:1;6107:79:0;6205:55;6214:6;6222:10;6234:25;6253:6;6234:16;:25;:::i;:::-;6205:8;:55::i;:::-;6290:36;6300:6;6308:9;6319:6;6290:9;:36::i;:::-;-1:-1:-1;6348:4:0;;5844:520;-1:-1:-1;;;;5844:520:0:o;6376:223::-;6494:10;6464:4;6515:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6515:32:0;;;;;;;;;;6464:4;;6485:76;;6506:7;;6515:45;;6550:10;;6515:45;:::i;12825:525::-;12889:10;12879:21;;;;:9;:21;;;;;;12871:57;;;;-1:-1:-1;;;12871:57:0;;7749:2:1;12871:57:0;;;7731:21:1;7788:2;7768:18;;;7761:30;-1:-1:-1;;;7807:18:1;;;7800:48;7865:18;;12871:57:0;7547:342:1;12871:57:0;12998:4;;:9;;13005:2;12998:9;:::i;:::-;12965:10;12955:21;;;;:9;:21;;;;;;:39;;12979:15;;12955:39;:::i;:::-;:53;12947:80;;;;-1:-1:-1;;;12947:80:0;;8096:2:1;12947:80:0;;;8078:21:1;8135:2;8115:18;;;8108:30;-1:-1:-1;;;8154:18:1;;;8147:44;8208:18;;12947:80:0;7894:338:1;12947:80:0;13072:10;13050:9;13062:21;;;:9;:21;;;;;;;;;;13106:25;;;;13154:9;:21;;;;;:25;;;13202:7;:19;;;;;:26;;-1:-1:-1;;13202:26:0;-1:-1:-1;13202:26:0;;;13251:15;;13062:21;;;;;13251:15;;13062:21;;13251:15;:::i;:::-;;;;-1:-1:-1;13289:45:0;;-1:-1:-1;13313:4:0;13320:10;13332:1;13289:15;:45::i;:::-;12852:498;12825:525::o;12226:237::-;12331:10;12272:7;12321:21;;;:9;:21;;;;;;12346:15;;12303:39;;12346:15;12303:39;:::i;:::-;:58;12300:148;;;-1:-1:-1;12371:1:0;;12226:237::o;12300:148::-;12434:10;12424:21;;;;:9;:21;;;;;;12406:39;;:15;:39;:::i;:::-;12399:46;;12226:237;:::o;16495:162::-;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;16581:6:::1;16576:66;16597:4;:11;16593:1;:15;16576:66;;;16634:5;16617;:14;16623:4;16628:1;16623:7;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;16617:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;16617:14:0;:22;;-1:-1:-1;;16617:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16610:3;::::1;::::0;::::1;:::i;:::-;;;;16576:66;;;;16495:162:::0;:::o;2846:111::-;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;2915:30:::1;2942:1;2915:18;:30::i;:::-;2846:111::o:0;14425:145::-;14477:4;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;-1:-1:-1;14502:14:0::1;:22:::0;;-1:-1:-1;;14502:22:0::1;::::0;;;14425:145;:::o;15747:160::-;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15845:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;15845:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15747:160::o;14250:151::-;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;14313:13:::1;:20:::0;;-1:-1:-1;;14313:20:0::1;;;::::0;;14366:19:::1;:15;14384:1;14366:19;:::i;:::-;14352:11;:33:::0;14250:151::o;4892:90::-;4948:13;4972:7;4965:14;;;;;:::i;14008:226::-;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;14117:13:::1;-1:-1:-1::0;;;;;14112:18:0::1;:1;-1:-1:-1::0;;;;;14112:18:0::1;;;14104:57;;;::::0;-1:-1:-1;;;14104:57:0;;8711:2:1;14104:57:0::1;::::0;::::1;8693:21:1::0;8750:2;8730:18;;;8723:30;8789:28;8769:18;;;8762:56;8835:18;;14104:57:0::1;8509:350:1::0;14104:57:0::1;-1:-1:-1::0;;;;;16765:7:0;;;;;;:4;:7;;;;;:15;;-1:-1:-1;;16765:15:0;;;;;;;16576:66:::1;16495:162:::0;:::o;6611:391::-;6764:10;6704:4;6752:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6752:32:0;;;;;;;;;;6807:35;;;;6799:85;;;;-1:-1:-1;;;6799:85:0;;9066:2:1;6799:85:0;;;9048:21:1;9105:2;9085:18;;;9078:30;9144:34;9124:18;;;9117:62;-1:-1:-1;;;9195:18:1;;;9188:35;9240:19;;6799:85:0;8864:401:1;6799:85:0;6899:65;6908:10;6920:7;6929:34;6948:15;6929:16;:34;:::i;6899:65::-;-1:-1:-1;6986:4:0;;6611:391;-1:-1:-1;;;6611:391:0:o;5456:185::-;5542:4;5563:40;5573:10;5585:9;5596:6;5563:9;:40::i;15923:205::-;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;16050:15:::1;::::0;16016:50:::1;::::0;-1:-1:-1;;;;;16050:15:0;;::::1;::::0;16016:50;::::1;::::0;::::1;::::0;16050:15:::1;::::0;16016:50:::1;16085:15;:27:::0;;-1:-1:-1;;;;;;16085:27:0::1;-1:-1:-1::0;;;;;16085:27:0;;;::::1;::::0;;;::::1;::::0;;15923:205::o;13874:118::-;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13950:28:0;;;::::1;;::::0;;;:19:::1;:28;::::0;;;;:39;;-1:-1:-1;;13950:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13874:118::o;15484:235::-;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;15614:4:::1;15608;15588:13;5159:12:::0;;;5080:94;15588:13:::1;:17;::::0;15604:1:::1;15588:17;:::i;:::-;:24;;;;:::i;:::-;15587:31;;;;:::i;:::-;15577:6;:41;;15569:90;;;::::0;-1:-1:-1;;;15569:90:0;;9472:2:1;15569:90:0::1;::::0;::::1;9454:21:1::0;9511:2;9491:18;;;9484:30;9550:34;9530:18;;;9523:62;-1:-1:-1;;;9601:18:1;;;9594:34;9645:19;;15569:90:0::1;9270:400:1::0;15569:90:0::1;15690:13;:6:::0;15699:4:::1;15690:13;:::i;:::-;15678:9;:25:::0;-1:-1:-1;15484:235:0:o;12031:81::-;12071:7;12089:20;12098:10;12089:8;:20::i;12498:311::-;12565:10;12543:9;5276:18;;;;;;;;;;;;12599:9;:21;;;;;:26;;5276:18;;;;12599:26;;5276:18;;12599:26;:::i;:::-;;;;-1:-1:-1;;12658:10:0;12648:21;;;;:9;:21;;;;;;;12672:15;12648:39;;12710:15;;12724:1;;12648:21;12710:15;;12724:1;;12710:15;:::i;:::-;;;;-1:-1:-1;12748:45:0;;-1:-1:-1;12764:10:0;12784:4;12791:1;12748:15;:45::i;14761:423::-;14842:4;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;14904:6:::1;14888:13;5159:12:::0;;;5080:94;14888:13:::1;:22;;;;:::i;:::-;14875:9;:35;;14867:101;;;::::0;-1:-1:-1;;;14867:101:0;;9877:2:1;14867:101:0::1;::::0;::::1;9859:21:1::0;9916:2;9896:18;;;9889:30;9955:34;9935:18;;;9928:62;-1:-1:-1;;;10006:18:1;;;9999:51;10067:19;;14867:101:0::1;9675:417:1::0;14867:101:0::1;15028:4;15008:13;5159:12:::0;;;5080:94;15008:13:::1;:17;::::0;15024:1:::1;15008:17;:::i;:::-;:24;;;;:::i;:::-;14995:9;:37;;14987:102;;;::::0;-1:-1:-1;;;14987:102:0;;10299:2:1;14987:102:0::1;::::0;::::1;10281:21:1::0;10338:2;10318:18;;;10311:30;10377:34;10357:18;;;10350:62;-1:-1:-1;;;10428:18:1;;;10421:50;10488:19;;14987:102:0::1;10097:416:1::0;14987:102:0::1;-1:-1:-1::0;15108:18:0::1;:30:::0;;;15164:4:::1;3538:1;14761:423:::0;;;:::o;16152:315::-;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;16235:6:::1;16230:222;16251:4;:11;16247:1;:15;16230:222;;;16307:13;-1:-1:-1::0;;;;;16296:24:0::1;:4;16301:1;16296:7;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16296:24:0::1;;;:63;;;;;16343:15;-1:-1:-1::0;;;;;16324:35:0::1;:4;16329:1;16324:7;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16324:35:0::1;;;16296:63;16292:141;;;16405:4;16388:5;:14;16394:4;16399:1;16394:7;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16388:14:0::1;-1:-1:-1::0;;;;;16388:14:0::1;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;16292:141;16264:3:::0;::::1;::::0;::::1;:::i;:::-;;;;16230:222;;13366:386:::0;13439:10;13429:21;;;;:9;:21;;;;;;13421:57;;;;-1:-1:-1;;;13421:57:0;;7749:2:1;13421:57:0;;;7731:21:1;7788:2;7768:18;;;7761:30;-1:-1:-1;;;7807:18:1;;;7800:48;7865:18;;13421:57:0;7547:342:1;13421:57:0;13523:10;13501:9;13513:21;;;:9;:21;;;;;;;;;;13557:25;;;;13605:9;:21;;;;;:25;;;13653:15;;13513:21;;;;;13653:15;;13513:21;;13653:15;:::i;14586:159::-;14646:4;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;-1:-1:-1;14671:20:0::1;:28:::0;;-1:-1:-1;;14671:28:0::1;::::0;;;14586:159;:::o;2969:213::-;3476:10;3465:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;3465:7;-1:-1:-1;;;;;3465:21:0;;3457:66;;;;-1:-1:-1;;;3457:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3062:22:0;::::1;3054:73;;;::::0;-1:-1:-1;;;3054:73:0;;10720:2:1;3054:73:0::1;::::0;::::1;10702:21:1::0;10759:2;10739:18;;;10732:30;10798:34;10778:18;;;10771:62;-1:-1:-1;;;10849:18:1;;;10842:36;10895:19;;3054:73:0::1;10518:402:1::0;3054:73:0::1;3142:28;3161:8;3142:18;:28::i;8386:364::-:0;-1:-1:-1;;;;;8492:19:0;;8484:68;;;;-1:-1:-1;;;8484:68:0;;11127:2:1;8484:68:0;;;11109:21:1;11166:2;11146:18;;;11139:30;11205:34;11185:18;;;11178:62;-1:-1:-1;;;11256:18:1;;;11249:34;11300:19;;8484:68:0;10925:400:1;8484:68:0;-1:-1:-1;;;;;8575:21:0;;8567:68;;;;-1:-1:-1;;;8567:68:0;;11532:2:1;8567:68:0;;;11514:21:1;11571:2;11551:18;;;11544:30;11610:34;11590:18;;;11583:62;-1:-1:-1;;;11661:18:1;;;11654:32;11703:19;;8567:68:0;11330:398:1;8567:68:0;-1:-1:-1;;;;;8650:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8706:32;;2035:25:1;;;8706:32:0;;2008:18:1;8706:32:0;;;;;;;;8386:364;;;:::o;16799:4251::-;-1:-1:-1;;;;;16905:18:0;;16897:68;;;;-1:-1:-1;;;16897:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16992:16:0;;16984:64;;;;-1:-1:-1;;;16984:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17076:11:0;;;;;;:5;:11;;;;;;;;17075:12;17067:106;;;;-1:-1:-1;;;17067:106:0;;12745:2:1;17067:106:0;;;12727:21:1;12784:2;12764:18;;;12757:30;12823:34;12803:18;;;12796:62;12894:34;12874:18;;;12867:62;-1:-1:-1;;;12945:19:1;;;12938:48;13003:19;;17067:106:0;12543:485:1;17067:106:0;17214:11;17210:58;;17229:28;17245:4;17251:2;17255:1;17229:15;:28::i;:::-;16799:4251;;;:::o;17210:58::-;17308:11;;17290:15;:29;17286:51;;;-1:-1:-1;;;;;17321:9:0;;;;;;:5;:9;;;;;:16;;-1:-1:-1;;17321:16:0;17333:4;17321:16;;;17286:51;17362:14;;;;17358:1638;;;2825:6;;-1:-1:-1;;;;;17405:15:0;;;2825:6;;17405:15;;;;:32;;-1:-1:-1;2825:6:0;;-1:-1:-1;;;;;17424:13:0;;;2825:6;;17424:13;;17405:32;:52;;;;-1:-1:-1;;;;;;17441:16:0;;;;17405:52;:77;;;;-1:-1:-1;;;;;;17461:21:0;;17475:6;17461:21;;17405:77;:91;;;;-1:-1:-1;17487:9:0;;-1:-1:-1;;;17487:9:0;;;;17486:10;17405:91;17401:1576;;;17530:13;;;;;;;17525:112;;-1:-1:-1;;;;;17555:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;17584:23:0;;;;;;:19;:23;;;;;;;;17555:52;17547:87;;;;-1:-1:-1;;;17547:87:0;;13235:2:1;17547:87:0;;;13217:21:1;13274:2;13254:18;;;13247:30;-1:-1:-1;;;13293:18:1;;;13286:52;13355:18;;17547:87:0;13033:346:1;17547:87:0;17673:20;;;;17669:386;;;2825:6;;-1:-1:-1;;;;;17729:13:0;;;2825:6;;17729:13;;;;:47;;;17760:15;-1:-1:-1;;;;;17746:30:0;:2;-1:-1:-1;;;;;17746:30:0;;;17729:47;:79;;;;;17794:13;-1:-1:-1;;;;;17780:28:0;:2;-1:-1:-1;;;;;17780:28:0;;;17729:79;17725:303;;;17881:9;17852:39;;;;:28;:39;;;;;;17894:12;-1:-1:-1;17844:63:0;;;;;;17971:9;17942:39;;;;:28;:39;;;;;17984:12;17942:54;;17725:303;-1:-1:-1;;;;;18146:10:0;;;;;;:4;:10;;;;;;;;:50;;;;-1:-1:-1;;;;;;18161:35:0;;;;;;:31;:35;;;;;;;;18160:36;18146:50;18142:812;;;18247:20;;18237:6;:30;;18229:96;;;;-1:-1:-1;;;18229:96:0;;13586:2:1;18229:96:0;;;13568:21:1;13625:2;13605:18;;;13598:30;13664:34;13644:18;;;13637:62;-1:-1:-1;;;13715:18:1;;;13708:51;13776:19;;18229:96:0;13384:417:1;18229:96:0;18390:9;;-1:-1:-1;;;;;5276:18:0;;5258:7;5276:18;;;;;;;;;;;18364:22;;:6;:22;:::i;:::-;:35;;18356:67;;;;-1:-1:-1;;;18356:67:0;;14008:2:1;18356:67:0;;;13990:21:1;14047:2;14027:18;;;14020:30;-1:-1:-1;;;14066:18:1;;;14059:49;14125:18;;18356:67:0;13806:343:1;18356:67:0;18142:812;;;-1:-1:-1;;;;;18548:8:0;;;;;;:4;:8;;;;;;;;:50;;;;-1:-1:-1;;;;;;18561:37:0;;;;;;:31;:37;;;;;;;;18560:38;18548:50;18544:410;;;18649:20;;18639:6;:30;;18631:97;;;;-1:-1:-1;;;18631:97:0;;14356:2:1;18631:97:0;;;14338:21:1;14395:2;14375:18;;;14368:30;14434:34;14414:18;;;14407:62;-1:-1:-1;;;14485:18:1;;;14478:52;14547:19;;18631:97:0;14154:418:1;18544:410:0;-1:-1:-1;;;;;18792:35:0;;;;;;:31;:35;;;;;;;;18787:167;;18893:9;;-1:-1:-1;;;;;5276:18:0;;5258:7;5276:18;;;;;;;;;;;18867:22;;:6;:22;:::i;:::-;:35;;18859:67;;;;-1:-1:-1;;;18859:67:0;;14008:2:1;18859:67:0;;;13990:21:1;14047:2;14027:18;;;14020:30;-1:-1:-1;;;14066:18:1;;;14059:49;14125:18;;18859:67:0;13806:343:1;18859:67:0;19090:10;;;19081:4;19032:28;5276:18;;;;;;;;;;;19063:37;;;;:::i;:::-;19158:18;;19032:68;;-1:-1:-1;19134:42:0;;;;;;;19201:21;;-1:-1:-1;19213:9:0;;-1:-1:-1;;;19213:9:0;;;;19212:10;19201:21;:36;;;;-1:-1:-1;;;;;;19227:10:0;;;;;;:4;:10;;;;;;;;19226:11;19201:36;:66;;;;-1:-1:-1;;;;;;19242:25:0;;;;;;:19;:25;;;;;;;;19241:26;19201:66;:94;;;;-1:-1:-1;;;;;;19272:23:0;;;;;;:19;:23;;;;;;;;19271:24;19201:94;19197:232;;;19320:9;:16;;-1:-1:-1;;;;19320:16:0;-1:-1:-1;;;19320:16:0;;;19359:10;:8;:10::i;:::-;19392:9;:17;;-1:-1:-1;;;;19392:17:0;;;19197:232;19465:9;;-1:-1:-1;;;;;19499:25:0;;19449:12;19499:25;;;:19;:25;;;;;;19465:9;-1:-1:-1;;;19465:9:0;;;;;19464:10;;19499:25;;:52;;-1:-1:-1;;;;;;19528:23:0;;;;;;:19;:23;;;;;;;;19499:52;19495:73;;;-1:-1:-1;19563:5:0;19495:73;19605:15;19643:16;19704:7;19700:1013;;;-1:-1:-1;;;;;19751:8:0;;;;;;:4;:8;;;;;;;;:29;;;;;19779:1;19763:13;;:17;19751:29;19747:947;;;19808:6;:14;;-1:-1:-1;;;;19808:14:0;;;19817:5;19861:14;19870:4;19861:8;:14::i;:::-;19849:26;-1:-1:-1;19928:3:0;19914:10;19849:26;19914:6;:10;:::i;:::-;19913:18;;;;:::i;:::-;19902:29;-1:-1:-1;19996:3:0;19980:13;19902:29;19991:2;19980:13;:::i;:::-;:19;;;;:::i;:::-;19958:18;;:41;;;;;;;:::i;:::-;;;;-1:-1:-1;;20054:18:0;;20043:29;;:8;:29;:::i;:::-;20026:13;;:46;;;;;;;:::i;:::-;;;;-1:-1:-1;20099:46:0;;-1:-1:-1;20115:4:0;20129;20136:8;20099:15;:46::i;:::-;20172:35;20186:4;20193:13;;20172:5;:35::i;:::-;20250:1;20234:13;:17;20278:18;20288:8;20278:18;;:::i;:::-;;;19781:539;19747:947;;;-1:-1:-1;;;;;20360:10:0;;;;;;:4;:10;;;;;;;;:30;;;;;20389:1;20374:12;;:16;20360:30;20357:337;;;20419:6;:13;;-1:-1:-1;;;;20419:13:0;-1:-1:-1;;;20419:13:0;;;20479:12;;20495:3;;20470:21;;:6;:21;:::i;:::-;20469:29;;;;:::i;:::-;20459:39;;20547:7;20525:18;;:29;;;;;;;:::i;:::-;;;;-1:-1:-1;20581:45:0;;-1:-1:-1;20597:4:0;20611;20618:7;20581:15;:45::i;:::-;20653:17;20663:7;20653:17;;:::i;:::-;;;20357:337;-1:-1:-1;;;;;20753:10:0;;;;;;:4;:10;;;;;;;;20750:47;;;-1:-1:-1;;;;;20766:10:0;;;;;;:6;:10;;;;;20779:15;20766:28;;20750:47;-1:-1:-1;;;;;20818:8:0;;;;;;:4;:8;;;;;;;;20815:150;;;-1:-1:-1;;;;;20850:12:0;;;;;;:6;:12;;;;;;;;20865:15;20850:30;;20906:7;:13;;;;;;;;20903:43;;;-1:-1:-1;;;;;20922:13:0;;20938:5;20922:13;;;:7;:13;;;;;:21;;-1:-1:-1;;20922:21:0;;;20903:43;21001:33;21017:4;21023:2;21027:6;21001:15;:33::i;:::-;16878:4172;;;;;16799:4251;;;:::o;7014:572::-;-1:-1:-1;;;;;7124:20:0;;7116:70;;;;-1:-1:-1;;;7116:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7209:23:0;;7201:71;;;;-1:-1:-1;;;7201:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7311:17:0;;7287:21;7311:17;;;;;;;;;;;7351:23;;;;7343:74;;;;-1:-1:-1;;;7343:74:0;;14779:2:1;7343:74:0;;;14761:21:1;14818:2;14798:18;;;14791:30;14857:34;14837:18;;;14830:62;-1:-1:-1;;;14908:18:1;;;14901:36;14954:19;;7343:74:0;14577:402:1;7343:74:0;7452:22;7468:6;7452:13;:22;:::i;:::-;-1:-1:-1;;;;;7432:17:0;;;:9;:17;;;;;;;;;;;:42;;;;7489:20;;;;;;;;:30;;7513:6;;7432:9;7489:30;;7513:6;;7489:30;:::i;:::-;;;;;;;;7556:9;-1:-1:-1;;;;;7539:35:0;7548:6;-1:-1:-1;;;;;7539:35:0;;7567:6;7539:35;;;;2035:25:1;;2023:2;2008:18;;1889:177;7539:35:0;;;;;;;;7101:485;7014:572;;;:::o;3194:207::-;3291:6;;;-1:-1:-1;;;;;3312:17:0;;;-1:-1:-1;;;;;;3312:17:0;;;;;;;3349:40;;3291:6;;;3312:17;3291:6;;3349:40;;3272:16;;3349:40;3257:144;3194:207;:::o;21066:523::-;-1:-1:-1;;;;;21148:10:0;;21118:7;21148:10;;;:7;:10;;;;;;;;21145:429;;;-1:-1:-1;21168:1:0;;21066:523;-1:-1:-1;21066:523:0:o;21145:429::-;-1:-1:-1;;;;;21325:9:0;;21217:12;21325:9;;;:6;:9;;;;;;21267:2;;21217:12;;21307:27;;:15;:27;:::i;:::-;21292:42;;21368:15;21360:4;:23;21357:95;;;21393:1;21386:8;;21357:95;;;21440:4;;:8;;21447:1;21440:8;:::i;:::-;21432:17;;:4;:17;:::i;:::-;21425:24;;21357:95;21491:1;21477:11;21484:4;21477;:11;:::i;:::-;:15;21474:81;;;-1:-1:-1;21502:1:0;;21066:523;-1:-1:-1;;;;21066:523:0:o;21474:81::-;21541:11;21548:4;21541;:11;:::i;:::-;21534:18;21066:523;-1:-1:-1;;;;;21066:523:0:o;22670:858::-;22770:10;;;22761:4;22717:23;5276:18;;;;;;;;;;;22743:37;;;;:::i;:::-;22717:63;-1:-1:-1;22799:12:0;22833:20;22830:34;;22856:7;;22670:858::o;22830:34::-;22903:18;;:23;;22924:2;22903:23;:::i;:::-;22885:15;:41;22882:91;;;22947:18;;:23;;22968:2;22947:23;:::i;:::-;22929:41;;22882:91;22991:15;23009:19;23027:1;23009:15;:19;:::i;:::-;22991:37;-1:-1:-1;23062:21:0;23104:44;23122:25;22991:37;23122:15;:25;:::i;:::-;23104:17;:44::i;:::-;23170:13;23186:28;23210:4;23186:21;:28;:::i;:::-;23170:44;-1:-1:-1;23241:10:0;23233:47;;;;-1:-1:-1;;;23233:47:0;;15186:2:1;23233:47:0;;;15168:21:1;15225:2;15205:18;;;15198:30;15264:26;15244:18;;;15237:54;15308:18;;23233:47:0;14984:348:1;23233:47:0;23299:13;23315:9;23323:1;23315:5;:9;:::i;:::-;23299:25;;23345:29;23359:7;23368:5;23345:13;:29::i;:::-;23416:1;23395:18;:22;;;23457:15;;23449:63;;-1:-1:-1;;;;;23457:15:0;;;;23486:21;;23449:63;;23416:1;23449:63;23486:21;23457:15;23449:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;22670:858:0:o;7904:470::-;-1:-1:-1;;;;;7992:21:0;;7984:67;;;;-1:-1:-1;;;7984:67:0;;15749:2:1;7984:67:0;;;15731:21:1;15788:2;15768:18;;;15761:30;15827:34;15807:18;;;15800:62;-1:-1:-1;;;15878:18:1;;;15871:31;15919:19;;7984:67:0;15547:397:1;7984:67:0;-1:-1:-1;;;;;8091:18:0;;8066:22;8091:18;;;;;;;;;;;8132:24;;;;8124:71;;;;-1:-1:-1;;;8124:71:0;;16151:2:1;8124:71:0;;;16133:21:1;16190:2;16170:18;;;16163:30;16229:34;16209:18;;;16202:62;-1:-1:-1;;;16280:18:1;;;16273:32;16322:19;;8124:71:0;15949:398:1;8124:71:0;8231:23;8248:6;8231:14;:23;:::i;:::-;-1:-1:-1;;;;;8210:18:0;;:9;:18;;;;;;;;;;:44;8284:12;;:21;;8299:6;;8284:21;:::i;:::-;8269:12;:36;8325:37;;2035:25:1;;;8351:1:0;;-1:-1:-1;;;;;8325:37:0;;;;;2023:2:1;2008:18;8325:37:0;1889:177:1;21605:578:0;21704:16;;;21718:1;21704:16;;;;;;;;21680:21;;21704:16;;;;;;;;;;-1:-1:-1;21704:16:0;21680:40;;21761:4;21743;21748:1;21743:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;21743:23:0;;;-1:-1:-1;;;;;21743:23:0;;;;;21799:15;-1:-1:-1;;;;;21799:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21789:4;21794:1;21789:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;21789:32:0;;;-1:-1:-1;;;;;21789:32:0;;;;;21840:62;21857:4;21872:15;21890:11;21840:8;:62::i;:::-;21923:244;;-1:-1:-1;;;21923:244:0;;-1:-1:-1;;;;;21923:15:0;:66;;;;:244;;22012:11;;22046:1;;22070:4;;22105;;22133:15;;21923:244;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21661:522;21605:578;:::o;22211:443::-;22301:62;22318:4;22333:15;22351:11;22301:8;:62::i;:::-;22384:15;-1:-1:-1;;;;;22384:31:0;;22423:9;22464:4;22492:11;22526:1;22550;22574:7;2825:6;;-1:-1:-1;;;;;2825:6:0;;2761:73;22574:7;22384:254;;;;;;-1:-1:-1;;;;;;22384:254:0;;;-1:-1:-1;;;;;17952:15:1;;;22384:254:0;;;17934:34:1;17984:18;;;17977:34;;;;18027:18;;;18020:34;;;;18070:18;;;18063:34;18134:15;;;18113:19;;;18106:44;22604:15:0;18166:19:1;;;18159:35;17868:19;;22384:254:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22211:443;;:::o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:134;820:20;;849:31;820:20;849:31;:::i;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1403:247::-;1462:6;1515:2;1503:9;1494:7;1490:23;1486:32;1483:52;;;1531:1;1528;1521:12;1483:52;1570:9;1557:23;1589:31;1614:5;1589:31;:::i;:::-;1639:5;1403:247;-1:-1:-1;;;1403:247:1:o;2071:180::-;2130:6;2183:2;2171:9;2162:7;2158:23;2154:32;2151:52;;;2199:1;2196;2189:12;2151:52;-1:-1:-1;2222:23:1;;2071:180;-1:-1:-1;2071:180:1:o;2256:416::-;2321:6;2329;2382:2;2370:9;2361:7;2357:23;2353:32;2350:52;;;2398:1;2395;2388:12;2350:52;2437:9;2424:23;2456:31;2481:5;2456:31;:::i;:::-;2506:5;-1:-1:-1;2563:2:1;2548:18;;2535:32;2605:15;;2598:23;2586:36;;2576:64;;2636:1;2633;2626:12;2576:64;2659:7;2649:17;;;2256:416;;;;;:::o;2677:456::-;2754:6;2762;2770;2823:2;2811:9;2802:7;2798:23;2794:32;2791:52;;;2839:1;2836;2829:12;2791:52;2878:9;2865:23;2897:31;2922:5;2897:31;:::i;:::-;2947:5;-1:-1:-1;3004:2:1;2989:18;;2976:32;3017:33;2976:32;3017:33;:::i;:::-;2677:456;;3069:7;;-1:-1:-1;;;3123:2:1;3108:18;;;;3095:32;;2677:456::o;3535:127::-;3596:10;3591:3;3587:20;3584:1;3577:31;3627:4;3624:1;3617:15;3651:4;3648:1;3641:15;3667:1121;3751:6;3782:2;3825;3813:9;3804:7;3800:23;3796:32;3793:52;;;3841:1;3838;3831:12;3793:52;3881:9;3868:23;3910:18;3951:2;3943:6;3940:14;3937:34;;;3967:1;3964;3957:12;3937:34;4005:6;3994:9;3990:22;3980:32;;4050:7;4043:4;4039:2;4035:13;4031:27;4021:55;;4072:1;4069;4062:12;4021:55;4108:2;4095:16;4130:2;4126;4123:10;4120:36;;;4136:18;;:::i;:::-;4182:2;4179:1;4175:10;4214:2;4208:9;4277:2;4273:7;4268:2;4264;4260:11;4256:25;4248:6;4244:38;4332:6;4320:10;4317:22;4312:2;4300:10;4297:18;4294:46;4291:72;;;4343:18;;:::i;:::-;4379:2;4372:22;4429:18;;;4463:15;;;;-1:-1:-1;4505:11:1;;;4501:20;;;4533:19;;;4530:39;;;4565:1;4562;4555:12;4530:39;4589:11;;;;4609:148;4625:6;4620:3;4617:15;4609:148;;;4691:23;4710:3;4691:23;:::i;:::-;4679:36;;4642:12;;;;4735;;;;4609:148;;;4776:6;3667:1121;-1:-1:-1;;;;;;;;3667:1121:1:o;4793:388::-;4861:6;4869;4922:2;4910:9;4901:7;4897:23;4893:32;4890:52;;;4938:1;4935;4928:12;4890:52;4977:9;4964:23;4996:31;5021:5;4996:31;:::i;:::-;5046:5;-1:-1:-1;5103:2:1;5088:18;;5075:32;5116:33;5075:32;5116:33;:::i;5186:380::-;5265:1;5261:12;;;;5308;;;5329:61;;5383:4;5375:6;5371:17;5361:27;;5329:61;5436:2;5428:6;5425:14;5405:18;5402:38;5399:161;;;5482:10;5477:3;5473:20;5470:1;5463:31;5517:4;5514:1;5507:15;5545:4;5542:1;5535:15;5399:161;;5186:380;;;:::o;5571:356::-;5773:2;5755:21;;;5792:18;;;5785:30;5851:34;5846:2;5831:18;;5824:62;5918:2;5903:18;;5571:356::o;5932:127::-;5993:10;5988:3;5984:20;5981:1;5974:31;6024:4;6021:1;6014:15;6048:4;6045:1;6038:15;6064:168;6104:7;6170:1;6166;6162:6;6158:14;6155:1;6152:21;6147:1;6140:9;6133:17;6129:45;6126:71;;;6177:18;;:::i;:::-;-1:-1:-1;6217:9:1;;6064:168::o;6237:217::-;6277:1;6303;6293:132;;6347:10;6342:3;6338:20;6335:1;6328:31;6382:4;6379:1;6372:15;6410:4;6407:1;6400:15;6293:132;-1:-1:-1;6439:9:1;;6237:217::o;7284:125::-;7324:4;7352:1;7349;7346:8;7343:34;;;7357:18;;:::i;:::-;-1:-1:-1;7394:9:1;;7284:125::o;7414:128::-;7454:3;7485:1;7481:6;7478:1;7475:13;7472:39;;;7491:18;;:::i;:::-;-1:-1:-1;7527:9:1;;7414:128::o;8237:127::-;8298:10;8293:3;8289:20;8286:1;8279:31;8329:4;8326:1;8319:15;8353:4;8350:1;8343:15;8369:135;8408:3;-1:-1:-1;;8429:17:1;;8426:43;;;8449:18;;:::i;:::-;-1:-1:-1;8496:1:1;8485:13;;8369:135::o;11733:401::-;11935:2;11917:21;;;11974:2;11954:18;;;11947:30;12013:34;12008:2;11993:18;;11986:62;-1:-1:-1;;;12079:2:1;12064:18;;12057:35;12124:3;12109:19;;11733:401::o;12139:399::-;12341:2;12323:21;;;12380:2;12360:18;;;12353:30;12419:34;12414:2;12399:18;;12392:62;-1:-1:-1;;;12485:2:1;12470:18;;12463:33;12528:3;12513:19;;12139:399::o;16352:251::-;16422:6;16475:2;16463:9;16454:7;16450:23;16446:32;16443:52;;;16491:1;16488;16481:12;16443:52;16523:9;16517:16;16542:31;16567:5;16542:31;:::i;16608:980::-;16870:4;16918:3;16907:9;16903:19;16949:6;16938:9;16931:25;16975:2;17013:6;17008:2;16997:9;16993:18;16986:34;17056:3;17051:2;17040:9;17036:18;17029:31;17080:6;17115;17109:13;17146:6;17138;17131:22;17184:3;17173:9;17169:19;17162:26;;17223:2;17215:6;17211:15;17197:29;;17244:1;17254:195;17268:6;17265:1;17262:13;17254:195;;;17333:13;;-1:-1:-1;;;;;17329:39:1;17317:52;;17424:15;;;;17389:12;;;;17365:1;17283:9;17254:195;;;-1:-1:-1;;;;;;;17505:32:1;;;;17500:2;17485:18;;17478:60;-1:-1:-1;;;17569:3:1;17554:19;17547:35;17466:3;16608:980;-1:-1:-1;;;16608:980:1:o;18205:306::-;18293:6;18301;18309;18362:2;18350:9;18341:7;18337:23;18333:32;18330:52;;;18378:1;18375;18368:12;18330:52;18407:9;18401:16;18391:26;;18457:2;18446:9;18442:18;18436:25;18426:35;;18501:2;18490:9;18486:18;18480:25;18470:35;;18205:306;;;;;:::o

Swarm Source

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