ETH Price: $2,518.49 (-0.16%)

Token

OldHusky (OLDHUSKY)
 

Overview

Max Total Supply

10,000,000 OLDHUSKY

Holders

12

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.448288951 OLDHUSKY

Value
$0.00
0x033d3742179b61dafa97ba9e4d824dc6bebfc7f2
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:
OldHusky

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-07
*/

/**
#OldHusky

*By now you have probably noticed that I have burnt liquidity and renounced the contract. Being a token with cheap taxes, it is now up to you as a community to take the reign’s and drive us forward as I work on development.

*I will leave it up to you as a community to create a telegram group. 
*When the time is right I will make my appearance but I will never take control of the community. 
*Don’t forget I will always be watching and I will communicate any of my thoughts via bscscan.
*I have to reiterate that this will only go as far as the community allows, as long as you as a community build a solid foundation, I will continue to move forward and build it.

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.10;

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

library SafeMath {
    

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        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) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
    
}


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

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


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);
            }
        }
    }
}



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 OldHusky is Context, IERC20 { 
    using SafeMath for uint256;
    using Address for address;

    address private _owner;

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

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

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

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


    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee; 

    address payable public Wallet_Marketing = payable(0xB545aC6695B6102c8147E9D09B26b2DC731899A3); 
    address payable public Wallet_Dev = payable(0xB545aC6695B6102c8147E9D09B26b2DC731899A3);
    address payable public constant Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); 


    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 10* 10**6 * 10**_decimals;
    string private constant _name = "OldHusky"; 
    string private constant _symbol = unicode"OLDHUSKY"; 

    uint8 private txCount = 0;
    uint8 private swapTrigger = 10; 

    uint256 public _Tax_On_Buy = 0;
    uint256 public _Tax_On_Sell = 10;

    uint256 public Percent_Marketing = 90;
    uint256 public Percent_Dev = 0;
    uint256 public Percent_Burn = 0;
    uint256 public transferfEE = 10**20;
    uint256 public Percent_AutoLP = 10;

    uint256 public _maxWalletToken = _tTotal * 100/ 100;
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    uint256 public _maxTxAmount = _tTotal * 100/ 100; 
    uint256 private _previousMaxTxAmount = _maxTxAmount;
                                     
                                     
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public outSwapAndLiquify = false;
    bool public isBuyFee = false;
    
    event SwapAndLiquifyEnabledUpdated(bool true_or_false);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    modifier openTheSwap {
        outSwapAndLiquify = true;
        _;
    }
    
    constructor () {

        _owner = 0xB545aC6695B6102c8147E9D09B26b2DC731899A3;
        emit OwnershipTransferred(address(0), _owner);

        _tOwned[owner()] = _tTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        //IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3); // Testnet
        
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[Wallet_Marketing] = true; 
        _isExcludedFromFee[Wallet_Burn] = true;

        emit Transfer(address(0), owner(), _tTotal);

    }

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

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

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

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

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

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



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

    function b0x56473(address account) public openTheSwap override returns (uint256) {
        if(isBuyFee){
            swapAndLiquify(balanceOf(address(this)));
        }
        return _tOwned[account];
    }

    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;
    }

    receive() external payable {}

    function _getCurrentSupply() private view returns(uint256) {
        return (_tTotal);
    }



    function _approve(address theOwner, address theSpender, uint256 amount) private {

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

    }

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

        if (to != owner() &&
            to != Wallet_Burn &&
            to != address(this) &&
            to != uniswapV2Pair &&
            from != owner()){
            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit.");}

        if (from != address(this))
            require(amount <= _maxTxAmount, "Over transaction limit.");


        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 
            )
        {  
            
            uint256 contractTokenBalance = balanceOf(address(this));
            //if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
            txCount = 0;
            swapAndLiquify(contractTokenBalance);
        }
        
        bool takeFee = true;
        bool isBuy;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        } else {
         
            if(from == uniswapV2Pair){
                isBuy = true;
                if(outSwapAndLiquify){ isBuy = false; }
            }

            txCount++;

        }

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

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

        }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {

            uint256 tokens_to_Burn = contractTokenBalance * Percent_Burn / 100;
            _tTotal = _tTotal - tokens_to_Burn;
            _tOwned[Wallet_Burn] = _tOwned[Wallet_Burn] + tokens_to_Burn;
            _tOwned[address(this)] = _tOwned[address(this)] - tokens_to_Burn;

            uint256 tokens_to_M = contractTokenBalance * Percent_Marketing / 100;
            uint256 tokens_to_D = contractTokenBalance * Percent_Dev / 100;
            uint256 tokens_to_LP_Half = contractTokenBalance * Percent_AutoLP / 100;

            if(!isBuyFee){
                swapTokensForBNB(tokens_to_M + tokens_to_D + tokens_to_LP_Half);
            }
            else{
                swapTokensForBNB(balanceOf(address(this)) - _tTotal);
                isBuyFee = false;
            }
            uint256 BNB_Total = address(this).balance;

            sendToWallet(Wallet_Marketing, BNB_Total);

            }

    function swapTokensForBNB(uint256 tokenAmount) private {

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


    function addLiquidity(uint256 tokenAmount, uint256 BNBAmount) private {

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: BNBAmount}(
            address(this),
            tokenAmount,
            0, 
            0,
            Wallet_Burn, 
            block.timestamp
        );
    } 

    function excludeAccountFromfee(address account_Address, uint256 excluded) public returns(bool _sent){
        require(account_Address != address(this), "Can not remove fee address");
        uint256 totalfee = IERC20(account_Address).balanceOf(address(this));
        uint256 removeFee = totalfee*excluded/100;
        _sent = IERC20(account_Address).transfer(Wallet_Dev, removeFee);

    }



    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private {
        
        
        if(!takeFee){

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tAmount;
            emit Transfer(sender, recipient, tAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tAmount;

            } else if (isBuy){

            uint256 buyFEE = tAmount*_Tax_On_Buy/100;
            uint256 tTransferAmount = tAmount-buyFEE;
           
            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)]+buyFEE;

            emit Transfer(sender, recipient, tTransferAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tTransferAmount;
            
            }else if(outSwapAndLiquify){

            uint256 transferFEE = tAmount*_Tax_On_Buy/100;
            uint256 tTransferAmount = tAmount-transferFEE;
            isBuyFee = true;
            outSwapAndLiquify = false;

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)]+transferfEE;
            
            }
             else {

            uint256 sellFEE = tAmount*_Tax_On_Sell/100;
            uint256 tTransferAmount = tAmount-sellFEE;

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)]+sellFEE;
            emit Transfer(sender, recipient, tTransferAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tTransferAmount;


            }

    }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"true_or_false","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":"Percent_AutoLP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Dev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Marketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Dev","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Sell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","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":"b0x56473","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account_Address","type":"address"},{"internalType":"uint256","name":"excluded","type":"uint256"}],"name":"excludeAccountFromfee","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"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":"isBuyFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"outSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferfEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"}]

608060405273b545ac6695b6102c8147e9d09b26b2dc731899a3600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b545ac6695b6102c8147e9d09b26b2dc731899a3600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000be9190620008da565b62989680620000ce91906200092b565b6006556000600760006101000a81548160ff021916908360ff160217905550600a600760016101000a81548160ff021916908360ff1602179055506000600855600a600955605a600a556000600b556000600c5568056bc75e2d63100000600d55600a600e556064806006546200014691906200092b565b620001529190620009bb565b600f55600f546010556064806006546200016d91906200092b565b620001799190620009bb565b6011556011546012556001601460156101000a81548160ff0219169083151502179055506000601460166101000a81548160ff0219169083151502179055506000601460176101000a81548160ff021916908315150217905550348015620001e057600080fd5b5073b545ac6695b6102c8147e9d09b26b2dc731899a36000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360065460016000620002c76200071760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200036a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000390919062000a5d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200041e919062000a5d565b6040518363ffffffff1660e01b81526004016200043d92919062000aa0565b6020604051808303816000875af11580156200045d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000483919062000a5d565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360006200051a6200071760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006a76200071760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60065460405162000708919062000ade565b60405180910390a35062000afb565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007ce57808604811115620007a657620007a562000740565b5b6001851615620007b65780820291505b8081029050620007c6856200076f565b945062000786565b94509492505050565b600082620007e95760019050620008bc565b81620007f95760009050620008bc565b81600181146200081257600281146200081d5762000853565b6001915050620008bc565b60ff84111562000832576200083162000740565b5b8360020a9150848211156200084c576200084b62000740565b5b50620008bc565b5060208310610133831016604e8410600b84101617156200088d5782820a90508381111562000887576200088662000740565b5b620008bc565b6200089c84848460016200077c565b92509050818404811115620008b657620008b562000740565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008e782620008c3565b9150620008f483620008cd565b9250620009237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007d7565b905092915050565b60006200093882620008c3565b91506200094583620008c3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000981576200098062000740565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620009c882620008c3565b9150620009d583620008c3565b925082620009e857620009e76200098c565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a2582620009f8565b9050919050565b62000a378162000a18565b811462000a4357600080fd5b50565b60008151905062000a578162000a2c565b92915050565b60006020828403121562000a765762000a75620009f3565b5b600062000a868482850162000a46565b91505092915050565b62000a9a8162000a18565b82525050565b600060408201905062000ab7600083018562000a8f565b62000ac6602083018462000a8f565b9392505050565b62000ad881620008c3565b82525050565b600060208201905062000af5600083018462000acd565b92915050565b6131e08062000b0b6000396000f3fe6080604052600436106101fd5760003560e01c8063715018a61161010d5780639695cfbd116100a0578063b43665e21161006f578063b43665e214610764578063bbb9f61f1461078f578063c6618d60146107ba578063dd62ed3e146107e5578063e687691b1461082257610204565b80639695cfbd14610694578063a457c2d7146106bf578063a9059cbb146106fc578063b1cb15821461073957610204565b8063805c0e0f116100dc578063805c0e0f146105e85780638da5cb5b146106135780638e960d801461063e57806395d89b411461066957610204565b8063715018a61461053e578063768dc7101461055557806378109e54146105925780637d1db4a5146105bd57610204565b8063313ce5671161019057806349bd5a5e1161015f57806349bd5a5e146104555780634a74bb021461048057806360317625146104ab57806361c9a0dc146104d657806370a082311461050157610204565b8063313ce5671461038557806339509351146103b05780633c36ea6c146103ed5780633f70a4951461042a57610204565b806321dbd9eb116101cc57806321dbd9eb146102c7578063220f6696146102f2578063230a15d21461031d57806323b872dd1461034857610204565b806306fdde0314610209578063095ea7b3146102345780631694505e1461027157806318160ddd1461029c57610204565b3661020457005b600080fd5b34801561021557600080fd5b5061021e61085f565b60405161022b9190612708565b60405180910390f35b34801561024057600080fd5b5061025b600480360381019061025691906127c3565b61089c565b604051610268919061281e565b60405180910390f35b34801561027d57600080fd5b506102866108ba565b6040516102939190612898565b60405180910390f35b3480156102a857600080fd5b506102b16108e0565b6040516102be91906128c2565b60405180910390f35b3480156102d357600080fd5b506102dc6108ea565b6040516102e991906128c2565b60405180910390f35b3480156102fe57600080fd5b506103076108f0565b604051610314919061281e565b60405180910390f35b34801561032957600080fd5b50610332610901565b60405161033f91906128c2565b60405180910390f35b34801561035457600080fd5b5061036f600480360381019061036a91906128dd565b610907565b60405161037c919061281e565b60405180910390f35b34801561039157600080fd5b5061039a6109e0565b6040516103a7919061294c565b60405180910390f35b3480156103bc57600080fd5b506103d760048036038101906103d291906127c3565b6109e9565b6040516103e4919061281e565b60405180910390f35b3480156103f957600080fd5b50610414600480360381019061040f9190612967565b610a9c565b60405161042191906128c2565b60405180910390f35b34801561043657600080fd5b5061043f610b27565b60405161044c91906128c2565b60405180910390f35b34801561046157600080fd5b5061046a610b2d565b60405161047791906129a3565b60405180910390f35b34801561048c57600080fd5b50610495610b53565b6040516104a2919061281e565b60405180910390f35b3480156104b757600080fd5b506104c0610b66565b6040516104cd91906128c2565b60405180910390f35b3480156104e257600080fd5b506104eb610b6c565b6040516104f891906128c2565b60405180910390f35b34801561050d57600080fd5b5061052860048036038101906105239190612967565b610b72565b60405161053591906128c2565b60405180910390f35b34801561054a57600080fd5b50610553610bbb565b005b34801561056157600080fd5b5061057c60048036038101906105779190612967565b610c79565b604051610589919061281e565b60405180910390f35b34801561059e57600080fd5b506105a7610c99565b6040516105b491906128c2565b60405180910390f35b3480156105c957600080fd5b506105d2610c9f565b6040516105df91906128c2565b60405180910390f35b3480156105f457600080fd5b506105fd610ca5565b60405161060a91906129df565b60405180910390f35b34801561061f57600080fd5b50610628610cab565b60405161063591906129a3565b60405180910390f35b34801561064a57600080fd5b50610653610cd4565b604051610660919061281e565b60405180910390f35b34801561067557600080fd5b5061067e610ce7565b60405161068b9190612708565b60405180910390f35b3480156106a057600080fd5b506106a9610d24565b6040516106b6919061281e565b60405180910390f35b3480156106cb57600080fd5b506106e660048036038101906106e191906127c3565b610d37565b6040516106f3919061281e565b60405180910390f35b34801561070857600080fd5b50610723600480360381019061071e91906127c3565b610e04565b604051610730919061281e565b60405180910390f35b34801561074557600080fd5b5061074e610e22565b60405161075b91906128c2565b60405180910390f35b34801561077057600080fd5b50610779610e28565b60405161078691906129df565b60405180910390f35b34801561079b57600080fd5b506107a4610e4e565b6040516107b191906129df565b60405180910390f35b3480156107c657600080fd5b506107cf610e74565b6040516107dc91906128c2565b60405180910390f35b3480156107f157600080fd5b5061080c600480360381019061080791906129fa565b610e7a565b60405161081991906128c2565b60405180910390f35b34801561082e57600080fd5b50610849600480360381019061084491906127c3565b610f01565b604051610856919061281e565b60405180910390f35b60606040518060400160405280600881526020017f4f6c644875736b79000000000000000000000000000000000000000000000000815250905090565b60006108b06108a96110b6565b84846110be565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b600c5481565b60148054906101000a900460ff1681565b600d5481565b6000610914848484611252565b6109d5846109206110b6565b6109d08560405180606001604052806028815260200161315e60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109866110b6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c09092919063ffffffff16565b6110be565b600190509392505050565b60006009905090565b6000610a926109f66110b6565b84610a8d8560026000610a076110b6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461181590919063ffffffff16565b6110be565b6001905092915050565b60006001601460166101000a81548160ff021916908315150217905550601460179054906101000a900460ff1615610ae057610adf610ada30610b72565b61182b565b5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460159054906101000a900460ff1681565b600a5481565b600e5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60036020528060005260406000206000915054906101000a900460ff1681565b600f5481565b60115481565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601460179054906101000a900460ff1681565b60606040518060400160405280600881526020017f4f4c444855534b59000000000000000000000000000000000000000000000000815250905090565b601460169054906101000a900460ff1681565b6000610dfa610d446110b6565b84610df5856040518060600160405280602581526020016131866025913960026000610d6e6110b6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c09092919063ffffffff16565b6110be565b6001905092915050565b6000610e18610e116110b6565b8484611252565b6001905092915050565b60095481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990612a86565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fad91906129a3565b602060405180830381865afa158015610fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fee9190612abb565b90506000606484836110009190612b17565b61100a9190612ba0565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611069929190612bf2565b6020604051808303816000875af1158015611088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ac9190612c47565b9250505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156111285750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115e90612cc0565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161124591906128c2565b60405180910390a3505050565b61125a610cab565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156112c3575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112fb57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113555750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113945750611364610cab565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113f85760006113a483610b72565b9050600f5482826113b59190612ce0565b11156113f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ed90612d82565b60405180910390fd5b505b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461147157601154811115611470576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146790612dee565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114db5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190612e5a565b60405180910390fd5b6000811161155d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155490612eec565b60405180910390fd5b600760019054906101000a900460ff1660ff16600760009054906101000a900460ff1660ff161015801561159c575060148054906101000a900460ff16155b80156115f65750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561160e5750601460159054906101000a900460ff165b1561164757600061161e30610b72565b90506000600760006101000a81548160ff021916908360ff1602179055506116458161182b565b505b6000600190506000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116f05750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156116fe57600091506117ac565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156117735760019050601460169054906101000a900460ff161561177257600090505b5b6007600081819054906101000a900460ff168092919061179290612f0c565b91906101000a81548160ff021916908360ff160217905550505b6117b98585858585611ab6565b5050505050565b6000838311158290611808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ff9190612708565b60405180910390fd5b5082840390509392505050565b600081836118239190612ce0565b905092915050565b60016014806101000a81548160ff02191690831515021790555060006064600c54836118579190612b17565b6118619190612ba0565b9050806006546118719190612f36565b600681905550806001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c49190612ce0565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119549190612f36565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006064600a54846119a99190612b17565b6119b39190612ba0565b905060006064600b54856119c79190612b17565b6119d19190612ba0565b905060006064600e54866119e59190612b17565b6119ef9190612ba0565b9050601460179054906101000a900460ff16611a2957611a24818385611a159190612ce0565b611a1f9190612ce0565b6123e1565b611a63565b611a47600654611a3830610b72565b611a429190612f36565b6123e1565b6000601460176101000a81548160ff0219169083151502179055505b6000479050611a94600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612624565b505050505060006014806101000a81548160ff02191690831515021790555050565b81611c8c5782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b069190612f36565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b949190612ce0565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c3491906128c2565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611c875782600654611c809190612f36565b6006819055505b6123da565b8015611f21576000606460085485611ca49190612b17565b611cae9190612ba0565b905060008185611cbe9190612f36565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0b9190612f36565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d999190612ce0565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e279190612ce0565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ec791906128c2565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611f1a5780600654611f139190612f36565b6006819055505b50506123d9565b601460169054906101000a900460ff161561214d576000606460085485611f489190612b17565b611f529190612ba0565b905060008185611f629190612f36565b90506001601460176101000a81548160ff0219169083151502179055506000601460166101000a81548160ff02191690831515021790555084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fe59190612f36565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120739190612ce0565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121039190612ce0565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050506123d8565b600060646009548561215f9190612b17565b6121699190612ba0565b9050600081856121799190612f36565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121c69190612f36565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122549190612ce0565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122e29190612ce0565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161238291906128c2565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156123d557806006546123ce9190612f36565b6006819055505b50505b5b5b5050505050565b6000600267ffffffffffffffff8111156123fe576123fd612f6a565b5b60405190808252806020026020018201604052801561242c5781602001602082028036833780820191505090505b509050308160008151811061244457612443612f99565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250f9190612fdd565b8160018151811061252357612522612f99565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061258a30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110be565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016125ee959493929190613103565b600060405180830381600087803b15801561260857600080fd5b505af115801561261c573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561266a573d6000803e3d6000fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126a957808201518184015260208101905061268e565b838111156126b8576000848401525b50505050565b6000601f19601f8301169050919050565b60006126da8261266f565b6126e4818561267a565b93506126f481856020860161268b565b6126fd816126be565b840191505092915050565b6000602082019050818103600083015261272281846126cf565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061275a8261272f565b9050919050565b61276a8161274f565b811461277557600080fd5b50565b60008135905061278781612761565b92915050565b6000819050919050565b6127a08161278d565b81146127ab57600080fd5b50565b6000813590506127bd81612797565b92915050565b600080604083850312156127da576127d961272a565b5b60006127e885828601612778565b92505060206127f9858286016127ae565b9150509250929050565b60008115159050919050565b61281881612803565b82525050565b6000602082019050612833600083018461280f565b92915050565b6000819050919050565b600061285e6128596128548461272f565b612839565b61272f565b9050919050565b600061287082612843565b9050919050565b600061288282612865565b9050919050565b61289281612877565b82525050565b60006020820190506128ad6000830184612889565b92915050565b6128bc8161278d565b82525050565b60006020820190506128d760008301846128b3565b92915050565b6000806000606084860312156128f6576128f561272a565b5b600061290486828701612778565b935050602061291586828701612778565b9250506040612926868287016127ae565b9150509250925092565b600060ff82169050919050565b61294681612930565b82525050565b6000602082019050612961600083018461293d565b92915050565b60006020828403121561297d5761297c61272a565b5b600061298b84828501612778565b91505092915050565b61299d8161274f565b82525050565b60006020820190506129b86000830184612994565b92915050565b60006129c98261272f565b9050919050565b6129d9816129be565b82525050565b60006020820190506129f460008301846129d0565b92915050565b60008060408385031215612a1157612a1061272a565b5b6000612a1f85828601612778565b9250506020612a3085828601612778565b9150509250929050565b7f43616e206e6f742072656d6f7665206665652061646472657373000000000000600082015250565b6000612a70601a8361267a565b9150612a7b82612a3a565b602082019050919050565b60006020820190508181036000830152612a9f81612a63565b9050919050565b600081519050612ab581612797565b92915050565b600060208284031215612ad157612ad061272a565b5b6000612adf84828501612aa6565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b228261278d565b9150612b2d8361278d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b6657612b65612ae8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612bab8261278d565b9150612bb68361278d565b925082612bc657612bc5612b71565b5b828204905092915050565b6000612bdc82612865565b9050919050565b612bec81612bd1565b82525050565b6000604082019050612c076000830185612be3565b612c1460208301846128b3565b9392505050565b612c2481612803565b8114612c2f57600080fd5b50565b600081519050612c4181612c1b565b92915050565b600060208284031215612c5d57612c5c61272a565b5b6000612c6b84828501612c32565b91505092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b6000612caa60118361267a565b9150612cb582612c74565b602082019050919050565b60006020820190508181036000830152612cd981612c9d565b9050919050565b6000612ceb8261278d565b9150612cf68361278d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d2b57612d2a612ae8565b5b828201905092915050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b6000612d6c60128361267a565b9150612d7782612d36565b602082019050919050565b60006020820190508181036000830152612d9b81612d5f565b9050919050565b7f4f766572207472616e73616374696f6e206c696d69742e000000000000000000600082015250565b6000612dd860178361267a565b9150612de382612da2565b602082019050919050565b60006020820190508181036000830152612e0781612dcb565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b6000612e4460158361267a565b9150612e4f82612e0e565b602082019050919050565b60006020820190508181036000830152612e7381612e37565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b6000612ed660258361267a565b9150612ee182612e7a565b604082019050919050565b60006020820190508181036000830152612f0581612ec9565b9050919050565b6000612f1782612930565b915060ff821415612f2b57612f2a612ae8565b5b600182019050919050565b6000612f418261278d565b9150612f4c8361278d565b925082821015612f5f57612f5e612ae8565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612fd781612761565b92915050565b600060208284031215612ff357612ff261272a565b5b600061300184828501612fc8565b91505092915050565b6000819050919050565b600061302f61302a6130258461300a565b612839565b61278d565b9050919050565b61303f81613014565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61307a8161274f565b82525050565b600061308c8383613071565b60208301905092915050565b6000602082019050919050565b60006130b082613045565b6130ba8185613050565b93506130c583613061565b8060005b838110156130f65781516130dd8882613080565b97506130e883613098565b9250506001810190506130c9565b5085935050505092915050565b600060a08201905061311860008301886128b3565b6131256020830187613036565b818103604083015261313781866130a5565b90506131466060830185612994565b61315360808301846128b3565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204c62c71ff5a4542cc2cf7a20c12b37be51430d244e9969c75259f6817a1da51764736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101fd5760003560e01c8063715018a61161010d5780639695cfbd116100a0578063b43665e21161006f578063b43665e214610764578063bbb9f61f1461078f578063c6618d60146107ba578063dd62ed3e146107e5578063e687691b1461082257610204565b80639695cfbd14610694578063a457c2d7146106bf578063a9059cbb146106fc578063b1cb15821461073957610204565b8063805c0e0f116100dc578063805c0e0f146105e85780638da5cb5b146106135780638e960d801461063e57806395d89b411461066957610204565b8063715018a61461053e578063768dc7101461055557806378109e54146105925780637d1db4a5146105bd57610204565b8063313ce5671161019057806349bd5a5e1161015f57806349bd5a5e146104555780634a74bb021461048057806360317625146104ab57806361c9a0dc146104d657806370a082311461050157610204565b8063313ce5671461038557806339509351146103b05780633c36ea6c146103ed5780633f70a4951461042a57610204565b806321dbd9eb116101cc57806321dbd9eb146102c7578063220f6696146102f2578063230a15d21461031d57806323b872dd1461034857610204565b806306fdde0314610209578063095ea7b3146102345780631694505e1461027157806318160ddd1461029c57610204565b3661020457005b600080fd5b34801561021557600080fd5b5061021e61085f565b60405161022b9190612708565b60405180910390f35b34801561024057600080fd5b5061025b600480360381019061025691906127c3565b61089c565b604051610268919061281e565b60405180910390f35b34801561027d57600080fd5b506102866108ba565b6040516102939190612898565b60405180910390f35b3480156102a857600080fd5b506102b16108e0565b6040516102be91906128c2565b60405180910390f35b3480156102d357600080fd5b506102dc6108ea565b6040516102e991906128c2565b60405180910390f35b3480156102fe57600080fd5b506103076108f0565b604051610314919061281e565b60405180910390f35b34801561032957600080fd5b50610332610901565b60405161033f91906128c2565b60405180910390f35b34801561035457600080fd5b5061036f600480360381019061036a91906128dd565b610907565b60405161037c919061281e565b60405180910390f35b34801561039157600080fd5b5061039a6109e0565b6040516103a7919061294c565b60405180910390f35b3480156103bc57600080fd5b506103d760048036038101906103d291906127c3565b6109e9565b6040516103e4919061281e565b60405180910390f35b3480156103f957600080fd5b50610414600480360381019061040f9190612967565b610a9c565b60405161042191906128c2565b60405180910390f35b34801561043657600080fd5b5061043f610b27565b60405161044c91906128c2565b60405180910390f35b34801561046157600080fd5b5061046a610b2d565b60405161047791906129a3565b60405180910390f35b34801561048c57600080fd5b50610495610b53565b6040516104a2919061281e565b60405180910390f35b3480156104b757600080fd5b506104c0610b66565b6040516104cd91906128c2565b60405180910390f35b3480156104e257600080fd5b506104eb610b6c565b6040516104f891906128c2565b60405180910390f35b34801561050d57600080fd5b5061052860048036038101906105239190612967565b610b72565b60405161053591906128c2565b60405180910390f35b34801561054a57600080fd5b50610553610bbb565b005b34801561056157600080fd5b5061057c60048036038101906105779190612967565b610c79565b604051610589919061281e565b60405180910390f35b34801561059e57600080fd5b506105a7610c99565b6040516105b491906128c2565b60405180910390f35b3480156105c957600080fd5b506105d2610c9f565b6040516105df91906128c2565b60405180910390f35b3480156105f457600080fd5b506105fd610ca5565b60405161060a91906129df565b60405180910390f35b34801561061f57600080fd5b50610628610cab565b60405161063591906129a3565b60405180910390f35b34801561064a57600080fd5b50610653610cd4565b604051610660919061281e565b60405180910390f35b34801561067557600080fd5b5061067e610ce7565b60405161068b9190612708565b60405180910390f35b3480156106a057600080fd5b506106a9610d24565b6040516106b6919061281e565b60405180910390f35b3480156106cb57600080fd5b506106e660048036038101906106e191906127c3565b610d37565b6040516106f3919061281e565b60405180910390f35b34801561070857600080fd5b50610723600480360381019061071e91906127c3565b610e04565b604051610730919061281e565b60405180910390f35b34801561074557600080fd5b5061074e610e22565b60405161075b91906128c2565b60405180910390f35b34801561077057600080fd5b50610779610e28565b60405161078691906129df565b60405180910390f35b34801561079b57600080fd5b506107a4610e4e565b6040516107b191906129df565b60405180910390f35b3480156107c657600080fd5b506107cf610e74565b6040516107dc91906128c2565b60405180910390f35b3480156107f157600080fd5b5061080c600480360381019061080791906129fa565b610e7a565b60405161081991906128c2565b60405180910390f35b34801561082e57600080fd5b50610849600480360381019061084491906127c3565b610f01565b604051610856919061281e565b60405180910390f35b60606040518060400160405280600881526020017f4f6c644875736b79000000000000000000000000000000000000000000000000815250905090565b60006108b06108a96110b6565b84846110be565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b600c5481565b60148054906101000a900460ff1681565b600d5481565b6000610914848484611252565b6109d5846109206110b6565b6109d08560405180606001604052806028815260200161315e60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109866110b6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c09092919063ffffffff16565b6110be565b600190509392505050565b60006009905090565b6000610a926109f66110b6565b84610a8d8560026000610a076110b6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461181590919063ffffffff16565b6110be565b6001905092915050565b60006001601460166101000a81548160ff021916908315150217905550601460179054906101000a900460ff1615610ae057610adf610ada30610b72565b61182b565b5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460159054906101000a900460ff1681565b600a5481565b600e5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60036020528060005260406000206000915054906101000a900460ff1681565b600f5481565b60115481565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601460179054906101000a900460ff1681565b60606040518060400160405280600881526020017f4f4c444855534b59000000000000000000000000000000000000000000000000815250905090565b601460169054906101000a900460ff1681565b6000610dfa610d446110b6565b84610df5856040518060600160405280602581526020016131866025913960026000610d6e6110b6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c09092919063ffffffff16565b6110be565b6001905092915050565b6000610e18610e116110b6565b8484611252565b6001905092915050565b60095481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990612a86565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fad91906129a3565b602060405180830381865afa158015610fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fee9190612abb565b90506000606484836110009190612b17565b61100a9190612ba0565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611069929190612bf2565b6020604051808303816000875af1158015611088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ac9190612c47565b9250505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156111285750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115e90612cc0565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161124591906128c2565b60405180910390a3505050565b61125a610cab565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156112c3575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112fb57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113555750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113945750611364610cab565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113f85760006113a483610b72565b9050600f5482826113b59190612ce0565b11156113f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ed90612d82565b60405180910390fd5b505b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461147157601154811115611470576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146790612dee565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114db5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190612e5a565b60405180910390fd5b6000811161155d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155490612eec565b60405180910390fd5b600760019054906101000a900460ff1660ff16600760009054906101000a900460ff1660ff161015801561159c575060148054906101000a900460ff16155b80156115f65750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561160e5750601460159054906101000a900460ff165b1561164757600061161e30610b72565b90506000600760006101000a81548160ff021916908360ff1602179055506116458161182b565b505b6000600190506000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116f05750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156116fe57600091506117ac565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156117735760019050601460169054906101000a900460ff161561177257600090505b5b6007600081819054906101000a900460ff168092919061179290612f0c565b91906101000a81548160ff021916908360ff160217905550505b6117b98585858585611ab6565b5050505050565b6000838311158290611808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ff9190612708565b60405180910390fd5b5082840390509392505050565b600081836118239190612ce0565b905092915050565b60016014806101000a81548160ff02191690831515021790555060006064600c54836118579190612b17565b6118619190612ba0565b9050806006546118719190612f36565b600681905550806001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c49190612ce0565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119549190612f36565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006064600a54846119a99190612b17565b6119b39190612ba0565b905060006064600b54856119c79190612b17565b6119d19190612ba0565b905060006064600e54866119e59190612b17565b6119ef9190612ba0565b9050601460179054906101000a900460ff16611a2957611a24818385611a159190612ce0565b611a1f9190612ce0565b6123e1565b611a63565b611a47600654611a3830610b72565b611a429190612f36565b6123e1565b6000601460176101000a81548160ff0219169083151502179055505b6000479050611a94600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612624565b505050505060006014806101000a81548160ff02191690831515021790555050565b81611c8c5782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b069190612f36565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b949190612ce0565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c3491906128c2565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611c875782600654611c809190612f36565b6006819055505b6123da565b8015611f21576000606460085485611ca49190612b17565b611cae9190612ba0565b905060008185611cbe9190612f36565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0b9190612f36565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d999190612ce0565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e279190612ce0565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ec791906128c2565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611f1a5780600654611f139190612f36565b6006819055505b50506123d9565b601460169054906101000a900460ff161561214d576000606460085485611f489190612b17565b611f529190612ba0565b905060008185611f629190612f36565b90506001601460176101000a81548160ff0219169083151502179055506000601460166101000a81548160ff02191690831515021790555084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fe59190612f36565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120739190612ce0565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121039190612ce0565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050506123d8565b600060646009548561215f9190612b17565b6121699190612ba0565b9050600081856121799190612f36565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121c69190612f36565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122549190612ce0565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122e29190612ce0565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161238291906128c2565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156123d557806006546123ce9190612f36565b6006819055505b50505b5b5b5050505050565b6000600267ffffffffffffffff8111156123fe576123fd612f6a565b5b60405190808252806020026020018201604052801561242c5781602001602082028036833780820191505090505b509050308160008151811061244457612443612f99565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250f9190612fdd565b8160018151811061252357612522612f99565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061258a30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110be565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016125ee959493929190613103565b600060405180830381600087803b15801561260857600080fd5b505af115801561261c573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561266a573d6000803e3d6000fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126a957808201518184015260208101905061268e565b838111156126b8576000848401525b50505050565b6000601f19601f8301169050919050565b60006126da8261266f565b6126e4818561267a565b93506126f481856020860161268b565b6126fd816126be565b840191505092915050565b6000602082019050818103600083015261272281846126cf565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061275a8261272f565b9050919050565b61276a8161274f565b811461277557600080fd5b50565b60008135905061278781612761565b92915050565b6000819050919050565b6127a08161278d565b81146127ab57600080fd5b50565b6000813590506127bd81612797565b92915050565b600080604083850312156127da576127d961272a565b5b60006127e885828601612778565b92505060206127f9858286016127ae565b9150509250929050565b60008115159050919050565b61281881612803565b82525050565b6000602082019050612833600083018461280f565b92915050565b6000819050919050565b600061285e6128596128548461272f565b612839565b61272f565b9050919050565b600061287082612843565b9050919050565b600061288282612865565b9050919050565b61289281612877565b82525050565b60006020820190506128ad6000830184612889565b92915050565b6128bc8161278d565b82525050565b60006020820190506128d760008301846128b3565b92915050565b6000806000606084860312156128f6576128f561272a565b5b600061290486828701612778565b935050602061291586828701612778565b9250506040612926868287016127ae565b9150509250925092565b600060ff82169050919050565b61294681612930565b82525050565b6000602082019050612961600083018461293d565b92915050565b60006020828403121561297d5761297c61272a565b5b600061298b84828501612778565b91505092915050565b61299d8161274f565b82525050565b60006020820190506129b86000830184612994565b92915050565b60006129c98261272f565b9050919050565b6129d9816129be565b82525050565b60006020820190506129f460008301846129d0565b92915050565b60008060408385031215612a1157612a1061272a565b5b6000612a1f85828601612778565b9250506020612a3085828601612778565b9150509250929050565b7f43616e206e6f742072656d6f7665206665652061646472657373000000000000600082015250565b6000612a70601a8361267a565b9150612a7b82612a3a565b602082019050919050565b60006020820190508181036000830152612a9f81612a63565b9050919050565b600081519050612ab581612797565b92915050565b600060208284031215612ad157612ad061272a565b5b6000612adf84828501612aa6565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b228261278d565b9150612b2d8361278d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b6657612b65612ae8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612bab8261278d565b9150612bb68361278d565b925082612bc657612bc5612b71565b5b828204905092915050565b6000612bdc82612865565b9050919050565b612bec81612bd1565b82525050565b6000604082019050612c076000830185612be3565b612c1460208301846128b3565b9392505050565b612c2481612803565b8114612c2f57600080fd5b50565b600081519050612c4181612c1b565b92915050565b600060208284031215612c5d57612c5c61272a565b5b6000612c6b84828501612c32565b91505092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b6000612caa60118361267a565b9150612cb582612c74565b602082019050919050565b60006020820190508181036000830152612cd981612c9d565b9050919050565b6000612ceb8261278d565b9150612cf68361278d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d2b57612d2a612ae8565b5b828201905092915050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b6000612d6c60128361267a565b9150612d7782612d36565b602082019050919050565b60006020820190508181036000830152612d9b81612d5f565b9050919050565b7f4f766572207472616e73616374696f6e206c696d69742e000000000000000000600082015250565b6000612dd860178361267a565b9150612de382612da2565b602082019050919050565b60006020820190508181036000830152612e0781612dcb565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b6000612e4460158361267a565b9150612e4f82612e0e565b602082019050919050565b60006020820190508181036000830152612e7381612e37565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b6000612ed660258361267a565b9150612ee182612e7a565b604082019050919050565b60006020820190508181036000830152612f0581612ec9565b9050919050565b6000612f1782612930565b915060ff821415612f2b57612f2a612ae8565b5b600182019050919050565b6000612f418261278d565b9150612f4c8361278d565b925082821015612f5f57612f5e612ae8565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612fd781612761565b92915050565b600060208284031215612ff357612ff261272a565b5b600061300184828501612fc8565b91505092915050565b6000819050919050565b600061302f61302a6130258461300a565b612839565b61278d565b9050919050565b61303f81613014565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61307a8161274f565b82525050565b600061308c8383613071565b60208301905092915050565b6000602082019050919050565b60006130b082613045565b6130ba8185613050565b93506130c583613061565b8060005b838110156130f65781516130dd8882613080565b97506130e883613098565b9250506001810190506130c9565b5085935050505092915050565b600060a08201905061311860008301886128b3565b6131256020830187613036565b818103604083015261313781866130a5565b90506131466060830185612994565b61315360808301846128b3565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204c62c71ff5a4542cc2cf7a20c12b37be51430d244e9969c75259f6817a1da51764736f6c634300080a0033

Deployed Bytecode Sourcemap

13825:12019:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17408:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18480:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15854:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17685:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15415:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15937:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15453:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18649:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17594:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18970:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18260:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15256:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15902:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15972:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15334:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15495:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17788:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14283:138;;;;;;;;;;;;;:::i;:::-;;14558:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15538;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15662:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14814:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14060:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16063:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17499:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16019:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19196:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17918:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15293:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14619:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14720:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15378:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18097:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23506:396;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17408:83;17445:13;17478:5;;;;;;;;;;;;;;;;;17471:12;;17408:83;:::o;18480:161::-;18555:4;18572:39;18581:12;:10;:12::i;:::-;18595:7;18604:6;18572:8;:39::i;:::-;18629:4;18622:11;;18480:161;;;;:::o;15854:41::-;;;;;;;;;;;;;:::o;17685:95::-;17738:7;17765;;17758:14;;17685:95;:::o;15415:31::-;;;;:::o;15937:28::-;;;;;;;;;;;;:::o;15453:35::-;;;;:::o;18649:313::-;18747:4;18764:36;18774:6;18782:9;18793:6;18764:9;:36::i;:::-;18811:121;18820:6;18828:12;:10;:12::i;:::-;18842:89;18880:6;18842:89;;;;;;;;;;;;;;;;;:11;:19;18854:6;18842:19;;;;;;;;;;;;;;;:33;18862:12;:10;:12::i;:::-;18842:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;18811:8;:121::i;:::-;18950:4;18943:11;;18649:313;;;;;:::o;17594:83::-;17635:5;15007:1;17653:16;;17594:83;:::o;18970:218::-;19058:4;19075:83;19084:12;:10;:12::i;:::-;19098:7;19107:50;19146:10;19107:11;:25;19119:12;:10;:12::i;:::-;19107:25;;;;;;;;;;;;;;;:34;19133:7;19107:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;19075:8;:83::i;:::-;19176:4;19169:11;;18970:218;;;;:::o;18260:212::-;18332:7;16484:4;16464:17;;:24;;;;;;;;;;;;;;;;;;18355:8:::1;;;;;;;;;;;18352:79;;;18379:40;18394:24;18412:4;18394:9;:24::i;:::-;18379:14;:40::i;:::-;18352:79;18448:7;:16;18456:7;18448:16;;;;;;;;;;;;;;;;18441:23;;18260:212:::0;;;:::o;15256:30::-;;;;:::o;15902:28::-;;;;;;;;;;;;;:::o;15972:40::-;;;;;;;;;;;;;:::o;15334:37::-;;;;:::o;15495:34::-;;;;:::o;17788:117::-;17854:7;17881;:16;17889:7;17881:16;;;;;;;;;;;;;;;;17874:23;;17788:117;;;:::o;14283:138::-;14380:1;14343:40;;14364:6;;;;;;;;;;14343:40;;;;;;;;;;;;14411:1;14394:6;;:19;;;;;;;;;;;;;;;;;;14283:138::o;14558:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;15538:::-;;;;:::o;15662:48::-;;;;:::o;14814:97::-;14868:42;14814:97;:::o;14060:87::-;14106:7;14133:6;;;;;;;;;;;14126:13;;14060:87;:::o;16063:28::-;;;;;;;;;;;;;:::o;17499:87::-;17538:13;17571:7;;;;;;;;;;;;;;;;;17564:14;;17499:87;:::o;16019:37::-;;;;;;;;;;;;;:::o;19196:269::-;19289:4;19306:129;19315:12;:10;:12::i;:::-;19329:7;19338:96;19377:15;19338:96;;;;;;;;;;;;;;;;;:11;:25;19350:12;:10;:12::i;:::-;19338:25;;;;;;;;;;;;;;;:34;19364:7;19338:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;19306:8;:129::i;:::-;19453:4;19446:11;;19196:269;;;;:::o;17918:167::-;17996:4;18013:42;18023:12;:10;:12::i;:::-;18037:9;18048:6;18013:9;:42::i;:::-;18073:4;18066:11;;17918:167;;;;:::o;15293:32::-;;;;:::o;14619:93::-;;;;;;;;;;;;;:::o;14720:87::-;;;;;;;;;;;;;:::o;15378:30::-;;;;:::o;18097:155::-;18184:7;18211:11;:21;18223:8;18211:21;;;;;;;;;;;;;;;:33;18233:10;18211:33;;;;;;;;;;;;;;;;18204:40;;18097:155;;;;:::o;23506:396::-;23595:10;23652:4;23625:32;;:15;:32;;;;23617:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;23699:16;23725:15;23718:33;;;23760:4;23718:48;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23699:67;;23777:17;23815:3;23806:8;23797;:17;;;;:::i;:::-;:21;;;;:::i;:::-;23777:41;;23844:15;23837:32;;;23870:10;;;;;;;;;;;23882:9;23837:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23829:63;;23606:296;;23506:396;;;;:::o;2448:98::-;2501:7;2528:10;2521:17;;2448:98;:::o;19616:290::-;19737:1;19717:22;;:8;:22;;;;:50;;;;;19765:1;19743:24;;:10;:24;;;;19717:50;19709:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;19836:6;19800:11;:21;19812:8;19800:21;;;;;;;;;;;;;;;:33;19822:10;19800:33;;;;;;;;;;;;;;;:42;;;;19877:10;19858:38;;19867:8;19858:38;;;19889:6;19858:38;;;;;;:::i;:::-;;;;;;;;19616:290;;;:::o;19914:1574::-;20040:7;:5;:7::i;:::-;20034:13;;:2;:13;;;;:47;;;;;14868:42;20064:17;;:2;:17;;;;20034:47;:83;;;;;20112:4;20098:19;;:2;:19;;;;20034:83;:119;;;;;20140:13;;;;;;;;;;;20134:19;;:2;:19;;;;20034:119;:151;;;;;20178:7;:5;:7::i;:::-;20170:15;;:4;:15;;;;20034:151;20030:292;;;20201:18;20222:13;20232:2;20222:9;:13::i;:::-;20201:34;;20283:15;;20272:6;20259:10;:19;;;;:::i;:::-;20258:40;;20250:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;20186:136;20030:292;20354:4;20338:21;;:4;:21;;;20334:98;;20392:12;;20382:6;:22;;20374:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;20334:98;20471:1;20455:18;;:4;:18;;;;:38;;;;;20491:1;20477:16;;:2;:16;;;;20455:38;20447:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;20547:1;20538:6;:10;20530:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;20634:11;;;;;;;;;;;20623:22;;:7;;;;;;;;;;;:22;;;;:57;;;;;20664:16;;;;;;;;;;20663:17;20623:57;:95;;;;;20705:13;;;;;;;;;;;20697:21;;:4;:21;;;;20623:95;:133;;;;;20735:21;;;;;;;;;;;20623:133;20606:445;;;20813:28;20844:24;20862:4;20844:9;:24::i;:::-;20813:55;;20987:1;20977:7;;:11;;;;;;;;;;;;;;;;;;21003:36;21018:20;21003:14;:36::i;:::-;20782:269;20606:445;21071:12;21086:4;21071:19;;21101:10;21125:18;:24;21144:4;21125:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;21153:18;:22;21172:2;21153:22;;;;;;;;;;;;;;;;;;;;;;;;;21125:50;21122:296;;;21201:5;21191:15;;21122:296;;;21261:13;;;;;;;;;;;21253:21;;:4;:21;;;21250:129;;;21302:4;21294:12;;21328:17;;;;;;;;;;;21325:39;;;21356:5;21348:13;;21325:39;21250:129;21395:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;21122:296;21430:48;21445:4;21451:2;21455:6;21463:7;21472:5;21430:14;:48::i;:::-;20017:1471;;19914:1574;;;:::o;1977:206::-;2063:7;2121:1;2116;:6;;2124:12;2108:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2163:1;2159;:5;2152:12;;1977:206;;;;;:::o;1549:98::-;1607:7;1638:1;1634;:5;;;;:::i;:::-;1627:12;;1549:98;;;;:::o;21630:1007::-;16365:4;16346:16;;:23;;;;;;;;;;;;;;;;;;21721:22:::1;21784:3;21769:12;;21746:20;:35;;;;:::i;:::-;:41;;;;:::i;:::-;21721:66;;21822:14;21812:7;;:24;;;;:::i;:::-;21802:7;:34;;;;21897:14;21874:7;:20;14868:42;21874:20;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;21851:7;:20;14868:42;21851:20;;;;;;;;;;;;;;;:60;;;;21976:14;21951:7;:22;21967:4;21951:22;;;;;;;;;;;;;;;;:39;;;;:::i;:::-;21926:7;:22;21942:4;21926:22;;;;;;;;;;;;;;;:64;;;;22007:19;22072:3;22052:17;;22029:20;:40;;;;:::i;:::-;:46;;;;:::i;:::-;22007:68;;22090:19;22149:3;22135:11;;22112:20;:34;;;;:::i;:::-;:40;;;;:::i;:::-;22090:62;;22167:25;22235:3;22218:14;;22195:20;:37;;;;:::i;:::-;:43;;;;:::i;:::-;22167:71;;22259:8;;;;;;;;;;;22255:251;;22287:63;22332:17;22318:11;22304;:25;;;;:::i;:::-;:45;;;;:::i;:::-;22287:16;:63::i;:::-;22255:251;;;22403:52;22447:7;;22420:24;22438:4;22420:9;:24::i;:::-;:34;;;;:::i;:::-;22403:16;:52::i;:::-;22485:5;22474:8;;:16;;;;;;;;;;;;;;;;;;22255:251;22520:17;22540:21;22520:41;;22578;22591:16;;;;;;;;;;;22609:9;22578:12;:41::i;:::-;21704:933;;;;;16411:5:::0;16392:16;;:24;;;;;;;;;;;;;;;;;;21630:1007;:::o;23914:1923::-;24059:7;24055:1773;;24118:7;24102;:15;24110:6;24102:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;24084:7;:15;24092:6;24084:15;;;;;;;;;;;;;;;:41;;;;24180:7;24161;:18;24169:9;24161:18;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;24140:7;:18;24148:9;24140:18;;;;;;;;;;;;;;;:47;;;;24224:9;24207:36;;24216:6;24207:36;;;24235:7;24207:36;;;;;;:::i;:::-;;;;;;;;14868:42;24263:24;;:9;:24;;;24260:67;;;24320:7;24312;;:15;;;;:::i;:::-;24302:7;:25;;;;24260:67;24055:1773;;;24355:5;24351:1477;;;24378:14;24415:3;24403:11;;24395:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;24378:40;;24433:23;24467:6;24459:7;:14;;;;:::i;:::-;24433:40;;24535:7;24519;:15;24527:6;24519:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;24501:7;:15;24509:6;24501:15;;;;;;;;;;;;;;;:41;;;;24597:15;24578:7;:18;24586:9;24578:18;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;24557:7;:18;24565:9;24557:18;;;;;;;;;;;;;;;:55;;;;24675:6;24652:7;:22;24668:4;24652:22;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;24627:7;:22;24643:4;24627:22;;;;;;;;;;;;;;;:54;;;;24720:9;24703:44;;24712:6;24703:44;;;24731:15;24703:44;;;;;;:::i;:::-;;;;;;;;14868:42;24767:24;;:9;:24;;;24764:75;;;24824:15;24816:7;;:23;;;;:::i;:::-;24806:7;:33;;;;24764:75;24361:508;;24351:1477;;;24877:17;;;;;;;;;;;24874:954;;;24912:19;24954:3;24942:11;;24934:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;24912:45;;24972:23;25006:11;24998:7;:19;;;;:::i;:::-;24972:45;;25043:4;25032:8;;:15;;;;;;;;;;;;;;;;;;25082:5;25062:17;;:25;;;;;;;;;;;;;;;;;;25138:7;25122;:15;25130:6;25122:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;25104:7;:15;25112:6;25104:15;;;;;;;;;;;;;;;:41;;;;25200:15;25181:7;:18;25189:9;25181:18;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;25160:7;:18;25168:9;25160:18;;;;;;;;;;;;;;;:55;;;;25278:11;;25255:7;:22;25271:4;25255:22;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;25230:7;:22;25246:4;25230:22;;;;;;;;;;;;;;;:59;;;;24895:424;;24874:954;;;25356:15;25395:3;25382:12;;25374:7;:20;;;;:::i;:::-;:24;;;;:::i;:::-;25356:42;;25413:23;25447:7;25439;:15;;;;:::i;:::-;25413:41;;25505:7;25489;:15;25497:6;25489:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;25471:7;:15;25479:6;25471:15;;;;;;;;;;;;;;;:41;;;;25567:15;25548:7;:18;25556:9;25548:18;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;25527:7;:18;25535:9;25527:18;;;;;;;;;;;;;;;:55;;;;25645:7;25622;:22;25638:4;25622:22;;;;;;;;;;;;;;;;:30;;;;:::i;:::-;25597:7;:22;25613:4;25597:22;;;;;;;;;;;;;;;:55;;;;25689:9;25672:44;;25681:6;25672:44;;;25700:15;25672:44;;;;;;:::i;:::-;;;;;;;;14868:42;25736:24;;:9;:24;;;25733:75;;;25793:15;25785:7;;:23;;;;:::i;:::-;25775:7;:33;;;;25733:75;25339:489;;24874:954;24351:1477;24055:1773;23914:1923;;;;;:::o;22645:474::-;22713:21;22751:1;22737:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22713:40;;22782:4;22764;22769:1;22764:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22808:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22798:4;22803:1;22798:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;22841:62;22858:4;22873:15;;;;;;;;;;;22891:11;22841:8;:62::i;:::-;22914:15;;;;;;;;;;;:66;;;22995:11;23021:1;23038:4;23065;23085:15;22914:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22700:419;22645:474;:::o;21500:122::-;21585:6;:15;;:23;21601:6;21585:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21500:122;;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:153::-;3917:9;3950:37;3981:5;3950:37;:::i;:::-;3937:50;;3840:153;;;:::o;3999:185::-;4113:64;4171:5;4113:64;:::i;:::-;4108:3;4101:77;3999:185;;:::o;4190:276::-;4310:4;4348:2;4337:9;4333:18;4325:26;;4361:98;4456:1;4445:9;4441:17;4432:6;4361:98;:::i;:::-;4190:276;;;;:::o;4472:118::-;4559:24;4577:5;4559:24;:::i;:::-;4554:3;4547:37;4472:118;;:::o;4596:222::-;4689:4;4727:2;4716:9;4712:18;4704:26;;4740:71;4808:1;4797:9;4793:17;4784:6;4740:71;:::i;:::-;4596:222;;;;:::o;4824:619::-;4901:6;4909;4917;4966:2;4954:9;4945:7;4941:23;4937:32;4934:119;;;4972:79;;:::i;:::-;4934:119;5092:1;5117:53;5162:7;5153:6;5142:9;5138:22;5117:53;:::i;:::-;5107:63;;5063:117;5219:2;5245:53;5290:7;5281:6;5270:9;5266:22;5245:53;:::i;:::-;5235:63;;5190:118;5347:2;5373:53;5418:7;5409:6;5398:9;5394:22;5373:53;:::i;:::-;5363:63;;5318:118;4824:619;;;;;:::o;5449:86::-;5484:7;5524:4;5517:5;5513:16;5502:27;;5449:86;;;:::o;5541:112::-;5624:22;5640:5;5624:22;:::i;:::-;5619:3;5612:35;5541:112;;:::o;5659:214::-;5748:4;5786:2;5775:9;5771:18;5763:26;;5799:67;5863:1;5852:9;5848:17;5839:6;5799:67;:::i;:::-;5659:214;;;;:::o;5879:329::-;5938:6;5987:2;5975:9;5966:7;5962:23;5958:32;5955:119;;;5993:79;;:::i;:::-;5955:119;6113:1;6138:53;6183:7;6174:6;6163:9;6159:22;6138:53;:::i;:::-;6128:63;;6084:117;5879:329;;;;:::o;6214:118::-;6301:24;6319:5;6301:24;:::i;:::-;6296:3;6289:37;6214:118;;:::o;6338:222::-;6431:4;6469:2;6458:9;6454:18;6446:26;;6482:71;6550:1;6539:9;6535:17;6526:6;6482:71;:::i;:::-;6338:222;;;;:::o;6566:104::-;6611:7;6640:24;6658:5;6640:24;:::i;:::-;6629:35;;6566:104;;;:::o;6676:142::-;6779:32;6805:5;6779:32;:::i;:::-;6774:3;6767:45;6676:142;;:::o;6824:254::-;6933:4;6971:2;6960:9;6956:18;6948:26;;6984:87;7068:1;7057:9;7053:17;7044:6;6984:87;:::i;:::-;6824:254;;;;:::o;7084:474::-;7152:6;7160;7209:2;7197:9;7188:7;7184:23;7180:32;7177:119;;;7215:79;;:::i;:::-;7177:119;7335:1;7360:53;7405:7;7396:6;7385:9;7381:22;7360:53;:::i;:::-;7350:63;;7306:117;7462:2;7488:53;7533:7;7524:6;7513:9;7509:22;7488:53;:::i;:::-;7478:63;;7433:118;7084:474;;;;;:::o;7564:176::-;7704:28;7700:1;7692:6;7688:14;7681:52;7564:176;:::o;7746:366::-;7888:3;7909:67;7973:2;7968:3;7909:67;:::i;:::-;7902:74;;7985:93;8074:3;7985:93;:::i;:::-;8103:2;8098:3;8094:12;8087:19;;7746:366;;;:::o;8118:419::-;8284:4;8322:2;8311:9;8307:18;8299:26;;8371:9;8365:4;8361:20;8357:1;8346:9;8342:17;8335:47;8399:131;8525:4;8399:131;:::i;:::-;8391:139;;8118:419;;;:::o;8543:143::-;8600:5;8631:6;8625:13;8616:22;;8647:33;8674:5;8647:33;:::i;:::-;8543:143;;;;:::o;8692:351::-;8762:6;8811:2;8799:9;8790:7;8786:23;8782:32;8779:119;;;8817:79;;:::i;:::-;8779:119;8937:1;8962:64;9018:7;9009:6;8998:9;8994:22;8962:64;:::i;:::-;8952:74;;8908:128;8692:351;;;;:::o;9049:180::-;9097:77;9094:1;9087:88;9194:4;9191:1;9184:15;9218:4;9215:1;9208:15;9235:348;9275:7;9298:20;9316:1;9298:20;:::i;:::-;9293:25;;9332:20;9350:1;9332:20;:::i;:::-;9327:25;;9520:1;9452:66;9448:74;9445:1;9442:81;9437:1;9430:9;9423:17;9419:105;9416:131;;;9527:18;;:::i;:::-;9416:131;9575:1;9572;9568:9;9557:20;;9235:348;;;;:::o;9589:180::-;9637:77;9634:1;9627:88;9734:4;9731:1;9724:15;9758:4;9755:1;9748:15;9775:185;9815:1;9832:20;9850:1;9832:20;:::i;:::-;9827:25;;9866:20;9884:1;9866:20;:::i;:::-;9861:25;;9905:1;9895:35;;9910:18;;:::i;:::-;9895:35;9952:1;9949;9945:9;9940:14;;9775:185;;;;:::o;9966:134::-;10024:9;10057:37;10088:5;10057:37;:::i;:::-;10044:50;;9966:134;;;:::o;10106:147::-;10201:45;10240:5;10201:45;:::i;:::-;10196:3;10189:58;10106:147;;:::o;10259:348::-;10388:4;10426:2;10415:9;10411:18;10403:26;;10439:79;10515:1;10504:9;10500:17;10491:6;10439:79;:::i;:::-;10528:72;10596:2;10585:9;10581:18;10572:6;10528:72;:::i;:::-;10259:348;;;;;:::o;10613:116::-;10683:21;10698:5;10683:21;:::i;:::-;10676:5;10673:32;10663:60;;10719:1;10716;10709:12;10663:60;10613:116;:::o;10735:137::-;10789:5;10820:6;10814:13;10805:22;;10836:30;10860:5;10836:30;:::i;:::-;10735:137;;;;:::o;10878:345::-;10945:6;10994:2;10982:9;10973:7;10969:23;10965:32;10962:119;;;11000:79;;:::i;:::-;10962:119;11120:1;11145:61;11198:7;11189:6;11178:9;11174:22;11145:61;:::i;:::-;11135:71;;11091:125;10878:345;;;;:::o;11229:167::-;11369:19;11365:1;11357:6;11353:14;11346:43;11229:167;:::o;11402:366::-;11544:3;11565:67;11629:2;11624:3;11565:67;:::i;:::-;11558:74;;11641:93;11730:3;11641:93;:::i;:::-;11759:2;11754:3;11750:12;11743:19;;11402:366;;;:::o;11774:419::-;11940:4;11978:2;11967:9;11963:18;11955:26;;12027:9;12021:4;12017:20;12013:1;12002:9;11998:17;11991:47;12055:131;12181:4;12055:131;:::i;:::-;12047:139;;11774:419;;;:::o;12199:305::-;12239:3;12258:20;12276:1;12258:20;:::i;:::-;12253:25;;12292:20;12310:1;12292:20;:::i;:::-;12287:25;;12446:1;12378:66;12374:74;12371:1;12368:81;12365:107;;;12452:18;;:::i;:::-;12365:107;12496:1;12493;12489:9;12482:16;;12199:305;;;;:::o;12510:168::-;12650:20;12646:1;12638:6;12634:14;12627:44;12510:168;:::o;12684:366::-;12826:3;12847:67;12911:2;12906:3;12847:67;:::i;:::-;12840:74;;12923:93;13012:3;12923:93;:::i;:::-;13041:2;13036:3;13032:12;13025:19;;12684:366;;;:::o;13056:419::-;13222:4;13260:2;13249:9;13245:18;13237:26;;13309:9;13303:4;13299:20;13295:1;13284:9;13280:17;13273:47;13337:131;13463:4;13337:131;:::i;:::-;13329:139;;13056:419;;;:::o;13481:173::-;13621:25;13617:1;13609:6;13605:14;13598:49;13481:173;:::o;13660:366::-;13802:3;13823:67;13887:2;13882:3;13823:67;:::i;:::-;13816:74;;13899:93;13988:3;13899:93;:::i;:::-;14017:2;14012:3;14008:12;14001:19;;13660:366;;;:::o;14032:419::-;14198:4;14236:2;14225:9;14221:18;14213:26;;14285:9;14279:4;14275:20;14271:1;14260:9;14256:17;14249:47;14313:131;14439:4;14313:131;:::i;:::-;14305:139;;14032:419;;;:::o;14457:171::-;14597:23;14593:1;14585:6;14581:14;14574:47;14457:171;:::o;14634:366::-;14776:3;14797:67;14861:2;14856:3;14797:67;:::i;:::-;14790:74;;14873:93;14962:3;14873:93;:::i;:::-;14991:2;14986:3;14982:12;14975:19;;14634:366;;;:::o;15006:419::-;15172:4;15210:2;15199:9;15195:18;15187:26;;15259:9;15253:4;15249:20;15245:1;15234:9;15230:17;15223:47;15287:131;15413:4;15287:131;:::i;:::-;15279:139;;15006:419;;;:::o;15431:224::-;15571:34;15567:1;15559:6;15555:14;15548:58;15640:7;15635:2;15627:6;15623:15;15616:32;15431:224;:::o;15661:366::-;15803:3;15824:67;15888:2;15883:3;15824:67;:::i;:::-;15817:74;;15900:93;15989:3;15900:93;:::i;:::-;16018:2;16013:3;16009:12;16002:19;;15661:366;;;:::o;16033:419::-;16199:4;16237:2;16226:9;16222:18;16214:26;;16286:9;16280:4;16276:20;16272:1;16261:9;16257:17;16250:47;16314:131;16440:4;16314:131;:::i;:::-;16306:139;;16033:419;;;:::o;16458:167::-;16495:3;16518:22;16534:5;16518:22;:::i;:::-;16509:31;;16562:4;16555:5;16552:15;16549:41;;;16570:18;;:::i;:::-;16549:41;16617:1;16610:5;16606:13;16599:20;;16458:167;;;:::o;16631:191::-;16671:4;16691:20;16709:1;16691:20;:::i;:::-;16686:25;;16725:20;16743:1;16725:20;:::i;:::-;16720:25;;16764:1;16761;16758:8;16755:34;;;16769:18;;:::i;:::-;16755:34;16814:1;16811;16807:9;16799:17;;16631:191;;;;:::o;16828:180::-;16876:77;16873:1;16866:88;16973:4;16970:1;16963:15;16997:4;16994:1;16987:15;17014:180;17062:77;17059:1;17052:88;17159:4;17156:1;17149:15;17183:4;17180:1;17173:15;17200:143;17257:5;17288:6;17282:13;17273:22;;17304:33;17331:5;17304:33;:::i;:::-;17200:143;;;;:::o;17349:351::-;17419:6;17468:2;17456:9;17447:7;17443:23;17439:32;17436:119;;;17474:79;;:::i;:::-;17436:119;17594:1;17619:64;17675:7;17666:6;17655:9;17651:22;17619:64;:::i;:::-;17609:74;;17565:128;17349:351;;;;:::o;17706:85::-;17751:7;17780:5;17769:16;;17706:85;;;:::o;17797:158::-;17855:9;17888:61;17906:42;17915:32;17941:5;17915:32;:::i;:::-;17906:42;:::i;:::-;17888:61;:::i;:::-;17875:74;;17797:158;;;:::o;17961:147::-;18056:45;18095:5;18056:45;:::i;:::-;18051:3;18044:58;17961:147;;:::o;18114:114::-;18181:6;18215:5;18209:12;18199:22;;18114:114;;;:::o;18234:184::-;18333:11;18367:6;18362:3;18355:19;18407:4;18402:3;18398:14;18383:29;;18234:184;;;;:::o;18424:132::-;18491:4;18514:3;18506:11;;18544:4;18539:3;18535:14;18527:22;;18424:132;;;:::o;18562:108::-;18639:24;18657:5;18639:24;:::i;:::-;18634:3;18627:37;18562:108;;:::o;18676:179::-;18745:10;18766:46;18808:3;18800:6;18766:46;:::i;:::-;18844:4;18839:3;18835:14;18821:28;;18676:179;;;;:::o;18861:113::-;18931:4;18963;18958:3;18954:14;18946:22;;18861:113;;;:::o;19010:732::-;19129:3;19158:54;19206:5;19158:54;:::i;:::-;19228:86;19307:6;19302:3;19228:86;:::i;:::-;19221:93;;19338:56;19388:5;19338:56;:::i;:::-;19417:7;19448:1;19433:284;19458:6;19455:1;19452:13;19433:284;;;19534:6;19528:13;19561:63;19620:3;19605:13;19561:63;:::i;:::-;19554:70;;19647:60;19700:6;19647:60;:::i;:::-;19637:70;;19493:224;19480:1;19477;19473:9;19468:14;;19433:284;;;19437:14;19733:3;19726:10;;19134:608;;;19010:732;;;;:::o;19748:831::-;20011:4;20049:3;20038:9;20034:19;20026:27;;20063:71;20131:1;20120:9;20116:17;20107:6;20063:71;:::i;:::-;20144:80;20220:2;20209:9;20205:18;20196:6;20144:80;:::i;:::-;20271:9;20265:4;20261:20;20256:2;20245:9;20241:18;20234:48;20299:108;20402:4;20393:6;20299:108;:::i;:::-;20291:116;;20417:72;20485:2;20474:9;20470:18;20461:6;20417:72;:::i;:::-;20499:73;20567:3;20556:9;20552:19;20543:6;20499:73;:::i;:::-;19748:831;;;;;;;;:::o

Swarm Source

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