ETH Price: $3,416.18 (-1.83%)
Gas: 4 Gwei

Token

Alvabit (AVA)
 

Overview

Max Total Supply

1,000,000,000 AVA

Holders

56

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.345188958904299795 AVA

Value
$0.00
0xa57d5b21c9b70fb3c8d2087554a6fc1ac6822fb1
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:
Alvabit

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed

/*
=========================================================================================================

ALVABIT | Alvabit Smart Chain is a high-scale blockchain network developed with the primary goal 
of expanding the functionality and scalability of the Ethereum network.

Website     : https://alvabit.net
Twitter     : https://twitter.com/AlvabitOFC
Github      : https://github.com/alvabit
Telegram    : https://t.me/Alvabitgroup
Discord     : https://discord.gg/alvabit

=========================================================================================================
*/

pragma solidity ^0.8.7;

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

library SafeMath {
    

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        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 fund");
        (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);
            }
        }
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = 0x24b0Cfcbc9a1c2b6E8e16D06DE0CA93D5caE3b4e;
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

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

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

interface IV2Factory {
    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 IV2Pair {
    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 IV2Router01 {
    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 IV2Router02 is IV2Router01 {
    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 Alvabit is Context, IERC20, Ownable { 
    using SafeMath for uint256;
    using Address for address;


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


    address payable public DevWallet = payable(0xC93edf67e3D1847712769A9476AABA3f97d8b16b);
    address payable public Burn = payable(0x000000000000000000000000000000000000dEaD); 
    address payable public Zero = payable(0x0000000000000000000000000000000000000000); 

    string private _name = "Alvabit"; 
    string private _symbol = "AVA";  
    uint8 private _decimals = 18;
    uint256 private _tTotal = 1000000000 * 10**18;
    uint256 private _tFeeTotal;

    uint8 private txCount = 0;
    uint8 private swapTrigger = 3; 

    uint256 private maxPossibleFee = 20; 

    uint256 private _AvaTotalFee = 20;
    uint256 public _avabuyFee = 10;
    uint256 public _avasellFee = 10;

    uint256 private _previousTotalFee = _AvaTotalFee; 
    uint256 private _previousBuyFee = _avabuyFee; 
    uint256 private _previousSellFee = _avasellFee; 


    uint256 public _avamaxWalletToken = _tTotal.mul(2).div(100);
    uint256 private previousMaxWalletToken = _avamaxWalletToken;

    uint256 public _avamaxTxAmount = _tTotal.mul(2).div(100); 
    uint256 private previousMaxTxAmount = _avamaxTxAmount;

                                     
    IV2Router02 public V2Router;
    address public V2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    
    constructor () {
        _tOwned[owner()] = _tTotal;
        
        IV2Router02 _V2Router = IV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
                
        V2Pair = IV2Factory(_V2Router.factory())
            .createPair(address(this), _V2Router.WETH());
        V2Router = _V2Router;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[DevWallet] = true;
        
        emit Transfer(address(0), owner(), _tTotal);
    }


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

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

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

    function totalSupply() public view override returns (uint256) {
        return _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 owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

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

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

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

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


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

    
    function ava_set_Fees(uint256 Buy_Fee, uint256 Sell_Fee) external onlyOwner() {

        require((Buy_Fee + Sell_Fee) <= maxPossibleFee, "Fee is too high!");
        _avasellFee = Sell_Fee;
        _avabuyFee = Buy_Fee;

    }

    function Wallet_Dev(address payable wallet) public onlyOwner() {
        DevWallet = wallet;
        _isExcludedFromFee[DevWallet] = true;
    }

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

    function Ava_set_Number_Of_Transactions_Before_Liquify_Trigger(uint8 number_of_transactions) public onlyOwner {
        swapTrigger = number_of_transactions;
    }
    
    receive() external payable {}


    bool public noFeeTransfer = true;

    function Ava_set_Transfers_Without_Fees(bool true_or_false) external onlyOwner {
        noFeeTransfer = true_or_false;
    }

   
    function Ava_set_Max_Transaction_Percent(uint256 maxTxPercent_x100) external onlyOwner() {
        _avamaxTxAmount = _tTotal*maxTxPercent_x100/10000;
    }    
    
     function Ava_set_Max_Wallet_Percent(uint256 maxWallPercent_x100) external onlyOwner() {
        _avamaxWalletToken = _tTotal*maxWallPercent_x100/10000;
    }

    function removeAllFee() private {
        if(_AvaTotalFee == 0 && _avabuyFee == 0 && _avasellFee == 0) return;


        _previousBuyFee = _avabuyFee; 
        _previousSellFee = _avasellFee; 
        _previousTotalFee = _AvaTotalFee;
        _avabuyFee = 0;
        _avasellFee = 0;
        _AvaTotalFee = 0;

    }
    
    function restoreAllFee() private {
    
    _AvaTotalFee = _previousTotalFee;
    _avabuyFee = _previousBuyFee; 
    _avasellFee = _previousSellFee; 

    }

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

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

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        
        if (to != owner() &&
            to != DevWallet &&
            to != address(this) &&
            to != V2Pair &&
            to != Burn &&
            from != owner()){
            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _avamaxWalletToken,"You are trying to buy too many tokens. You have reached the limit for one wallet.");}


        if (from != owner() && to != owner())
            require(amount <= _avamaxTxAmount, "You are trying to buy more than the max transaction limit.");


        if(
            txCount >= swapTrigger && 
            !inSwapAndLiquify &&
            from != V2Pair &&
            swapAndLiquifyEnabled 
            )
        {  
            
            txCount = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > _avamaxTxAmount) {contractTokenBalance = _avamaxTxAmount;}
            if(contractTokenBalance > 0){
            swapAndLiquify(contractTokenBalance);
        }
        }

        
        bool takeFee = true;
         
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || (noFeeTransfer && from != V2Pair && to != V2Pair)){
            takeFee = false;
        } else if (from == V2Pair){_AvaTotalFee = _avabuyFee;} else if (to == V2Pair){_AvaTotalFee = _avasellFee;}
        
        _tokenTransfer(from,to,amount,takeFee);
    }

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

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        
        swapTokensForETH(contractTokenBalance);
        uint256 contractETH = address(this).balance;
        sendToWallet(DevWallet,contractETH);
    }

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

    function swapTokensForETH(uint256 tokenAmount) private {

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

   
    function remove_Random_Tokens(address random_Token_Address, address send_to_wallet, uint256 number_of_tokens) public onlyOwner returns(bool _sent){
        require(random_Token_Address != address(this), "Can not remove native token");
        uint256 randomBalance = IERC20(random_Token_Address).balanceOf(address(this));
        if (number_of_tokens > randomBalance){number_of_tokens = randomBalance;}
        _sent = IERC20(random_Token_Address).transfer(send_to_wallet, number_of_tokens);
    }


    function set_New_Router_and_Make_Pair(address newRouter) public onlyOwner() {
        IV2Router02 _newPCSRouter = IV2Router02(newRouter);
        V2Pair = IV2Factory(_newPCSRouter.factory()).createPair(address(this), _newPCSRouter.WETH());
        V2Router = _newPCSRouter;
    }
   
    function set_New_Router_Address(address newRouter) public onlyOwner() {
        IV2Router02 _newPCSRouter = IV2Router02(newRouter);
        V2Router = _newPCSRouter;
    }
    
    function set_New_Pair_Address(address newPair) public onlyOwner() {
        V2Pair = newPair;
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private {
        
        
        if(!takeFee){
            removeAllFee();
            } else {
                txCount++;
            }
            _transferTokens(sender, recipient, amount);
        
        if(!takeFee)
            restoreAllFee();
    }

    function _transferTokens(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tDev) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _tOwned[address(this)] = _tOwned[address(this)].add(tDev);   
        emit Transfer(sender, recipient, tTransferAmount);
    }


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

}

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":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent_x100","type":"uint256"}],"name":"Ava_set_Max_Transaction_Percent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_x100","type":"uint256"}],"name":"Ava_set_Max_Wallet_Percent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"number_of_transactions","type":"uint8"}],"name":"Ava_set_Number_Of_Transactions_Before_Liquify_Trigger","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"Ava_set_Swap_And_Liquify_Enabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"Ava_set_Transfers_Without_Fees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"V2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"V2Router","outputs":[{"internalType":"contract IV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"wallet","type":"address"}],"name":"Wallet_Dev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Zero","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_avabuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_avamaxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_avamaxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_avasellFee","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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"Buy_Fee","type":"uint256"},{"internalType":"uint256","name":"Sell_Fee","type":"uint256"}],"name":"ava_set_Fees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"noFeeTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent_Of_Tokens_To_Process","type":"uint256"}],"name":"process_Tokens_Now","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"random_Token_Address","type":"address"},{"internalType":"address","name":"send_to_wallet","type":"address"},{"internalType":"uint256","name":"number_of_tokens","type":"uint256"}],"name":"remove_Random_Tokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newPair","type":"address"}],"name":"set_New_Pair_Address","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"}],"name":"set_New_Router_Address","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"}],"name":"set_New_Router_and_Make_Pair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

