ETH Price: $2,491.17 (-1.29%)

Token

DrHONG (HONG)
 

Overview

Max Total Supply

1,000,000,000 HONG

Holders

98

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.00000000007321093 HONG

Value
$0.00
0xa0f527f425d8f4f24690fe585002e915d5984ae3
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:
DrHONG

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-22
*/

/*
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0Oxdolcc:;;,,,,,,,;;;:cclodxO0XNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0koc;'..                            ..';cdk0NWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0xl;'.                                          .';lx0NWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0dc'.                                                    .'cd0NWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXkc'.                                                            .'cxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXx:.                        .........                                   .:xKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXkc.                         'dkl,'...........                                .:kXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKo'                            :XNxcloodoooll:;'.                                  'l0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOc.                              '0MMMMMMMMMMMMWWXkc.                                  .cOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMNO:.                                cNMMMMMMMMMMMMMMMMWk.                                   .:ONMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMW0c.                                 .OMMMMMMMMMMMMMMMMMM0'                                     .:OWMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMKl.                                   ;KNNNWWWWMMMMMWWWWWNO'                                       .c0WMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMNx'                                     .'''',,;;::::::;;,,'.                                          .dXMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMWK:.                                    'c'        ,:.         ,:.                                         ;OWMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMWk'                                      oWO'      ,0Wd.       ;KO.                                          .xNMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMNd.                                       ,KW0c,'';l0WMNklc,'';oKNl                                            .lXMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMXl.                                         ;kNWWNNWMMMMMMMWWNNWWKl.                                              :KMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMXc                                            .lNMMMMMMMMMMMMMMMMk'                                                 ;KMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMXc                                              .kMMMMMMMMMMMMMMMNc                                                   ;KMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMNl                                                ;KMMMMMMMMMMMMMMO.                                                    :XMMMMMMMMMMMMMM
MMMMMMMMMMMMMWd.         .';;,..                                .OMMWNNNWWWWMMMWd.                                                     lNMMMMMMMMMMMMM
MMMMMMMMMMMMMO'       .:xKNWWNOxxl.                             .OMMXOkxkOKXNMMWd.                               .,::ccloddl,          .xWMMMMMMMMMMMM
MMMMMMMMMMMMX:       'kWMMMMN0kkKO,                             :KMMMMMWWWWWMMMWd.                             'o0WWMMMMMMMMNo.         ,0MMMMMMMMMMMM
MMMMMMMMMMMWd.       oWMMMX0OOOk:.                          ..;xXMMMMMMMMMMMMMMMK:                            cKNWMMMMMMMMMMMK;          lNMMMMMMMMMMM
MMMMMMMMMMMK,       .xWMMXOkkdc.                       .,:ox0XWMMMMMMMWNXKKKKKKXNNkc,..                      .kK0NWMMMMMMNXWMWd.         .kWMMMMMMMMMM
MMMMMMMMMMWd.       .kWN0kdc;.                   .,coxOXNMMMMMMMMWNXKXXNWWWWWWWWMMMMWXKOxdlc;'.               .cxk0NXNMMXxOWMMK,          cXMMMMMMMMMM
MMMMMMMMMMX;        .kNKkxl.                 .cx0XWMMMMMMMMMMMMMMMMWNKK000KKXNWMMMMMMMMMMMMMWNK0ko;.            ..cllOOl',OMMMWo          .OMMMMMMMMMM
MMMMMMMMMMk.         lNMMMK;                .dNMMMMMMMMMMMMMMMMMMMMMMMMMWNXXXNWMMMMMMMMMMMMMMMMMMMNOc.               ..  cNMMMMO.          oWMMMMMMMMM
MMMMMMMMMWo          .kMMMWO.              .xWMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0kxoo0WMMMMMMMMW0o'                .xWMMMMX:          :XMMMMMMMMM
MMMMMMMMMNc           cXMMMWx.           .c0WMWK00KNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk;..    oWMMMMMMMMMMMXx;.             ,KMMMMMWd.         '0MMMMMMMMM
MMMMMMMMMK;           .kMMMMNo.        .c0WMMMWXXNWMMMMMMMMMMMMMMMMNXKOxdkNMMMMMMNc      .xMMMMMMMMMMMMWWNKko;.         lNMMMMMMk.         .kMMMMMMMMM
MMMMMMMMM0'            :XMMMMNl      .c0WMMMMMMMMMMMMMMMMMMMMMMMMNx,..   .kMMMMMM0,      .OMMMMMMMMMMWK0XWMMMWXOo:.    .kMMMMMMMK,         .xWMMMMMMMM
MMMMMMMMM0'            .xWMMMMXc   .l0WMMMMMMMMMMMMMMMMMMMMMMMMMM0'      '0MMMMMMk.      ,KMMMMMMMMNOdkXMMMMMMMMMWXOo;.:XMMMMMMMX;         .dWMMMMMMMM
MMMMMMMMM0'             :XMMMMMX:.lKWMMMWXXWNXNMMMMMMMMMMMMMMMMMWx.      ,KMMMMMWd.      :XMMMMMMXkdxKWMMMMMMMMMMMMMMNKKWMMMMMMMX:         .dWMMMMMMMM
MMMMMMMMMK,             .xWMMMMMXXWMMWXOO0X0OXWMMMMMMMMMMMMMMMMMNl       :NMMMMMX:       lWMMMWN0xkXWMMMMMMMMMMMMMMMMMMMMMMMMMMMK;         .xWMMMMMMMM
MMMMMMMMMX:              ;XMMMMMMMMWXkxOX0xONMMMMMMMMMMMMMMMMMMMX;       :00Oxoc,       .dWMMMWKOxdxOKXNWMMMMMMMMMMMMMMMMMMMMMMWx.         .kMMMMMMMMM
MMMMMMMMMNl              .xWMMMMMWXOxONXkd0WMWXKNMMMMMMMMMMMMMMM0'        ..            .kMMMMWO,    ..,:coxOKXNWMMMMMMMMMMMMWKo.          '0MMMMMMMMM
MMMMMMMMMMx.              ;XMMMMMNKKWW0xOXXOo;..dWMMMMMMMMMMMMMMk.                      '0MMMMNc             ..';codk0KXNNX0kl.            ;XMMMMMMMMM
MMMMMMMMMM0,               lNMMMMMMMW0xxo;.     'OMMMMMMMMMMMMMWd.       .',;cod;       :XMMMMO.                     ...''..               oWMMMMMMMMM
MMMMMMMMMMNl               .cKWMMMWKd:'.         ;KMMMMMMMMMMMMNl       ;0NWWMMWl       lNMMMNl                                           .OMMMMMMMMMM
MMMMMMMMMMMO'                .cddl;.              oNMMMMMMMMMMMX:      .xMMMMMMX:      .dWMMMO'                                           cXMMMMMMMMMM
MMMMMMMMMMMNo                                     .kWMMMMMMMMMMK,      .OMMMMMMK,      .kMMMNl                                           .kMMMMMMMMMMM
MMMMMMMMMMMM0,                                     ,0MMMMMMMMMMO.      ,KMMMMMMO.    .'lXMMM0'                                           lNMMMMMMMMMMM
MMMMMMMMMMMMWx.                                     lNMMMMMMMMMx.      ;XMMMMMMXdloxOXNWMMMWd.                                          ,0MMMMMMMMMMMM
MMMMMMMMMMMMMNo.                                    .kWMMMMMMMWd.    .,xWMMMMMMMMMMMMMMMMMMM0,                                         .xWMMMMMMMMMMMM
MMMMMMMMMMMMMMXc                                     ,KMMMMMMMMKoloxOKNWMMMMMMMMMMMMMMMMMMMMWx.                                       .oNMMMMMMMMMMMMM
MMMMMMMMMMMMMMM0;                                     lNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNc                                       cXMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM0;                                    '0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK,                                     :KMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMK:                                   lNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk.                                   :KMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMXc.                                :XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo                                 .cXMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMNd.                              'OMMMMMMMMMMMMMMMMMMMMMMMMMMWNXXXXXNNNWWWWWMK,                               .dNMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMWk,                            .dWMMMMMMMWNNXXXXNWWMMMMMMMMMWXK0Okxxdddoollokl                              ,OWMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMKc.                          cXMMMWMMMMMMWNXK00OOkkxkkOO0XNNWMMMMMWWNXXKK0Xx.                           .cKMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMWk;                        .dkdlcldddk0XWMMMMMMWXK0kkxddxxxdxxxxxkO0KXWWMM0,                          ,kNMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMNx'                       .    .okxdoddxkOKNWMMMMMMMMMMWWNXKK00OO0KXNWMMWO,                       'dXMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMKo.                           cNMMMWNX000KXNWMMMMMMMMMMMMMMMMMMMMMMMMMMMK:                    .oXWMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMWKo'                         .kMMMMWNXKKKKKKKXXNNWWMMMMMMMMMMMMMMMMMMMMMXo.                'oKWMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXx;.                       lNMMMWNK0OOkkkOO0KKNWMMMMMMMMMWNXKXWMMMMMMMWk'             ,dXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOc.                   .l0WMMMMMWNXXNWMMMMMMMMMMMMMMWXK00KXWMMMMMMMMMWO,         .:kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXx:.             .;dXWMMMMMMMWNXKKKXNWMMMMMMMMMMWNXXWMMMMMMMMMMMMMMMKc     .;dKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKx:.        .cONMMMMMMMMMMMMMMMMWWMMMMNKOkkxdolxXWMMMMMMMMMMMMMMMMNd..:xKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOl,.  'oKWMMMMMMMMMMMMMMMMMMMMWKko,.        .lONMMMMMMMMMMMMMMMWXXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKkONMMMMMMMMMMMMMMMMMMMMWNkc.              .;xXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXx,                    ,xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXd,.           ....,;:loxOKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN0OOkkkxxkkkOO00KXNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

Do you know Dr. HONG?
Team Doctor's 1st project
SNS x Challenge COIN

Our team landed in the crypto world in 2017.
In the meantime, our team has helped with several 'MOON' projects.
This is our team's first project now, but we are confident that we will fly it out
of the atmosphere based on our experience.
We love the value of the name 'Team Doctor' rather than honey.
Please trust us.
-Team Doctor-

Website: https://drhong.org
Twitter: https://twitter.com/Dr_HongHongHong
Telegram: https://t.me/drhongpo

Let's go to the MOON
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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

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 transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

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

    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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 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 DrHONG is Context, IERC20, Ownable {
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _FreeWallets;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 1000000000 * 10**_decimals;
    uint256 private constant onePercent = (_totalSupply)/100;
    uint256 private constant minimumSwapAmount = 1 * 10**_decimals;
    uint256 private maxSwap = onePercent / 2;
    uint256 public MaximumOneTrxAmount = onePercent;
    uint256 public MxWalletSize = onePercent;
    uint256 private InitialBlockNo;

    uint256 public buyTax = 25;
    uint256 public sellTax = 35;
    
    string private constant _name = "DrHONG";
    string private constant _symbol = "HONG";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address immutable public FeesAddress ;
    address immutable public SecFeesWallet;

    bool private launch = false;

    constructor() {
        FeesAddress  = 0x5744faA0964769e7a19B611633e56b60Da6c9D07;
        SecFeesWallet = 0x460b25182518B0Cc8aE8f9eC9dfFC99cd04D8B29;     
        _balance[msg.sender] = _totalSupply;
        _FreeWallets[FeesAddress ] = 1;
        _FreeWallets[msg.sender] = 1;
        _FreeWallets[address(this)] = 1;

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[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);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if(currentAllowance != type(uint256).max) { 
            require(
                currentAllowance >= amount,
                "ERC20: transfer amount exceeds allowance"
            );
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }
        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 StartTrading() external onlyOwner {
        require(!launch,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        launch = true;
        InitialBlockNo = block.number;
    }

    function _addExcludedWallet(address wallet) external onlyOwner {
        _FreeWallets[wallet] = 1;
    }

    function _RemoveExcludedWallet(address wallet) external onlyOwner {
        _FreeWallets[wallet] = 0;
    }

    function FreeFromLimits() external onlyOwner {
        MaximumOneTrxAmount = _totalSupply;
        MxWalletSize = _totalSupply;
    }

    function ChangeTaxes(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax + newSellTax <= 70, "Tax too high");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function _tokenTransfer(address from, address to, uint256 amount, uint256 _tax) private {
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;

        emit Transfer(from, to, transferAmount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "ERC20: no tokens transferred");
        uint256 _tax = 0;
        if (_FreeWallets[from] == 0 && _FreeWallets[to] == 0)
        {
            require(launch, "Trading not open");
            require(amount <= MaximumOneTrxAmount, "MaxTx Enabled at launch");
            if (to != uniswapV2Pair && to != address(0xdead)) require(balanceOf(to) + amount <= MxWalletSize, "MaxWallet Enabled at launch");
            if (block.number < InitialBlockNo + 2) {
                _tax = 60;
            } else {
                if (from == uniswapV2Pair) {
                    _tax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));                  
                    if (tokensToSwap > minimumSwapAmount) {  
                        uint256 mxSw = maxSwap;
                        if (tokensToSwap > amount) tokensToSwap = amount;                     
                        if (tokensToSwap > mxSw) tokensToSwap = mxSw;                      
                        swapTokensForEth(tokensToSwap);
                    }
                    _tax = sellTax;
                }
            }
        }
        _tokenTransfer(from, to, amount, _tax);
    }

    function manualSendBalance() external onlyOwner {
        bool success;
        (success, ) = SecFeesWallet.call{value: address(this).balance / 10}("");
        (success, ) = FeesAddress .call{value: address(this).balance}("");
    } 

    function manualSwapTokens(uint256 percent) external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        uint256 amtswap = (percent*contractBalance)/100;
        swapTokensForEth(amtswap);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        bool success;
        (success, ) = SecFeesWallet.call{value: address(this).balance / 10}("");
        (success, ) = FeesAddress .call{value: address(this).balance}("");
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"ChangeTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"FeesAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FreeFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MaximumOneTrxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SecFeesWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"StartTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_RemoveExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_addExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","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":"manualSendBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwapTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600260646012600a6200001891906200058f565b633b9aca00620000299190620005e0565b6200003591906200065a565b6200004191906200065a565b60045560646012600a6200005691906200058f565b633b9aca00620000679190620005e0565b6200007391906200065a565b60055560646012600a6200008891906200058f565b633b9aca00620000999190620005e0565b620000a591906200065a565b600655601960085560236009556000600b60146101000a81548160ff021916908315150217905550348015620000da57600080fd5b506000620000ed620003ed60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350735744faa0964769e7a19b611633e56b60da6c9d0773ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505073460b25182518b0cc8ae8f9ec9dffc99cd04d8b2973ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506012600a6200022b91906200058f565b633b9aca006200023c9190620005e0565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000360620003ed60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620003bf91906200058f565b633b9aca00620003d09190620005e0565b604051620003df9190620006a3565b60405180910390a3620006c0565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000483578086048111156200045b576200045a620003f5565b5b60018516156200046b5780820291505b80810290506200047b8562000424565b94506200043b565b94509492505050565b6000826200049e576001905062000571565b81620004ae576000905062000571565b8160018114620004c75760028114620004d25762000508565b600191505062000571565b60ff841115620004e757620004e6620003f5565b5b8360020a915084821115620005015762000500620003f5565b5b5062000571565b5060208310610133831016604e8410600b8410161715620005425782820a9050838111156200053c576200053b620003f5565b5b62000571565b62000551848484600162000431565b925090508184048111156200056b576200056a620003f5565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200059c8262000578565b9150620005a98362000582565b9250620005d87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200048c565b905092915050565b6000620005ed8262000578565b9150620005fa8362000578565b92508282026200060a8162000578565b91508282048414831517620006245762000623620003f5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620006678262000578565b9150620006748362000578565b9250826200068757620006866200062b565b5b828204905092915050565b6200069d8162000578565b82525050565b6000602082019050620006ba600083018462000692565b92915050565b60805160a051613340620007026000396000818161082d01528181610d690152611ebf0152600081816108c501528181610b430152611f5701526133406000f3fe6080604052600436106101855760003560e01c8063715018a6116100d1578063bf6a1c0d1161008a578063dd62ed3e11610064578063dd62ed3e14610537578063e5d51dc714610574578063eaa446051461059d578063f2fde38b146105c65761018c565b8063bf6a1c0d146104cc578063cc1776d3146104e3578063d7f738581461050e5761018c565b8063715018a6146103cc5780638da5cb5b146103e357806395d89b411461040e57806397b2ebfe14610439578063a414f3e214610464578063a9059cbb1461048f5761018c565b80632d34b9ed1161013e5780634f7041a5116101185780634f7041a5146103225780635080c8351461034d5780636cae5a691461036457806370a082311461038f5761018c565b80632d34b9ed146102a3578063313ce567146102cc57806349bd5a5e146102f75761018c565b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101f9578063230b33501461022457806323b872dd1461024f57806328176f891461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105ef565b6040516101b391906123e5565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de91906124a0565b61062c565b6040516101f091906124fb565b60405180910390f35b34801561020557600080fd5b5061020e61064a565b60405161021b9190612525565b60405180910390f35b34801561023057600080fd5b5061023961066e565b6040516102469190612525565b60405180910390f35b34801561025b57600080fd5b5061027660048036038101906102719190612540565b610674565b60405161028391906124fb565b60405180910390f35b34801561029857600080fd5b506102a1610794565b005b3480156102af57600080fd5b506102ca60048036038101906102c59190612593565b610952565b005b3480156102d857600080fd5b506102e1610a2f565b6040516102ee91906125dc565b60405180910390f35b34801561030357600080fd5b5061030c610a38565b6040516103199190612606565b60405180910390f35b34801561032e57600080fd5b50610337610a5e565b6040516103449190612525565b60405180910390f35b34801561035957600080fd5b50610362610a64565b005b34801561037057600080fd5b50610379610b41565b6040516103869190612606565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b19190612593565b610b65565b6040516103c39190612525565b60405180910390f35b3480156103d857600080fd5b506103e1610bae565b005b3480156103ef57600080fd5b506103f8610d01565b6040516104059190612606565b60405180910390f35b34801561041a57600080fd5b50610423610d2a565b60405161043091906123e5565b60405180910390f35b34801561044557600080fd5b5061044e610d67565b60405161045b9190612606565b60405180910390f35b34801561047057600080fd5b50610479610d8b565b6040516104869190612525565b60405180910390f35b34801561049b57600080fd5b506104b660048036038101906104b191906124a0565b610d91565b6040516104c391906124fb565b60405180910390f35b3480156104d857600080fd5b506104e1610daf565b005b3480156104ef57600080fd5b506104f86112d3565b6040516105059190612525565b60405180910390f35b34801561051a57600080fd5b5061053560048036038101906105309190612593565b6112d9565b005b34801561054357600080fd5b5061055e60048036038101906105599190612621565b6113b6565b60405161056b9190612525565b60405180910390f35b34801561058057600080fd5b5061059b60048036038101906105969190612661565b61143d565b005b3480156105a957600080fd5b506105c460048036038101906105bf91906126a1565b611533565b005b3480156105d257600080fd5b506105ed60048036038101906105e89190612593565b6115ff565b005b60606040518060400160405280600681526020017f4472484f4e470000000000000000000000000000000000000000000000000000815250905090565b60006106406106396116a0565b84846116a8565b6001905092915050565b60006012600a61065a9190612830565b633b9aca00610669919061287b565b905090565b60055481565b6000610681848484611871565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106cc6116a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107885782811015610773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076a9061292f565b60405180910390fd5b6107878561077f6116a0565b8584036116a8565b5b60019150509392505050565b61079c6116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610829576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108209061299b565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16600a4761086f91906129ea565b60405161087b90612a4c565b60006040518083038185875af1925050503d80600081146108b8576040519150601f19603f3d011682016040523d82523d6000602084013e6108bd565b606091505b5050809150507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff164760405161090790612a4c565b60006040518083038185875af1925050503d8060008114610944576040519150601f19603f3d011682016040523d82523d6000602084013e610949565b606091505b50508091505050565b61095a6116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109de9061299b565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60006012905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b610a6c6116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af09061299b565b60405180910390fd5b6012600a610b079190612830565b633b9aca00610b16919061287b565b6005819055506012600a610b2a9190612830565b633b9aca00610b39919061287b565b600681905550565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bb66116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a9061299b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f484f4e4700000000000000000000000000000000000000000000000000000000815250905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60065481565b6000610da5610d9e6116a0565b8484611871565b6001905092915050565b610db76116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3b9061299b565b60405180910390fd5b600b60149054906101000a900460ff1615610e94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8b90612aad565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7a9190612ae2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611003573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110279190612ae2565b6040518363ffffffff1660e01b8152600401611044929190612b0f565b6020604051808303816000875af1158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190612ae2565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061111030600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6110fc9190612830565b633b9aca0061110b919061287b565b6116a8565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061115930610b65565b600080611164610d01565b426040518863ffffffff1660e01b815260040161118696959493929190612b7d565b60606040518083038185885af11580156111a4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111c99190612bf3565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161126b929190612c46565b6020604051808303816000875af115801561128a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ae9190612c9b565b506001600b60146101000a81548160ff02191690831515021790555043600781905550565b60095481565b6112e16116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461136e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113659061299b565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114456116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c99061299b565b60405180910390fd5b604681836114e09190612cc8565b1115611521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151890612d48565b60405180910390fd5b81600881905550806009819055505050565b61153b6116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bf9061299b565b60405180910390fd5b60006115d330610b65565b90506000606482846115e5919061287b565b6115ef91906129ea565b90506115fa81611c7c565b505050565b6116076116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168b9061299b565b60405180910390fd5b61169d81611fe6565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e90612dda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d90612e6c565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118649190612525565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d790612efe565b60405180910390fd5b60008111611923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191a90612f6a565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541480156119b257506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15611c6a57600b60149054906101000a900460ff16611a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fd90612fd6565b60405180910390fd5b600554821115611a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4290613042565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ad7575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b355760065482611ae985610b65565b611af39190612cc8565b1115611b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2b906130ae565b60405180910390fd5b5b6002600754611b449190612cc8565b431015611b5457603c9050611c69565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611bb3576008549050611c68565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c67576000611c1330610b65565b90506012600a611c239190612830565b6001611c2f919061287b565b811115611c60576000600454905083821115611c49578391505b80821115611c55578091505b611c5e82611c7c565b505b6009549150505b5b5b5b611c7684848484612112565b50505050565b6000600267ffffffffffffffff811115611c9957611c986130ce565b5b604051908082528060200260200182016040528015611cc75781602001602082028036833780820191505090505b5090503081600081518110611cdf57611cde6130fd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611daa9190612ae2565b81600181518110611dbe57611dbd6130fd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e2530600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116a8565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e899594939291906131ea565b600060405180830381600087803b158015611ea357600080fd5b505af1158015611eb7573d6000803e3d6000fd5b5050505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16600a47611f0191906129ea565b604051611f0d90612a4c565b60006040518083038185875af1925050503d8060008114611f4a576040519150601f19603f3d011682016040523d82523d6000602084013e611f4f565b606091505b5050809150507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1647604051611f9990612a4c565b60006040518083038185875af1925050503d8060008114611fd6576040519150601f19603f3d011682016040523d82523d6000602084013e611fdb565b606091505b505080915050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204c906132b6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060648284612122919061287b565b61212c91906129ea565b90506000818461213c91906132d6565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461218991906132d6565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122179190612cc8565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122a59190612cc8565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123459190612525565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561238f578082015181840152602081019050612374565b60008484015250505050565b6000601f19601f8301169050919050565b60006123b782612355565b6123c18185612360565b93506123d1818560208601612371565b6123da8161239b565b840191505092915050565b600060208201905081810360008301526123ff81846123ac565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124378261240c565b9050919050565b6124478161242c565b811461245257600080fd5b50565b6000813590506124648161243e565b92915050565b6000819050919050565b61247d8161246a565b811461248857600080fd5b50565b60008135905061249a81612474565b92915050565b600080604083850312156124b7576124b6612407565b5b60006124c585828601612455565b92505060206124d68582860161248b565b9150509250929050565b60008115159050919050565b6124f5816124e0565b82525050565b600060208201905061251060008301846124ec565b92915050565b61251f8161246a565b82525050565b600060208201905061253a6000830184612516565b92915050565b60008060006060848603121561255957612558612407565b5b600061256786828701612455565b935050602061257886828701612455565b92505060406125898682870161248b565b9150509250925092565b6000602082840312156125a9576125a8612407565b5b60006125b784828501612455565b91505092915050565b600060ff82169050919050565b6125d6816125c0565b82525050565b60006020820190506125f160008301846125cd565b92915050565b6126008161242c565b82525050565b600060208201905061261b60008301846125f7565b92915050565b6000806040838503121561263857612637612407565b5b600061264685828601612455565b925050602061265785828601612455565b9150509250929050565b6000806040838503121561267857612677612407565b5b60006126868582860161248b565b92505060206126978582860161248b565b9150509250929050565b6000602082840312156126b7576126b6612407565b5b60006126c58482850161248b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612754578086048111156127305761272f6126ce565b5b600185161561273f5780820291505b808102905061274d856126fd565b9450612714565b94509492505050565b60008261276d5760019050612829565b8161277b5760009050612829565b8160018114612791576002811461279b576127ca565b6001915050612829565b60ff8411156127ad576127ac6126ce565b5b8360020a9150848211156127c4576127c36126ce565b5b50612829565b5060208310610133831016604e8410600b84101617156127ff5782820a9050838111156127fa576127f96126ce565b5b612829565b61280c848484600161270a565b92509050818404811115612823576128226126ce565b5b81810290505b9392505050565b600061283b8261246a565b9150612846836125c0565b92506128737fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461275d565b905092915050565b60006128868261246a565b91506128918361246a565b925082820261289f8161246a565b915082820484148315176128b6576128b56126ce565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612919602883612360565b9150612924826128bd565b604082019050919050565b600060208201905081810360008301526129488161290c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612985602083612360565b91506129908261294f565b602082019050919050565b600060208201905081810360008301526129b481612978565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129f58261246a565b9150612a008361246a565b925082612a1057612a0f6129bb565b5b828204905092915050565b600081905092915050565b50565b6000612a36600083612a1b565b9150612a4182612a26565b600082019050919050565b6000612a5782612a29565b9150819050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612a97601783612360565b9150612aa282612a61565b602082019050919050565b60006020820190508181036000830152612ac681612a8a565b9050919050565b600081519050612adc8161243e565b92915050565b600060208284031215612af857612af7612407565b5b6000612b0684828501612acd565b91505092915050565b6000604082019050612b2460008301856125f7565b612b3160208301846125f7565b9392505050565b6000819050919050565b6000819050919050565b6000612b67612b62612b5d84612b38565b612b42565b61246a565b9050919050565b612b7781612b4c565b82525050565b600060c082019050612b9260008301896125f7565b612b9f6020830188612516565b612bac6040830187612b6e565b612bb96060830186612b6e565b612bc660808301856125f7565b612bd360a0830184612516565b979650505050505050565b600081519050612bed81612474565b92915050565b600080600060608486031215612c0c57612c0b612407565b5b6000612c1a86828701612bde565b9350506020612c2b86828701612bde565b9250506040612c3c86828701612bde565b9150509250925092565b6000604082019050612c5b60008301856125f7565b612c686020830184612516565b9392505050565b612c78816124e0565b8114612c8357600080fd5b50565b600081519050612c9581612c6f565b92915050565b600060208284031215612cb157612cb0612407565b5b6000612cbf84828501612c86565b91505092915050565b6000612cd38261246a565b9150612cde8361246a565b9250828201905080821115612cf657612cf56126ce565b5b92915050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b6000612d32600c83612360565b9150612d3d82612cfc565b602082019050919050565b60006020820190508181036000830152612d6181612d25565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612dc4602483612360565b9150612dcf82612d68565b604082019050919050565b60006020820190508181036000830152612df381612db7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e56602283612360565b9150612e6182612dfa565b604082019050919050565b60006020820190508181036000830152612e8581612e49565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612ee8602583612360565b9150612ef382612e8c565b604082019050919050565b60006020820190508181036000830152612f1781612edb565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b6000612f54601c83612360565b9150612f5f82612f1e565b602082019050919050565b60006020820190508181036000830152612f8381612f47565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612fc0601083612360565b9150612fcb82612f8a565b602082019050919050565b60006020820190508181036000830152612fef81612fb3565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b600061302c601783612360565b915061303782612ff6565b602082019050919050565b6000602082019050818103600083015261305b8161301f565b9050919050565b7f4d617857616c6c657420456e61626c6564206174206c61756e63680000000000600082015250565b6000613098601b83612360565b91506130a382613062565b602082019050919050565b600060208201905081810360008301526130c78161308b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6131618161242c565b82525050565b60006131738383613158565b60208301905092915050565b6000602082019050919050565b60006131978261312c565b6131a18185613137565b93506131ac83613148565b8060005b838110156131dd5781516131c48882613167565b97506131cf8361317f565b9250506001810190506131b0565b5085935050505092915050565b600060a0820190506131ff6000830188612516565b61320c6020830187612b6e565b818103604083015261321e818661318c565b905061322d60608301856125f7565b61323a6080830184612516565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132a0602683612360565b91506132ab82613244565b604082019050919050565b600060208201905081810360008301526132cf81613293565b9050919050565b60006132e18261246a565b91506132ec8361246a565b9250828203905081811115613304576133036126ce565b5b9291505056fea26469706673582212205916ad95a8e7d08b1f64ce1565c640be313d952bcdc92515065a1f8de09153e064736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063715018a6116100d1578063bf6a1c0d1161008a578063dd62ed3e11610064578063dd62ed3e14610537578063e5d51dc714610574578063eaa446051461059d578063f2fde38b146105c65761018c565b8063bf6a1c0d146104cc578063cc1776d3146104e3578063d7f738581461050e5761018c565b8063715018a6146103cc5780638da5cb5b146103e357806395d89b411461040e57806397b2ebfe14610439578063a414f3e214610464578063a9059cbb1461048f5761018c565b80632d34b9ed1161013e5780634f7041a5116101185780634f7041a5146103225780635080c8351461034d5780636cae5a691461036457806370a082311461038f5761018c565b80632d34b9ed146102a3578063313ce567146102cc57806349bd5a5e146102f75761018c565b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101f9578063230b33501461022457806323b872dd1461024f57806328176f891461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105ef565b6040516101b391906123e5565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de91906124a0565b61062c565b6040516101f091906124fb565b60405180910390f35b34801561020557600080fd5b5061020e61064a565b60405161021b9190612525565b60405180910390f35b34801561023057600080fd5b5061023961066e565b6040516102469190612525565b60405180910390f35b34801561025b57600080fd5b5061027660048036038101906102719190612540565b610674565b60405161028391906124fb565b60405180910390f35b34801561029857600080fd5b506102a1610794565b005b3480156102af57600080fd5b506102ca60048036038101906102c59190612593565b610952565b005b3480156102d857600080fd5b506102e1610a2f565b6040516102ee91906125dc565b60405180910390f35b34801561030357600080fd5b5061030c610a38565b6040516103199190612606565b60405180910390f35b34801561032e57600080fd5b50610337610a5e565b6040516103449190612525565b60405180910390f35b34801561035957600080fd5b50610362610a64565b005b34801561037057600080fd5b50610379610b41565b6040516103869190612606565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b19190612593565b610b65565b6040516103c39190612525565b60405180910390f35b3480156103d857600080fd5b506103e1610bae565b005b3480156103ef57600080fd5b506103f8610d01565b6040516104059190612606565b60405180910390f35b34801561041a57600080fd5b50610423610d2a565b60405161043091906123e5565b60405180910390f35b34801561044557600080fd5b5061044e610d67565b60405161045b9190612606565b60405180910390f35b34801561047057600080fd5b50610479610d8b565b6040516104869190612525565b60405180910390f35b34801561049b57600080fd5b506104b660048036038101906104b191906124a0565b610d91565b6040516104c391906124fb565b60405180910390f35b3480156104d857600080fd5b506104e1610daf565b005b3480156104ef57600080fd5b506104f86112d3565b6040516105059190612525565b60405180910390f35b34801561051a57600080fd5b5061053560048036038101906105309190612593565b6112d9565b005b34801561054357600080fd5b5061055e60048036038101906105599190612621565b6113b6565b60405161056b9190612525565b60405180910390f35b34801561058057600080fd5b5061059b60048036038101906105969190612661565b61143d565b005b3480156105a957600080fd5b506105c460048036038101906105bf91906126a1565b611533565b005b3480156105d257600080fd5b506105ed60048036038101906105e89190612593565b6115ff565b005b60606040518060400160405280600681526020017f4472484f4e470000000000000000000000000000000000000000000000000000815250905090565b60006106406106396116a0565b84846116a8565b6001905092915050565b60006012600a61065a9190612830565b633b9aca00610669919061287b565b905090565b60055481565b6000610681848484611871565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106cc6116a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107885782811015610773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076a9061292f565b60405180910390fd5b6107878561077f6116a0565b8584036116a8565b5b60019150509392505050565b61079c6116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610829576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108209061299b565b60405180910390fd5b60007f000000000000000000000000460b25182518b0cc8ae8f9ec9dffc99cd04d8b2973ffffffffffffffffffffffffffffffffffffffff16600a4761086f91906129ea565b60405161087b90612a4c565b60006040518083038185875af1925050503d80600081146108b8576040519150601f19603f3d011682016040523d82523d6000602084013e6108bd565b606091505b5050809150507f0000000000000000000000005744faa0964769e7a19b611633e56b60da6c9d0773ffffffffffffffffffffffffffffffffffffffff164760405161090790612a4c565b60006040518083038185875af1925050503d8060008114610944576040519150601f19603f3d011682016040523d82523d6000602084013e610949565b606091505b50508091505050565b61095a6116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109de9061299b565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60006012905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b610a6c6116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af09061299b565b60405180910390fd5b6012600a610b079190612830565b633b9aca00610b16919061287b565b6005819055506012600a610b2a9190612830565b633b9aca00610b39919061287b565b600681905550565b7f0000000000000000000000005744faa0964769e7a19b611633e56b60da6c9d0781565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bb66116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a9061299b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f484f4e4700000000000000000000000000000000000000000000000000000000815250905090565b7f000000000000000000000000460b25182518b0cc8ae8f9ec9dffc99cd04d8b2981565b60065481565b6000610da5610d9e6116a0565b8484611871565b6001905092915050565b610db76116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3b9061299b565b60405180910390fd5b600b60149054906101000a900460ff1615610e94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8b90612aad565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7a9190612ae2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611003573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110279190612ae2565b6040518363ffffffff1660e01b8152600401611044929190612b0f565b6020604051808303816000875af1158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190612ae2565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061111030600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6110fc9190612830565b633b9aca0061110b919061287b565b6116a8565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061115930610b65565b600080611164610d01565b426040518863ffffffff1660e01b815260040161118696959493929190612b7d565b60606040518083038185885af11580156111a4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111c99190612bf3565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161126b929190612c46565b6020604051808303816000875af115801561128a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ae9190612c9b565b506001600b60146101000a81548160ff02191690831515021790555043600781905550565b60095481565b6112e16116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461136e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113659061299b565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114456116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c99061299b565b60405180910390fd5b604681836114e09190612cc8565b1115611521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151890612d48565b60405180910390fd5b81600881905550806009819055505050565b61153b6116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bf9061299b565b60405180910390fd5b60006115d330610b65565b90506000606482846115e5919061287b565b6115ef91906129ea565b90506115fa81611c7c565b505050565b6116076116a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168b9061299b565b60405180910390fd5b61169d81611fe6565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e90612dda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d90612e6c565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118649190612525565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d790612efe565b60405180910390fd5b60008111611923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191a90612f6a565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541480156119b257506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15611c6a57600b60149054906101000a900460ff16611a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fd90612fd6565b60405180910390fd5b600554821115611a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4290613042565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ad7575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b355760065482611ae985610b65565b611af39190612cc8565b1115611b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2b906130ae565b60405180910390fd5b5b6002600754611b449190612cc8565b431015611b5457603c9050611c69565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611bb3576008549050611c68565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c67576000611c1330610b65565b90506012600a611c239190612830565b6001611c2f919061287b565b811115611c60576000600454905083821115611c49578391505b80821115611c55578091505b611c5e82611c7c565b505b6009549150505b5b5b5b611c7684848484612112565b50505050565b6000600267ffffffffffffffff811115611c9957611c986130ce565b5b604051908082528060200260200182016040528015611cc75781602001602082028036833780820191505090505b5090503081600081518110611cdf57611cde6130fd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611daa9190612ae2565b81600181518110611dbe57611dbd6130fd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e2530600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116a8565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e899594939291906131ea565b600060405180830381600087803b158015611ea357600080fd5b505af1158015611eb7573d6000803e3d6000fd5b5050505060007f000000000000000000000000460b25182518b0cc8ae8f9ec9dffc99cd04d8b2973ffffffffffffffffffffffffffffffffffffffff16600a47611f0191906129ea565b604051611f0d90612a4c565b60006040518083038185875af1925050503d8060008114611f4a576040519150601f19603f3d011682016040523d82523d6000602084013e611f4f565b606091505b5050809150507f0000000000000000000000005744faa0964769e7a19b611633e56b60da6c9d0773ffffffffffffffffffffffffffffffffffffffff1647604051611f9990612a4c565b60006040518083038185875af1925050503d8060008114611fd6576040519150601f19603f3d011682016040523d82523d6000602084013e611fdb565b606091505b505080915050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204c906132b6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060648284612122919061287b565b61212c91906129ea565b90506000818461213c91906132d6565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461218991906132d6565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122179190612cc8565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122a59190612cc8565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123459190612525565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561238f578082015181840152602081019050612374565b60008484015250505050565b6000601f19601f8301169050919050565b60006123b782612355565b6123c18185612360565b93506123d1818560208601612371565b6123da8161239b565b840191505092915050565b600060208201905081810360008301526123ff81846123ac565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124378261240c565b9050919050565b6124478161242c565b811461245257600080fd5b50565b6000813590506124648161243e565b92915050565b6000819050919050565b61247d8161246a565b811461248857600080fd5b50565b60008135905061249a81612474565b92915050565b600080604083850312156124b7576124b6612407565b5b60006124c585828601612455565b92505060206124d68582860161248b565b9150509250929050565b60008115159050919050565b6124f5816124e0565b82525050565b600060208201905061251060008301846124ec565b92915050565b61251f8161246a565b82525050565b600060208201905061253a6000830184612516565b92915050565b60008060006060848603121561255957612558612407565b5b600061256786828701612455565b935050602061257886828701612455565b92505060406125898682870161248b565b9150509250925092565b6000602082840312156125a9576125a8612407565b5b60006125b784828501612455565b91505092915050565b600060ff82169050919050565b6125d6816125c0565b82525050565b60006020820190506125f160008301846125cd565b92915050565b6126008161242c565b82525050565b600060208201905061261b60008301846125f7565b92915050565b6000806040838503121561263857612637612407565b5b600061264685828601612455565b925050602061265785828601612455565b9150509250929050565b6000806040838503121561267857612677612407565b5b60006126868582860161248b565b92505060206126978582860161248b565b9150509250929050565b6000602082840312156126b7576126b6612407565b5b60006126c58482850161248b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612754578086048111156127305761272f6126ce565b5b600185161561273f5780820291505b808102905061274d856126fd565b9450612714565b94509492505050565b60008261276d5760019050612829565b8161277b5760009050612829565b8160018114612791576002811461279b576127ca565b6001915050612829565b60ff8411156127ad576127ac6126ce565b5b8360020a9150848211156127c4576127c36126ce565b5b50612829565b5060208310610133831016604e8410600b84101617156127ff5782820a9050838111156127fa576127f96126ce565b5b612829565b61280c848484600161270a565b92509050818404811115612823576128226126ce565b5b81810290505b9392505050565b600061283b8261246a565b9150612846836125c0565b92506128737fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461275d565b905092915050565b60006128868261246a565b91506128918361246a565b925082820261289f8161246a565b915082820484148315176128b6576128b56126ce565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612919602883612360565b9150612924826128bd565b604082019050919050565b600060208201905081810360008301526129488161290c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612985602083612360565b91506129908261294f565b602082019050919050565b600060208201905081810360008301526129b481612978565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129f58261246a565b9150612a008361246a565b925082612a1057612a0f6129bb565b5b828204905092915050565b600081905092915050565b50565b6000612a36600083612a1b565b9150612a4182612a26565b600082019050919050565b6000612a5782612a29565b9150819050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612a97601783612360565b9150612aa282612a61565b602082019050919050565b60006020820190508181036000830152612ac681612a8a565b9050919050565b600081519050612adc8161243e565b92915050565b600060208284031215612af857612af7612407565b5b6000612b0684828501612acd565b91505092915050565b6000604082019050612b2460008301856125f7565b612b3160208301846125f7565b9392505050565b6000819050919050565b6000819050919050565b6000612b67612b62612b5d84612b38565b612b42565b61246a565b9050919050565b612b7781612b4c565b82525050565b600060c082019050612b9260008301896125f7565b612b9f6020830188612516565b612bac6040830187612b6e565b612bb96060830186612b6e565b612bc660808301856125f7565b612bd360a0830184612516565b979650505050505050565b600081519050612bed81612474565b92915050565b600080600060608486031215612c0c57612c0b612407565b5b6000612c1a86828701612bde565b9350506020612c2b86828701612bde565b9250506040612c3c86828701612bde565b9150509250925092565b6000604082019050612c5b60008301856125f7565b612c686020830184612516565b9392505050565b612c78816124e0565b8114612c8357600080fd5b50565b600081519050612c9581612c6f565b92915050565b600060208284031215612cb157612cb0612407565b5b6000612cbf84828501612c86565b91505092915050565b6000612cd38261246a565b9150612cde8361246a565b9250828201905080821115612cf657612cf56126ce565b5b92915050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b6000612d32600c83612360565b9150612d3d82612cfc565b602082019050919050565b60006020820190508181036000830152612d6181612d25565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612dc4602483612360565b9150612dcf82612d68565b604082019050919050565b60006020820190508181036000830152612df381612db7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e56602283612360565b9150612e6182612dfa565b604082019050919050565b60006020820190508181036000830152612e8581612e49565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612ee8602583612360565b9150612ef382612e8c565b604082019050919050565b60006020820190508181036000830152612f1781612edb565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b6000612f54601c83612360565b9150612f5f82612f1e565b602082019050919050565b60006020820190508181036000830152612f8381612f47565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612fc0601083612360565b9150612fcb82612f8a565b602082019050919050565b60006020820190508181036000830152612fef81612fb3565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b600061302c601783612360565b915061303782612ff6565b602082019050919050565b6000602082019050818103600083015261305b8161301f565b9050919050565b7f4d617857616c6c657420456e61626c6564206174206c61756e63680000000000600082015250565b6000613098601b83612360565b91506130a382613062565b602082019050919050565b600060208201905081810360008301526130c78161308b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6131618161242c565b82525050565b60006131738383613158565b60208301905092915050565b6000602082019050919050565b60006131978261312c565b6131a18185613137565b93506131ac83613148565b8060005b838110156131dd5781516131c48882613167565b97506131cf8361317f565b9250506001810190506131b0565b5085935050505092915050565b600060a0820190506131ff6000830188612516565b61320c6020830187612b6e565b818103604083015261321e818661318c565b905061322d60608301856125f7565b61323a6080830184612516565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132a0602683612360565b91506132ab82613244565b604082019050919050565b600060208201905081810360008301526132cf81613293565b9050919050565b60006132e18261246a565b91506132ec8361246a565b9250828203905081811115613304576133036126ce565b5b9291505056fea26469706673582212205916ad95a8e7d08b1f64ce1565c640be313d952bcdc92515065a1f8de09153e064736f6c63430008130033

Deployed Bytecode Sourcemap

14689:7771:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16191:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17025:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16468:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15265:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17193:578;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21291:237;;;;;;;;;;;;;:::i;:::-;;18818:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16377:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15623:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15405:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19049:136;;;;;;;;;;;;;:::i;:::-;;15658:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16576:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13743:148;;;;;;;;;;;;;:::i;:::-;;13175:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16282:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15702:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15319:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16702:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18124:686;;;;;;;;;;;;;:::i;:::-;;15438:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18932:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16875:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19193:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21537:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13389:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16191:83;16228:13;16261:5;;;;;;;;;;;;;;;;;16254:12;;16191:83;:::o;17025:160::-;17100:4;17116:39;17125:12;:10;:12::i;:::-;17139:7;17148:6;17116:8;:39::i;:::-;17173:4;17166:11;;17025:160;;;;:::o;16468:100::-;16521:7;15004:2;15066;:13;;;;:::i;:::-;15053:10;:26;;;;:::i;:::-;16541:19;;16468:100;:::o;15265:47::-;;;;:::o;17193:578::-;17291:4;17308:36;17318:6;17326:9;17337:6;17308:9;:36::i;:::-;17357:24;17384:11;:19;17396:6;17384:19;;;;;;;;;;;;;;;:33;17404:12;:10;:12::i;:::-;17384:33;;;;;;;;;;;;;;;;17357:60;;17451:17;17431:16;:37;17428:314;;17532:6;17512:16;:26;;17486:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;17658:57;17667:6;17675:12;:10;:12::i;:::-;17708:6;17689:16;:25;17658:8;:57::i;:::-;17428:314;17759:4;17752:11;;;17193:578;;;;;:::o;21291:237::-;13312:12;:10;:12::i;:::-;13302:22;;:6;;;;;;;;;;:22;;;13294:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21350:12:::1;21387:13;:18;;21437:2;21413:21;:26;;;;:::i;:::-;21387:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21373:71;;;;;21469:11;:17;;21494:21;21469:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21455:65;;;;;21339:189;21291:237::o:0;18818:106::-;13312:12;:10;:12::i;:::-;13302:22;;:6;;;;;;;;;;:22;;;13294:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18915:1:::1;18892:12;:20;18905:6;18892:20;;;;;;;;;;;;;;;:24;;;;18818:106:::0;:::o;16377:83::-;16418:5;15004:2;16436:16;;16377:83;:::o;15623:28::-;;;;;;;;;;;;;:::o;15405:26::-;;;;:::o;19049:136::-;13312:12;:10;:12::i;:::-;13302:22;;:6;;;;;;;;;;:22;;;13294:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15004:2:::1;15066;:13;;;;:::i;:::-;15053:10;:26;;;;:::i;:::-;19105:19;:34;;;;15004:2;15066;:13;;;;:::i;:::-;15053:10;:26;;;;:::i;:::-;19150:12;:27;;;;19049:136::o:0;15658:36::-;;;:::o;16576:118::-;16642:7;16669:8;:17;16678:7;16669:17;;;;;;;;;;;;;;;;16662:24;;16576:118;;;:::o;13743:148::-;13312:12;:10;:12::i;:::-;13302:22;;:6;;;;;;;;;;:22;;;13294:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13850:1:::1;13813:40;;13834:6;::::0;::::1;;;;;;;;13813:40;;;;;;;;;;;;13881:1;13864:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;13743:148::o:0;13175:79::-;13213:7;13240:6;;;;;;;;;;;13233:13;;13175:79;:::o;16282:87::-;16321:13;16354:7;;;;;;;;;;;;;;;;;16347:14;;16282:87;:::o;15702:38::-;;;:::o;15319:40::-;;;;:::o;16702:165::-;16779:4;16795:42;16805:12;:10;:12::i;:::-;16819:9;16830:6;16795:9;:42::i;:::-;16855:4;16848:11;;16702:165;;;;:::o;18124:686::-;13312:12;:10;:12::i;:::-;13302:22;;:6;;;;;;;;;;:22;;;13294:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18187:6:::1;;;;;;;;;;;18186:7;18178:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;18268;18231:15;;:80;;;;;;;;;;;;;;;;;;18356:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18338:55;;;18402:4;18409:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18338:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18322:13;;:110;;;;;;;;;;;;;;;;;;18443:63;18460:4;18475:15;;;;;;;;;;;15004:2;15066;:13;;;;:::i;:::-;15053:10;:26;;;;:::i;:::-;18443:8;:63::i;:::-;18527:15;;;;;;;;;;;:31;;;18566:21;18597:4;18603:24;18621:4;18603:9;:24::i;:::-;18628:1;18630::::0;18632:7:::1;:5;:7::i;:::-;18640:15;18527:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18674:13;;;;;;;;;;;18667:29;;;18705:15;;;;;;;;;;;18723:14;18667:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18758:4;18749:6;;:13;;;;;;;;;;;;;;;;;;18790:12;18773:14;:29;;;;18124:686::o:0;15438:27::-;;;;:::o;18932:109::-;13312:12;:10;:12::i;:::-;13302:22;;:6;;;;;;;;;;:22;;;13294:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19032:1:::1;19009:12;:20;19022:6;19009:20;;;;;;;;;;;;;;;:24;;;;18932:109:::0;:::o;16875:142::-;16956:7;16982:11;:18;16994:5;16982:18;;;;;;;;;;;;;;;:27;17001:7;16982:27;;;;;;;;;;;;;;;;16975:34;;16875:142;;;;:::o;19193:211::-;13312:12;:10;:12::i;:::-;13302:22;;:6;;;;;;;;;;:22;;;13294:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19317:2:::1;19303:10;19291:9;:22;;;;:::i;:::-;:28;;19283:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;19356:9;19347:6;:18;;;;19386:10;19376:7;:20;;;;19193:211:::0;;:::o;21537:225::-;13312:12;:10;:12::i;:::-;13302:22;;:6;;;;;;;;;;:22;;;13294:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21610:23:::1;21636:24;21654:4;21636:9;:24::i;:::-;21610:50;;21671:15;21715:3;21698:15;21690:7;:23;;;;:::i;:::-;21689:29;;;;:::i;:::-;21671:47;;21729:25;21746:7;21729:16;:25::i;:::-;21599:163;;21537:225:::0;:::o;13389:109::-;13312:12;:10;:12::i;:::-;13302:22;;:6;;;;;;;;;;:22;;;13294:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13462:28:::1;13481:8;13462:18;:28::i;:::-;13389:109:::0;:::o;12050:98::-;12103:7;12130:10;12123:17;;12050:98;:::o;17779:335::-;17889:1;17872:19;;:5;:19;;;17864:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17970:1;17951:21;;:7;:21;;;17943:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18052:6;18022:11;:18;18034:5;18022:18;;;;;;;;;;;;;;;:27;18041:7;18022:27;;;;;;;;;;;;;;;:36;;;;18090:7;18074:32;;18083:5;18074:32;;;18099:6;18074:32;;;;;;:::i;:::-;;;;;;;;17779:335;;;:::o;19854:1429::-;19958:1;19942:18;;:4;:18;;;19934:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20030:1;20021:6;:10;20013:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;20075:12;20128:1;20106:12;:18;20119:4;20106:18;;;;;;;;;;;;;;;;:23;:48;;;;;20153:1;20133:12;:16;20146:2;20133:16;;;;;;;;;;;;;;;;:21;20106:48;20102:1125;;;20188:6;;;;;;;;;;;20180:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;20248:19;;20238:6;:29;;20230:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;20320:13;;;;;;;;;;;20314:19;;:2;:19;;;;:44;;;;;20351:6;20337:21;;:2;:21;;;;20314:44;20310:128;;;20394:12;;20384:6;20368:13;20378:2;20368:9;:13::i;:::-;:22;;;;:::i;:::-;:38;;20360:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;20310:128;20489:1;20472:14;;:18;;;;:::i;:::-;20457:12;:33;20453:763;;;20518:2;20511:9;;20453:763;;;20573:13;;;;;;;;;;;20565:21;;:4;:21;;;20561:640;;20618:6;;20611:13;;20561:640;;;20660:13;;;;;;;;;;;20654:19;;:2;:19;;;20650:551;;20698:20;20721:24;20739:4;20721:9;:24::i;:::-;20698:47;;15004:2;15198;:13;;;;:::i;:::-;15194:1;:17;;;;:::i;:::-;20790:12;:32;20786:359;;;20853:12;20868:7;;20853:22;;20921:6;20906:12;:21;20902:48;;;20944:6;20929:21;;20902:48;21017:4;21002:12;:19;20998:44;;;21038:4;21023:19;;20998:44;21091:30;21108:12;21091:16;:30::i;:::-;20824:321;20786:359;21174:7;;21167:14;;20675:526;20650:551;20561:640;20453:763;20102:1125;21237:38;21252:4;21258:2;21262:6;21270:4;21237:14;:38::i;:::-;19923:1360;19854:1429;;;:::o;21770:652::-;21836:21;21874:1;21860:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21836:40;;21905:4;21887;21892:1;21887:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21931:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21921:4;21926:1;21921:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;21964:62;21981:4;21996:15;;;;;;;;;;;22014:11;21964:8;:62::i;:::-;22037:15;;;;;;;;;;;:66;;;22118:11;22144:1;22160:4;22187;22207:15;22037:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22244:12;22281:13;:18;;22331:2;22307:21;:26;;;;:::i;:::-;22281:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22267:71;;;;;22363:11;:17;;22388:21;22363:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22349:65;;;;;21825:597;;21770:652;:::o;13506:229::-;13600:1;13580:22;;:8;:22;;;13572:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;13690:8;13661:38;;13682:6;;;;;;;;;;13661:38;;;;;;;;;;;;13719:8;13710:6;;:17;;;;;;;;;;;;;;;;;;13506:229;:::o;19412:434::-;19511:17;19549:3;19541:4;19532:6;:13;;;;:::i;:::-;19531:21;;;;:::i;:::-;19511:41;;19563:22;19597:9;19588:6;:18;;;;:::i;:::-;19563:43;;19653:6;19636:8;:14;19645:4;19636:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;19619:8;:14;19628:4;19619:14;;;;;;;;;;;;;;;:40;;;;19700:14;19685:8;:12;19694:2;19685:12;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;19670:8;:12;19679:2;19670:12;;;;;;;;;;;;;;;:44;;;;19777:9;19751:8;:23;19768:4;19751:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;19725:8;:23;19742:4;19725:23;;;;;;;;;;;;;;;:61;;;;19819:2;19804:34;;19813:4;19804:34;;;19823:14;19804:34;;;;;;:::i;:::-;;;;;;;;19500:346;;19412:434;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446: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:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:329::-;6559:6;6608:2;6596:9;6587:7;6583:23;6579:32;6576:119;;;6614:79;;:::i;:::-;6576:119;6734:1;6759:53;6804:7;6795:6;6784:9;6780:22;6759:53;:::i;:::-;6749:63;;6705:117;6500:329;;;;:::o;6835:180::-;6883:77;6880:1;6873:88;6980:4;6977:1;6970:15;7004:4;7001:1;6994:15;7021:102;7063:8;7110:5;7107:1;7103:13;7082:34;;7021:102;;;:::o;7129:848::-;7190:5;7197:4;7221:6;7212:15;;7245:5;7236:14;;7259:712;7280:1;7270:8;7267:15;7259:712;;;7375:4;7370:3;7366:14;7360:4;7357:24;7354:50;;;7384:18;;:::i;:::-;7354:50;7434:1;7424:8;7420:16;7417:451;;;7849:4;7842:5;7838:16;7829:25;;7417:451;7899:4;7893;7889:15;7881:23;;7929:32;7952:8;7929:32;:::i;:::-;7917:44;;7259:712;;;7129:848;;;;;;;:::o;7983:1073::-;8037:5;8228:8;8218:40;;8249:1;8240:10;;8251:5;;8218:40;8277:4;8267:36;;8294:1;8285:10;;8296:5;;8267:36;8363:4;8411:1;8406:27;;;;8447:1;8442:191;;;;8356:277;;8406:27;8424:1;8415:10;;8426:5;;;8442:191;8487:3;8477:8;8474:17;8471:43;;;8494:18;;:::i;:::-;8471:43;8543:8;8540:1;8536:16;8527:25;;8578:3;8571:5;8568:14;8565:40;;;8585:18;;:::i;:::-;8565:40;8618:5;;;8356:277;;8742:2;8732:8;8729:16;8723:3;8717:4;8714:13;8710:36;8692:2;8682:8;8679:16;8674:2;8668:4;8665:12;8661:35;8645:111;8642:246;;;8798:8;8792:4;8788:19;8779:28;;8833:3;8826:5;8823:14;8820:40;;;8840:18;;:::i;:::-;8820:40;8873:5;;8642:246;8913:42;8951:3;8941:8;8935:4;8932:1;8913:42;:::i;:::-;8898:57;;;;8987:4;8982:3;8978:14;8971:5;8968:25;8965:51;;;8996:18;;:::i;:::-;8965:51;9045:4;9038:5;9034:16;9025:25;;7983:1073;;;;;;:::o;9062:281::-;9120:5;9144:23;9162:4;9144:23;:::i;:::-;9136:31;;9188:25;9204:8;9188:25;:::i;:::-;9176:37;;9232:104;9269:66;9259:8;9253:4;9232:104;:::i;:::-;9223:113;;9062:281;;;;:::o;9349:410::-;9389:7;9412:20;9430:1;9412:20;:::i;:::-;9407:25;;9446:20;9464:1;9446:20;:::i;:::-;9441:25;;9501:1;9498;9494:9;9523:30;9541:11;9523:30;:::i;:::-;9512:41;;9702:1;9693:7;9689:15;9686:1;9683:22;9663:1;9656:9;9636:83;9613:139;;9732:18;;:::i;:::-;9613:139;9397:362;9349:410;;;;:::o;9765:227::-;9905:34;9901:1;9893:6;9889:14;9882:58;9974:10;9969:2;9961:6;9957:15;9950:35;9765:227;:::o;9998:366::-;10140:3;10161:67;10225:2;10220:3;10161:67;:::i;:::-;10154:74;;10237:93;10326:3;10237:93;:::i;:::-;10355:2;10350:3;10346:12;10339:19;;9998:366;;;:::o;10370:419::-;10536:4;10574:2;10563:9;10559:18;10551:26;;10623:9;10617:4;10613:20;10609:1;10598:9;10594:17;10587:47;10651:131;10777:4;10651:131;:::i;:::-;10643:139;;10370:419;;;:::o;10795:182::-;10935:34;10931:1;10923:6;10919:14;10912:58;10795:182;:::o;10983:366::-;11125:3;11146:67;11210:2;11205:3;11146:67;:::i;:::-;11139:74;;11222:93;11311:3;11222:93;:::i;:::-;11340:2;11335:3;11331:12;11324:19;;10983:366;;;:::o;11355:419::-;11521:4;11559:2;11548:9;11544:18;11536:26;;11608:9;11602:4;11598:20;11594:1;11583:9;11579:17;11572:47;11636:131;11762:4;11636:131;:::i;:::-;11628:139;;11355:419;;;:::o;11780:180::-;11828:77;11825:1;11818:88;11925:4;11922:1;11915:15;11949:4;11946:1;11939:15;11966:185;12006:1;12023:20;12041:1;12023:20;:::i;:::-;12018:25;;12057:20;12075:1;12057:20;:::i;:::-;12052:25;;12096:1;12086:35;;12101:18;;:::i;:::-;12086:35;12143:1;12140;12136:9;12131:14;;11966:185;;;;:::o;12157:147::-;12258:11;12295:3;12280:18;;12157:147;;;;:::o;12310:114::-;;:::o;12430:398::-;12589:3;12610:83;12691:1;12686:3;12610:83;:::i;:::-;12603:90;;12702:93;12791:3;12702:93;:::i;:::-;12820:1;12815:3;12811:11;12804:18;;12430:398;;;:::o;12834:379::-;13018:3;13040:147;13183:3;13040:147;:::i;:::-;13033:154;;13204:3;13197:10;;12834:379;;;:::o;13219:173::-;13359:25;13355:1;13347:6;13343:14;13336:49;13219:173;:::o;13398:366::-;13540:3;13561:67;13625:2;13620:3;13561:67;:::i;:::-;13554:74;;13637:93;13726:3;13637:93;:::i;:::-;13755:2;13750:3;13746:12;13739:19;;13398:366;;;:::o;13770:419::-;13936:4;13974:2;13963:9;13959:18;13951:26;;14023:9;14017:4;14013:20;14009:1;13998:9;13994:17;13987:47;14051:131;14177:4;14051:131;:::i;:::-;14043:139;;13770:419;;;:::o;14195:143::-;14252:5;14283:6;14277:13;14268:22;;14299:33;14326:5;14299:33;:::i;:::-;14195:143;;;;:::o;14344:351::-;14414:6;14463:2;14451:9;14442:7;14438:23;14434:32;14431:119;;;14469:79;;:::i;:::-;14431:119;14589:1;14614:64;14670:7;14661:6;14650:9;14646:22;14614:64;:::i;:::-;14604:74;;14560:128;14344:351;;;;:::o;14701:332::-;14822:4;14860:2;14849:9;14845:18;14837:26;;14873:71;14941:1;14930:9;14926:17;14917:6;14873:71;:::i;:::-;14954:72;15022:2;15011:9;15007:18;14998:6;14954:72;:::i;:::-;14701:332;;;;;:::o;15039:85::-;15084:7;15113:5;15102:16;;15039:85;;;:::o;15130:60::-;15158:3;15179:5;15172:12;;15130:60;;;:::o;15196:158::-;15254:9;15287:61;15305:42;15314:32;15340:5;15314:32;:::i;:::-;15305:42;:::i;:::-;15287:61;:::i;:::-;15274:74;;15196:158;;;:::o;15360:147::-;15455:45;15494:5;15455:45;:::i;:::-;15450:3;15443:58;15360:147;;:::o;15513:807::-;15762:4;15800:3;15789:9;15785:19;15777:27;;15814:71;15882:1;15871:9;15867:17;15858:6;15814:71;:::i;:::-;15895:72;15963:2;15952:9;15948:18;15939:6;15895:72;:::i;:::-;15977:80;16053:2;16042:9;16038:18;16029:6;15977:80;:::i;:::-;16067;16143:2;16132:9;16128:18;16119:6;16067:80;:::i;:::-;16157:73;16225:3;16214:9;16210:19;16201:6;16157:73;:::i;:::-;16240;16308:3;16297:9;16293:19;16284:6;16240:73;:::i;:::-;15513:807;;;;;;;;;:::o;16326:143::-;16383:5;16414:6;16408:13;16399:22;;16430:33;16457:5;16430:33;:::i;:::-;16326:143;;;;:::o;16475:663::-;16563:6;16571;16579;16628:2;16616:9;16607:7;16603:23;16599:32;16596:119;;;16634:79;;:::i;:::-;16596:119;16754:1;16779:64;16835:7;16826:6;16815:9;16811:22;16779:64;:::i;:::-;16769:74;;16725:128;16892:2;16918:64;16974:7;16965:6;16954:9;16950:22;16918:64;:::i;:::-;16908:74;;16863:129;17031:2;17057:64;17113:7;17104:6;17093:9;17089:22;17057:64;:::i;:::-;17047:74;;17002:129;16475:663;;;;;:::o;17144:332::-;17265:4;17303:2;17292:9;17288:18;17280:26;;17316:71;17384:1;17373:9;17369:17;17360:6;17316:71;:::i;:::-;17397:72;17465:2;17454:9;17450:18;17441:6;17397:72;:::i;:::-;17144:332;;;;;:::o;17482:116::-;17552:21;17567:5;17552:21;:::i;:::-;17545:5;17542:32;17532:60;;17588:1;17585;17578:12;17532:60;17482:116;:::o;17604:137::-;17658:5;17689:6;17683:13;17674:22;;17705:30;17729:5;17705:30;:::i;:::-;17604:137;;;;:::o;17747:345::-;17814:6;17863:2;17851:9;17842:7;17838:23;17834:32;17831:119;;;17869:79;;:::i;:::-;17831:119;17989:1;18014:61;18067:7;18058:6;18047:9;18043:22;18014:61;:::i;:::-;18004:71;;17960:125;17747:345;;;;:::o;18098:191::-;18138:3;18157:20;18175:1;18157:20;:::i;:::-;18152:25;;18191:20;18209:1;18191:20;:::i;:::-;18186:25;;18234:1;18231;18227:9;18220:16;;18255:3;18252:1;18249:10;18246:36;;;18262:18;;:::i;:::-;18246:36;18098:191;;;;:::o;18295:162::-;18435:14;18431:1;18423:6;18419:14;18412:38;18295:162;:::o;18463:366::-;18605:3;18626:67;18690:2;18685:3;18626:67;:::i;:::-;18619:74;;18702:93;18791:3;18702:93;:::i;:::-;18820:2;18815:3;18811:12;18804:19;;18463:366;;;:::o;18835:419::-;19001:4;19039:2;19028:9;19024:18;19016:26;;19088:9;19082:4;19078:20;19074:1;19063:9;19059:17;19052:47;19116:131;19242:4;19116:131;:::i;:::-;19108:139;;18835:419;;;:::o;19260:223::-;19400:34;19396:1;19388:6;19384:14;19377:58;19469:6;19464:2;19456:6;19452:15;19445:31;19260:223;:::o;19489:366::-;19631:3;19652:67;19716:2;19711:3;19652:67;:::i;:::-;19645:74;;19728:93;19817:3;19728:93;:::i;:::-;19846:2;19841:3;19837:12;19830:19;;19489:366;;;:::o;19861:419::-;20027:4;20065:2;20054:9;20050:18;20042:26;;20114:9;20108:4;20104:20;20100:1;20089:9;20085:17;20078:47;20142:131;20268:4;20142:131;:::i;:::-;20134:139;;19861:419;;;:::o;20286:221::-;20426:34;20422:1;20414:6;20410:14;20403:58;20495:4;20490:2;20482:6;20478:15;20471:29;20286:221;:::o;20513:366::-;20655:3;20676:67;20740:2;20735:3;20676:67;:::i;:::-;20669:74;;20752:93;20841:3;20752:93;:::i;:::-;20870:2;20865:3;20861:12;20854:19;;20513:366;;;:::o;20885:419::-;21051:4;21089:2;21078:9;21074:18;21066:26;;21138:9;21132:4;21128:20;21124:1;21113:9;21109:17;21102:47;21166:131;21292:4;21166:131;:::i;:::-;21158:139;;20885:419;;;:::o;21310:224::-;21450:34;21446:1;21438:6;21434:14;21427:58;21519:7;21514:2;21506:6;21502:15;21495:32;21310:224;:::o;21540:366::-;21682:3;21703:67;21767:2;21762:3;21703:67;:::i;:::-;21696:74;;21779:93;21868:3;21779:93;:::i;:::-;21897:2;21892:3;21888:12;21881:19;;21540:366;;;:::o;21912:419::-;22078:4;22116:2;22105:9;22101:18;22093:26;;22165:9;22159:4;22155:20;22151:1;22140:9;22136:17;22129:47;22193:131;22319:4;22193:131;:::i;:::-;22185:139;;21912:419;;;:::o;22337:178::-;22477:30;22473:1;22465:6;22461:14;22454:54;22337:178;:::o;22521:366::-;22663:3;22684:67;22748:2;22743:3;22684:67;:::i;:::-;22677:74;;22760:93;22849:3;22760:93;:::i;:::-;22878:2;22873:3;22869:12;22862:19;;22521:366;;;:::o;22893:419::-;23059:4;23097:2;23086:9;23082:18;23074:26;;23146:9;23140:4;23136:20;23132:1;23121:9;23117:17;23110:47;23174:131;23300:4;23174:131;:::i;:::-;23166:139;;22893:419;;;:::o;23318:166::-;23458:18;23454:1;23446:6;23442:14;23435:42;23318:166;:::o;23490:366::-;23632:3;23653:67;23717:2;23712:3;23653:67;:::i;:::-;23646:74;;23729:93;23818:3;23729:93;:::i;:::-;23847:2;23842:3;23838:12;23831:19;;23490:366;;;:::o;23862:419::-;24028:4;24066:2;24055:9;24051:18;24043:26;;24115:9;24109:4;24105:20;24101:1;24090:9;24086:17;24079:47;24143:131;24269:4;24143:131;:::i;:::-;24135:139;;23862:419;;;:::o;24287:173::-;24427:25;24423:1;24415:6;24411:14;24404:49;24287:173;:::o;24466:366::-;24608:3;24629:67;24693:2;24688:3;24629:67;:::i;:::-;24622:74;;24705:93;24794:3;24705:93;:::i;:::-;24823:2;24818:3;24814:12;24807:19;;24466:366;;;:::o;24838:419::-;25004:4;25042:2;25031:9;25027:18;25019:26;;25091:9;25085:4;25081:20;25077:1;25066:9;25062:17;25055:47;25119:131;25245:4;25119:131;:::i;:::-;25111:139;;24838:419;;;:::o;25263:177::-;25403:29;25399:1;25391:6;25387:14;25380:53;25263:177;:::o;25446:366::-;25588:3;25609:67;25673:2;25668:3;25609:67;:::i;:::-;25602:74;;25685:93;25774:3;25685:93;:::i;:::-;25803:2;25798:3;25794:12;25787:19;;25446:366;;;:::o;25818:419::-;25984:4;26022:2;26011:9;26007:18;25999:26;;26071:9;26065:4;26061:20;26057:1;26046:9;26042:17;26035:47;26099:131;26225:4;26099:131;:::i;:::-;26091:139;;25818:419;;;:::o;26243:180::-;26291:77;26288:1;26281:88;26388:4;26385:1;26378:15;26412:4;26409:1;26402:15;26429:180;26477:77;26474:1;26467:88;26574:4;26571:1;26564:15;26598:4;26595:1;26588:15;26615:114;26682:6;26716:5;26710:12;26700:22;;26615:114;;;:::o;26735:184::-;26834:11;26868:6;26863:3;26856:19;26908:4;26903:3;26899:14;26884:29;;26735:184;;;;:::o;26925:132::-;26992:4;27015:3;27007:11;;27045:4;27040:3;27036:14;27028:22;;26925:132;;;:::o;27063:108::-;27140:24;27158:5;27140:24;:::i;:::-;27135:3;27128:37;27063:108;;:::o;27177:179::-;27246:10;27267:46;27309:3;27301:6;27267:46;:::i;:::-;27345:4;27340:3;27336:14;27322:28;;27177:179;;;;:::o;27362:113::-;27432:4;27464;27459:3;27455:14;27447:22;;27362:113;;;:::o;27511:732::-;27630:3;27659:54;27707:5;27659:54;:::i;:::-;27729:86;27808:6;27803:3;27729:86;:::i;:::-;27722:93;;27839:56;27889:5;27839:56;:::i;:::-;27918:7;27949:1;27934:284;27959:6;27956:1;27953:13;27934:284;;;28035:6;28029:13;28062:63;28121:3;28106:13;28062:63;:::i;:::-;28055:70;;28148:60;28201:6;28148:60;:::i;:::-;28138:70;;27994:224;27981:1;27978;27974:9;27969:14;;27934:284;;;27938:14;28234:3;28227:10;;27635:608;;;27511:732;;;;:::o;28249:831::-;28512:4;28550:3;28539:9;28535:19;28527:27;;28564:71;28632:1;28621:9;28617:17;28608:6;28564:71;:::i;:::-;28645:80;28721:2;28710:9;28706:18;28697:6;28645:80;:::i;:::-;28772:9;28766:4;28762:20;28757:2;28746:9;28742:18;28735:48;28800:108;28903:4;28894:6;28800:108;:::i;:::-;28792:116;;28918:72;28986:2;28975:9;28971:18;28962:6;28918:72;:::i;:::-;29000:73;29068:3;29057:9;29053:19;29044:6;29000:73;:::i;:::-;28249:831;;;;;;;;:::o;29086:225::-;29226:34;29222:1;29214:6;29210:14;29203:58;29295:8;29290:2;29282:6;29278:15;29271:33;29086:225;:::o;29317:366::-;29459:3;29480:67;29544:2;29539:3;29480:67;:::i;:::-;29473:74;;29556:93;29645:3;29556:93;:::i;:::-;29674:2;29669:3;29665:12;29658:19;;29317:366;;;:::o;29689:419::-;29855:4;29893:2;29882:9;29878:18;29870:26;;29942:9;29936:4;29932:20;29928:1;29917:9;29913:17;29906:47;29970:131;30096:4;29970:131;:::i;:::-;29962:139;;29689:419;;;:::o;30114:194::-;30154:4;30174:20;30192:1;30174:20;:::i;:::-;30169:25;;30208:20;30226:1;30208:20;:::i;:::-;30203:25;;30252:1;30249;30245:9;30237:17;;30276:1;30270:4;30267:11;30264:37;;;30281:18;;:::i;:::-;30264:37;30114:194;;;;:::o

Swarm Source

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