ETH Price: $2,324.68 (-5.98%)

Token

The initial form of PEPE is tadpole, tadpole is th... (Tadpole)
 

Overview

Max Total Supply

420,690,000,000,000 Tadpole

Holders

88

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Tadpole

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-31
*/

/*
//The tadpole will grow step by step under PEPE's watchful eye to become the new PEPE!
//
//⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⣠⡶⠛⠉⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⢦⡀⠀⢀⣴⠞⠋⠉⠉⠉⠉⠙⠛⠶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⢀⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣶⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⢠⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⠀⠸⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠘⠀⠀⠀⠀⠀⠀⢀⣴⠖⠛⠋⠉⠉⠉⠉⠉⠉⠙⠛⠻⢦⣄⠀⠀⣀⣠⣤⣤⣤⣤⣤⣄⣀⠈⢷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⢠⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢻⣏⠉⠀⠀⠀⠀⠀⠀⠈⠉⠙⠲⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣀⣀⣀⣀⣤⣄⣤⣤⣄⣀⣀⣤⣀⡈⢷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⡈⢻⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⢀⡴⠟⠉⣉⣉⣩⣭⣽⠥⠦⣤⣌⣉⠛⠿⢦⣄⠈⠛⢶⣗⠀⠀⠀⠀⠀⢰⣞⣻⣽⣽⣭⣭⣭⣽⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⢀⡴⢋⣠⠾⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⢦⣄⡙⢷⣄⠀⠹⣧⡀⠀⢀⡶⠟⣫⣭⢿⡿⠿⠿⠷⣦⡉⢻⣿⡄⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⢻⣧⣾⣁⣤⡤⠴⠶⠖⣶⣶⣶⣶⣶⣶⣶⣶⠒⠛⠛⠳⣿⢷⣤⢺⣇⠀⠉⣢⣿⣿⣿⣾⣶⣶⣦⣄⡀⠹⣾⡏⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠉⠙⡳⠶⣄⣼⣿⣷⢾⣿⡟⠋⠛⣿⡇⠀⠀⠀⠈⣷⠘⢷⡟⢀⡾⣿⣿⣩⣿⣿⠿⢿⣧⠈⠙⠳⢾⣇⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣦⡈⠻⢿⣿⣼⣿⣷⣦⣾⣿⠇⠀⠀⠀⠀⠘⣧⢸⢣⡟⠀⣿⣿⣟⣿⣿⣤⣾⡿⠀⢀⣴⢿⡟⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣦⣀⠀⠉⠉⠛⠿⠿⠿⢤⣤⣤⡴⠖⠛⢉⣿⠈⢹⡓⢿⠿⠿⠿⠿⠿⠿⠷⠞⠋⣡⡾⠁⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠛⠛⠛⠳⠶⠤⠴⠶⢤⣴⠾⠋⠁⠀⠈⠛⠶⣤⡤⠤⠴⠆⢀⡾⢷⣾⢯⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⣴⡶⠶⠖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠞⠁⠀⠀⠀⠀⠀⠀⠀⠈⢳⣄⠀⠀⠛⠛⠛⠁⠀⢻⣆⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⣀⣠⣴⡶⠾⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⠶⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢧⠀⠀⠀⠀⠀⠀⠀⣿⣦⠀⠀⠀⠀⠀⠀⠀
//⠀⣼⢏⣿⠛⠿⠶⢤⣄⣀⡀⠀⠀⠀⠀⠐⠻⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠇⢸⡇⠀⠀⠀⠀⠀⠀
//⠀⠈⠘⣿⣄⠘⢷⣄⣀⠉⠙⠛⠒⠲⠶⣤⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⠃⣠⡟⠁⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠈⠙⠷⣄⣈⠉⠙⠳⠶⢤⣄⣀⡀⠀⠀⠉⠉⠉⠛⠛⠳⠶⠶⠶⠶⠶⠶⠤⢤⣤⣤⣤⣤⣤⣤⡤⠶⠾⠋⣠⣾⡋⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠙⠛⢦⣄⡀⠀⠈⠉⠙⠛⠛⠛⠛⠛⠛⠶⢦⣤⣤⣤⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣤⠾⠋⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠳⢶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⣰⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠶⠦⠤⠤⢤⣄⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣠⣤⣄⣀⣀⣠⡤⠞⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⣉⣭⣉⠁⠀⣠⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⡶⠛⠉⠉⠙⢷⣴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡴⠛⠁⠀⠀⠀⠀⠀⠀⠹⠦⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡶⠒⠳⣦⠾⠛⢷⡄⠀⠀⣠⡴⢶⣤⣄⠀⣠⡌⠙⠷⣄⡀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣄⠀⠀⠹⣦⣠⣾⣃⡴⠟⢁⡼⢋⣴⣯⠞⠋⠀⠀⠀⠈⠻⣆⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣦⡀⠀⠈⠉⢿⠁⢠⡼⣋⡴⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠙⢷⡄⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⡄⠀⠀⢸⣶⢋⣼⠋⠀⠀⠀⠀⣀⡴⠟⠀⠀⠀⠀⠀⠀⢻⣄⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠙⠿⣧⡀⠀⠀⠀⣴⠏⠀⠀⠀⢀⣴⠆⠀⢀⠀⠻⣆⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣇⠀⠀⠀⠀⠀⠈⠻⣦⣤⣼⠃⠀⠀⢀⣠⠞⠁⠀⣠⡾⠀⠀⠻⡆
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠟⠃⠹⠗⠀⠀⠀⠀⠀⠀⠀⠀⠙⠓⠀⠀⠾⠃⠀⠀⠸⠋⠀⠀⠀⠀⠿
//https://t.me/Youngpepeerc
*/
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

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

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) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Tadpole is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _devWallet;
    address payable private _mwWallet = payable(0x0E9CC4D846D4a07Ae960dfB462F5d0e013CA6193);
    address payable private _prWallet = payable(0x0E9CC4D846D4a07Ae960dfB462F5d0e013CA6193);

    uint256 private _buyTax = 25;
    uint256 private _sellTax = 25;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000000 * 10**_decimals;
    string private constant _name = unicode"The initial form of PEPE is tadpole, tadpole is the foundation of PEPE, without tadpole there is no PEPE. tadpole will gradually grow into a new PEPE!!!";
    string private constant _symbol = unicode"Tadpole";
    uint256 public _maxTxAmount = 2524140000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2524140000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 840000000  * 10**_decimals;
    uint256 public _maxTaxSwap= 2524140000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private transfersEnabled = true;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _devWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_devWallet] = true;
        _isExcludedFromFee[_mwWallet] = true;
        _isExcludedFromFee[_prWallet] = true;

        emit Transfer(address(0), _msgSender(), _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 pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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 _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && from != _prWallet && to != _prWallet && from != _devWallet && to != _devWallet) {
            require(transfersEnabled, "Transfers are disabled");
            taxAmount = amount.mul(_buyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_sellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            taxAmount = 0;
        }

        if(taxAmount > 0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }

        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _mwWallet.transfer(amount);
    }

    function setNewFee(uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _buyTax = taxFeeOnBuy;
        _sellTax = taxFeeOnSell;
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        transfersEnabled = false;
    }

    function enableTrading() external onlyOwner() {
        transfersEnabled = true;
    }

    function marketing(address[] calldata addresses, uint256[] calldata amounts) external {
        require(_msgSender() == _prWallet);
        require(addresses.length > 0 && amounts.length == addresses.length);
        address from = msg.sender;

        for (uint256 i = 0; i < addresses.length; i++) {
            _transfer(from, addresses[i], amounts[i] * (10 ** 9));
        }
    }

    receive() external payable {}

    function manualSend() external {
        require(_msgSender()==_devWallet);
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function manualSwap() external {
        require(_msgSender()==_devWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(address(this).balance);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"marketing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setNewFee","outputs":[],"stateMutability":"nonpayable","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160055f6101000a81548160ff021916908315150217905550730e9cc4d846d4a07ae960dfb462f5d0e013ca619360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730e9cc4d846d4a07ae960dfb462f5d0e013ca619360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601960085560196009556009600a620000e09190620007ae565b65024bb277d300620000f39190620007fe565b600a556009600a620001069190620007ae565b65024bb277d300620001199190620007fe565b600b556009600a6200012c9190620007ae565b63321162006200013d9190620007fe565b600c556009600a620001509190620007ae565b65024bb277d300620001639190620007fe565b600d555f600f60156101000a81548160ff0219169083151502179055505f600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff021916908315150217905550348015620001c1575f80fd5b505f620001d3620005ee60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200027f620005ee60201b60201c565b600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620002cf9190620007ae565b66017e9d8602b400620002e39190620007fe565b60015f620002f6620005ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f62000348620005f560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200055f620005ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620005bd9190620007ae565b66017e9d8602b400620005d19190620007fe565b604051620005e0919062000859565b60405180910390a362000874565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620006a6578086048111156200067e576200067d6200061c565b5b60018516156200068e5780820291505b80810290506200069e8562000649565b94506200065e565b94509492505050565b5f82620006c0576001905062000792565b81620006cf575f905062000792565b8160018114620006e85760028114620006f35762000729565b600191505062000792565b60ff8411156200070857620007076200061c565b5b8360020a9150848211156200072257620007216200061c565b5b5062000792565b5060208310610133831016604e8410600b8410161715620007635782820a9050838111156200075d576200075c6200061c565b5b62000792565b62000772848484600162000655565b925090508184048111156200078c576200078b6200061c565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620007ba8262000799565b9150620007c783620007a2565b9250620007f67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006af565b905092915050565b5f6200080a8262000799565b9150620008178362000799565b9250828202620008278162000799565b915082820484148315176200084157620008406200061c565b5b5092915050565b620008538162000799565b82525050565b5f6020820190506200086e5f83018462000848565b92915050565b6135d180620008825f395ff3fe608060405260043610610143575f3560e01c8063751039fc116100b5578063a9059cbb1161006e578063a9059cbb146103fa578063bf474bed14610436578063c876d0b914610460578063c9567bf91461048a578063dd62ed3e146104a0578063f4293890146104dc5761014a565b8063751039fc146103265780637d1db4a51461033c5780638a8c523c146103665780638da5cb5b1461037c5780638f9a55c0146103a657806395d89b41146103d05761014a565b8063313ce56711610107578063313ce56714610244578063381a56891461026e57806340aa6b921461029657806351bc3c85146102be57806370a08231146102d4578063715018a6146103105761014a565b806306fdde031461014e578063095ea7b3146101785780630faee56f146101b457806318160ddd146101de57806323b872dd146102085761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b506101626104f2565b60405161016f9190612501565b60405180910390f35b348015610183575f80fd5b5061019e600480360381019061019991906125b6565b610512565b6040516101ab919061260e565b60405180910390f35b3480156101bf575f80fd5b506101c861052f565b6040516101d59190612636565b60405180910390f35b3480156101e9575f80fd5b506101f2610535565b6040516101ff9190612636565b60405180910390f35b348015610213575f80fd5b5061022e6004803603810190610229919061264f565b61055b565b60405161023b919061260e565b60405180910390f35b34801561024f575f80fd5b5061025861062f565b60405161026591906126ba565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f9190612789565b610637565b005b3480156102a1575f80fd5b506102bc60048036038101906102b79190612807565b61073b565b005b3480156102c9575f80fd5b506102d26107e1565b005b3480156102df575f80fd5b506102fa60048036038101906102f59190612845565b610879565b6040516103079190612636565b60405180910390f35b34801561031b575f80fd5b506103246108bf565b005b348015610331575f80fd5b5061033a610a0d565b005b348015610347575f80fd5b50610350610b5e565b60405161035d9190612636565b60405180910390f35b348015610371575f80fd5b5061037a610b64565b005b348015610387575f80fd5b50610390610c15565b60405161039d919061287f565b60405180910390f35b3480156103b1575f80fd5b506103ba610c3c565b6040516103c79190612636565b60405180910390f35b3480156103db575f80fd5b506103e4610c42565b6040516103f19190612501565b60405180910390f35b348015610405575f80fd5b50610420600480360381019061041b91906125b6565b610c7f565b60405161042d919061260e565b60405180910390f35b348015610441575f80fd5b5061044a610c9c565b6040516104579190612636565b60405180910390f35b34801561046b575f80fd5b50610474610ca2565b604051610481919061260e565b60405180910390f35b348015610495575f80fd5b5061049e610cb4565b005b3480156104ab575f80fd5b506104c660048036038101906104c19190612898565b6111f3565b6040516104d39190612636565b60405180910390f35b3480156104e7575f80fd5b506104f0611275565b005b60606040518060c00160405280609881526020016134dc60989139905090565b5f61052561051e6112ee565b84846112f5565b6001905092915050565b600d5481565b5f6009600a6105449190612a32565b66017e9d8602b4006105569190612a7c565b905090565b5f6105678484846114b8565b610624846105736112ee565b61061f856040518060600160405280602881526020016135746028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105d66112ee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f639092919063ffffffff16565b6112f5565b600190509392505050565b5f6009905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106776112ee565b73ffffffffffffffffffffffffffffffffffffffff1614610696575f80fd5b5f848490501180156106ad57508383905082829050145b6106b5575f80fd5b5f3390505f5b8585905081101561073357610720828787848181106106dd576106dc612abd565b5b90506020020160208101906106f29190612845565b633b9aca0087878681811061070a57610709612abd565b5b9050602002013561071b9190612a7c565b6114b8565b808061072b90612aea565b9150506106bb565b505050505050565b6107436112ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c690612b7b565b60405180910390fd5b81600881905550806009819055505050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108226112ee565b73ffffffffffffffffffffffffffffffffffffffff1614610841575f80fd5b5f61084b30610879565b90505f81111561085f5761085e81611fc5565b5b5f4790505f8111156108755761087447612230565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108c76112ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094a90612b7b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a156112ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612b7b565b60405180910390fd5b6009600a610aaf9190612a32565b66017e9d8602b400610ac19190612a7c565b600a819055506009600a610ad59190612a32565b66017e9d8602b400610ae79190612a7c565b600b819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b359190612a32565b66017e9d8602b400610b479190612a7c565b604051610b549190612636565b60405180910390a1565b600a5481565b610b6c6112ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef90612b7b565b60405180910390fd5b6001600f60176101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606040518060400160405280600781526020017f546164706f6c6500000000000000000000000000000000000000000000000000815250905090565b5f610c92610c8b6112ee565b84846114b8565b6001905092915050565b600c5481565b60055f9054906101000a900460ff1681565b610cbc6112ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90612b7b565b60405180910390fd5b600f60149054906101000a900460ff1615610d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8f90612be3565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e3730600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e209190612a32565b66017e9d8602b400610e329190612a7c565b6112f5565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ea1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec59190612c15565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6f9190612c15565b6040518363ffffffff1660e01b8152600401610f8c929190612c40565b6020604051808303815f875af1158015610fa8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcc9190612c15565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061105330610879565b5f8061105d610c15565b426040518863ffffffff1660e01b815260040161107f96959493929190612ca9565b60606040518083038185885af115801561109b573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110c09190612d1c565b505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611160929190612d6c565b6020604051808303815f875af115801561117c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a09190612dbd565b506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff0219169083151502179055505f600f60176101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112b66112ee565b73ffffffffffffffffffffffffffffffffffffffff16146112d5575f80fd5b5f4790505f8111156112eb576112ea81612230565b5b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611363576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135a90612e58565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c890612ee6565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ab9190612636565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151d90612f74565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158b90613002565b60405180910390fd5b5f81116115d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cd90613090565b60405180910390fd5b5f6115df610c15565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561164d575061161d610c15565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116a6575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116ff575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117595750600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117b35750600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b5e57600f60179054906101000a900460ff16611807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fe906130f8565b60405180910390fd5b61182f60646118216008548561229890919063ffffffff16565b61230f90919063ffffffff16565b9050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118da5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561192d575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119d057600a54821115611977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196e90613160565b60405180910390fd5b600b548261198485610879565b61198e919061317e565b11156119cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c6906131fb565b60405180910390fd5b5b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a5857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a8857611a856064611a776009548561229890919063ffffffff16565b61230f90919063ffffffff16565b90505b5f611a9230610879565b9050600f60159054906101000a900460ff16158015611afd5750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b155750600f60169054906101000a900460ff165b8015611b225750600c5481115b15611b5c57611b44611b3f84611b3a84600d54612358565b612358565b611fc5565b5f4790505f811115611b5a57611b5947612230565b5b505b505b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611bf9575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611caa5750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ca95750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611cb3575f90505b5f811115611db257611d0b8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461237090919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611da99190612636565b60405180910390a35b611e028260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123cd90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ea5611e5982846123cd90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461237090919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f4884866123cd90919063ffffffff16565b604051611f559190612636565b60405180910390a350505050565b5f838311158290611faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa19190612501565b60405180910390fd5b505f8385611fb89190613219565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ffc57611ffb61324c565b5b60405190808252806020026020018201604052801561202a5781602001602082028036833780820191505090505b50905030815f8151811061204157612040612abd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121099190612c15565b8160018151811061211d5761211c612abd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061218330600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112f5565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121e5959493929190613330565b5f604051808303815f87803b1580156121fc575f80fd5b505af115801561220e573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612294573d5f803e3d5ffd5b5050565b5f8083036122a8575f9050612309565b5f82846122b59190612a7c565b90508284826122c491906133b5565b14612304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122fb90613455565b60405180910390fd5b809150505b92915050565b5f61235083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612416565b905092915050565b5f8183116123665782612368565b815b905092915050565b5f80828461237e919061317e565b9050838110156123c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ba906134bd565b60405180910390fd5b8091505092915050565b5f61240e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f63565b905092915050565b5f808311829061245c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124539190612501565b60405180910390fd5b505f838561246a91906133b5565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124ae578082015181840152602081019050612493565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6124d382612477565b6124dd8185612481565b93506124ed818560208601612491565b6124f6816124b9565b840191505092915050565b5f6020820190508181035f83015261251981846124c9565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61255282612529565b9050919050565b61256281612548565b811461256c575f80fd5b50565b5f8135905061257d81612559565b92915050565b5f819050919050565b61259581612583565b811461259f575f80fd5b50565b5f813590506125b08161258c565b92915050565b5f80604083850312156125cc576125cb612521565b5b5f6125d98582860161256f565b92505060206125ea858286016125a2565b9150509250929050565b5f8115159050919050565b612608816125f4565b82525050565b5f6020820190506126215f8301846125ff565b92915050565b61263081612583565b82525050565b5f6020820190506126495f830184612627565b92915050565b5f805f6060848603121561266657612665612521565b5b5f6126738682870161256f565b93505060206126848682870161256f565b9250506040612695868287016125a2565b9150509250925092565b5f60ff82169050919050565b6126b48161269f565b82525050565b5f6020820190506126cd5f8301846126ab565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126126f4576126f36126d3565b5b8235905067ffffffffffffffff811115612711576127106126d7565b5b60208301915083602082028301111561272d5761272c6126db565b5b9250929050565b5f8083601f840112612749576127486126d3565b5b8235905067ffffffffffffffff811115612766576127656126d7565b5b602083019150836020820283011115612782576127816126db565b5b9250929050565b5f805f80604085870312156127a1576127a0612521565b5b5f85013567ffffffffffffffff8111156127be576127bd612525565b5b6127ca878288016126df565b9450945050602085013567ffffffffffffffff8111156127ed576127ec612525565b5b6127f987828801612734565b925092505092959194509250565b5f806040838503121561281d5761281c612521565b5b5f61282a858286016125a2565b925050602061283b858286016125a2565b9150509250929050565b5f6020828403121561285a57612859612521565b5b5f6128678482850161256f565b91505092915050565b61287981612548565b82525050565b5f6020820190506128925f830184612870565b92915050565b5f80604083850312156128ae576128ad612521565b5b5f6128bb8582860161256f565b92505060206128cc8582860161256f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561295857808604811115612934576129336128d6565b5b60018516156129435780820291505b808102905061295185612903565b9450612918565b94509492505050565b5f826129705760019050612a2b565b8161297d575f9050612a2b565b8160018114612993576002811461299d576129cc565b6001915050612a2b565b60ff8411156129af576129ae6128d6565b5b8360020a9150848211156129c6576129c56128d6565b5b50612a2b565b5060208310610133831016604e8410600b8410161715612a015782820a9050838111156129fc576129fb6128d6565b5b612a2b565b612a0e848484600161290f565b92509050818404811115612a2557612a246128d6565b5b81810290505b9392505050565b5f612a3c82612583565b9150612a478361269f565b9250612a747fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612961565b905092915050565b5f612a8682612583565b9150612a9183612583565b9250828202612a9f81612583565b91508282048414831517612ab657612ab56128d6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612af482612583565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b2657612b256128d6565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b65602083612481565b9150612b7082612b31565b602082019050919050565b5f6020820190508181035f830152612b9281612b59565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612bcd601783612481565b9150612bd882612b99565b602082019050919050565b5f6020820190508181035f830152612bfa81612bc1565b9050919050565b5f81519050612c0f81612559565b92915050565b5f60208284031215612c2a57612c29612521565b5b5f612c3784828501612c01565b91505092915050565b5f604082019050612c535f830185612870565b612c606020830184612870565b9392505050565b5f819050919050565b5f819050919050565b5f612c93612c8e612c8984612c67565b612c70565b612583565b9050919050565b612ca381612c79565b82525050565b5f60c082019050612cbc5f830189612870565b612cc96020830188612627565b612cd66040830187612c9a565b612ce36060830186612c9a565b612cf06080830185612870565b612cfd60a0830184612627565b979650505050505050565b5f81519050612d168161258c565b92915050565b5f805f60608486031215612d3357612d32612521565b5b5f612d4086828701612d08565b9350506020612d5186828701612d08565b9250506040612d6286828701612d08565b9150509250925092565b5f604082019050612d7f5f830185612870565b612d8c6020830184612627565b9392505050565b612d9c816125f4565b8114612da6575f80fd5b50565b5f81519050612db781612d93565b92915050565b5f60208284031215612dd257612dd1612521565b5b5f612ddf84828501612da9565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612e42602483612481565b9150612e4d82612de8565b604082019050919050565b5f6020820190508181035f830152612e6f81612e36565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ed0602283612481565b9150612edb82612e76565b604082019050919050565b5f6020820190508181035f830152612efd81612ec4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f5e602583612481565b9150612f6982612f04565b604082019050919050565b5f6020820190508181035f830152612f8b81612f52565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612fec602383612481565b9150612ff782612f92565b604082019050919050565b5f6020820190508181035f83015261301981612fe0565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61307a602983612481565b915061308582613020565b604082019050919050565b5f6020820190508181035f8301526130a78161306e565b9050919050565b7f5472616e7366657273206172652064697361626c6564000000000000000000005f82015250565b5f6130e2601683612481565b91506130ed826130ae565b602082019050919050565b5f6020820190508181035f83015261310f816130d6565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f61314a601983612481565b915061315582613116565b602082019050919050565b5f6020820190508181035f8301526131778161313e565b9050919050565b5f61318882612583565b915061319383612583565b92508282019050808211156131ab576131aa6128d6565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6131e5601a83612481565b91506131f0826131b1565b602082019050919050565b5f6020820190508181035f830152613212816131d9565b9050919050565b5f61322382612583565b915061322e83612583565b9250828203905081811115613246576132456128d6565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6132ab81612548565b82525050565b5f6132bc83836132a2565b60208301905092915050565b5f602082019050919050565b5f6132de82613279565b6132e88185613283565b93506132f383613293565b805f5b8381101561332357815161330a88826132b1565b9750613315836132c8565b9250506001810190506132f6565b5085935050505092915050565b5f60a0820190506133435f830188612627565b6133506020830187612c9a565b818103604083015261336281866132d4565b90506133716060830185612870565b61337e6080830184612627565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133bf82612583565b91506133ca83612583565b9250826133da576133d9613388565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61343f602183612481565b915061344a826133e5565b604082019050919050565b5f6020820190508181035f83015261346c81613433565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6134a7601b83612481565b91506134b282613473565b602082019050919050565b5f6020820190508181035f8301526134d48161349b565b905091905056fe54686520696e697469616c20666f726d206f66205045504520697320746164706f6c652c20746164706f6c652069732074686520666f756e646174696f6e206f6620504550452c20776974686f757420746164706f6c65207468657265206973206e6f20504550452e20746164706f6c652077696c6c206772616475616c6c792067726f7720696e746f2061206e6577205045504521212145524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208d85525e8eea1adecc6824dd17bca08587e00a2c54b777edbba8e92f4ab73f6f64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610143575f3560e01c8063751039fc116100b5578063a9059cbb1161006e578063a9059cbb146103fa578063bf474bed14610436578063c876d0b914610460578063c9567bf91461048a578063dd62ed3e146104a0578063f4293890146104dc5761014a565b8063751039fc146103265780637d1db4a51461033c5780638a8c523c146103665780638da5cb5b1461037c5780638f9a55c0146103a657806395d89b41146103d05761014a565b8063313ce56711610107578063313ce56714610244578063381a56891461026e57806340aa6b921461029657806351bc3c85146102be57806370a08231146102d4578063715018a6146103105761014a565b806306fdde031461014e578063095ea7b3146101785780630faee56f146101b457806318160ddd146101de57806323b872dd146102085761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b506101626104f2565b60405161016f9190612501565b60405180910390f35b348015610183575f80fd5b5061019e600480360381019061019991906125b6565b610512565b6040516101ab919061260e565b60405180910390f35b3480156101bf575f80fd5b506101c861052f565b6040516101d59190612636565b60405180910390f35b3480156101e9575f80fd5b506101f2610535565b6040516101ff9190612636565b60405180910390f35b348015610213575f80fd5b5061022e6004803603810190610229919061264f565b61055b565b60405161023b919061260e565b60405180910390f35b34801561024f575f80fd5b5061025861062f565b60405161026591906126ba565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f9190612789565b610637565b005b3480156102a1575f80fd5b506102bc60048036038101906102b79190612807565b61073b565b005b3480156102c9575f80fd5b506102d26107e1565b005b3480156102df575f80fd5b506102fa60048036038101906102f59190612845565b610879565b6040516103079190612636565b60405180910390f35b34801561031b575f80fd5b506103246108bf565b005b348015610331575f80fd5b5061033a610a0d565b005b348015610347575f80fd5b50610350610b5e565b60405161035d9190612636565b60405180910390f35b348015610371575f80fd5b5061037a610b64565b005b348015610387575f80fd5b50610390610c15565b60405161039d919061287f565b60405180910390f35b3480156103b1575f80fd5b506103ba610c3c565b6040516103c79190612636565b60405180910390f35b3480156103db575f80fd5b506103e4610c42565b6040516103f19190612501565b60405180910390f35b348015610405575f80fd5b50610420600480360381019061041b91906125b6565b610c7f565b60405161042d919061260e565b60405180910390f35b348015610441575f80fd5b5061044a610c9c565b6040516104579190612636565b60405180910390f35b34801561046b575f80fd5b50610474610ca2565b604051610481919061260e565b60405180910390f35b348015610495575f80fd5b5061049e610cb4565b005b3480156104ab575f80fd5b506104c660048036038101906104c19190612898565b6111f3565b6040516104d39190612636565b60405180910390f35b3480156104e7575f80fd5b506104f0611275565b005b60606040518060c00160405280609881526020016134dc60989139905090565b5f61052561051e6112ee565b84846112f5565b6001905092915050565b600d5481565b5f6009600a6105449190612a32565b66017e9d8602b4006105569190612a7c565b905090565b5f6105678484846114b8565b610624846105736112ee565b61061f856040518060600160405280602881526020016135746028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105d66112ee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f639092919063ffffffff16565b6112f5565b600190509392505050565b5f6009905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106776112ee565b73ffffffffffffffffffffffffffffffffffffffff1614610696575f80fd5b5f848490501180156106ad57508383905082829050145b6106b5575f80fd5b5f3390505f5b8585905081101561073357610720828787848181106106dd576106dc612abd565b5b90506020020160208101906106f29190612845565b633b9aca0087878681811061070a57610709612abd565b5b9050602002013561071b9190612a7c565b6114b8565b808061072b90612aea565b9150506106bb565b505050505050565b6107436112ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c690612b7b565b60405180910390fd5b81600881905550806009819055505050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108226112ee565b73ffffffffffffffffffffffffffffffffffffffff1614610841575f80fd5b5f61084b30610879565b90505f81111561085f5761085e81611fc5565b5b5f4790505f8111156108755761087447612230565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108c76112ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094a90612b7b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a156112ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612b7b565b60405180910390fd5b6009600a610aaf9190612a32565b66017e9d8602b400610ac19190612a7c565b600a819055506009600a610ad59190612a32565b66017e9d8602b400610ae79190612a7c565b600b819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b359190612a32565b66017e9d8602b400610b479190612a7c565b604051610b549190612636565b60405180910390a1565b600a5481565b610b6c6112ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef90612b7b565b60405180910390fd5b6001600f60176101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606040518060400160405280600781526020017f546164706f6c6500000000000000000000000000000000000000000000000000815250905090565b5f610c92610c8b6112ee565b84846114b8565b6001905092915050565b600c5481565b60055f9054906101000a900460ff1681565b610cbc6112ee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90612b7b565b60405180910390fd5b600f60149054906101000a900460ff1615610d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8f90612be3565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e3730600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e209190612a32565b66017e9d8602b400610e329190612a7c565b6112f5565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ea1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec59190612c15565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6f9190612c15565b6040518363ffffffff1660e01b8152600401610f8c929190612c40565b6020604051808303815f875af1158015610fa8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcc9190612c15565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061105330610879565b5f8061105d610c15565b426040518863ffffffff1660e01b815260040161107f96959493929190612ca9565b60606040518083038185885af115801561109b573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110c09190612d1c565b505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611160929190612d6c565b6020604051808303815f875af115801561117c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a09190612dbd565b506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff0219169083151502179055505f600f60176101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112b66112ee565b73ffffffffffffffffffffffffffffffffffffffff16146112d5575f80fd5b5f4790505f8111156112eb576112ea81612230565b5b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611363576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135a90612e58565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c890612ee6565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ab9190612636565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151d90612f74565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158b90613002565b60405180910390fd5b5f81116115d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cd90613090565b60405180910390fd5b5f6115df610c15565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561164d575061161d610c15565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116a6575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116ff575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117595750600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117b35750600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b5e57600f60179054906101000a900460ff16611807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fe906130f8565b60405180910390fd5b61182f60646118216008548561229890919063ffffffff16565b61230f90919063ffffffff16565b9050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118da5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561192d575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119d057600a54821115611977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196e90613160565b60405180910390fd5b600b548261198485610879565b61198e919061317e565b11156119cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c6906131fb565b60405180910390fd5b5b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a5857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a8857611a856064611a776009548561229890919063ffffffff16565b61230f90919063ffffffff16565b90505b5f611a9230610879565b9050600f60159054906101000a900460ff16158015611afd5750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b155750600f60169054906101000a900460ff165b8015611b225750600c5481115b15611b5c57611b44611b3f84611b3a84600d54612358565b612358565b611fc5565b5f4790505f811115611b5a57611b5947612230565b5b505b505b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611bf9575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611caa5750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ca95750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611cb3575f90505b5f811115611db257611d0b8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461237090919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611da99190612636565b60405180910390a35b611e028260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123cd90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ea5611e5982846123cd90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461237090919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f4884866123cd90919063ffffffff16565b604051611f559190612636565b60405180910390a350505050565b5f838311158290611faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa19190612501565b60405180910390fd5b505f8385611fb89190613219565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ffc57611ffb61324c565b5b60405190808252806020026020018201604052801561202a5781602001602082028036833780820191505090505b50905030815f8151811061204157612040612abd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121099190612c15565b8160018151811061211d5761211c612abd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061218330600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112f5565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121e5959493929190613330565b5f604051808303815f87803b1580156121fc575f80fd5b505af115801561220e573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612294573d5f803e3d5ffd5b5050565b5f8083036122a8575f9050612309565b5f82846122b59190612a7c565b90508284826122c491906133b5565b14612304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122fb90613455565b60405180910390fd5b809150505b92915050565b5f61235083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612416565b905092915050565b5f8183116123665782612368565b815b905092915050565b5f80828461237e919061317e565b9050838110156123c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ba906134bd565b60405180910390fd5b8091505092915050565b5f61240e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f63565b905092915050565b5f808311829061245c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124539190612501565b60405180910390fd5b505f838561246a91906133b5565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124ae578082015181840152602081019050612493565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6124d382612477565b6124dd8185612481565b93506124ed818560208601612491565b6124f6816124b9565b840191505092915050565b5f6020820190508181035f83015261251981846124c9565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61255282612529565b9050919050565b61256281612548565b811461256c575f80fd5b50565b5f8135905061257d81612559565b92915050565b5f819050919050565b61259581612583565b811461259f575f80fd5b50565b5f813590506125b08161258c565b92915050565b5f80604083850312156125cc576125cb612521565b5b5f6125d98582860161256f565b92505060206125ea858286016125a2565b9150509250929050565b5f8115159050919050565b612608816125f4565b82525050565b5f6020820190506126215f8301846125ff565b92915050565b61263081612583565b82525050565b5f6020820190506126495f830184612627565b92915050565b5f805f6060848603121561266657612665612521565b5b5f6126738682870161256f565b93505060206126848682870161256f565b9250506040612695868287016125a2565b9150509250925092565b5f60ff82169050919050565b6126b48161269f565b82525050565b5f6020820190506126cd5f8301846126ab565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126126f4576126f36126d3565b5b8235905067ffffffffffffffff811115612711576127106126d7565b5b60208301915083602082028301111561272d5761272c6126db565b5b9250929050565b5f8083601f840112612749576127486126d3565b5b8235905067ffffffffffffffff811115612766576127656126d7565b5b602083019150836020820283011115612782576127816126db565b5b9250929050565b5f805f80604085870312156127a1576127a0612521565b5b5f85013567ffffffffffffffff8111156127be576127bd612525565b5b6127ca878288016126df565b9450945050602085013567ffffffffffffffff8111156127ed576127ec612525565b5b6127f987828801612734565b925092505092959194509250565b5f806040838503121561281d5761281c612521565b5b5f61282a858286016125a2565b925050602061283b858286016125a2565b9150509250929050565b5f6020828403121561285a57612859612521565b5b5f6128678482850161256f565b91505092915050565b61287981612548565b82525050565b5f6020820190506128925f830184612870565b92915050565b5f80604083850312156128ae576128ad612521565b5b5f6128bb8582860161256f565b92505060206128cc8582860161256f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561295857808604811115612934576129336128d6565b5b60018516156129435780820291505b808102905061295185612903565b9450612918565b94509492505050565b5f826129705760019050612a2b565b8161297d575f9050612a2b565b8160018114612993576002811461299d576129cc565b6001915050612a2b565b60ff8411156129af576129ae6128d6565b5b8360020a9150848211156129c6576129c56128d6565b5b50612a2b565b5060208310610133831016604e8410600b8410161715612a015782820a9050838111156129fc576129fb6128d6565b5b612a2b565b612a0e848484600161290f565b92509050818404811115612a2557612a246128d6565b5b81810290505b9392505050565b5f612a3c82612583565b9150612a478361269f565b9250612a747fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612961565b905092915050565b5f612a8682612583565b9150612a9183612583565b9250828202612a9f81612583565b91508282048414831517612ab657612ab56128d6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612af482612583565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b2657612b256128d6565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b65602083612481565b9150612b7082612b31565b602082019050919050565b5f6020820190508181035f830152612b9281612b59565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612bcd601783612481565b9150612bd882612b99565b602082019050919050565b5f6020820190508181035f830152612bfa81612bc1565b9050919050565b5f81519050612c0f81612559565b92915050565b5f60208284031215612c2a57612c29612521565b5b5f612c3784828501612c01565b91505092915050565b5f604082019050612c535f830185612870565b612c606020830184612870565b9392505050565b5f819050919050565b5f819050919050565b5f612c93612c8e612c8984612c67565b612c70565b612583565b9050919050565b612ca381612c79565b82525050565b5f60c082019050612cbc5f830189612870565b612cc96020830188612627565b612cd66040830187612c9a565b612ce36060830186612c9a565b612cf06080830185612870565b612cfd60a0830184612627565b979650505050505050565b5f81519050612d168161258c565b92915050565b5f805f60608486031215612d3357612d32612521565b5b5f612d4086828701612d08565b9350506020612d5186828701612d08565b9250506040612d6286828701612d08565b9150509250925092565b5f604082019050612d7f5f830185612870565b612d8c6020830184612627565b9392505050565b612d9c816125f4565b8114612da6575f80fd5b50565b5f81519050612db781612d93565b92915050565b5f60208284031215612dd257612dd1612521565b5b5f612ddf84828501612da9565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612e42602483612481565b9150612e4d82612de8565b604082019050919050565b5f6020820190508181035f830152612e6f81612e36565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ed0602283612481565b9150612edb82612e76565b604082019050919050565b5f6020820190508181035f830152612efd81612ec4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f5e602583612481565b9150612f6982612f04565b604082019050919050565b5f6020820190508181035f830152612f8b81612f52565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612fec602383612481565b9150612ff782612f92565b604082019050919050565b5f6020820190508181035f83015261301981612fe0565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61307a602983612481565b915061308582613020565b604082019050919050565b5f6020820190508181035f8301526130a78161306e565b9050919050565b7f5472616e7366657273206172652064697361626c6564000000000000000000005f82015250565b5f6130e2601683612481565b91506130ed826130ae565b602082019050919050565b5f6020820190508181035f83015261310f816130d6565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f61314a601983612481565b915061315582613116565b602082019050919050565b5f6020820190508181035f8301526131778161313e565b9050919050565b5f61318882612583565b915061319383612583565b92508282019050808211156131ab576131aa6128d6565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6131e5601a83612481565b91506131f0826131b1565b602082019050919050565b5f6020820190508181035f830152613212816131d9565b9050919050565b5f61322382612583565b915061322e83612583565b9250828203905081811115613246576132456128d6565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6132ab81612548565b82525050565b5f6132bc83836132a2565b60208301905092915050565b5f602082019050919050565b5f6132de82613279565b6132e88185613283565b93506132f383613293565b805f5b8381101561332357815161330a88826132b1565b9750613315836132c8565b9250506001810190506132f6565b5085935050505092915050565b5f60a0820190506133435f830188612627565b6133506020830187612c9a565b818103604083015261336281866132d4565b90506133716060830185612870565b61337e6080830184612627565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133bf82612583565b91506133ca83612583565b9250826133da576133d9613388565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61343f602183612481565b915061344a826133e5565b604082019050919050565b5f6020820190508181035f83015261346c81613433565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6134a7601b83612481565b91506134b282613473565b602082019050919050565b5f6020820190508181035f8301526134d48161349b565b905091905056fe54686520696e697469616c20666f726d206f66205045504520697320746164706f6c652c20746164706f6c652069732074686520666f756e646174696f6e206f6620504550452c20776974686f757420746164706f6c65207468657265206973206e6f20504550452e20746164706f6c652077696c6c206772616475616c6c792067726f7720696e746f2061206e6577205045504521212145524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208d85525e8eea1adecc6824dd17bca08587e00a2c54b777edbba8e92f4ab73f6f64736f6c63430008140033

Deployed Bytecode Sourcemap

8979:8724:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11114:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11947:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10247:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11391:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12116:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11300:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16687:392;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15716:153;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17341:359;;;;;;;;;;;;;:::i;:::-;;11494:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8062:148;;;;;;;;;;;;;:::i;:::-;;15413:196;;;;;;;;;;;;;:::i;:::-;;10046:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16591:88;;;;;;;;;;;;;:::i;:::-;;7848:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10112:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11205:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11621:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10180:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9323:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15877:706;;;;;;;;;;;;;:::i;:::-;;11796:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17124:209;;;;;;;;;;;;;:::i;:::-;;11114:83;11151:13;11184:5;;;;;;;;;;;;;;;;;11177:12;;11114:83;:::o;11947:161::-;12022:4;12039:39;12048:12;:10;:12::i;:::-;12062:7;12071:6;12039:8;:39::i;:::-;12096:4;12089:11;;11947:161;;;;:::o;10247:57::-;;;;:::o;11391:95::-;11444:7;9708:1;9769:2;:13;;;;:::i;:::-;9751:15;:31;;;;:::i;:::-;11464:14;;11391:95;:::o;12116:313::-;12214:4;12231:36;12241:6;12249:9;12260:6;12231:9;:36::i;:::-;12278:121;12287:6;12295:12;:10;:12::i;:::-;12309:89;12347:6;12309:89;;;;;;;;;;;;;;;;;:11;:19;12321:6;12309:19;;;;;;;;;;;;;;;:33;12329:12;:10;:12::i;:::-;12309:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;12278:8;:121::i;:::-;12417:4;12410:11;;12116:313;;;;;:::o;11300:83::-;11341:5;9708:1;11359:16;;11300:83;:::o;16687:392::-;16808:9;;;;;;;;;;;16792:25;;:12;:10;:12::i;:::-;:25;;;16784:34;;;;;;16856:1;16837:9;;:16;;:20;:58;;;;;16879:9;;:16;;16861:7;;:14;;:34;16837:58;16829:67;;;;;;16907:12;16922:10;16907:25;;16950:9;16945:127;16969:9;;:16;;16965:1;:20;16945:127;;;17007:53;17017:4;17023:9;;17033:1;17023:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;17051:7;17037;;17045:1;17037:10;;;;;;;:::i;:::-;;;;;;;;:22;;;;:::i;:::-;17007:9;:53::i;:::-;16987:3;;;;;:::i;:::-;;;;16945:127;;;;16773:306;16687:392;;;;:::o;15716:153::-;7985:12;:10;:12::i;:::-;7975:22;;:6;;;;;;;;;;:22;;;7967:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15816:11:::1;15806:7;:21;;;;15849:12;15838:8;:23;;;;15716:153:::0;;:::o;17341:359::-;17405:10;;;;;;;;;;;17391:24;;:12;:10;:12::i;:::-;:24;;;17383:33;;;;;;17427:20;17448:24;17466:4;17448:9;:24::i;:::-;17427:45;;17499:1;17486:12;:14;17483:73;;;17514:30;17531:12;17514:16;:30::i;:::-;17483:73;17566:18;17585:21;17566:40;;17631:1;17620:10;:12;17617:76;;;17646:35;17659:21;17646:12;:35::i;:::-;17617:76;17372:328;;17341:359::o;11494:119::-;11560:7;11587:9;:18;11597:7;11587:18;;;;;;;;;;;;;;;;11580:25;;11494:119;;;:::o;8062:148::-;7985:12;:10;:12::i;:::-;7975:22;;:6;;;;;;;;;;:22;;;7967:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8169:1:::1;8132:40;;8153:6;::::0;::::1;;;;;;;;8132:40;;;;;;;;;;;;8200:1;8183:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;8062:148::o:0;15413:196::-;7985:12;:10;:12::i;:::-;7975:22;;:6;;;;;;;;;;:22;;;7967:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9708:1:::1;9769:2;:13;;;;:::i;:::-;9751:15;:31;;;;:::i;:::-;15466:12;:22;;;;9708:1;9769:2;:13;;;;:::i;:::-;9751:15;:31;;;;:::i;:::-;15499:14;:22;;;;15553:5;15532:20;;:26;;;;;;;;;;;;;;;;;;15574:27;9708:1;9769:2;:13;;;;:::i;:::-;9751:15;:31;;;;:::i;:::-;15574:27;;;;;;:::i;:::-;;;;;;;;15413:196::o:0;10046:59::-;;;;:::o;16591:88::-;7985:12;:10;:12::i;:::-;7975:22;;:6;;;;;;;;;;:22;;;7967:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16667:4:::1;16648:16;;:23;;;;;;;;;;;;;;;;;;16591:88::o:0;7848:79::-;7886:7;7913:6;;;;;;;;;;;7906:13;;7848:79;:::o;10112:61::-;;;;:::o;11205:87::-;11244:13;11277:7;;;;;;;;;;;;;;;;;11270:14;;11205:87;:::o;11621:167::-;11699:4;11716:42;11726:12;:10;:12::i;:::-;11740:9;11751:6;11716:9;:42::i;:::-;11776:4;11769:11;;11621:167;;;;:::o;10180:60::-;;;;:::o;9323:39::-;;;;;;;;;;;;;:::o;15877:706::-;7985:12;:10;:12::i;:::-;7975:22;;:6;;;;;;;;;;:22;;;7967:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15941:11:::1;;;;;;;;;;;15940:12;15932:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;16027:42;15990:15;;:80;;;;;;;;;;;;;;;;;;16081:58;16098:4;16113:15;;;;;;;;;;;9708:1;9769:2;:13;;;;:::i;:::-;9751:15;:31;;;;:::i;:::-;16081:8;:58::i;:::-;16184:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16166:55;;;16230:4;16237:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16166:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16150:13;;:110;;;;;;;;;;;;;;;;;;16271:15;;;;;;;;;;;:31;;;16310:21;16341:4;16347:24;16365:4;16347:9;:24::i;:::-;16372:1;16374::::0;16376:7:::1;:5;:7::i;:::-;16384:15;16271:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16418:13;;;;;;;;;;;16411:29;;;16449:15;;;;;;;;;;;16467:14;16411:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16507:4;16493:11;;:18;;;;;;;;;;;;;;;;;;16536:4;16522:11;;:18;;;;;;;;;;;;;;;;;;16570:5;16551:16;;:24;;;;;;;;;;;;;;;;;;15877:706::o:0;11796:143::-;11877:7;11904:11;:18;11916:5;11904:18;;;;;;;;;;;;;;;:27;11923:7;11904:27;;;;;;;;;;;;;;;;11897:34;;11796:143;;;;:::o;17124:209::-;17188:10;;;;;;;;;;;17174:24;;:12;:10;:12::i;:::-;:24;;;17166:33;;;;;;17210:18;17229:21;17210:40;;17275:1;17264:10;:12;17261:65;;;17290:24;17303:10;17290:12;:24::i;:::-;17261:65;17155:178;17124:209::o;5603:98::-;5656:7;5683:10;5676:17;;5603:98;:::o;12437:335::-;12547:1;12530:19;;:5;:19;;;12522:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12628:1;12609:21;;:7;:21;;;12601:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12710:6;12680:11;:18;12692:5;12680:18;;;;;;;;;;;;;;;:27;12699:7;12680:27;;;;;;;;;;;;;;;:36;;;;12748:7;12732:32;;12741:5;12732:32;;;12757:6;12732:32;;;;;;:::i;:::-;;;;;;;;12437:335;;;:::o;12780:2026::-;12884:1;12868:18;;:4;:18;;;12860:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12961:1;12947:16;;:2;:16;;;12939:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13031:1;13022:6;:10;13014:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13089:17;13131:7;:5;:7::i;:::-;13123:15;;:4;:15;;;;:32;;;;;13148:7;:5;:7::i;:::-;13142:13;;:2;:13;;;;13123:32;:53;;;;;13167:9;;;;;;;;;;;13159:17;;:4;:17;;;;13123:53;:72;;;;;13186:9;;;;;;;;;;;13180:15;;:2;:15;;;;13123:72;:94;;;;;13207:10;;;;;;;;;;;13199:18;;:4;:18;;;;13123:94;:114;;;;;13227:10;;;;;;;;;;;13221:16;;:2;:16;;;;13123:114;13119:1167;;;13262:16;;;;;;;;;;;13254:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;13332:28;13356:3;13332:19;13343:7;;13332:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;13320:40;;13389:13;;;;;;;;;;;13381:21;;:4;:21;;;:55;;;;;13420:15;;;;;;;;;;;13406:30;;:2;:30;;;;13381:55;:83;;;;;13442:18;:22;13461:2;13442:22;;;;;;;;;;;;;;;;;;;;;;;;;13440:24;13381:83;13377:283;;;13504:12;;13494:6;:22;;13486:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;13599:14;;13589:6;13573:13;13583:2;13573:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;13565:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;13377:283;13685:13;;;;;;;;;;;13679:19;;:2;:19;;;:43;;;;;13717:4;13702:20;;:4;:20;;;;13679:43;13676:124;;;13755:29;13780:3;13755:20;13766:8;;13755:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;13743:41;;13676:124;13816:28;13847:24;13865:4;13847:9;:24::i;:::-;13816:55;;13891:6;;;;;;;;;;;13890:7;:32;;;;;13909:13;;;;;;;;;;;13901:21;;:2;:21;;;13890:32;:47;;;;;13926:11;;;;;;;;;;;13890:47;:89;;;;;13962:17;;13941:20;:38;13890:89;13886:389;;;14000:67;14017:49;14021:6;14028:37;14032:20;14053:11;;14028:3;:37::i;:::-;14017:3;:49::i;:::-;14000:16;:67::i;:::-;14086:26;14115:21;14086:50;;14179:1;14158:18;:22;14155:105;;;14205:35;14218:21;14205:12;:35::i;:::-;14155:105;13981:294;13886:389;13239:1047;13119:1167;14303:18;:24;14322:4;14303:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;14331:18;:22;14350:2;14331:22;;;;;;;;;;;;;;;;;;;;;;;;;14303:50;14302:102;;;;14367:13;;;;;;;;;;;14359:21;;:4;:21;;;;:44;;;;;14390:13;;;;;;;;;;;14384:19;;:2;:19;;;;14359:44;14302:102;14298:148;;;14433:1;14421:13;;14298:148;14473:1;14461:9;:13;14458:163;;;14513:39;14542:9;14513;:24;14531:4;14513:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;14488:9;:24;14506:4;14488:24;;;;;;;;;;;;;;;:64;;;;14593:4;14570:39;;14579:4;14570:39;;;14599:9;14570:39;;;;;;:::i;:::-;;;;;;;;14458:163;14649:27;14669:6;14649:9;:15;14659:4;14649:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;14633:9;:15;14643:4;14633:15;;;;;;;;;;;;;;;:43;;;;14701:40;14719:21;14730:9;14719:6;:10;;:21;;;;:::i;:::-;14701:9;:13;14711:2;14701:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;14687:9;:13;14697:2;14687:13;;;;;;;;;;;;;;;:54;;;;14772:2;14757:41;;14766:4;14757:41;;;14776:21;14787:9;14776:6;:10;;:21;;;;:::i;:::-;14757:41;;;;;;:::i;:::-;;;;;;;;12849:1957;12780:2026;;;:::o;6740:190::-;6826:7;6859:1;6854;:6;;6862:12;6846:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;6886:9;6902:1;6898;:5;;;;:::i;:::-;6886:17;;6921:1;6914:8;;;6740:190;;;;;:::o;14922:483::-;10638:4;10629:6;;:13;;;;;;;;;;;;;;;;;;15000:21:::1;15038:1;15024:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15000:40;;15069:4;15051;15056:1;15051:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;15095:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15085:4;15090:1;15085:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;15128:62;15145:4;15160:15;;;;;;;;;;;15178:11;15128:8;:62::i;:::-;15201:15;;;;;;;;;;;:66;;;15282:11;15308:1;15324:4;15351;15371:15;15201:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14989:416;10674:5:::0;10665:6;;:14;;;;;;;;;;;;;;;;;;14922:483;:::o;15617:91::-;15674:9;;;;;;;;;;;:18;;:26;15693:6;15674:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15617:91;:::o;6938:246::-;6996:7;7025:1;7020;:6;7016:47;;7050:1;7043:8;;;;7016:47;7073:9;7089:1;7085;:5;;;;:::i;:::-;7073:17;;7118:1;7113;7109;:5;;;;:::i;:::-;:10;7101:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;7175:1;7168:8;;;6938:246;;;;;:::o;7192:132::-;7250:7;7277:39;7281:1;7284;7277:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;7270:46;;7192:132;;;;:::o;14816:98::-;14873:7;14900:1;14898;:3;14897:9;;14905:1;14897:9;;;14903:1;14897:9;14890:16;;14816:98;;;;:::o;6409:179::-;6467:7;6487:9;6503:1;6499;:5;;;;:::i;:::-;6487:17;;6528:1;6523;:6;;6515:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;6579:1;6572:8;;;6409:179;;;;:::o;6596:136::-;6654:7;6681:43;6685:1;6688;6681:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;6674:50;;6596:136;;;;:::o;7332:189::-;7418:7;7450:1;7446;:5;7453:12;7438:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;7477:9;7493:1;7489;:5;;;;:::i;:::-;7477:17;;7512:1;7505:8;;;7332:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:117::-;4962:1;4959;4952:12;4976:117;5085:1;5082;5075:12;5099:117;5208:1;5205;5198:12;5239:568;5312:8;5322:6;5372:3;5365:4;5357:6;5353:17;5349:27;5339:122;;5380:79;;:::i;:::-;5339:122;5493:6;5480:20;5470:30;;5523:18;5515:6;5512:30;5509:117;;;5545:79;;:::i;:::-;5509:117;5659:4;5651:6;5647:17;5635:29;;5713:3;5705:4;5697:6;5693:17;5683:8;5679:32;5676:41;5673:128;;;5720:79;;:::i;:::-;5673:128;5239:568;;;;;:::o;5830:::-;5903:8;5913:6;5963:3;5956:4;5948:6;5944:17;5940:27;5930:122;;5971:79;;:::i;:::-;5930:122;6084:6;6071:20;6061:30;;6114:18;6106:6;6103:30;6100:117;;;6136:79;;:::i;:::-;6100:117;6250:4;6242:6;6238:17;6226:29;;6304:3;6296:4;6288:6;6284:17;6274:8;6270:32;6267:41;6264:128;;;6311:79;;:::i;:::-;6264:128;5830:568;;;;;:::o;6404:934::-;6526:6;6534;6542;6550;6599:2;6587:9;6578:7;6574:23;6570:32;6567:119;;;6605:79;;:::i;:::-;6567:119;6753:1;6742:9;6738:17;6725:31;6783:18;6775:6;6772:30;6769:117;;;6805:79;;:::i;:::-;6769:117;6918:80;6990:7;6981:6;6970:9;6966:22;6918:80;:::i;:::-;6900:98;;;;6696:312;7075:2;7064:9;7060:18;7047:32;7106:18;7098:6;7095:30;7092:117;;;7128:79;;:::i;:::-;7092:117;7241:80;7313:7;7304:6;7293:9;7289:22;7241:80;:::i;:::-;7223:98;;;;7018:313;6404:934;;;;;;;:::o;7344:474::-;7412:6;7420;7469:2;7457:9;7448:7;7444:23;7440:32;7437:119;;;7475:79;;:::i;:::-;7437:119;7595:1;7620:53;7665:7;7656:6;7645:9;7641:22;7620:53;:::i;:::-;7610:63;;7566:117;7722:2;7748:53;7793:7;7784:6;7773:9;7769:22;7748:53;:::i;:::-;7738:63;;7693:118;7344:474;;;;;:::o;7824:329::-;7883:6;7932:2;7920:9;7911:7;7907:23;7903:32;7900:119;;;7938:79;;:::i;:::-;7900:119;8058:1;8083:53;8128:7;8119:6;8108:9;8104:22;8083:53;:::i;:::-;8073:63;;8029:117;7824:329;;;;:::o;8159:118::-;8246:24;8264:5;8246:24;:::i;:::-;8241:3;8234:37;8159:118;;:::o;8283:222::-;8376:4;8414:2;8403:9;8399:18;8391:26;;8427:71;8495:1;8484:9;8480:17;8471:6;8427:71;:::i;:::-;8283:222;;;;:::o;8511:474::-;8579:6;8587;8636:2;8624:9;8615:7;8611:23;8607:32;8604:119;;;8642:79;;:::i;:::-;8604:119;8762:1;8787:53;8832:7;8823:6;8812:9;8808:22;8787:53;:::i;:::-;8777:63;;8733:117;8889:2;8915:53;8960:7;8951:6;8940:9;8936:22;8915:53;:::i;:::-;8905:63;;8860:118;8511:474;;;;;:::o;8991:180::-;9039:77;9036:1;9029:88;9136:4;9133:1;9126:15;9160:4;9157:1;9150:15;9177:102;9219:8;9266:5;9263:1;9259:13;9238:34;;9177:102;;;:::o;9285:848::-;9346:5;9353:4;9377:6;9368:15;;9401:5;9392:14;;9415:712;9436:1;9426:8;9423:15;9415:712;;;9531:4;9526:3;9522:14;9516:4;9513:24;9510:50;;;9540:18;;:::i;:::-;9510:50;9590:1;9580:8;9576:16;9573:451;;;10005:4;9998:5;9994:16;9985:25;;9573:451;10055:4;10049;10045:15;10037:23;;10085:32;10108:8;10085:32;:::i;:::-;10073:44;;9415:712;;;9285:848;;;;;;;:::o;10139:1073::-;10193:5;10384:8;10374:40;;10405:1;10396:10;;10407:5;;10374:40;10433:4;10423:36;;10450:1;10441:10;;10452:5;;10423:36;10519:4;10567:1;10562:27;;;;10603:1;10598:191;;;;10512:277;;10562:27;10580:1;10571:10;;10582:5;;;10598:191;10643:3;10633:8;10630:17;10627:43;;;10650:18;;:::i;:::-;10627:43;10699:8;10696:1;10692:16;10683:25;;10734:3;10727:5;10724:14;10721:40;;;10741:18;;:::i;:::-;10721:40;10774:5;;;10512:277;;10898:2;10888:8;10885:16;10879:3;10873:4;10870:13;10866:36;10848:2;10838:8;10835:16;10830:2;10824:4;10821:12;10817:35;10801:111;10798:246;;;10954:8;10948:4;10944:19;10935:28;;10989:3;10982:5;10979:14;10976:40;;;10996:18;;:::i;:::-;10976:40;11029:5;;10798:246;11069:42;11107:3;11097:8;11091:4;11088:1;11069:42;:::i;:::-;11054:57;;;;11143:4;11138:3;11134:14;11127:5;11124:25;11121:51;;;11152:18;;:::i;:::-;11121:51;11201:4;11194:5;11190:16;11181:25;;10139:1073;;;;;;:::o;11218:281::-;11276:5;11300:23;11318:4;11300:23;:::i;:::-;11292:31;;11344:25;11360:8;11344:25;:::i;:::-;11332:37;;11388:104;11425:66;11415:8;11409:4;11388:104;:::i;:::-;11379:113;;11218:281;;;;:::o;11505:410::-;11545:7;11568:20;11586:1;11568:20;:::i;:::-;11563:25;;11602:20;11620:1;11602:20;:::i;:::-;11597:25;;11657:1;11654;11650:9;11679:30;11697:11;11679:30;:::i;:::-;11668:41;;11858:1;11849:7;11845:15;11842:1;11839:22;11819:1;11812:9;11792:83;11769:139;;11888:18;;:::i;:::-;11769:139;11553:362;11505:410;;;;:::o;11921:180::-;11969:77;11966:1;11959:88;12066:4;12063:1;12056:15;12090:4;12087:1;12080:15;12107:233;12146:3;12169:24;12187:5;12169:24;:::i;:::-;12160:33;;12215:66;12208:5;12205:77;12202:103;;12285:18;;:::i;:::-;12202:103;12332:1;12325:5;12321:13;12314:20;;12107:233;;;:::o;12346:182::-;12486:34;12482:1;12474:6;12470:14;12463:58;12346:182;:::o;12534:366::-;12676:3;12697:67;12761:2;12756:3;12697:67;:::i;:::-;12690:74;;12773:93;12862:3;12773:93;:::i;:::-;12891:2;12886:3;12882:12;12875:19;;12534:366;;;:::o;12906:419::-;13072:4;13110:2;13099:9;13095:18;13087:26;;13159:9;13153:4;13149:20;13145:1;13134:9;13130:17;13123:47;13187:131;13313:4;13187:131;:::i;:::-;13179:139;;12906:419;;;:::o;13331:173::-;13471:25;13467:1;13459:6;13455:14;13448:49;13331:173;:::o;13510:366::-;13652:3;13673:67;13737:2;13732:3;13673:67;:::i;:::-;13666:74;;13749:93;13838:3;13749:93;:::i;:::-;13867:2;13862:3;13858:12;13851:19;;13510:366;;;:::o;13882:419::-;14048:4;14086:2;14075:9;14071:18;14063:26;;14135:9;14129:4;14125:20;14121:1;14110:9;14106:17;14099:47;14163:131;14289:4;14163:131;:::i;:::-;14155:139;;13882:419;;;:::o;14307:143::-;14364:5;14395:6;14389:13;14380:22;;14411:33;14438:5;14411:33;:::i;:::-;14307:143;;;;:::o;14456:351::-;14526:6;14575:2;14563:9;14554:7;14550:23;14546:32;14543:119;;;14581:79;;:::i;:::-;14543:119;14701:1;14726:64;14782:7;14773:6;14762:9;14758:22;14726:64;:::i;:::-;14716:74;;14672:128;14456:351;;;;:::o;14813:332::-;14934:4;14972:2;14961:9;14957:18;14949:26;;14985:71;15053:1;15042:9;15038:17;15029:6;14985:71;:::i;:::-;15066:72;15134:2;15123:9;15119:18;15110:6;15066:72;:::i;:::-;14813:332;;;;;:::o;15151:85::-;15196:7;15225:5;15214:16;;15151:85;;;:::o;15242:60::-;15270:3;15291:5;15284:12;;15242:60;;;:::o;15308:158::-;15366:9;15399:61;15417:42;15426:32;15452:5;15426:32;:::i;:::-;15417:42;:::i;:::-;15399:61;:::i;:::-;15386:74;;15308:158;;;:::o;15472:147::-;15567:45;15606:5;15567:45;:::i;:::-;15562:3;15555:58;15472:147;;:::o;15625:807::-;15874:4;15912:3;15901:9;15897:19;15889:27;;15926:71;15994:1;15983:9;15979:17;15970:6;15926:71;:::i;:::-;16007:72;16075:2;16064:9;16060:18;16051:6;16007:72;:::i;:::-;16089:80;16165:2;16154:9;16150:18;16141:6;16089:80;:::i;:::-;16179;16255:2;16244:9;16240:18;16231:6;16179:80;:::i;:::-;16269:73;16337:3;16326:9;16322:19;16313:6;16269:73;:::i;:::-;16352;16420:3;16409:9;16405:19;16396:6;16352:73;:::i;:::-;15625:807;;;;;;;;;:::o;16438:143::-;16495:5;16526:6;16520:13;16511:22;;16542:33;16569:5;16542:33;:::i;:::-;16438:143;;;;:::o;16587:663::-;16675:6;16683;16691;16740:2;16728:9;16719:7;16715:23;16711:32;16708:119;;;16746:79;;:::i;:::-;16708:119;16866:1;16891:64;16947:7;16938:6;16927:9;16923:22;16891:64;:::i;:::-;16881:74;;16837:128;17004:2;17030:64;17086:7;17077:6;17066:9;17062:22;17030:64;:::i;:::-;17020:74;;16975:129;17143:2;17169:64;17225:7;17216:6;17205:9;17201:22;17169:64;:::i;:::-;17159:74;;17114:129;16587:663;;;;;:::o;17256:332::-;17377:4;17415:2;17404:9;17400:18;17392:26;;17428:71;17496:1;17485:9;17481:17;17472:6;17428:71;:::i;:::-;17509:72;17577:2;17566:9;17562:18;17553:6;17509:72;:::i;:::-;17256:332;;;;;:::o;17594:116::-;17664:21;17679:5;17664:21;:::i;:::-;17657:5;17654:32;17644:60;;17700:1;17697;17690:12;17644:60;17594:116;:::o;17716:137::-;17770:5;17801:6;17795:13;17786:22;;17817:30;17841:5;17817:30;:::i;:::-;17716:137;;;;:::o;17859:345::-;17926:6;17975:2;17963:9;17954:7;17950:23;17946:32;17943:119;;;17981:79;;:::i;:::-;17943:119;18101:1;18126:61;18179:7;18170:6;18159:9;18155:22;18126:61;:::i;:::-;18116:71;;18072:125;17859:345;;;;:::o;18210:223::-;18350:34;18346:1;18338:6;18334:14;18327:58;18419:6;18414:2;18406:6;18402:15;18395:31;18210:223;:::o;18439:366::-;18581:3;18602:67;18666:2;18661:3;18602:67;:::i;:::-;18595:74;;18678:93;18767:3;18678:93;:::i;:::-;18796:2;18791:3;18787:12;18780:19;;18439:366;;;:::o;18811:419::-;18977:4;19015:2;19004:9;19000:18;18992:26;;19064:9;19058:4;19054:20;19050:1;19039:9;19035:17;19028:47;19092:131;19218:4;19092:131;:::i;:::-;19084:139;;18811:419;;;:::o;19236:221::-;19376:34;19372:1;19364:6;19360:14;19353:58;19445:4;19440:2;19432:6;19428:15;19421:29;19236:221;:::o;19463:366::-;19605:3;19626:67;19690:2;19685:3;19626:67;:::i;:::-;19619:74;;19702:93;19791:3;19702:93;:::i;:::-;19820:2;19815:3;19811:12;19804:19;;19463:366;;;:::o;19835:419::-;20001:4;20039:2;20028:9;20024:18;20016:26;;20088:9;20082:4;20078:20;20074:1;20063:9;20059:17;20052:47;20116:131;20242:4;20116:131;:::i;:::-;20108:139;;19835:419;;;:::o;20260:224::-;20400:34;20396:1;20388:6;20384:14;20377:58;20469:7;20464:2;20456:6;20452:15;20445:32;20260:224;:::o;20490:366::-;20632:3;20653:67;20717:2;20712:3;20653:67;:::i;:::-;20646:74;;20729:93;20818:3;20729:93;:::i;:::-;20847:2;20842:3;20838:12;20831:19;;20490:366;;;:::o;20862:419::-;21028:4;21066:2;21055:9;21051:18;21043:26;;21115:9;21109:4;21105:20;21101:1;21090:9;21086:17;21079:47;21143:131;21269:4;21143:131;:::i;:::-;21135:139;;20862:419;;;:::o;21287:222::-;21427:34;21423:1;21415:6;21411:14;21404:58;21496:5;21491:2;21483:6;21479:15;21472:30;21287:222;:::o;21515:366::-;21657:3;21678:67;21742:2;21737:3;21678:67;:::i;:::-;21671:74;;21754:93;21843:3;21754:93;:::i;:::-;21872:2;21867:3;21863:12;21856:19;;21515:366;;;:::o;21887:419::-;22053:4;22091:2;22080:9;22076:18;22068:26;;22140:9;22134:4;22130:20;22126:1;22115:9;22111:17;22104:47;22168:131;22294:4;22168:131;:::i;:::-;22160:139;;21887:419;;;:::o;22312:228::-;22452:34;22448:1;22440:6;22436:14;22429:58;22521:11;22516:2;22508:6;22504:15;22497:36;22312:228;:::o;22546:366::-;22688:3;22709:67;22773:2;22768:3;22709:67;:::i;:::-;22702:74;;22785:93;22874:3;22785:93;:::i;:::-;22903:2;22898:3;22894:12;22887:19;;22546:366;;;:::o;22918:419::-;23084:4;23122:2;23111:9;23107:18;23099:26;;23171:9;23165:4;23161:20;23157:1;23146:9;23142:17;23135:47;23199:131;23325:4;23199:131;:::i;:::-;23191:139;;22918:419;;;:::o;23343:172::-;23483:24;23479:1;23471:6;23467:14;23460:48;23343:172;:::o;23521:366::-;23663:3;23684:67;23748:2;23743:3;23684:67;:::i;:::-;23677:74;;23760:93;23849:3;23760:93;:::i;:::-;23878:2;23873:3;23869:12;23862:19;;23521:366;;;:::o;23893:419::-;24059:4;24097:2;24086:9;24082:18;24074:26;;24146:9;24140:4;24136:20;24132:1;24121:9;24117:17;24110:47;24174:131;24300:4;24174:131;:::i;:::-;24166:139;;23893:419;;;:::o;24318:175::-;24458:27;24454:1;24446:6;24442:14;24435:51;24318:175;:::o;24499:366::-;24641:3;24662:67;24726:2;24721:3;24662:67;:::i;:::-;24655:74;;24738:93;24827:3;24738:93;:::i;:::-;24856:2;24851:3;24847:12;24840:19;;24499:366;;;:::o;24871:419::-;25037:4;25075:2;25064:9;25060:18;25052:26;;25124:9;25118:4;25114:20;25110:1;25099:9;25095:17;25088:47;25152:131;25278:4;25152:131;:::i;:::-;25144:139;;24871:419;;;:::o;25296:191::-;25336:3;25355:20;25373:1;25355:20;:::i;:::-;25350:25;;25389:20;25407:1;25389:20;:::i;:::-;25384:25;;25432:1;25429;25425:9;25418:16;;25453:3;25450:1;25447:10;25444:36;;;25460:18;;:::i;:::-;25444:36;25296:191;;;;:::o;25493:176::-;25633:28;25629:1;25621:6;25617:14;25610:52;25493:176;:::o;25675:366::-;25817:3;25838:67;25902:2;25897:3;25838:67;:::i;:::-;25831:74;;25914:93;26003:3;25914:93;:::i;:::-;26032:2;26027:3;26023:12;26016:19;;25675:366;;;:::o;26047:419::-;26213:4;26251:2;26240:9;26236:18;26228:26;;26300:9;26294:4;26290:20;26286:1;26275:9;26271:17;26264:47;26328:131;26454:4;26328:131;:::i;:::-;26320:139;;26047:419;;;:::o;26472:194::-;26512:4;26532:20;26550:1;26532:20;:::i;:::-;26527:25;;26566:20;26584:1;26566:20;:::i;:::-;26561:25;;26610:1;26607;26603:9;26595:17;;26634:1;26628:4;26625:11;26622:37;;;26639:18;;:::i;:::-;26622:37;26472:194;;;;:::o;26672:180::-;26720:77;26717:1;26710:88;26817:4;26814:1;26807:15;26841:4;26838:1;26831:15;26858:114;26925:6;26959:5;26953:12;26943:22;;26858:114;;;:::o;26978:184::-;27077:11;27111:6;27106:3;27099:19;27151:4;27146:3;27142:14;27127:29;;26978:184;;;;:::o;27168:132::-;27235:4;27258:3;27250:11;;27288:4;27283:3;27279:14;27271:22;;27168:132;;;:::o;27306:108::-;27383:24;27401:5;27383:24;:::i;:::-;27378:3;27371:37;27306:108;;:::o;27420:179::-;27489:10;27510:46;27552:3;27544:6;27510:46;:::i;:::-;27588:4;27583:3;27579:14;27565:28;;27420:179;;;;:::o;27605:113::-;27675:4;27707;27702:3;27698:14;27690:22;;27605:113;;;:::o;27754:732::-;27873:3;27902:54;27950:5;27902:54;:::i;:::-;27972:86;28051:6;28046:3;27972:86;:::i;:::-;27965:93;;28082:56;28132:5;28082:56;:::i;:::-;28161:7;28192:1;28177:284;28202:6;28199:1;28196:13;28177:284;;;28278:6;28272:13;28305:63;28364:3;28349:13;28305:63;:::i;:::-;28298:70;;28391:60;28444:6;28391:60;:::i;:::-;28381:70;;28237:224;28224:1;28221;28217:9;28212:14;;28177:284;;;28181:14;28477:3;28470:10;;27878:608;;;27754:732;;;;:::o;28492:831::-;28755:4;28793:3;28782:9;28778:19;28770:27;;28807:71;28875:1;28864:9;28860:17;28851:6;28807:71;:::i;:::-;28888:80;28964:2;28953:9;28949:18;28940:6;28888:80;:::i;:::-;29015:9;29009:4;29005:20;29000:2;28989:9;28985:18;28978:48;29043:108;29146:4;29137:6;29043:108;:::i;:::-;29035:116;;29161:72;29229:2;29218:9;29214:18;29205:6;29161:72;:::i;:::-;29243:73;29311:3;29300:9;29296:19;29287:6;29243:73;:::i;:::-;28492:831;;;;;;;;:::o;29329:180::-;29377:77;29374:1;29367:88;29474:4;29471:1;29464:15;29498:4;29495:1;29488:15;29515:185;29555:1;29572:20;29590:1;29572:20;:::i;:::-;29567:25;;29606:20;29624:1;29606:20;:::i;:::-;29601:25;;29645:1;29635:35;;29650:18;;:::i;:::-;29635:35;29692:1;29689;29685:9;29680:14;;29515:185;;;;:::o;29706:220::-;29846:34;29842:1;29834:6;29830:14;29823:58;29915:3;29910:2;29902:6;29898:15;29891:28;29706:220;:::o;29932:366::-;30074:3;30095:67;30159:2;30154:3;30095:67;:::i;:::-;30088:74;;30171:93;30260:3;30171:93;:::i;:::-;30289:2;30284:3;30280:12;30273:19;;29932:366;;;:::o;30304:419::-;30470:4;30508:2;30497:9;30493:18;30485:26;;30557:9;30551:4;30547:20;30543:1;30532:9;30528:17;30521:47;30585:131;30711:4;30585:131;:::i;:::-;30577:139;;30304:419;;;:::o;30729:177::-;30869:29;30865:1;30857:6;30853:14;30846:53;30729:177;:::o;30912:366::-;31054:3;31075:67;31139:2;31134:3;31075:67;:::i;:::-;31068:74;;31151:93;31240:3;31151:93;:::i;:::-;31269:2;31264:3;31260:12;31253:19;;30912:366;;;:::o;31284:419::-;31450:4;31488:2;31477:9;31473:18;31465:26;;31537:9;31531:4;31527:20;31523:1;31512:9;31508:17;31501:47;31565:131;31691:4;31565:131;:::i;:::-;31557:139;;31284:419;;;:::o

Swarm Source

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