600480546001600160a01b031990811673c93edf67e3d1847712769a9476aaba3f97d8b16b1790915560058054821661dead17905560068054909116905560c06040526007608081905266105b1d98589a5d60ca1b60a090815262000066919081620004c8565b506040805180820190915260038082526241564160e81b60209092019182526200009391600891620004c8565b5060098054601260ff1990911681179091556b033b2e3c9fd0803ce8000000600a818155600c805461ffff19166103001790556014600d819055600e819055600f8290556010829055601155918290556013919091556200011e906064906200010a906002620004a5602090811b620012af17901c565b620004ba60201b620012c21790919060201c565b6014556014546015556200014a60646200010a6002600a54620004a560201b620012af1790919060201c565b60168190556017556019805461ffff60a81b191661010160a81b1790553480156200017457600080fd5b50600080546001600160a01b0319167324b0cfcbc9a1c2b6e8e16d06de0ca93d5cae3b4e90811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600a5460016000620001e26000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200025957600080fd5b505afa1580156200026e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029491906200056e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002dd57600080fd5b505afa158015620002f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031891906200056e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200036157600080fd5b505af115801562000376573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039c91906200056e565b601980546001600160a01b03199081166001600160a01b039384161790915560188054909116918316919091179055600160036000620003e46000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004549091168352912080549092161790556200044e6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516200049691815260200190565b60405180910390a35062000627565b6000620004b38284620005bc565b9392505050565b6000620004b3828462000599565b828054620004d690620005ea565b90600052602060002090601f016020900481019282620004fa576000855562000545565b82601f106200051557805160ff191683800117855562000545565b8280016001018555821562000545579182015b828111156200054557825182559160200191906001019062000528565b506200055392915062000557565b5090565b5b8082111562000553576000815560010162000558565b6000602082840312156200058157600080fd5b81516001600160a01b0381168114620004b357600080fd5b600082620005b757634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615620005e557634e487b7160e01b600052601160045260246000fd5b500290565b600181811c90821680620005ff57607f821691505b602082108114156200062157634e487b7160e01b600052602260045260246000fd5b50919050565b611f1f80620006376000396000f3fe60806040526004361061024a5760003560e01c80638da5cb5b11610139578063c3b2902e116100b6578063ea2f0b371161007a578063ea2f0b37146106f7578063ee10ae8c14610717578063f2fde38b14610737578063f456040314610757578063f6d706ff14610777578063fa7241521461079757600080fd5b8063c3b2902e14610631578063d2e4848114610651578063d785d5be14610671578063dd62ed3e14610691578063ddbf5266146106d757600080fd5b8063a9059cbb116100fd578063a9059cbb146105a5578063ae80226a146105c5578063b115e4df146105e5578063bb38999314610605578063bea9fa2c1461061b57600080fd5b80638da5cb5b1461051b57806395d89b4114610539578063a457c2d71461054e578063a52431e91461056e578063a5979ad31461058457600080fd5b806336b1a1bc116101c75780634a74bb021161018b5780634a74bb021461045f5780635e4940c61461048057806370a08231146104a0578063715018a6146104d6578063768dc710146104eb57600080fd5b806336b1a1bc146103c957806339509351146103e9578063396ed0ab14610409578063437823ec14610429578063442a9d0c1461044957600080fd5b806318160ddd1161020e57806318160ddd14610327578063220f66961461034657806323b872dd14610367578063313ce567146103875780633343ab83146103a957600080fd5b806302d8f66f1461025657806306fdde0314610293578063095ea7b3146102b55780630f84f182146102e55780631282a0a01461030757600080fd5b3661025157005b600080fd5b34801561026257600080fd5b50601854610276906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561029f57600080fd5b506102a86107b7565b60405161028a9190611c84565b3480156102c157600080fd5b506102d56102d0366004611ba7565b610849565b604051901515815260200161028a565b3480156102f157600080fd5b50610305610300366004611c3f565b61085f565b005b34801561031357600080fd5b50610305610322366004611af3565b6108e8565b34801561033357600080fd5b50600a545b60405190815260200161028a565b34801561035257600080fd5b506019546102d590600160a01b900460ff1681565b34801561037357600080fd5b506102d5610382366004611b66565b610aba565b34801561039357600080fd5b5060095460405160ff909116815260200161028a565b3480156103b557600080fd5b506102d56103c4366004611b66565b610b23565b3480156103d557600080fd5b506103056103e4366004611af3565b610cba565b3480156103f557600080fd5b506102d5610404366004611ba7565b610d06565b34801561041557600080fd5b50600554610276906001600160a01b031681565b34801561043557600080fd5b50610305610444366004611af3565b610d3c565b34801561045557600080fd5b5061033860165481565b34801561046b57600080fd5b506019546102d590600160a81b900460ff1681565b34801561048c57600080fd5b50601954610276906001600160a01b031681565b3480156104ac57600080fd5b506103386104bb366004611af3565b6001600160a01b031660009081526001602052604090205490565b3480156104e257600080fd5b50610305610d8a565b3480156104f757600080fd5b506102d5610506366004611af3565b60036020526000908152604090205460ff1681565b34801561052757600080fd5b506000546001600160a01b0316610276565b34801561054557600080fd5b506102a8610dfe565b34801561055a57600080fd5b506102d5610569366004611ba7565b610e0d565b34801561057a57600080fd5b50610338600f5481565b34801561059057600080fd5b506019546102d590600160b01b900460ff1681565b3480156105b157600080fd5b506102d56105c0366004611ba7565b610e5c565b3480156105d157600080fd5b506103056105e0366004611bd3565b610e69565b3480156105f157600080fd5b50600454610276906001600160a01b031681565b34801561061157600080fd5b5061033860145481565b34801561062757600080fd5b5061033860105481565b34801561063d57600080fd5b5061030561064c366004611c0d565b610eb1565b34801561065d57600080fd5b5061030561066c366004611c0d565b610efc565b34801561067d57600080fd5b5061030561068c366004611af3565b610f47565b34801561069d57600080fd5b506103386106ac366004611b2d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156106e357600080fd5b506103056106f2366004611c0d565b610f93565b34801561070357600080fd5b50610305610712366004611af3565b61104e565b34801561072357600080fd5b50610305610732366004611bd3565b611099565b34801561074357600080fd5b50610305610752366004611af3565b61111b565b34801561076357600080fd5b50600654610276906001600160a01b031681565b34801561078357600080fd5b50610305610792366004611c61565b611205565b3480156107a357600080fd5b506103056107b2366004611af3565b61124b565b6060600780546107c690611def565b80601f01602080910402602001604051908101604052809291908181526020018280546107f290611def565b801561083f5780601f106108145761010080835404028352916020019161083f565b820191906000526020600020905b81548152906001019060200180831161082257829003601f168201915b5050505050905090565b60006108563384846112ce565b50600192915050565b6000546001600160a01b031633146108925760405162461bcd60e51b815260040161088990611cd9565b60405180910390fd5b600d5461089f8284611d7f565b11156108e05760405162461bcd60e51b815260206004820152601060248201526f46656520697320746f6f20686967682160801b6044820152606401610889565b601055600f55565b6000546001600160a01b031633146109125760405162461bcd60e51b815260040161088990611cd9565b6000819050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561095057600080fd5b505afa158015610964573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109889190611b10565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109d057600080fd5b505afa1580156109e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a089190611b10565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610a5057600080fd5b505af1158015610a64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a889190611b10565b601980546001600160a01b039283166001600160a01b0319918216179091556018805493909216921691909117905550565b6000610ac784848461138f565b610b198433610b1485604051806060016040528060288152602001611e9d602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906116fc565b6112ce565b5060019392505050565b600080546001600160a01b03163314610b4e5760405162461bcd60e51b815260040161088990611cd9565b6001600160a01b038416301415610ba75760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e00000000006044820152606401610889565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a082319060240160206040518083038186803b158015610be957600080fd5b505afa158015610bfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c219190611c26565b905080831115610c2f578092505b60405163a9059cbb60e01b81526001600160a01b0385811660048301526024820185905286169063a9059cbb90604401602060405180830381600087803b158015610c7957600080fd5b505af1158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb19190611bf0565b95945050505050565b6000546001600160a01b03163314610ce45760405162461bcd60e51b815260040161088990611cd9565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610856918590610b149086611728565b6000546001600160a01b03163314610d665760405162461bcd60e51b815260040161088990611cd9565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b03163314610db45760405162461bcd60e51b815260040161088990611cd9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600880546107c690611def565b60006108563384610b1485604051806060016040528060258152602001611ec5602591393360009081526002602090815260408083206001600160a01b038d16845290915290205491906116fc565b600061085633848461138f565b6000546001600160a01b03163314610e935760405162461bcd60e51b815260040161088990611cd9565b60198054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610edb5760405162461bcd60e51b815260040161088990611cd9565b61271081600a54610eec9190611db9565b610ef69190611d97565b60145550565b6000546001600160a01b03163314610f265760405162461bcd60e51b815260040161088990611cd9565b61271081600a54610f379190611db9565b610f419190611d97565b60165550565b6000546001600160a01b03163314610f715760405162461bcd60e51b815260040161088990611cd9565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610fbd5760405162461bcd60e51b815260040161088990611cd9565b601954600160a01b900460ff16156110175760405162461bcd60e51b815260206004820181905260248201527f43757272656e746c792070726f63657373696e672c20747279206c617465722e6044820152606401610889565b306000908152600160205260408120549060646110348484611db9565b61103e9190611d97565b905061104981611734565b505050565b6000546001600160a01b031633146110785760405162461bcd60e51b815260040161088990611cd9565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b031633146110c35760405162461bcd60e51b815260040161088990611cd9565b60198054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061111090831515815260200190565b60405180910390a150565b6000546001600160a01b031633146111455760405162461bcd60e51b815260040161088990611cd9565b6001600160a01b0381166111aa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610889565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461122f5760405162461bcd60e51b815260040161088990611cd9565b600c805460ff9092166101000261ff0019909216919091179055565b6000546001600160a01b031633146112755760405162461bcd60e51b815260040161088990611cd9565b600480546001600160a01b039092166001600160a01b0319909216821790556000908152600360205260409020805460ff19166001179055565b60006112bb8284611db9565b9392505050565b60006112bb8284611d97565b6001600160a01b038316158015906112ee57506001600160a01b03821615155b61132e5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610889565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b038381169116148015906113bb57506004546001600160a01b03838116911614155b80156113d057506001600160a01b0382163014155b80156113ea57506019546001600160a01b03838116911614155b801561140457506005546001600160a01b03838116911614155b801561141e57506000546001600160a01b03848116911614155b156114d9576001600160a01b0382166000908152600160205260409020546014546114498383611d7f565b11156114d75760405162461bcd60e51b815260206004820152605160248201527f596f752061726520747279696e6720746f2062757920746f6f206d616e79207460448201527f6f6b656e732e20596f752068617665207265616368656420746865206c696d696064820152703a103337b91037b732903bb0b63632ba1760791b608482015260a401610889565b505b6000546001600160a01b0384811691161480159061150557506000546001600160a01b03838116911614155b15611582576016548111156115825760405162461bcd60e51b815260206004820152603a60248201527f596f752061726520747279696e6720746f20627579206d6f7265207468616e2060448201527f746865206d6178207472616e73616374696f6e206c696d69742e0000000000006064820152608401610889565b600c5460ff610100820481169116108015906115a85750601954600160a01b900460ff16155b80156115c257506019546001600160a01b03848116911614155b80156115d75750601954600160a81b900460ff165b1561161657600c805460ff191690553060009081526001602052604090205460165481111561160557506016545b80156116145761161481611734565b505b6001600160a01b03831660009081526003602052604090205460019060ff168061165857506001600160a01b03831660009081526003602052604090205460ff165b8061169f5750601954600160b01b900460ff16801561168557506019546001600160a01b03858116911614155b801561169f57506019546001600160a01b03848116911614155b156116ac575060006116ea565b6019546001600160a01b03858116911614156116cd57600f54600e556116ea565b6019546001600160a01b03848116911614156116ea57601054600e555b6116f684848484611779565b50505050565b600081848411156117205760405162461bcd60e51b81526004016108899190611c84565b505050900390565b60006112bb8284611d7f565b6019805460ff60a01b1916600160a01b179055611750816117df565b6004544790611768906001600160a01b031682611948565b50506019805460ff60a01b19169055565b8061178b5761178661197e565b6117b8565b600c805460ff1690600061179e83611e2a565b91906101000a81548160ff021916908360ff160217905550505b6117c38484846119c3565b806116f6576116f6601154600e55601254600f55601354601055565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061181457611814611e60565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561186857600080fd5b505afa15801561187c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a09190611b10565b816001815181106118b3576118b3611e60565b6001600160a01b0392831660209182029290920101526018546118d991309116846112ce565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac94790611912908590600090869030904290600401611d0e565b600060405180830381600087803b15801561192c57600080fd5b505af1158015611940573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611049573d6000803e3d6000fd5b600e5415801561198e5750600f54155b801561199a5750601054155b156119a157565b600f805460125560108054601355600e80546011556000928390559082905555565b6000806119cf83611aaf565b6001600160a01b03871660009081526001602052604090205491935091506119f79084611ae7565b6001600160a01b038087166000908152600160205260408082209390935590861681522054611a269083611728565b6001600160a01b038516600090815260016020526040808220929092553081522054611a529082611728565b3060009081526001602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b60008060006064600e5485611ac49190611db9565b611ace9190611d97565b90506000611adc8583611ae7565b959194509092505050565b60006112bb8284611dd8565b600060208284031215611b0557600080fd5b81356112bb81611e76565b600060208284031215611b2257600080fd5b81516112bb81611e76565b60008060408385031215611b4057600080fd5b8235611b4b81611e76565b91506020830135611b5b81611e76565b809150509250929050565b600080600060608486031215611b7b57600080fd5b8335611b8681611e76565b92506020840135611b9681611e76565b929592945050506040919091013590565b60008060408385031215611bba57600080fd5b8235611bc581611e76565b946020939093013593505050565b600060208284031215611be557600080fd5b81356112bb81611e8e565b600060208284031215611c0257600080fd5b81516112bb81611e8e565b600060208284031215611c1f57600080fd5b5035919050565b600060208284031215611c3857600080fd5b5051919050565b60008060408385031215611c5257600080fd5b50508035926020909101359150565b600060208284031215611c7357600080fd5b813560ff811681146112bb57600080fd5b600060208083528351808285015260005b81811015611cb157858101830151858201604001528201611c95565b81811115611cc3576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d5e5784516001600160a01b031683529383019391830191600101611d39565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611d9257611d92611e4a565b500190565b600082611db457634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611dd357611dd3611e4a565b500290565b600082821015611dea57611dea611e4a565b500390565b600181811c90821680611e0357607f821691505b60208210811415611e2457634e487b7160e01b600052602260045260246000fd5b50919050565b600060ff821660ff811415611e4157611e41611e4a565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611e8b57600080fd5b50565b8015158114611e8b57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202b807b86865563fa4c6e2ad79308f460271992bbe70f1c77b498541913010d6164736f6c63430008070033

Deployed Bytecode

0x60806040526004361061024a5760003560e01c80638da5cb5b11610139578063c3b2902e116100b6578063ea2f0b371161007a578063ea2f0b37146106f7578063ee10ae8c14610717578063f2fde38b14610737578063f456040314610757578063f6d706ff14610777578063fa7241521461079757600080fd5b8063c3b2902e14610631578063d2e4848114610651578063d785d5be14610671578063dd62ed3e14610691578063ddbf5266146106d757600080fd5b8063a9059cbb116100fd578063a9059cbb146105a5578063ae80226a146105c5578063b115e4df146105e5578063bb38999314610605578063bea9fa2c1461061b57600080fd5b80638da5cb5b1461051b57806395d89b4114610539578063a457c2d71461054e578063a52431e91461056e578063a5979ad31461058457600080fd5b806336b1a1bc116101c75780634a74bb021161018b5780634a74bb021461045f5780635e4940c61461048057806370a08231146104a0578063715018a6146104d6578063768dc710146104eb57600080fd5b806336b1a1bc146103c957806339509351146103e9578063396ed0ab14610409578063437823ec14610429578063442a9d0c1461044957600080fd5b806318160ddd1161020e57806318160ddd14610327578063220f66961461034657806323b872dd14610367578063313ce567146103875780633343ab83146103a957600080fd5b806302d8f66f1461025657806306fdde0314610293578063095ea7b3146102b55780630f84f182146102e55780631282a0a01461030757600080fd5b3661025157005b600080fd5b34801561026257600080fd5b50601854610276906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561029f57600080fd5b506102a86107b7565b60405161028a9190611c84565b3480156102c157600080fd5b506102d56102d0366004611ba7565b610849565b604051901515815260200161028a565b3480156102f157600080fd5b50610305610300366004611c3f565b61085f565b005b34801561031357600080fd5b50610305610322366004611af3565b6108e8565b34801561033357600080fd5b50600a545b60405190815260200161028a565b34801561035257600080fd5b506019546102d590600160a01b900460ff1681565b34801561037357600080fd5b506102d5610382366004611b66565b610aba565b34801561039357600080fd5b5060095460405160ff909116815260200161028a565b3480156103b557600080fd5b506102d56103c4366004611b66565b610b23565b3480156103d557600080fd5b506103056103e4366004611af3565b610cba565b3480156103f557600080fd5b506102d5610404366004611ba7565b610d06565b34801561041557600080fd5b50600554610276906001600160a01b031681565b34801561043557600080fd5b50610305610444366004611af3565b610d3c565b34801561045557600080fd5b5061033860165481565b34801561046b57600080fd5b506019546102d590600160a81b900460ff1681565b34801561048c57600080fd5b50601954610276906001600160a01b031681565b3480156104ac57600080fd5b506103386104bb366004611af3565b6001600160a01b031660009081526001602052604090205490565b3480156104e257600080fd5b50610305610d8a565b3480156104f757600080fd5b506102d5610506366004611af3565b60036020526000908152604090205460ff1681565b34801561052757600080fd5b506000546001600160a01b0316610276565b34801561054557600080fd5b506102a8610dfe565b34801561055a57600080fd5b506102d5610569366004611ba7565b610e0d565b34801561057a57600080fd5b50610338600f5481565b34801561059057600080fd5b506019546102d590600160b01b900460ff1681565b3480156105b157600080fd5b506102d56105c0366004611ba7565b610e5c565b3480156105d157600080fd5b506103056105e0366004611bd3565b610e69565b3480156105f157600080fd5b50600454610276906001600160a01b031681565b34801561061157600080fd5b5061033860145481565b34801561062757600080fd5b5061033860105481565b34801561063d57600080fd5b5061030561064c366004611c0d565b610eb1565b34801561065d57600080fd5b5061030561066c366004611c0d565b610efc565b34801561067d57600080fd5b5061030561068c366004611af3565b610f47565b34801561069d57600080fd5b506103386106ac366004611b2d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156106e357600080fd5b506103056106f2366004611c0d565b610f93565b34801561070357600080fd5b50610305610712366004611af3565b61104e565b34801561072357600080fd5b50610305610732366004611bd3565b611099565b34801561074357600080fd5b50610305610752366004611af3565b61111b565b34801561076357600080fd5b50600654610276906001600160a01b031681565b34801561078357600080fd5b50610305610792366004611c61565b611205565b3480156107a357600080fd5b506103056107b2366004611af3565b61124b565b6060600780546107c690611def565b80601f01602080910402602001604051908101604052809291908181526020018280546107f290611def565b801561083f5780601f106108145761010080835404028352916020019161083f565b820191906000526020600020905b81548152906001019060200180831161082257829003601f168201915b5050505050905090565b60006108563384846112ce565b50600192915050565b6000546001600160a01b031633146108925760405162461bcd60e51b815260040161088990611cd9565b60405180910390fd5b600d5461089f8284611d7f565b11156108e05760405162461bcd60e51b815260206004820152601060248201526f46656520697320746f6f20686967682160801b6044820152606401610889565b601055600f55565b6000546001600160a01b031633146109125760405162461bcd60e51b815260040161088990611cd9565b6000819050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561095057600080fd5b505afa158015610964573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109889190611b10565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109d057600080fd5b505afa1580156109e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a089190611b10565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610a5057600080fd5b505af1158015610a64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a889190611b10565b601980546001600160a01b039283166001600160a01b0319918216179091556018805493909216921691909117905550565b6000610ac784848461138f565b610b198433610b1485604051806060016040528060288152602001611e9d602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906116fc565b6112ce565b5060019392505050565b600080546001600160a01b03163314610b4e5760405162461bcd60e51b815260040161088990611cd9565b6001600160a01b038416301415610ba75760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e00000000006044820152606401610889565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a082319060240160206040518083038186803b158015610be957600080fd5b505afa158015610bfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c219190611c26565b905080831115610c2f578092505b60405163a9059cbb60e01b81526001600160a01b0385811660048301526024820185905286169063a9059cbb90604401602060405180830381600087803b158015610c7957600080fd5b505af1158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb19190611bf0565b95945050505050565b6000546001600160a01b03163314610ce45760405162461bcd60e51b815260040161088990611cd9565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610856918590610b149086611728565b6000546001600160a01b03163314610d665760405162461bcd60e51b815260040161088990611cd9565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b03163314610db45760405162461bcd60e51b815260040161088990611cd9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600880546107c690611def565b60006108563384610b1485604051806060016040528060258152602001611ec5602591393360009081526002602090815260408083206001600160a01b038d16845290915290205491906116fc565b600061085633848461138f565b6000546001600160a01b03163314610e935760405162461bcd60e51b815260040161088990611cd9565b60198054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610edb5760405162461bcd60e51b815260040161088990611cd9565b61271081600a54610eec9190611db9565b610ef69190611d97565b60145550565b6000546001600160a01b03163314610f265760405162461bcd60e51b815260040161088990611cd9565b61271081600a54610f379190611db9565b610f419190611d97565b60165550565b6000546001600160a01b03163314610f715760405162461bcd60e51b815260040161088990611cd9565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610fbd5760405162461bcd60e51b815260040161088990611cd9565b601954600160a01b900460ff16156110175760405162461bcd60e51b815260206004820181905260248201527f43757272656e746c792070726f63657373696e672c20747279206c617465722e6044820152606401610889565b306000908152600160205260408120549060646110348484611db9565b61103e9190611d97565b905061104981611734565b505050565b6000546001600160a01b031633146110785760405162461bcd60e51b815260040161088990611cd9565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b031633146110c35760405162461bcd60e51b815260040161088990611cd9565b60198054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061111090831515815260200190565b60405180910390a150565b6000546001600160a01b031633146111455760405162461bcd60e51b815260040161088990611cd9565b6001600160a01b0381166111aa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610889565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461122f5760405162461bcd60e51b815260040161088990611cd9565b600c805460ff9092166101000261ff0019909216919091179055565b6000546001600160a01b031633146112755760405162461bcd60e51b815260040161088990611cd9565b600480546001600160a01b039092166001600160a01b0319909216821790556000908152600360205260409020805460ff19166001179055565b60006112bb8284611db9565b9392505050565b60006112bb8284611d97565b6001600160a01b038316158015906112ee57506001600160a01b03821615155b61132e5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610889565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b038381169116148015906113bb57506004546001600160a01b03838116911614155b80156113d057506001600160a01b0382163014155b80156113ea57506019546001600160a01b03838116911614155b801561140457506005546001600160a01b03838116911614155b801561141e57506000546001600160a01b03848116911614155b156114d9576001600160a01b0382166000908152600160205260409020546014546114498383611d7f565b11156114d75760405162461bcd60e51b815260206004820152605160248201527f596f752061726520747279696e6720746f2062757920746f6f206d616e79207460448201527f6f6b656e732e20596f752068617665207265616368656420746865206c696d696064820152703a103337b91037b732903bb0b63632ba1760791b608482015260a401610889565b505b6000546001600160a01b0384811691161480159061150557506000546001600160a01b03838116911614155b15611582576016548111156115825760405162461bcd60e51b815260206004820152603a60248201527f596f752061726520747279696e6720746f20627579206d6f7265207468616e2060448201527f746865206d6178207472616e73616374696f6e206c696d69742e0000000000006064820152608401610889565b600c5460ff610100820481169116108015906115a85750601954600160a01b900460ff16155b80156115c257506019546001600160a01b03848116911614155b80156115d75750601954600160a81b900460ff165b1561161657600c805460ff191690553060009081526001602052604090205460165481111561160557506016545b80156116145761161481611734565b505b6001600160a01b03831660009081526003602052604090205460019060ff168061165857506001600160a01b03831660009081526003602052604090205460ff165b8061169f5750601954600160b01b900460ff16801561168557506019546001600160a01b03858116911614155b801561169f57506019546001600160a01b03848116911614155b156116ac575060006116ea565b6019546001600160a01b03858116911614156116cd57600f54600e556116ea565b6019546001600160a01b03848116911614156116ea57601054600e555b6116f684848484611779565b50505050565b600081848411156117205760405162461bcd60e51b81526004016108899190611c84565b505050900390565b60006112bb8284611d7f565b6019805460ff60a01b1916600160a01b179055611750816117df565b6004544790611768906001600160a01b031682611948565b50506019805460ff60a01b19169055565b8061178b5761178661197e565b6117b8565b600c805460ff1690600061179e83611e2a565b91906101000a81548160ff021916908360ff160217905550505b6117c38484846119c3565b806116f6576116f6601154600e55601254600f55601354601055565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061181457611814611e60565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561186857600080fd5b505afa15801561187c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a09190611b10565b816001815181106118b3576118b3611e60565b6001600160a01b0392831660209182029290920101526018546118d991309116846112ce565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac94790611912908590600090869030904290600401611d0e565b600060405180830381600087803b15801561192c57600080fd5b505af1158015611940573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611049573d6000803e3d6000fd5b600e5415801561198e5750600f54155b801561199a5750601054155b156119a157565b600f805460125560108054601355600e80546011556000928390559082905555565b6000806119cf83611aaf565b6001600160a01b03871660009081526001602052604090205491935091506119f79084611ae7565b6001600160a01b038087166000908152600160205260408082209390935590861681522054611a269083611728565b6001600160a01b038516600090815260016020526040808220929092553081522054611a529082611728565b3060009081526001602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b60008060006064600e5485611ac49190611db9565b611ace9190611d97565b90506000611adc8583611ae7565b959194509092505050565b60006112bb8284611dd8565b600060208284031215611b0557600080fd5b81356112bb81611e76565b600060208284031215611b2257600080fd5b81516112bb81611e76565b60008060408385031215611b4057600080fd5b8235611b4b81611e76565b91506020830135611b5b81611e76565b809150509250929050565b600080600060608486031215611b7b57600080fd5b8335611b8681611e76565b92506020840135611b9681611e76565b929592945050506040919091013590565b60008060408385031215611bba57600080fd5b8235611bc581611e76565b946020939093013593505050565b600060208284031215611be557600080fd5b81356112bb81611e8e565b600060208284031215611c0257600080fd5b81516112bb81611e8e565b600060208284031215611c1f57600080fd5b5035919050565b600060208284031215611c3857600080fd5b5051919050565b60008060408385031215611c5257600080fd5b50508035926020909101359150565b600060208284031215611c7357600080fd5b813560ff811681146112bb57600080fd5b600060208083528351808285015260005b81811015611cb157858101830151858201604001528201611c95565b81811115611cc3576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d5e5784516001600160a01b031683529383019391830191600101611d39565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611d9257611d92611e4a565b500190565b600082611db457634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611dd357611dd3611e4a565b500290565b600082821015611dea57611dea611e4a565b500390565b600181811c90821680611e0357607f821691505b60208210811415611e2457634e487b7160e01b600052602260045260246000fd5b50919050565b600060ff821660ff811415611e4157611e41611e4a565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611e8b57600080fd5b50565b8015158114611e8b57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202b807b86865563fa4c6e2ad79308f460271992bbe70f1c77b498541913010d6164736f6c63430008070033

Deployed Bytecode Sourcemap

14566:11674:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16050:27;;;;;;;;;;-1:-1:-1;16050:27:0;;;;-1:-1:-1;;;;;16050:27:0;;;;;;-1:-1:-1;;;;;3517:32:1;;;3499:51;;3487:2;3472:18;16050:27:0;;;;;;;;17064:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;17895:161::-;;;;;;;;;;-1:-1:-1;17895:161:0;;;;;:::i;:::-;;:::i;:::-;;;4538:14:1;;4531:22;4513:41;;4501:2;4486:18;17895:161:0;4373:187:1;19137:232:0;;;;;;;;;;-1:-1:-1;19137:232:0;;;;;:::i;:::-;;:::i;:::-;;24614:283;;;;;;;;;;-1:-1:-1;24614:283:0;;;;;:::i;:::-;;:::i;17341:95::-;;;;;;;;;;-1:-1:-1;17421:7:0;;17341:95;;;8634:25:1;;;8622:2;8607:18;17341:95:0;8488:177:1;16112:28:0;;;;;;;;;;-1:-1:-1;16112:28:0;;;;-1:-1:-1;;;16112:28:0;;;;;;18064:313;;;;;;;;;;-1:-1:-1;18064:313:0;;;;;:::i;:::-;;:::i;17250:83::-;;;;;;;;;;-1:-1:-1;17316:9:0;;17250:83;;17316:9;;;;9797:36:1;;9785:2;9770:18;17250:83:0;9655:184:1;24102:502:0;;;;;;;;;;-1:-1:-1;24102:502:0;;;;;:::i;:::-;;:::i;24908:174::-;;;;;;;;;;-1:-1:-1;24908:174:0;;;;;:::i;:::-;;:::i;18385:218::-;;;;;;;;;;-1:-1:-1;18385:218:0;;;;;:::i;:::-;;:::i;14971:81::-;;;;;;;;;;-1:-1:-1;14971:81:0;;;;-1:-1:-1;;;;;14971:81:0;;;18890:111;;;;;;;;;;-1:-1:-1;18890:111:0;;;;;:::i;:::-;;:::i;15885:56::-;;;;;;;;;;;;;;;;16147:40;;;;;;;;;;-1:-1:-1;16147:40:0;;;;-1:-1:-1;;;16147:40:0;;;;;;16084:21;;;;;;;;;;-1:-1:-1;16084:21:0;;;;-1:-1:-1;;;;;16084:21:0;;;17444:117;;;;;;;;;;-1:-1:-1;17444:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;17537:16:0;17510:7;17537:16;;;:7;:16;;;;;;;17444:117;6390:148;;;;;;;;;;;;;:::i;14815:51::-;;;;;;;;;;-1:-1:-1;14815:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6167:87;;;;;;;;;;-1:-1:-1;6213:7:0;6240:6;-1:-1:-1;;;;;6240:6:0;6167:87;;17155;;;;;;;;;;;;;:::i;18611:269::-;;;;;;;;;;-1:-1:-1;18611:269:0;;;;;:::i;:::-;;:::i;15508:30::-;;;;;;;;;;;;;;;;19950:32;;;;;;;;;;-1:-1:-1;19950:32:0;;;;-1:-1:-1;;;19950:32:0;;;;;;17569:167;;;;;;;;;;-1:-1:-1;17569:167:0;;;;;:::i;:::-;;:::i;19991:127::-;;;;;;;;;;-1:-1:-1;19991:127:0;;;;;:::i;:::-;;:::i;14878:86::-;;;;;;;;;;-1:-1:-1;14878:86:0;;;;-1:-1:-1;;;;;14878:86:0;;;15751:59;;;;;;;;;;;;;;;;15545:31;;;;;;;;;;;;;;;;20305:159;;;;;;;;;;-1:-1:-1;20305:159:0;;;;;:::i;:::-;;:::i;20131:157::-;;;;;;;;;;-1:-1:-1;20131:157:0;;;;;:::i;:::-;;:::i;25094:101::-;;;;;;;;;;-1:-1:-1;25094:101:0;;;;;:::i;:::-;;:::i;17744:143::-;;;;;;;;;;-1:-1:-1;17744:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17852:18:0;;;17825:7;17852:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17744:143;23195:433;;;;;;;;;;-1:-1:-1;23195:433:0;;;;;:::i;:::-;;:::i;19013:110::-;;;;;;;;;;-1:-1:-1;19013:110:0;;;;;:::i;:::-;;:::i;19532:194::-;;;;;;;;;;-1:-1:-1;19532:194:0;;;;;:::i;:::-;;:::i;6546:244::-;;;;;;;;;;-1:-1:-1;6546:244:0;;;;;:::i;:::-;;:::i;15060:81::-;;;;;;;;;;-1:-1:-1;15060:81:0;;;;-1:-1:-1;;;;;15060:81:0;;;19734:165;;;;;;;;;;-1:-1:-1;19734:165:0;;;;;:::i;:::-;;:::i;19377:147::-;;;;;;;;;;-1:-1:-1;19377:147:0;;;;;:::i;:::-;;:::i;17064:83::-;17101:13;17134:5;17127:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17064:83;:::o;17895:161::-;17970:4;17987:39;2371:10;18010:7;18019:6;17987:8;:39::i;:::-;-1:-1:-1;18044:4:0;17895:161;;;;:::o;19137:232::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;;;;;;;;;19260:14:::1;::::0;19237:18:::1;19247:8:::0;19237:7;:18:::1;:::i;:::-;19236:38;;19228:67;;;::::0;-1:-1:-1;;;19228:67:0;;6787:2:1;19228:67:0::1;::::0;::::1;6769:21:1::0;6826:2;6806:18;;;6799:30;-1:-1:-1;;;6845:18:1;;;6838:46;6901:18;;19228:67:0::1;6585:340:1::0;19228:67:0::1;19306:11;:22:::0;19339:10:::1;:20:::0;19137:232::o;24614:283::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;24701:25:::1;24741:9;24701:50;;24782:13;-1:-1:-1::0;;;;;24782:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24771:46:0::1;;24826:4;24833:13;-1:-1:-1::0;;;;;24833:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24771:83;::::0;-1:-1:-1;;;;;;24771:83:0::1;::::0;;;;;;-1:-1:-1;;;;;4015:15:1;;;24771:83:0::1;::::0;::::1;3997:34:1::0;4067:15;;4047:18;;;4040:43;3932:18;;24771:83:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24762:6;:92:::0;;-1:-1:-1;;;;;24762:92:0;;::::1;-1:-1:-1::0;;;;;;24762:92:0;;::::1;;::::0;;;24865:8:::1;:24:::0;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;-1:-1:-1;24614:283:0:o;18064:313::-;18162:4;18179:36;18189:6;18197:9;18208:6;18179:9;:36::i;:::-;18226:121;18235:6;2371:10;18257:89;18295:6;18257:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18257:19:0;;;;;;:11;:19;;;;;;;;2371:10;18257:33;;;;;;;;;;:37;:89::i;:::-;18226:8;:121::i;:::-;-1:-1:-1;18365:4:0;18064:313;;;;;:::o;24102:502::-;24237:10;6240:6;;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;24267:37:0;::::1;24299:4;24267:37;;24259:77;;;::::0;-1:-1:-1;;;24259:77:0;;6431:2:1;24259:77:0::1;::::0;::::1;6413:21:1::0;6470:2;6450:18;;;6443:30;6509:29;6489:18;;;6482:57;6556:18;;24259:77:0::1;6229:351:1::0;24259:77:0::1;24371:53;::::0;-1:-1:-1;;;24371:53:0;;24418:4:::1;24371:53;::::0;::::1;3499:51:1::0;24347:21:0::1;::::0;-1:-1:-1;;;;;24371:38:0;::::1;::::0;::::1;::::0;3472:18:1;;24371:53:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24347:77;;24458:13;24439:16;:32;24435:72;;;24492:13;24473:32;;24435:72;24525:71;::::0;-1:-1:-1;;;24525:71:0;;-1:-1:-1;;;;;4286:32:1;;;24525:71:0::1;::::0;::::1;4268:51:1::0;4335:18;;;4328:34;;;24525:37:0;::::1;::::0;::::1;::::0;4241:18:1;;24525:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24517:79:::0;24102:502;-1:-1:-1;;;;;24102:502:0:o;24908:174::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;25050:8:::1;:24:::0;;-1:-1:-1;;;;;;25050:24:0::1;-1:-1:-1::0;;;;;25050:24:0;;;::::1;::::0;;;::::1;::::0;;24908:174::o;18385:218::-;2371:10;18473:4;18522:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18522:34:0;;;;;;;;;;18473:4;;18490:83;;18513:7;;18522:50;;18561:10;18522:38;:50::i;18890:111::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18959:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;18959:34:0::1;18989:4;18959:34;::::0;;18890:111::o;6390:148::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;6497:1:::1;6481:6:::0;;6460:40:::1;::::0;-1:-1:-1;;;;;6481:6:0;;::::1;::::0;6460:40:::1;::::0;6497:1;;6460:40:::1;6528:1;6511:19:::0;;-1:-1:-1;;;;;;6511:19:0::1;::::0;;6390:148::o;17155:87::-;17194:13;17227:7;17220:14;;;;;:::i;18611:269::-;18704:4;18721:129;2371:10;18744:7;18753:96;18792:15;18753:96;;;;;;;;;;;;;;;;;2371:10;18753:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18753:34:0;;;;;;;;;;;;:38;:96::i;17569:167::-;17647:4;17664:42;2371:10;17688:9;17699:6;17664:9;:42::i;19991:127::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;20081:13:::1;:29:::0;;;::::1;;-1:-1:-1::0;;;20081:29:0::1;-1:-1:-1::0;;;;20081:29:0;;::::1;::::0;;;::::1;::::0;;19991:127::o;20305:159::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;20451:5:::1;20431:19;20423:7;;:27;;;;:::i;:::-;:33;;;;:::i;:::-;20402:18;:54:::0;-1:-1:-1;20305:159:0:o;20131:157::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;20275:5:::1;20257:17;20249:7;;:25;;;;:::i;:::-;:31;;;;:::i;:::-;20231:15;:49:::0;-1:-1:-1;20131:157:0:o;25094:101::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;25171:6:::1;:16:::0;;-1:-1:-1;;;;;;25171:16:0::1;-1:-1:-1::0;;;;;25171:16:0;;;::::1;::::0;;;::::1;::::0;;25094:101::o;23195:433::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;23299:16:::1;::::0;-1:-1:-1;;;23299:16:0;::::1;;;23298:17;23290:62;;;::::0;-1:-1:-1;;;23290:62:0;;7493:2:1;23290:62:0::1;::::0;::::1;7475:21:1::0;;;7512:18;;;7505:30;7571:34;7551:18;;;7544:62;7623:18;;23290:62:0::1;7291:356:1::0;23290:62:0::1;23496:4;23451:24;17537:16:::0;;;:7;:16;;;;;;;23580:3:::1;23534:45;23551:28:::0;17537:16;23534:45:::1;:::i;:::-;:49;;;;:::i;:::-;23513:70;;23594:26;23609:10;23594:14;:26::i;:::-;23279:349;;23195:433:::0;:::o;19013:110::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19080:27:0::1;19110:5;19080:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;19080:35:0::1;::::0;;19013:110::o;19532:194::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;19622:21:::1;:37:::0;;;::::1;;-1:-1:-1::0;;;19622:37:0::1;-1:-1:-1::0;;;;19622:37:0;;::::1;;::::0;;19675:43:::1;::::0;::::1;::::0;::::1;::::0;19646:13;4538:14:1;4531:22;4513:41;;4501:2;4486:18;;4373:187;19675:43:0::1;;;;;;;;19532:194:::0;:::o;6546:244::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6635:22:0;::::1;6627:73;;;::::0;-1:-1:-1;;;6627:73:0;;5597:2:1;6627:73:0::1;::::0;::::1;5579:21:1::0;5636:2;5616:18;;;5609:30;5675:34;5655:18;;;5648:62;-1:-1:-1;;;5726:18:1;;;5719:36;5772:19;;6627:73:0::1;5395:402:1::0;6627:73:0::1;6737:6;::::0;;6716:38:::1;::::0;-1:-1:-1;;;;;6716:38:0;;::::1;::::0;6737:6;::::1;::::0;6716:38:::1;::::0;::::1;6765:6;:17:::0;;-1:-1:-1;;;;;;6765:17:0::1;-1:-1:-1::0;;;;;6765:17:0;;;::::1;::::0;;;::::1;::::0;;6546:244::o;19734:165::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;19855:11:::1;:36:::0;;::::1;::::0;;::::1;;;-1:-1:-1::0;;19855:36:0;;::::1;::::0;;;::::1;::::0;;19734:165::o;19377:147::-;6213:7;6240:6;-1:-1:-1;;;;;6240:6:0;2371:10;6302:23;6294:68;;;;-1:-1:-1;;;6294:68:0;;;;;;;:::i;:::-;19451:9:::1;:18:::0;;-1:-1:-1;;;;;19451:18:0;;::::1;-1:-1:-1::0;;;;;;19451:18:0;;::::1;::::0;::::1;::::0;;:9:::1;19480:29:::0;;;:18:::1;:29;::::0;;;;:36;;-1:-1:-1;;19480:36:0::1;19451:18:::0;19480:36:::1;::::0;;19377:147::o;1604:98::-;1662:7;1689:5;1693:1;1689;:5;:::i;:::-;1682:12;1604:98;-1:-1:-1;;;1604:98:0:o;1714:::-;1772:7;1799:5;1803:1;1799;:5;:::i;20981:266::-;-1:-1:-1;;;;;21076:19:0;;;;;;:44;;-1:-1:-1;;;;;;21099:21:0;;;;21076:44;21068:74;;;;-1:-1:-1;;;21068:74:0;;8344:2:1;21068:74:0;;;8326:21:1;8383:2;8363:18;;;8356:30;-1:-1:-1;;;8402:18:1;;;8395:47;8459:18;;21068:74:0;8142:341:1;21068:74:0;-1:-1:-1;;;;;21153:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;21205:32;;8634:25:1;;;21205:32:0;;8607:18:1;21205:32:0;;;;;;;20981:266;;;:::o;21255:1555::-;6213:7;6240:6;-1:-1:-1;;;;;21383:13:0;;;6240:6;;21383:13;;;;:45;;-1:-1:-1;21419:9:0;;-1:-1:-1;;;;;21413:15:0;;;21419:9;;21413:15;;21383:45;:81;;;;-1:-1:-1;;;;;;21445:19:0;;21459:4;21445:19;;21383:81;:110;;;;-1:-1:-1;21487:6:0;;-1:-1:-1;;;;;21481:12:0;;;21487:6;;21481:12;;21383:110;:137;;;;-1:-1:-1;21516:4:0;;-1:-1:-1;;;;;21510:10:0;;;21516:4;;21510:10;;21383:137;:169;;;;-1:-1:-1;6213:7:0;6240:6;-1:-1:-1;;;;;21537:15:0;;;6240:6;;21537:15;;21383:169;21379:376;;;-1:-1:-1;;;;;17537:16:0;;21568:18;17537:16;;;:7;:16;;;;;;21650:18;;21626:19;21639:6;17537:16;21626:19;:::i;:::-;21625:43;;21617:136;;;;-1:-1:-1;;;21617:136:0;;7854:2:1;21617:136:0;;;7836:21:1;7893:2;7873:18;;;7866:30;7932:34;7912:18;;;7905:62;8003:34;7983:18;;;7976:62;-1:-1:-1;;;8054:19:1;;;8047:48;8112:19;;21617:136:0;7652:485:1;21617:136:0;21553:202;21379:376;6213:7;6240:6;-1:-1:-1;;;;;21773:15:0;;;6240:6;;21773:15;;;;:32;;-1:-1:-1;6213:7:0;6240:6;-1:-1:-1;;;;;21792:13:0;;;6240:6;;21792:13;;21773:32;21769:147;;;21838:15;;21828:6;:25;;21820:96;;;;-1:-1:-1;;;21820:96:0;;6004:2:1;21820:96:0;;;5986:21:1;6043:2;6023:18;;;6016:30;6082:34;6062:18;;;6055:62;6153:28;6133:18;;;6126:56;6199:19;;21820:96:0;5802:422:1;21820:96:0;21959:11;;;;;;;;21948:7;;:22;;;;:57;;-1:-1:-1;21989:16:0;;-1:-1:-1;;;21989:16:0;;;;21988:17;21948:57;:88;;;;-1:-1:-1;22030:6:0;;-1:-1:-1;;;;;22022:14:0;;;22030:6;;22022:14;;21948:88;:126;;;;-1:-1:-1;22053:21:0;;-1:-1:-1;;;22053:21:0;;;;21948:126;21931:496;;;22131:7;:11;;-1:-1:-1;;22131:11:0;;;22206:4;-1:-1:-1;17537:16:0;;;-1:-1:-1;17537:16:0;;;;;;22253:15;;22230:38;;22227:84;;;-1:-1:-1;22294:15:0;;22227:84;22328:24;;22325:91;;22368:36;22383:20;22368:14;:36::i;:::-;22100:327;21931:496;-1:-1:-1;;;;;22493:24:0;;22449:12;22493:24;;;:18;:24;;;;;;22464:4;;22493:24;;;:50;;-1:-1:-1;;;;;;22521:22:0;;;;;;:18;:22;;;;;;;;22493:50;:103;;;-1:-1:-1;22548:13:0;;-1:-1:-1;;;22548:13:0;;;;:31;;;;-1:-1:-1;22573:6:0;;-1:-1:-1;;;;;22565:14:0;;;22573:6;;22565:14;;22548:31;:47;;;;-1:-1:-1;22589:6:0;;-1:-1:-1;;;;;22583:12:0;;;22589:6;;22583:12;;22548:47;22490:254;;;-1:-1:-1;22622:5:0;22490:254;;;22657:6;;-1:-1:-1;;;;;22649:14:0;;;22657:6;;22649:14;22645:99;;;22680:10;;22665:12;:25;22645:99;;;22708:6;;-1:-1:-1;;;;;22702:12:0;;;22708:6;;22702:12;22698:46;;;22731:11;;22716:12;:26;22698:46;22764:38;22779:4;22784:2;22787:6;22794:7;22764:14;:38::i;:::-;21358:1452;21255:1555;;;:::o;1820:206::-;1906:7;1967:12;1959:6;;;;1951:29;;;;-1:-1:-1;;;1951:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2002:5:0;;;1820:206::o;1392:98::-;1450:7;1477:5;1481:1;1477;:5;:::i;22946:241::-;16436:16;:23;;-1:-1:-1;;;;16436:23:0;-1:-1:-1;;;16436:23:0;;;23041:38:::1;23058:20:::0;23041:16:::1;:38::i;:::-;23157:9;::::0;23112:21:::1;::::0;23144:35:::1;::::0;-1:-1:-1;;;;;23157:9:0::1;23112:21:::0;23144:12:::1;:35::i;:::-;-1:-1:-1::0;;16482:16:0;:24;;-1:-1:-1;;;;16482:24:0;;;22946:241::o;25203:360::-;25334:7;25330:107;;25357:14;:12;:14::i;:::-;25330:107;;;25412:7;:9;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;25330:107;25451:42;25467:6;25475:9;25486:6;25451:15;:42::i;:::-;25518:7;25514:41;;25540:15;20872:17;;20857:12;:32;20909:15;;20896:10;:28;20946:16;;20932:11;:30;20811:162;23636:453;23728:16;;;23742:1;23728:16;;;;;;;;23704:21;;23728:16;;;;;;;;;;-1:-1:-1;23728:16:0;23704:40;;23773:4;23755;23760:1;23755:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23755:23:0;;;:7;;;;;;;;;;:23;;;;23799:8;;:15;;;-1:-1:-1;;;23799:15:0;;;;:8;;;;;:13;;:15;;;;;23755:7;;23799:15;;;;;:8;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23789:4;23794:1;23789:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;23789:25:0;;;:7;;;;;;;;;:25;23857:8;;23825:55;;23842:4;;23857:8;23868:11;23825:8;:55::i;:::-;23891:8;;:190;;-1:-1:-1;;;23891:190:0;;-1:-1:-1;;;;;23891:8:0;;;;:59;;:190;;23965:11;;23891:8;;24008:4;;24035;;24055:15;;23891:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23691:398;23636:453;:::o;22818:120::-;22903:23;;-1:-1:-1;;;;;22903:15:0;;;:23;;;;;22919:6;;22903:23;;;;22919:6;22903:15;:23;;;;;;;;;;;;;;;;;;;20472:327;20518:12;;:17;:36;;;;-1:-1:-1;20539:10:0;;:15;20518:36;:56;;;;-1:-1:-1;20558:11:0;;:16;20518:56;20515:68;;;20472:327::o;20515:68::-;20615:10;;;20597:15;:28;20656:11;;;20637:16;:30;20699:12;;;20679:17;:32;-1:-1:-1;20722:14:0;;;;20747:15;;;;20773:16;20472:327::o;25571:424::-;25668:23;25693:12;25709:19;25720:7;25709:10;:19::i;:::-;-1:-1:-1;;;;;25757:15:0;;;;;;:7;:15;;;;;;25667:61;;-1:-1:-1;25667:61:0;-1:-1:-1;25757:28:0;;25777:7;25757:19;:28::i;:::-;-1:-1:-1;;;;;25739:15:0;;;;;;;:7;:15;;;;;;:46;;;;25817:18;;;;;;;:39;;25840:15;25817:22;:39::i;:::-;-1:-1:-1;;;;;25796:18:0;;;;;;:7;:18;;;;;;:60;;;;25908:4;25892:22;;;;:32;;25919:4;25892:26;:32::i;:::-;25883:4;25867:22;;;;:7;:22;;;;;;;;;:57;;;;25943:44;8634:25:1;;;-1:-1:-1;;;;;25943:44:0;;;;;;;;;;8607:18:1;25943:44:0;;;;;;;25656:339;;25571:424;;;:::o;26005:230::-;26064:7;26073;26093:12;26129:3;26116:12;;26108:7;:20;;;;:::i;:::-;:24;;;;:::i;:::-;26093:39;-1:-1:-1;26143:23:0;26169:17;:7;26093:39;26169:11;:17::i;:::-;26143:43;26222:4;;-1:-1:-1;26005:230:0;;-1:-1:-1;;;26005:230:0:o;1498:98::-;1556:7;1583:5;1587:1;1583;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;782:388::-;850:6;858;911:2;899:9;890:7;886:23;882:32;879:52;;;927:1;924;917:12;879:52;966:9;953:23;985:31;1010:5;985:31;:::i;:::-;1035:5;-1:-1:-1;1092:2:1;1077:18;;1064:32;1105:33;1064:32;1105:33;:::i;:::-;1157:7;1147:17;;;782:388;;;;;:::o;1175:456::-;1252:6;1260;1268;1321:2;1309:9;1300:7;1296:23;1292:32;1289:52;;;1337:1;1334;1327:12;1289:52;1376:9;1363:23;1395:31;1420:5;1395:31;:::i;:::-;1445:5;-1:-1:-1;1502:2:1;1487:18;;1474:32;1515:33;1474:32;1515:33;:::i;:::-;1175:456;;1567:7;;-1:-1:-1;;;1621:2:1;1606:18;;;;1593:32;;1175:456::o;1636:315::-;1704:6;1712;1765:2;1753:9;1744:7;1740:23;1736:32;1733:52;;;1781:1;1778;1771:12;1733:52;1820:9;1807:23;1839:31;1864:5;1839:31;:::i;:::-;1889:5;1941:2;1926:18;;;;1913:32;;-1:-1:-1;;;1636:315:1:o;1956:241::-;2012:6;2065:2;2053:9;2044:7;2040:23;2036:32;2033:52;;;2081:1;2078;2071:12;2033:52;2120:9;2107:23;2139:28;2161:5;2139:28;:::i;2202:245::-;2269:6;2322:2;2310:9;2301:7;2297:23;2293:32;2290:52;;;2338:1;2335;2328:12;2290:52;2370:9;2364:16;2389:28;2411:5;2389:28;:::i;2452:180::-;2511:6;2564:2;2552:9;2543:7;2539:23;2535:32;2532:52;;;2580:1;2577;2570:12;2532:52;-1:-1:-1;2603:23:1;;2452:180;-1:-1:-1;2452:180:1:o;2637:184::-;2707:6;2760:2;2748:9;2739:7;2735:23;2731:32;2728:52;;;2776:1;2773;2766:12;2728:52;-1:-1:-1;2799:16:1;;2637:184;-1:-1:-1;2637:184:1:o;2826:248::-;2894:6;2902;2955:2;2943:9;2934:7;2930:23;2926:32;2923:52;;;2971:1;2968;2961:12;2923:52;-1:-1:-1;;2994:23:1;;;3064:2;3049:18;;;3036:32;;-1:-1:-1;2826:248:1:o;3079:269::-;3136:6;3189:2;3177:9;3168:7;3164:23;3160:32;3157:52;;;3205:1;3202;3195:12;3157:52;3244:9;3231:23;3294:4;3287:5;3283:16;3276:5;3273:27;3263:55;;3314:1;3311;3304:12;4793:597;4905:4;4934:2;4963;4952:9;4945:21;4995:6;4989:13;5038:6;5033:2;5022:9;5018:18;5011:34;5063:1;5073:140;5087:6;5084:1;5081:13;5073:140;;;5182:14;;;5178:23;;5172:30;5148:17;;;5167:2;5144:26;5137:66;5102:10;;5073:140;;;5231:6;5228:1;5225:13;5222:91;;;5301:1;5296:2;5287:6;5276:9;5272:22;5268:31;5261:42;5222:91;-1:-1:-1;5374:2:1;5353:15;-1:-1:-1;;5349:29:1;5334:45;;;;5381:2;5330:54;;4793:597;-1:-1:-1;;;4793:597:1:o;6930:356::-;7132:2;7114:21;;;7151:18;;;7144:30;7210:34;7205:2;7190:18;;7183:62;7277:2;7262:18;;6930:356::o;8670:980::-;8932:4;8980:3;8969:9;8965:19;9011:6;9000:9;8993:25;9037:2;9075:6;9070:2;9059:9;9055:18;9048:34;9118:3;9113:2;9102:9;9098:18;9091:31;9142:6;9177;9171:13;9208:6;9200;9193:22;9246:3;9235:9;9231:19;9224:26;;9285:2;9277:6;9273:15;9259:29;;9306:1;9316:195;9330:6;9327:1;9324:13;9316:195;;;9395:13;;-1:-1:-1;;;;;9391:39:1;9379:52;;9486:15;;;;9451:12;;;;9427:1;9345:9;9316:195;;;-1:-1:-1;;;;;;;9567:32:1;;;;9562:2;9547:18;;9540:60;-1:-1:-1;;;9631:3:1;9616:19;9609:35;9528:3;8670:980;-1:-1:-1;;;8670:980:1:o;9844:128::-;9884:3;9915:1;9911:6;9908:1;9905:13;9902:39;;;9921:18;;:::i;:::-;-1:-1:-1;9957:9:1;;9844:128::o;9977:217::-;10017:1;10043;10033:132;;10087:10;10082:3;10078:20;10075:1;10068:31;10122:4;10119:1;10112:15;10150:4;10147:1;10140:15;10033:132;-1:-1:-1;10179:9:1;;9977:217::o;10199:168::-;10239:7;10305:1;10301;10297:6;10293:14;10290:1;10287:21;10282:1;10275:9;10268:17;10264:45;10261:71;;;10312:18;;:::i;:::-;-1:-1:-1;10352:9:1;;10199:168::o;10372:125::-;10412:4;10440:1;10437;10434:8;10431:34;;;10445:18;;:::i;:::-;-1:-1:-1;10482:9:1;;10372:125::o;10502:380::-;10581:1;10577:12;;;;10624;;;10645:61;;10699:4;10691:6;10687:17;10677:27;;10645:61;10752:2;10744:6;10741:14;10721:18;10718:38;10715:161;;;10798:10;10793:3;10789:20;10786:1;10779:31;10833:4;10830:1;10823:15;10861:4;10858:1;10851:15;10715:161;;10502:380;;;:::o;10887:175::-;10924:3;10968:4;10961:5;10957:16;10997:4;10988:7;10985:17;10982:43;;;11005:18;;:::i;:::-;11054:1;11041:15;;10887:175;-1:-1:-1;;10887:175:1:o;11067:127::-;11128:10;11123:3;11119:20;11116:1;11109:31;11159:4;11156:1;11149:15;11183:4;11180:1;11173:15;11199:127;11260:10;11255:3;11251:20;11248:1;11241:31;11291:4;11288:1;11281:15;11315:4;11312:1;11305:15;11463:131;-1:-1:-1;;;;;11538:31:1;;11528:42;;11518:70;;11584:1;11581;11574:12;11518:70;11463:131;:::o;11599:118::-;11685:5;11678:13;11671:21;11664:5;11661:32;11651:60;;11707:1;11704;11697:12

Swarm Source

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