ETH Price: $2,443.23 (-0.33%)

Token

Hotel of Secrets (HOS)
 

Overview

Max Total Supply

1,000,000,000 HOS

Holders

121

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
206,235.669590935967303554 HOS

Value
$0.00
0x786c839e654d298d12b056eda2af06eaa74eaea0
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:
HOS

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-13
*/

// ░██████╗░█████╗░███████╗██╗░░░██╗  ██████╗░██╗░░░██╗
// ██╔════╝██╔══██╗██╔════╝██║░░░██║  ██╔══██╗╚██╗░██╔╝
// ╚█████╗░███████║█████╗░░██║░░░██║  ██████╦╝░╚████╔╝░
// ░╚═══██╗██╔══██║██╔══╝░░██║░░░██║  ██╔══██╗░░╚██╔╝░░
// ██████╔╝██║░░██║██║░░░░░╚██████╔╝  ██████╦╝░░░██║░░░
// ╚═════╝░╚═╝░░╚═╝╚═╝░░░░░░╚═════╝░  ╚═════╝░░░░╚═╝░░░

// ░█████╗░░█████╗░██╗███╗░░██╗░██████╗██╗░░░██╗██╗░░░░░████████╗░░░███╗░░██╗███████╗████████╗
// ██╔══██╗██╔══██╗██║████╗░██║██╔════╝██║░░░██║██║░░░░░╚══██╔══╝░░░████╗░██║██╔════╝╚══██╔══╝
// ██║░░╚═╝██║░░██║██║██╔██╗██║╚█████╗░██║░░░██║██║░░░░░░░░██║░░░░░░██╔██╗██║█████╗░░░░░██║░░░
// ██║░░██╗██║░░██║██║██║╚████║░╚═══██╗██║░░░██║██║░░░░░░░░██║░░░░░░██║╚████║██╔══╝░░░░░██║░░░
// ╚█████╔╝╚█████╔╝██║██║░╚███║██████╔╝╚██████╔╝███████╗░░░██║░░░██╗██║░╚███║███████╗░░░██║░░░
// ░╚════╝░░╚════╝░╚═╝╚═╝░░╚══╝╚═════╝░░╚═════╝░╚══════╝░░░╚═╝░░░╚═╝╚═╝░░╚══╝╚══════╝░░░╚═╝░░░

// Get your SAFU contract now via Coinsult.net

// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

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

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

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

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

library Address {
    function isContract(address account) internal view returns (bool) {
        return account.code.length > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal returns(bool){
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        return success;
    }

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

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

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

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

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

    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

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

    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    function verifyCallResultFromTarget(
        address target,
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        if (success) {
            if (returndata.length == 0) {
                // only check isContract if the call was successful and the return data is empty
                // otherwise we already know that it was a contract
                require(isContract(target), "Address: call to non-contract");
            }
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function _revert(bytes memory returndata, string memory errorMessage) private pure {
        // Look for revert reason and bubble it up if present
        if (returndata.length > 0) {
            // The easiest way to bubble the revert reason is using memory via assembly
            /// @solidity memory-safe-assembly
            assembly {
                let returndata_size := mload(returndata)
                revert(add(32, returndata), returndata_size)
            }
        } else {
            revert(errorMessage);
        }
    }
}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract HOS is ERC20, Ownable {
    using Address for address payable;

    IUniswapV2Router02 public uniswapV2Router;
    address public  uniswapV2Pair;

    mapping (address => bool) private _isExcludedFromFees;

    string  public creator;

    uint256 public  marketingFeeOnBuy;
    uint256 public  marketingFeeOnSell;

    uint256 public  marketingFeeOnTransfer;

    address public  marketingWallet;
    bool    public  taxDisabled;

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event MarketingWalletChanged(address marketingWallet);

    constructor () ERC20("Hotel of Secrets", "HOS") 
    {   
        address router;
        if (block.chainid == 56) {
            router = 0x10ED43C718714eb63d5aA57B78B54704E256024E; // BSC Pancake Mainnet Router
        } else if (block.chainid == 97) {
            router = 0xD99D1c33F9fC3444f8101754aBC46c52416550D1; // BSC Pancake Testnet Router
        } else if (block.chainid == 1 || block.chainid == 5) {
            router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // ETH Uniswap Mainnet % Testnet
        } else {
            revert();
        }

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair   = _uniswapV2Pair;

        _approve(address(this), address(uniswapV2Router), type(uint256).max);

        creator = "coinsult.net";

        marketingFeeOnBuy  = 0;
        marketingFeeOnSell = 8;

        marketingFeeOnTransfer = 0;

        marketingWallet = 0xD0057197c0f75Fa02E950adD87B3307ef7c3B24a;

        _isExcludedFromFees[owner()] = true;
        _isExcludedFromFees[address(0xdead)] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[0x407993575c91ce7643a4d4cCACc9A98c36eE1BBE] = true; //pinklock

        _mint(owner(), 1e9 * (10 ** decimals()));
    }

    receive() external payable {

  	}

    function claimStuckTokens(address token) external onlyOwner {
        require(token != address(this), "Owner cannot claim contract's balance of its own tokens");
        if (token == address(0x0)) {
            payable(msg.sender).sendValue(address(this).balance);
            return;
        }
        IERC20 ERC20token = IERC20(token);
        uint256 balance = ERC20token.balanceOf(address(this));
        ERC20token.transfer(msg.sender, balance);
    }

    function excludeFromFees(address account, bool excluded) external onlyOwner{
        require(_isExcludedFromFees[account] != excluded,"Account is already the value of 'excluded'");
        _isExcludedFromFees[account] = excluded;

        emit ExcludeFromFees(account, excluded);
    }

    function isExcludedFromFees(address account) public view returns(bool) {
        return _isExcludedFromFees[account];
    }

    function changeMarketingWallet(address _marketingWallet) external onlyOwner{
        require(_marketingWallet != marketingWallet,"Marketing wallet is already that address");
        require(_marketingWallet != address(0),"Marketing wallet cannot be the zero address");
        marketingWallet = _marketingWallet;

        emit MarketingWalletChanged(marketingWallet);
    }

    function disableTax() external onlyOwner {
        require(!taxDisabled, "Already disabled.");
        taxDisabled = true;
    }

    function _transfer(address from,address to,uint256 amount) internal  override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
       
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        uint256 _totalFees;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to] || taxDisabled) {
            _totalFees = 0;
        } else if (from == uniswapV2Pair) {
            _totalFees = marketingFeeOnBuy;
        } else if (to == uniswapV2Pair) {
            _totalFees =  marketingFeeOnSell;
        } else {
            _totalFees = 0;
        }

        if (_totalFees > 0) {
            uint256 fees = (amount * _totalFees) / 100;
            amount = amount - fees;
            super._transfer(from, marketingWallet, fees);
        }

        super._transfer(from, to, amount);
    }
}

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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingWallet","type":"address"}],"name":"MarketingWalletChanged","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":"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":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"changeMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"creator","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040518060400160405280601081526020017f486f74656c206f662053656372657473000000000000000000000000000000008152506040518060400160405280600381526020017f484f53000000000000000000000000000000000000000000000000000000000081525081600390816200008f919062000cbb565b508060049081620000a1919062000cbb565b5050506000620000b6620006b360201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000603846036200017d577310ed43c718714eb63d5aa57b78b54704e256024e9050620001dd565b60614603620001a35773d99d1c33f9fc3444f8101754abc46c52416550d19050620001dc565b6001461480620001b35750600546145b15620001d657737a250d5630b4cf539739df2c5dacb4c659f2488d9050620001db565b600080fd5b5b5b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000230573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000256919062000e0c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e4919062000e0c565b6040518363ffffffff1660e01b81526004016200030392919062000e4f565b6020604051808303816000875af115801562000323573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000349919062000e0c565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200042230600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620006bb60201b60201c565b6040518060400160405280600c81526020017f636f696e73756c742e6e657400000000000000000000000000000000000000008152506009908162000468919062000cbb565b506000600a819055506008600b819055506000600c8190555073d0057197c0f75fa02e950add87b3307ef7c3b24a600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000620004ec6200088c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600073407993575c91ce7643a4d4ccacc9a98c36ee1bbe73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006aa6200066f6200088c60201b60201c565b6200067f620008b660201b60201c565b600a6200068d91906200100c565b633b9aca006200069e91906200105d565b620008bf60201b60201c565b505050620012c4565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200072d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000724906200112f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200079f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200079690620011c7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516200087f9190620011fa565b60405180910390a3505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000931576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009289062001267565b60405180910390fd5b620009456000838362000a3760201b60201c565b806002600082825462000959919062001289565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620009b0919062001289565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000a179190620011fa565b60405180910390a362000a336000838362000a3c60201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000ac357607f821691505b60208210810362000ad95762000ad862000a7b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000b437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b04565b62000b4f868362000b04565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000b9c62000b9662000b908462000b67565b62000b71565b62000b67565b9050919050565b6000819050919050565b62000bb88362000b7b565b62000bd062000bc78262000ba3565b84845462000b11565b825550505050565b600090565b62000be762000bd8565b62000bf481848462000bad565b505050565b5b8181101562000c1c5762000c1060008262000bdd565b60018101905062000bfa565b5050565b601f82111562000c6b5762000c358162000adf565b62000c408462000af4565b8101602085101562000c50578190505b62000c6862000c5f8562000af4565b83018262000bf9565b50505b505050565b600082821c905092915050565b600062000c906000198460080262000c70565b1980831691505092915050565b600062000cab838362000c7d565b9150826002028217905092915050565b62000cc68262000a41565b67ffffffffffffffff81111562000ce25762000ce162000a4c565b5b62000cee825462000aaa565b62000cfb82828562000c20565b600060209050601f83116001811462000d33576000841562000d1e578287015190505b62000d2a858262000c9d565b86555062000d9a565b601f19841662000d438662000adf565b60005b8281101562000d6d5784890151825560018201915060208501945060208101905062000d46565b8683101562000d8d578489015162000d89601f89168262000c7d565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000dd48262000da7565b9050919050565b62000de68162000dc7565b811462000df257600080fd5b50565b60008151905062000e068162000ddb565b92915050565b60006020828403121562000e255762000e2462000da2565b5b600062000e358482850162000df5565b91505092915050565b62000e498162000dc7565b82525050565b600060408201905062000e66600083018562000e3e565b62000e75602083018462000e3e565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000f0a5780860481111562000ee25762000ee162000e7c565b5b600185161562000ef25780820291505b808102905062000f028562000eab565b945062000ec2565b94509492505050565b60008262000f25576001905062000ff8565b8162000f35576000905062000ff8565b816001811462000f4e576002811462000f595762000f8f565b600191505062000ff8565b60ff84111562000f6e5762000f6d62000e7c565b5b8360020a91508482111562000f885762000f8762000e7c565b5b5062000ff8565b5060208310610133831016604e8410600b841016171562000fc95782820a90508381111562000fc35762000fc262000e7c565b5b62000ff8565b62000fd8848484600162000eb8565b9250905081840481111562000ff25762000ff162000e7c565b5b81810290505b9392505050565b600060ff82169050919050565b6000620010198262000b67565b9150620010268362000fff565b9250620010557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f13565b905092915050565b60006200106a8262000b67565b9150620010778362000b67565b9250828202620010878162000b67565b91508282048414831517620010a157620010a062000e7c565b5b5092915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600062001117602483620010a8565b91506200112482620010b9565b604082019050919050565b600060208201905081810360008301526200114a8162001108565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000620011af602283620010a8565b9150620011bc8262001151565b604082019050919050565b60006020820190508181036000830152620011e281620011a0565b9050919050565b620011f48162000b67565b82525050565b6000602082019050620012116000830184620011e9565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200124f601f83620010a8565b91506200125c8262001217565b602082019050919050565b60006020820190508181036000830152620012828162001240565b9050919050565b6000620012968262000b67565b9150620012a38362000b67565b9250828201905080821115620012be57620012bd62000e7c565b5b92915050565b612ea680620012d46000396000f3fe6080604052600436106101a05760003560e01c806375f0a874116100ec578063bb85c6d11161008a578063dc4c7dbc11610064578063dc4c7dbc146105db578063dd62ed3e14610606578063f2fde38b14610643578063f9d0831a1461066c576101a7565b8063bb85c6d114610572578063c02466681461059b578063ced695a4146105c4576101a7565b80639a07579a116100c65780639a07579a146104a2578063a457c2d7146104cd578063a9059cbb1461050a578063ae28802314610547576101a7565b806375f0a874146104215780638da5cb5b1461044c57806395d89b4114610477576101a7565b8063313ce567116101595780634fbee193116101335780634fbee193146103655780635fc2e596146103a257806370a08231146103cd578063715018a61461040a576101a7565b8063313ce567146102d257806339509351146102fd57806349bd5a5e1461033a576101a7565b806302d05d3f146101ac57806306fdde03146101d7578063095ea7b3146102025780631694505e1461023f57806318160ddd1461026a57806323b872dd14610295576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610695565b6040516101ce9190612066565b60405180910390f35b3480156101e357600080fd5b506101ec610723565b6040516101f99190612066565b60405180910390f35b34801561020e57600080fd5b5061022960048036038101906102249190612121565b6107b5565b604051610236919061217c565b60405180910390f35b34801561024b57600080fd5b506102546107d3565b60405161026191906121f6565b60405180910390f35b34801561027657600080fd5b5061027f6107f9565b60405161028c9190612220565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b7919061223b565b610803565b6040516102c9919061217c565b60405180910390f35b3480156102de57600080fd5b506102e7610922565b6040516102f491906122aa565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190612121565b61092b565b604051610331919061217c565b60405180910390f35b34801561034657600080fd5b5061034f6109d7565b60405161035c91906122d4565b60405180910390f35b34801561037157600080fd5b5061038c600480360381019061038791906122ef565b6109fd565b604051610399919061217c565b60405180910390f35b3480156103ae57600080fd5b506103b7610a53565b6040516103c49190612220565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef91906122ef565b610a59565b6040516104019190612220565b60405180910390f35b34801561041657600080fd5b5061041f610aa1565b005b34801561042d57600080fd5b50610436610bf9565b60405161044391906122d4565b60405180910390f35b34801561045857600080fd5b50610461610c1f565b60405161046e91906122d4565b60405180910390f35b34801561048357600080fd5b5061048c610c49565b6040516104999190612066565b60405180910390f35b3480156104ae57600080fd5b506104b7610cdb565b6040516104c4919061217c565b60405180910390f35b3480156104d957600080fd5b506104f460048036038101906104ef9190612121565b610cee565b604051610501919061217c565b60405180910390f35b34801561051657600080fd5b50610531600480360381019061052c9190612121565b610dd9565b60405161053e919061217c565b60405180910390f35b34801561055357600080fd5b5061055c610df7565b6040516105699190612220565b60405180910390f35b34801561057e57600080fd5b50610599600480360381019061059491906122ef565b610dfd565b005b3480156105a757600080fd5b506105c260048036038101906105bd9190612348565b611030565b005b3480156105d057600080fd5b506105d9611202565b005b3480156105e757600080fd5b506105f0611306565b6040516105fd9190612220565b60405180910390f35b34801561061257600080fd5b5061062d60048036038101906106289190612388565b61130c565b60405161063a9190612220565b60405180910390f35b34801561064f57600080fd5b5061066a600480360381019061066591906122ef565b611393565b005b34801561067857600080fd5b50610693600480360381019061068e91906122ef565b611559565b005b600980546106a2906123f7565b80601f01602080910402602001604051908101604052809291908181526020018280546106ce906123f7565b801561071b5780601f106106f05761010080835404028352916020019161071b565b820191906000526020600020905b8154815290600101906020018083116106fe57829003601f168201915b505050505081565b606060038054610732906123f7565b80601f016020809104026020016040519081016040528092919081815260200182805461075e906123f7565b80156107ab5780601f10610780576101008083540402835291602001916107ab565b820191906000526020600020905b81548152906001019060200180831161078e57829003601f168201915b5050505050905090565b60006107c96107c26117c9565b84846117d1565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061084f6117c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461090b57828110156108f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ed9061249a565b60405180910390fd5b61090a856109026117c9565b8584036117d1565b5b61091685858561199a565b60019150509392505050565b60006012905090565b60006109cd6109386117c9565b8484600160006109466117c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109c891906124e9565b6117d1565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600a5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610aa96117c9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f90612569565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c58906123f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610c84906123f7565b8015610cd15780601f10610ca657610100808354040283529160200191610cd1565b820191906000526020600020905b815481529060010190602001808311610cb457829003601f168201915b5050505050905090565b600d60149054906101000a900460ff1681565b60008060016000610cfd6117c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db1906125fb565b60405180910390fd5b610dce610dc56117c9565b858584036117d1565b600191505092915050565b6000610ded610de66117c9565b848461199a565b6001905092915050565b600c5481565b610e056117c9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8b90612569565b60405180910390fd5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1b9061268d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8a9061271f565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa964ba5c52d7e7bfcae4fb1ae4db9f211756d0e618e85fac5283b882a39e7a0b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161102591906122d4565b60405180910390a150565b6110386117c9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110be90612569565b60405180910390fd5b801515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611159576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611150906127b1565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516111f6919061217c565b60405180910390a25050565b61120a6117c9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611299576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129090612569565b60405180910390fd5b600d60149054906101000a900460ff16156112e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e09061281d565b60405180910390fd5b6001600d60146101000a81548160ff021916908315150217905550565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61139b6117c9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461142a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142190612569565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611499576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611490906128af565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6115616117c9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e790612569565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361165e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165590612941565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116c1576116bb473373ffffffffffffffffffffffffffffffffffffffff16611c9290919063ffffffff16565b506117c6565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161170191906122d4565b602060405180830381865afa15801561171e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117429190612976565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161177f9291906129a3565b6020604051808303816000875af115801561179e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c291906129e1565b5050505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611840576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183790612a80565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a690612b12565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161198d9190612220565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0090612ba4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6f90612c36565b60405180910390fd5b60008103611a9157611a8c83836000611d4d565b611c8d565b6000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b345750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611b4b5750600d60149054906101000a900460ff165b15611b595760009050611c1e565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611bb857600a549050611c1d565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c1757600b549050611c1c565b600090505b5b5b6000811115611c8057600060648284611c379190612c56565b611c419190612cc7565b90508083611c4f9190612cf8565b9250611c7e85600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611d4d565b505b611c8b848484611d4d565b505b505050565b600081471015611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce90612d78565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1683604051611cfd90612dc9565b60006040518083038185875af1925050503d8060008114611d3a576040519150601f19603f3d011682016040523d82523d6000602084013e611d3f565b606091505b505090508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611dbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db390612ba4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2290612c36565b60405180910390fd5b611e36838383611fcc565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb390612e50565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f4f91906124e9565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fb39190612220565b60405180910390a3611fc6848484611fd1565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612010578082015181840152602081019050611ff5565b60008484015250505050565b6000601f19601f8301169050919050565b600061203882611fd6565b6120428185611fe1565b9350612052818560208601611ff2565b61205b8161201c565b840191505092915050565b60006020820190508181036000830152612080818461202d565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120b88261208d565b9050919050565b6120c8816120ad565b81146120d357600080fd5b50565b6000813590506120e5816120bf565b92915050565b6000819050919050565b6120fe816120eb565b811461210957600080fd5b50565b60008135905061211b816120f5565b92915050565b6000806040838503121561213857612137612088565b5b6000612146858286016120d6565b92505060206121578582860161210c565b9150509250929050565b60008115159050919050565b61217681612161565b82525050565b6000602082019050612191600083018461216d565b92915050565b6000819050919050565b60006121bc6121b76121b28461208d565b612197565b61208d565b9050919050565b60006121ce826121a1565b9050919050565b60006121e0826121c3565b9050919050565b6121f0816121d5565b82525050565b600060208201905061220b60008301846121e7565b92915050565b61221a816120eb565b82525050565b60006020820190506122356000830184612211565b92915050565b60008060006060848603121561225457612253612088565b5b6000612262868287016120d6565b9350506020612273868287016120d6565b92505060406122848682870161210c565b9150509250925092565b600060ff82169050919050565b6122a48161228e565b82525050565b60006020820190506122bf600083018461229b565b92915050565b6122ce816120ad565b82525050565b60006020820190506122e960008301846122c5565b92915050565b60006020828403121561230557612304612088565b5b6000612313848285016120d6565b91505092915050565b61232581612161565b811461233057600080fd5b50565b6000813590506123428161231c565b92915050565b6000806040838503121561235f5761235e612088565b5b600061236d858286016120d6565b925050602061237e85828601612333565b9150509250929050565b6000806040838503121561239f5761239e612088565b5b60006123ad858286016120d6565b92505060206123be858286016120d6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061240f57607f821691505b602082108103612422576124216123c8565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612484602883611fe1565b915061248f82612428565b604082019050919050565b600060208201905081810360008301526124b381612477565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006124f4826120eb565b91506124ff836120eb565b9250828201905080821115612517576125166124ba565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612553602083611fe1565b915061255e8261251d565b602082019050919050565b6000602082019050818103600083015261258281612546565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006125e5602583611fe1565b91506125f082612589565b604082019050919050565b60006020820190508181036000830152612614816125d8565b9050919050565b7f4d61726b6574696e672077616c6c657420697320616c7265616479207468617460008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b6000612677602883611fe1565b91506126828261261b565b604082019050919050565b600060208201905081810360008301526126a68161266a565b9050919050565b7f4d61726b6574696e672077616c6c65742063616e6e6f7420626520746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b6000612709602b83611fe1565b9150612714826126ad565b604082019050919050565b60006020820190508181036000830152612738816126fc565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b600061279b602a83611fe1565b91506127a68261273f565b604082019050919050565b600060208201905081810360008301526127ca8161278e565b9050919050565b7f416c72656164792064697361626c65642e000000000000000000000000000000600082015250565b6000612807601183611fe1565b9150612812826127d1565b602082019050919050565b60006020820190508181036000830152612836816127fa565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612899602683611fe1565b91506128a48261283d565b604082019050919050565b600060208201905081810360008301526128c88161288c565b9050919050565b7f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160008201527f6c616e6365206f6620697473206f776e20746f6b656e73000000000000000000602082015250565b600061292b603783611fe1565b9150612936826128cf565b604082019050919050565b6000602082019050818103600083015261295a8161291e565b9050919050565b600081519050612970816120f5565b92915050565b60006020828403121561298c5761298b612088565b5b600061299a84828501612961565b91505092915050565b60006040820190506129b860008301856122c5565b6129c56020830184612211565b9392505050565b6000815190506129db8161231c565b92915050565b6000602082840312156129f7576129f6612088565b5b6000612a05848285016129cc565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a6a602483611fe1565b9150612a7582612a0e565b604082019050919050565b60006020820190508181036000830152612a9981612a5d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612afc602283611fe1565b9150612b0782612aa0565b604082019050919050565b60006020820190508181036000830152612b2b81612aef565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b8e602583611fe1565b9150612b9982612b32565b604082019050919050565b60006020820190508181036000830152612bbd81612b81565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c20602383611fe1565b9150612c2b82612bc4565b604082019050919050565b60006020820190508181036000830152612c4f81612c13565b9050919050565b6000612c61826120eb565b9150612c6c836120eb565b9250828202612c7a816120eb565b91508282048414831517612c9157612c906124ba565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612cd2826120eb565b9150612cdd836120eb565b925082612ced57612cec612c98565b5b828204905092915050565b6000612d03826120eb565b9150612d0e836120eb565b9250828203905081811115612d2657612d256124ba565b5b92915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000612d62601d83611fe1565b9150612d6d82612d2c565b602082019050919050565b60006020820190508181036000830152612d9181612d55565b9050919050565b600081905092915050565b50565b6000612db3600083612d98565b9150612dbe82612da3565b600082019050919050565b6000612dd482612da6565b9150819050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612e3a602683611fe1565b9150612e4582612dde565b604082019050919050565b60006020820190508181036000830152612e6981612e2d565b905091905056fea2646970667358221220d7a43bd49c2dc71eb083c8586bbb3bc4b9c01ed6d6e0014412fcc4e1cdc8056764736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c806375f0a874116100ec578063bb85c6d11161008a578063dc4c7dbc11610064578063dc4c7dbc146105db578063dd62ed3e14610606578063f2fde38b14610643578063f9d0831a1461066c576101a7565b8063bb85c6d114610572578063c02466681461059b578063ced695a4146105c4576101a7565b80639a07579a116100c65780639a07579a146104a2578063a457c2d7146104cd578063a9059cbb1461050a578063ae28802314610547576101a7565b806375f0a874146104215780638da5cb5b1461044c57806395d89b4114610477576101a7565b8063313ce567116101595780634fbee193116101335780634fbee193146103655780635fc2e596146103a257806370a08231146103cd578063715018a61461040a576101a7565b8063313ce567146102d257806339509351146102fd57806349bd5a5e1461033a576101a7565b806302d05d3f146101ac57806306fdde03146101d7578063095ea7b3146102025780631694505e1461023f57806318160ddd1461026a57806323b872dd14610295576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610695565b6040516101ce9190612066565b60405180910390f35b3480156101e357600080fd5b506101ec610723565b6040516101f99190612066565b60405180910390f35b34801561020e57600080fd5b5061022960048036038101906102249190612121565b6107b5565b604051610236919061217c565b60405180910390f35b34801561024b57600080fd5b506102546107d3565b60405161026191906121f6565b60405180910390f35b34801561027657600080fd5b5061027f6107f9565b60405161028c9190612220565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b7919061223b565b610803565b6040516102c9919061217c565b60405180910390f35b3480156102de57600080fd5b506102e7610922565b6040516102f491906122aa565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190612121565b61092b565b604051610331919061217c565b60405180910390f35b34801561034657600080fd5b5061034f6109d7565b60405161035c91906122d4565b60405180910390f35b34801561037157600080fd5b5061038c600480360381019061038791906122ef565b6109fd565b604051610399919061217c565b60405180910390f35b3480156103ae57600080fd5b506103b7610a53565b6040516103c49190612220565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef91906122ef565b610a59565b6040516104019190612220565b60405180910390f35b34801561041657600080fd5b5061041f610aa1565b005b34801561042d57600080fd5b50610436610bf9565b60405161044391906122d4565b60405180910390f35b34801561045857600080fd5b50610461610c1f565b60405161046e91906122d4565b60405180910390f35b34801561048357600080fd5b5061048c610c49565b6040516104999190612066565b60405180910390f35b3480156104ae57600080fd5b506104b7610cdb565b6040516104c4919061217c565b60405180910390f35b3480156104d957600080fd5b506104f460048036038101906104ef9190612121565b610cee565b604051610501919061217c565b60405180910390f35b34801561051657600080fd5b50610531600480360381019061052c9190612121565b610dd9565b60405161053e919061217c565b60405180910390f35b34801561055357600080fd5b5061055c610df7565b6040516105699190612220565b60405180910390f35b34801561057e57600080fd5b50610599600480360381019061059491906122ef565b610dfd565b005b3480156105a757600080fd5b506105c260048036038101906105bd9190612348565b611030565b005b3480156105d057600080fd5b506105d9611202565b005b3480156105e757600080fd5b506105f0611306565b6040516105fd9190612220565b60405180910390f35b34801561061257600080fd5b5061062d60048036038101906106289190612388565b61130c565b60405161063a9190612220565b60405180910390f35b34801561064f57600080fd5b5061066a600480360381019061066591906122ef565b611393565b005b34801561067857600080fd5b50610693600480360381019061068e91906122ef565b611559565b005b600980546106a2906123f7565b80601f01602080910402602001604051908101604052809291908181526020018280546106ce906123f7565b801561071b5780601f106106f05761010080835404028352916020019161071b565b820191906000526020600020905b8154815290600101906020018083116106fe57829003601f168201915b505050505081565b606060038054610732906123f7565b80601f016020809104026020016040519081016040528092919081815260200182805461075e906123f7565b80156107ab5780601f10610780576101008083540402835291602001916107ab565b820191906000526020600020905b81548152906001019060200180831161078e57829003601f168201915b5050505050905090565b60006107c96107c26117c9565b84846117d1565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061084f6117c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461090b57828110156108f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ed9061249a565b60405180910390fd5b61090a856109026117c9565b8584036117d1565b5b61091685858561199a565b60019150509392505050565b60006012905090565b60006109cd6109386117c9565b8484600160006109466117c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109c891906124e9565b6117d1565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600a5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610aa96117c9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f90612569565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c58906123f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610c84906123f7565b8015610cd15780601f10610ca657610100808354040283529160200191610cd1565b820191906000526020600020905b815481529060010190602001808311610cb457829003601f168201915b5050505050905090565b600d60149054906101000a900460ff1681565b60008060016000610cfd6117c9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db1906125fb565b60405180910390fd5b610dce610dc56117c9565b858584036117d1565b600191505092915050565b6000610ded610de66117c9565b848461199a565b6001905092915050565b600c5481565b610e056117c9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8b90612569565b60405180910390fd5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1b9061268d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8a9061271f565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa964ba5c52d7e7bfcae4fb1ae4db9f211756d0e618e85fac5283b882a39e7a0b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161102591906122d4565b60405180910390a150565b6110386117c9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110be90612569565b60405180910390fd5b801515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611159576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611150906127b1565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516111f6919061217c565b60405180910390a25050565b61120a6117c9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611299576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129090612569565b60405180910390fd5b600d60149054906101000a900460ff16156112e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e09061281d565b60405180910390fd5b6001600d60146101000a81548160ff021916908315150217905550565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61139b6117c9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461142a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142190612569565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611499576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611490906128af565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6115616117c9565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e790612569565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361165e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165590612941565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116c1576116bb473373ffffffffffffffffffffffffffffffffffffffff16611c9290919063ffffffff16565b506117c6565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161170191906122d4565b602060405180830381865afa15801561171e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117429190612976565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161177f9291906129a3565b6020604051808303816000875af115801561179e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c291906129e1565b5050505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611840576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183790612a80565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a690612b12565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161198d9190612220565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0090612ba4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6f90612c36565b60405180910390fd5b60008103611a9157611a8c83836000611d4d565b611c8d565b6000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b345750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611b4b5750600d60149054906101000a900460ff165b15611b595760009050611c1e565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611bb857600a549050611c1d565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c1757600b549050611c1c565b600090505b5b5b6000811115611c8057600060648284611c379190612c56565b611c419190612cc7565b90508083611c4f9190612cf8565b9250611c7e85600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611d4d565b505b611c8b848484611d4d565b505b505050565b600081471015611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce90612d78565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1683604051611cfd90612dc9565b60006040518083038185875af1925050503d8060008114611d3a576040519150601f19603f3d011682016040523d82523d6000602084013e611d3f565b606091505b505090508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611dbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db390612ba4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2290612c36565b60405180910390fd5b611e36838383611fcc565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb390612e50565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f4f91906124e9565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fb39190612220565b60405180910390a3611fc6848484611fd1565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612010578082015181840152602081019050611ff5565b60008484015250505050565b6000601f19601f8301169050919050565b600061203882611fd6565b6120428185611fe1565b9350612052818560208601611ff2565b61205b8161201c565b840191505092915050565b60006020820190508181036000830152612080818461202d565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120b88261208d565b9050919050565b6120c8816120ad565b81146120d357600080fd5b50565b6000813590506120e5816120bf565b92915050565b6000819050919050565b6120fe816120eb565b811461210957600080fd5b50565b60008135905061211b816120f5565b92915050565b6000806040838503121561213857612137612088565b5b6000612146858286016120d6565b92505060206121578582860161210c565b9150509250929050565b60008115159050919050565b61217681612161565b82525050565b6000602082019050612191600083018461216d565b92915050565b6000819050919050565b60006121bc6121b76121b28461208d565b612197565b61208d565b9050919050565b60006121ce826121a1565b9050919050565b60006121e0826121c3565b9050919050565b6121f0816121d5565b82525050565b600060208201905061220b60008301846121e7565b92915050565b61221a816120eb565b82525050565b60006020820190506122356000830184612211565b92915050565b60008060006060848603121561225457612253612088565b5b6000612262868287016120d6565b9350506020612273868287016120d6565b92505060406122848682870161210c565b9150509250925092565b600060ff82169050919050565b6122a48161228e565b82525050565b60006020820190506122bf600083018461229b565b92915050565b6122ce816120ad565b82525050565b60006020820190506122e960008301846122c5565b92915050565b60006020828403121561230557612304612088565b5b6000612313848285016120d6565b91505092915050565b61232581612161565b811461233057600080fd5b50565b6000813590506123428161231c565b92915050565b6000806040838503121561235f5761235e612088565b5b600061236d858286016120d6565b925050602061237e85828601612333565b9150509250929050565b6000806040838503121561239f5761239e612088565b5b60006123ad858286016120d6565b92505060206123be858286016120d6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061240f57607f821691505b602082108103612422576124216123c8565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612484602883611fe1565b915061248f82612428565b604082019050919050565b600060208201905081810360008301526124b381612477565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006124f4826120eb565b91506124ff836120eb565b9250828201905080821115612517576125166124ba565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612553602083611fe1565b915061255e8261251d565b602082019050919050565b6000602082019050818103600083015261258281612546565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006125e5602583611fe1565b91506125f082612589565b604082019050919050565b60006020820190508181036000830152612614816125d8565b9050919050565b7f4d61726b6574696e672077616c6c657420697320616c7265616479207468617460008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b6000612677602883611fe1565b91506126828261261b565b604082019050919050565b600060208201905081810360008301526126a68161266a565b9050919050565b7f4d61726b6574696e672077616c6c65742063616e6e6f7420626520746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b6000612709602b83611fe1565b9150612714826126ad565b604082019050919050565b60006020820190508181036000830152612738816126fc565b9050919050565b7f4163636f756e7420697320616c7265616479207468652076616c7565206f662060008201527f276578636c756465642700000000000000000000000000000000000000000000602082015250565b600061279b602a83611fe1565b91506127a68261273f565b604082019050919050565b600060208201905081810360008301526127ca8161278e565b9050919050565b7f416c72656164792064697361626c65642e000000000000000000000000000000600082015250565b6000612807601183611fe1565b9150612812826127d1565b602082019050919050565b60006020820190508181036000830152612836816127fa565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612899602683611fe1565b91506128a48261283d565b604082019050919050565b600060208201905081810360008301526128c88161288c565b9050919050565b7f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160008201527f6c616e6365206f6620697473206f776e20746f6b656e73000000000000000000602082015250565b600061292b603783611fe1565b9150612936826128cf565b604082019050919050565b6000602082019050818103600083015261295a8161291e565b9050919050565b600081519050612970816120f5565b92915050565b60006020828403121561298c5761298b612088565b5b600061299a84828501612961565b91505092915050565b60006040820190506129b860008301856122c5565b6129c56020830184612211565b9392505050565b6000815190506129db8161231c565b92915050565b6000602082840312156129f7576129f6612088565b5b6000612a05848285016129cc565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a6a602483611fe1565b9150612a7582612a0e565b604082019050919050565b60006020820190508181036000830152612a9981612a5d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612afc602283611fe1565b9150612b0782612aa0565b604082019050919050565b60006020820190508181036000830152612b2b81612aef565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b8e602583611fe1565b9150612b9982612b32565b604082019050919050565b60006020820190508181036000830152612bbd81612b81565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c20602383611fe1565b9150612c2b82612bc4565b604082019050919050565b60006020820190508181036000830152612c4f81612c13565b9050919050565b6000612c61826120eb565b9150612c6c836120eb565b9250828202612c7a816120eb565b91508282048414831517612c9157612c906124ba565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612cd2826120eb565b9150612cdd836120eb565b925082612ced57612cec612c98565b5b828204905092915050565b6000612d03826120eb565b9150612d0e836120eb565b9250828203905081811115612d2657612d256124ba565b5b92915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000612d62601d83611fe1565b9150612d6d82612d2c565b602082019050919050565b60006020820190508181036000830152612d9181612d55565b9050919050565b600081905092915050565b50565b6000612db3600083612d98565b9150612dbe82612da3565b600082019050919050565b6000612dd482612da6565b9150819050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612e3a602683611fe1565b9150612e4582612dde565b604082019050919050565b60006020820190508181036000830152612e6981612e2d565b905091905056fea2646970667358221220d7a43bd49c2dc71eb083c8586bbb3bc4b9c01ed6d6e0014412fcc4e1cdc8056764736f6c63430008110033

Deployed Bytecode Sourcemap

22299:4543:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22527:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17584:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18498:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22379:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17905:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18675:573;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17804:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19256:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22427:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25203:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22558:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18021:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16771:148;;;;;;;;;;;;;:::i;:::-;;22688:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16557:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17692:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22726:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19479:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18156:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22641:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25336:379;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24905:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25723:131;;;;;;;;;;;;;:::i;:::-;;22598:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18339:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16927:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24432:465;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22527:22;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17584:100::-;17638:13;17671:5;17664:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17584:100;:::o;18498:169::-;18581:4;18598:39;18607:12;:10;:12::i;:::-;18621:7;18630:6;18598:8;:39::i;:::-;18655:4;18648:11;;18498:169;;;;:::o;22379:41::-;;;;;;;;;;;;;:::o;17905:108::-;17966:7;17993:12;;17986:19;;17905:108;:::o;18675:573::-;18815:4;18832:24;18859:11;:19;18871:6;18859:19;;;;;;;;;;;;;;;:33;18879:12;:10;:12::i;:::-;18859:33;;;;;;;;;;;;;;;;18832:60;;18927:17;18907:16;:37;18903:265;;18989:6;18969:16;:26;;18961:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;19084:57;19093:6;19101:12;:10;:12::i;:::-;19134:6;19115:16;:25;19084:8;:57::i;:::-;18903:265;19180:36;19190:6;19198:9;19209:6;19180:9;:36::i;:::-;19236:4;19229:11;;;18675:573;;;;;:::o;17804:93::-;17862:5;17887:2;17880:9;;17804:93;:::o;19256:215::-;19344:4;19361:80;19370:12;:10;:12::i;:::-;19384:7;19430:10;19393:11;:25;19405:12;:10;:12::i;:::-;19393:25;;;;;;;;;;;;;;;:34;19419:7;19393:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;19361:8;:80::i;:::-;19459:4;19452:11;;19256:215;;;;:::o;22427:29::-;;;;;;;;;;;;;:::o;25203:125::-;25268:4;25292:19;:28;25312:7;25292:28;;;;;;;;;;;;;;;;;;;;;;;;;25285:35;;25203:125;;;:::o;22558:33::-;;;;:::o;18021:127::-;18095:7;18122:9;:18;18132:7;18122:18;;;;;;;;;;;;;;;;18115:25;;18021:127;;;:::o;16771:148::-;16694:12;:10;:12::i;:::-;16684:22;;:6;;;;;;;;;;;:22;;;16676:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16878:1:::1;16841:40;;16862:6;;;;;;;;;;;16841:40;;;;;;;;;;;;16909:1;16892:6;;:19;;;;;;;;;;;;;;;;;;16771:148::o:0;22688:31::-;;;;;;;;;;;;;:::o;16557:79::-;16595:7;16622:6;;;;;;;;;;;16615:13;;16557:79;:::o;17692:104::-;17748:13;17781:7;17774:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17692:104;:::o;22726:27::-;;;;;;;;;;;;;:::o;19479:413::-;19572:4;19589:24;19616:11;:25;19628:12;:10;:12::i;:::-;19616:25;;;;;;;;;;;;;;;:34;19642:7;19616:34;;;;;;;;;;;;;;;;19589:61;;19689:15;19669:16;:35;;19661:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;19782:67;19791:12;:10;:12::i;:::-;19805:7;19833:15;19814:16;:34;19782:8;:67::i;:::-;19880:4;19873:11;;;19479:413;;;;:::o;18156:175::-;18242:4;18259:42;18269:12;:10;:12::i;:::-;18283:9;18294:6;18259:9;:42::i;:::-;18319:4;18312:11;;18156:175;;;;:::o;22641:38::-;;;;:::o;25336:379::-;16694:12;:10;:12::i;:::-;16684:22;;:6;;;;;;;;;;;:22;;;16676:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;25450:15:::1;;;;;;;;;;;25430:35;;:16;:35;;::::0;25422:87:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;25556:1;25528:30;;:16;:30;;::::0;25520:85:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;25634:16;25616:15;;:34;;;;;;;;;;;;;;;;;;25668:39;25691:15;;;;;;;;;;;25668:39;;;;;;:::i;:::-;;;;;;;;25336:379:::0;:::o;24905:290::-;16694:12;:10;:12::i;:::-;16684:22;;:6;;;;;;;;;;;:22;;;16676:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;25031:8:::1;24999:40;;:19;:28;25019:7;24999:28;;;;;;;;;;;;;;;;;;;;;;;;;:40;;::::0;24991:94:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;25127:8;25096:19;:28;25116:7;25096:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;25169:7;25153:34;;;25178:8;25153:34;;;;;;:::i;:::-;;;;;;;;24905:290:::0;;:::o;25723:131::-;16694:12;:10;:12::i;:::-;16684:22;;:6;;;;;;;;;;;:22;;;16676:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;25784:11:::1;;;;;;;;;;;25783:12;25775:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;25842:4;25828:11;;:18;;;;;;;;;;;;;;;;;;25723:131::o:0;22598:34::-;;;;:::o;18339:151::-;18428:7;18455:11;:18;18467:5;18455:18;;;;;;;;;;;;;;;:27;18474:7;18455:27;;;;;;;;;;;;;;;;18448:34;;18339:151;;;;:::o;16927:244::-;16694:12;:10;:12::i;:::-;16684:22;;:6;;;;;;;;;;;:22;;;16676:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17036:1:::1;17016:22;;:8;:22;;::::0;17008:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;17126:8;17097:38;;17118:6;;;;;;;;;;;17097:38;;;;;;;;;;;;17155:8;17146:6;;:17;;;;;;;;;;;;;;;;;;16927:244:::0;:::o;24432:465::-;16694:12;:10;:12::i;:::-;16684:22;;:6;;;;;;;;;;;:22;;;16676:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24528:4:::1;24511:22;;:5;:22;;::::0;24503:90:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;24625:3;24608:21;;:5;:21;;::::0;24604:127:::1;;24646:52;24676:21;24654:10;24646:29;;;;:52;;;;:::i;:::-;;24713:7;;24604:127;24741:17;24768:5;24741:33;;24785:15;24803:10;:20;;;24832:4;24803:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24785:53;;24849:10;:19;;;24869:10;24881:7;24849:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24492:405;;16754:1;24432:465:::0;:::o;15880:98::-;15933:7;15960:10;15953:17;;15880:98;:::o;21647:380::-;21800:1;21783:19;;:5;:19;;;21775:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21881:1;21862:21;;:7;:21;;;21854:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21965:6;21935:11;:18;21947:5;21935:18;;;;;;;;;;;;;;;:27;21954:7;21935:27;;;;;;;;;;;;;;;:36;;;;22003:7;21987:32;;21996:5;21987:32;;;22012:6;21987:32;;;;;;:::i;:::-;;;;;;;;21647:380;;;:::o;25862:977::-;25975:1;25959:18;;:4;:18;;;25951:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26052:1;26038:16;;:2;:16;;;26030:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;26128:1;26118:6;:11;26114:93;;26146:28;26162:4;26168:2;26172:1;26146:15;:28::i;:::-;26189:7;;26114:93;26219:18;26252:19;:25;26272:4;26252:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;26281:19;:23;26301:2;26281:23;;;;;;;;;;;;;;;;;;;;;;;;;26252:52;:67;;;;26308:11;;;;;;;;;;;26252:67;26248:341;;;26349:1;26336:14;;26248:341;;;26380:13;;;;;;;;;;;26372:21;;:4;:21;;;26368:221;;26423:17;;26410:30;;26368:221;;;26468:13;;;;;;;;;;;26462:19;;:2;:19;;;26458:131;;26512:18;;26498:32;;26458:131;;;26576:1;26563:14;;26458:131;26368:221;26248:341;26618:1;26605:10;:14;26601:185;;;26636:12;26675:3;26661:10;26652:6;:19;;;;:::i;:::-;26651:27;;;;:::i;:::-;26636:42;;26711:4;26702:6;:13;;;;:::i;:::-;26693:22;;26730:44;26746:4;26752:15;;;;;;;;;;;26769:4;26730:15;:44::i;:::-;26621:165;26601:185;26798:33;26814:4;26820:2;26824:6;26798:15;:33::i;:::-;25940:899;25862:977;;;;:::o;11790:266::-;11869:4;11918:6;11893:21;:31;;11885:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;11972:12;11990:9;:14;;12012:6;11990:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11971:52;;;12041:7;12034:14;;;11790:266;;;;:::o;19900:733::-;20058:1;20040:20;;:6;:20;;;20032:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;20142:1;20121:23;;:9;:23;;;20113:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;20197:47;20218:6;20226:9;20237:6;20197:20;:47::i;:::-;20257:21;20281:9;:17;20291:6;20281:17;;;;;;;;;;;;;;;;20257:41;;20334:6;20317:13;:23;;20309:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;20455:6;20439:13;:22;20419:9;:17;20429:6;20419:17;;;;;;;;;;;;;;;:42;;;;20507:6;20483:9;:20;20493:9;20483:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;20548:9;20531:35;;20540:6;20531:35;;;20559:6;20531:35;;;;;;:::i;:::-;;;;;;;;20579:46;20599:6;20607:9;20618:6;20579:19;:46::i;:::-;20021:612;19900:733;;;:::o;22035:125::-;;;;:::o;22168:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:86::-;5431:7;5471:4;5464:5;5460:16;5449:27;;5396:86;;;:::o;5488:112::-;5571:22;5587:5;5571:22;:::i;:::-;5566:3;5559:35;5488:112;;:::o;5606:214::-;5695:4;5733:2;5722:9;5718:18;5710:26;;5746:67;5810:1;5799:9;5795:17;5786:6;5746:67;:::i;:::-;5606:214;;;;:::o;5826:118::-;5913:24;5931:5;5913:24;:::i;:::-;5908:3;5901:37;5826:118;;:::o;5950:222::-;6043:4;6081:2;6070:9;6066:18;6058:26;;6094:71;6162:1;6151:9;6147:17;6138:6;6094:71;:::i;:::-;5950:222;;;;:::o;6178:329::-;6237:6;6286:2;6274:9;6265:7;6261:23;6257:32;6254:119;;;6292:79;;:::i;:::-;6254:119;6412:1;6437:53;6482:7;6473:6;6462:9;6458:22;6437:53;:::i;:::-;6427:63;;6383:117;6178:329;;;;:::o;6513:116::-;6583:21;6598:5;6583:21;:::i;:::-;6576:5;6573:32;6563:60;;6619:1;6616;6609:12;6563:60;6513:116;:::o;6635:133::-;6678:5;6716:6;6703:20;6694:29;;6732:30;6756:5;6732:30;:::i;:::-;6635:133;;;;:::o;6774:468::-;6839:6;6847;6896:2;6884:9;6875:7;6871:23;6867:32;6864:119;;;6902:79;;:::i;:::-;6864:119;7022:1;7047:53;7092:7;7083:6;7072:9;7068:22;7047:53;:::i;:::-;7037:63;;6993:117;7149:2;7175:50;7217:7;7208:6;7197:9;7193:22;7175:50;:::i;:::-;7165:60;;7120:115;6774:468;;;;;:::o;7248:474::-;7316:6;7324;7373:2;7361:9;7352:7;7348:23;7344:32;7341:119;;;7379:79;;:::i;:::-;7341:119;7499:1;7524:53;7569:7;7560:6;7549:9;7545:22;7524:53;:::i;:::-;7514:63;;7470:117;7626:2;7652:53;7697:7;7688:6;7677:9;7673:22;7652:53;:::i;:::-;7642:63;;7597:118;7248:474;;;;;:::o;7728:180::-;7776:77;7773:1;7766:88;7873:4;7870:1;7863:15;7897:4;7894:1;7887:15;7914:320;7958:6;7995:1;7989:4;7985:12;7975:22;;8042:1;8036:4;8032:12;8063:18;8053:81;;8119:4;8111:6;8107:17;8097:27;;8053:81;8181:2;8173:6;8170:14;8150:18;8147:38;8144:84;;8200:18;;:::i;:::-;8144:84;7965:269;7914:320;;;:::o;8240:227::-;8380:34;8376:1;8368:6;8364:14;8357:58;8449:10;8444:2;8436:6;8432:15;8425:35;8240:227;:::o;8473:366::-;8615:3;8636:67;8700:2;8695:3;8636:67;:::i;:::-;8629:74;;8712:93;8801:3;8712:93;:::i;:::-;8830:2;8825:3;8821:12;8814:19;;8473:366;;;:::o;8845:419::-;9011:4;9049:2;9038:9;9034:18;9026:26;;9098:9;9092:4;9088:20;9084:1;9073:9;9069:17;9062:47;9126:131;9252:4;9126:131;:::i;:::-;9118:139;;8845:419;;;:::o;9270:180::-;9318:77;9315:1;9308:88;9415:4;9412:1;9405:15;9439:4;9436:1;9429:15;9456:191;9496:3;9515:20;9533:1;9515:20;:::i;:::-;9510:25;;9549:20;9567:1;9549:20;:::i;:::-;9544:25;;9592:1;9589;9585:9;9578:16;;9613:3;9610:1;9607:10;9604:36;;;9620:18;;:::i;:::-;9604:36;9456:191;;;;:::o;9653:182::-;9793:34;9789:1;9781:6;9777:14;9770:58;9653:182;:::o;9841:366::-;9983:3;10004:67;10068:2;10063:3;10004:67;:::i;:::-;9997:74;;10080:93;10169:3;10080:93;:::i;:::-;10198:2;10193:3;10189:12;10182:19;;9841:366;;;:::o;10213:419::-;10379:4;10417:2;10406:9;10402:18;10394:26;;10466:9;10460:4;10456:20;10452:1;10441:9;10437:17;10430:47;10494:131;10620:4;10494:131;:::i;:::-;10486:139;;10213:419;;;:::o;10638:224::-;10778:34;10774:1;10766:6;10762:14;10755:58;10847:7;10842:2;10834:6;10830:15;10823:32;10638:224;:::o;10868:366::-;11010:3;11031:67;11095:2;11090:3;11031:67;:::i;:::-;11024:74;;11107:93;11196:3;11107:93;:::i;:::-;11225:2;11220:3;11216:12;11209:19;;10868:366;;;:::o;11240:419::-;11406:4;11444:2;11433:9;11429:18;11421:26;;11493:9;11487:4;11483:20;11479:1;11468:9;11464:17;11457:47;11521:131;11647:4;11521:131;:::i;:::-;11513:139;;11240:419;;;:::o;11665:227::-;11805:34;11801:1;11793:6;11789:14;11782:58;11874:10;11869:2;11861:6;11857:15;11850:35;11665:227;:::o;11898:366::-;12040:3;12061:67;12125:2;12120:3;12061:67;:::i;:::-;12054:74;;12137:93;12226:3;12137:93;:::i;:::-;12255:2;12250:3;12246:12;12239:19;;11898:366;;;:::o;12270:419::-;12436:4;12474:2;12463:9;12459:18;12451:26;;12523:9;12517:4;12513:20;12509:1;12498:9;12494:17;12487:47;12551:131;12677:4;12551:131;:::i;:::-;12543:139;;12270:419;;;:::o;12695:230::-;12835:34;12831:1;12823:6;12819:14;12812:58;12904:13;12899:2;12891:6;12887:15;12880:38;12695:230;:::o;12931:366::-;13073:3;13094:67;13158:2;13153:3;13094:67;:::i;:::-;13087:74;;13170:93;13259:3;13170:93;:::i;:::-;13288:2;13283:3;13279:12;13272:19;;12931:366;;;:::o;13303:419::-;13469:4;13507:2;13496:9;13492:18;13484:26;;13556:9;13550:4;13546:20;13542:1;13531:9;13527:17;13520:47;13584:131;13710:4;13584:131;:::i;:::-;13576:139;;13303:419;;;:::o;13728:229::-;13868:34;13864:1;13856:6;13852:14;13845:58;13937:12;13932:2;13924:6;13920:15;13913:37;13728:229;:::o;13963:366::-;14105:3;14126:67;14190:2;14185:3;14126:67;:::i;:::-;14119:74;;14202:93;14291:3;14202:93;:::i;:::-;14320:2;14315:3;14311:12;14304:19;;13963:366;;;:::o;14335:419::-;14501:4;14539:2;14528:9;14524:18;14516:26;;14588:9;14582:4;14578:20;14574:1;14563:9;14559:17;14552:47;14616:131;14742:4;14616:131;:::i;:::-;14608:139;;14335:419;;;:::o;14760:167::-;14900:19;14896:1;14888:6;14884:14;14877:43;14760:167;:::o;14933:366::-;15075:3;15096:67;15160:2;15155:3;15096:67;:::i;:::-;15089:74;;15172:93;15261:3;15172:93;:::i;:::-;15290:2;15285:3;15281:12;15274:19;;14933:366;;;:::o;15305:419::-;15471:4;15509:2;15498:9;15494:18;15486:26;;15558:9;15552:4;15548:20;15544:1;15533:9;15529:17;15522:47;15586:131;15712:4;15586:131;:::i;:::-;15578:139;;15305:419;;;:::o;15730:225::-;15870:34;15866:1;15858:6;15854:14;15847:58;15939:8;15934:2;15926:6;15922:15;15915:33;15730:225;:::o;15961:366::-;16103:3;16124:67;16188:2;16183:3;16124:67;:::i;:::-;16117:74;;16200:93;16289:3;16200:93;:::i;:::-;16318:2;16313:3;16309:12;16302:19;;15961:366;;;:::o;16333:419::-;16499:4;16537:2;16526:9;16522:18;16514:26;;16586:9;16580:4;16576:20;16572:1;16561:9;16557:17;16550:47;16614:131;16740:4;16614:131;:::i;:::-;16606:139;;16333:419;;;:::o;16758:242::-;16898:34;16894:1;16886:6;16882:14;16875:58;16967:25;16962:2;16954:6;16950:15;16943:50;16758:242;:::o;17006:366::-;17148:3;17169:67;17233:2;17228:3;17169:67;:::i;:::-;17162:74;;17245:93;17334:3;17245:93;:::i;:::-;17363:2;17358:3;17354:12;17347:19;;17006:366;;;:::o;17378:419::-;17544:4;17582:2;17571:9;17567:18;17559:26;;17631:9;17625:4;17621:20;17617:1;17606:9;17602:17;17595:47;17659:131;17785:4;17659:131;:::i;:::-;17651:139;;17378:419;;;:::o;17803:143::-;17860:5;17891:6;17885:13;17876:22;;17907:33;17934:5;17907:33;:::i;:::-;17803:143;;;;:::o;17952:351::-;18022:6;18071:2;18059:9;18050:7;18046:23;18042:32;18039:119;;;18077:79;;:::i;:::-;18039:119;18197:1;18222:64;18278:7;18269:6;18258:9;18254:22;18222:64;:::i;:::-;18212:74;;18168:128;17952:351;;;;:::o;18309:332::-;18430:4;18468:2;18457:9;18453:18;18445:26;;18481:71;18549:1;18538:9;18534:17;18525:6;18481:71;:::i;:::-;18562:72;18630:2;18619:9;18615:18;18606:6;18562:72;:::i;:::-;18309:332;;;;;:::o;18647:137::-;18701:5;18732:6;18726:13;18717:22;;18748:30;18772:5;18748:30;:::i;:::-;18647:137;;;;:::o;18790:345::-;18857:6;18906:2;18894:9;18885:7;18881:23;18877:32;18874:119;;;18912:79;;:::i;:::-;18874:119;19032:1;19057:61;19110:7;19101:6;19090:9;19086:22;19057:61;:::i;:::-;19047:71;;19003:125;18790:345;;;;:::o;19141:223::-;19281:34;19277:1;19269:6;19265:14;19258:58;19350:6;19345:2;19337:6;19333:15;19326:31;19141:223;:::o;19370:366::-;19512:3;19533:67;19597:2;19592:3;19533:67;:::i;:::-;19526:74;;19609:93;19698:3;19609:93;:::i;:::-;19727:2;19722:3;19718:12;19711:19;;19370:366;;;:::o;19742:419::-;19908:4;19946:2;19935:9;19931:18;19923:26;;19995:9;19989:4;19985:20;19981:1;19970:9;19966:17;19959:47;20023:131;20149:4;20023:131;:::i;:::-;20015:139;;19742:419;;;:::o;20167:221::-;20307:34;20303:1;20295:6;20291:14;20284:58;20376:4;20371:2;20363:6;20359:15;20352:29;20167:221;:::o;20394:366::-;20536:3;20557:67;20621:2;20616:3;20557:67;:::i;:::-;20550:74;;20633:93;20722:3;20633:93;:::i;:::-;20751:2;20746:3;20742:12;20735:19;;20394:366;;;:::o;20766:419::-;20932:4;20970:2;20959:9;20955:18;20947:26;;21019:9;21013:4;21009:20;21005:1;20994:9;20990:17;20983:47;21047:131;21173:4;21047:131;:::i;:::-;21039:139;;20766:419;;;:::o;21191:224::-;21331:34;21327:1;21319:6;21315:14;21308:58;21400:7;21395:2;21387:6;21383:15;21376:32;21191:224;:::o;21421:366::-;21563:3;21584:67;21648:2;21643:3;21584:67;:::i;:::-;21577:74;;21660:93;21749:3;21660:93;:::i;:::-;21778:2;21773:3;21769:12;21762:19;;21421:366;;;:::o;21793:419::-;21959:4;21997:2;21986:9;21982:18;21974:26;;22046:9;22040:4;22036:20;22032:1;22021:9;22017:17;22010:47;22074:131;22200:4;22074:131;:::i;:::-;22066:139;;21793:419;;;:::o;22218:222::-;22358:34;22354:1;22346:6;22342:14;22335:58;22427:5;22422:2;22414:6;22410:15;22403:30;22218:222;:::o;22446:366::-;22588:3;22609:67;22673:2;22668:3;22609:67;:::i;:::-;22602:74;;22685:93;22774:3;22685:93;:::i;:::-;22803:2;22798:3;22794:12;22787:19;;22446:366;;;:::o;22818:419::-;22984:4;23022:2;23011:9;23007:18;22999:26;;23071:9;23065:4;23061:20;23057:1;23046:9;23042:17;23035:47;23099:131;23225:4;23099:131;:::i;:::-;23091:139;;22818:419;;;:::o;23243:410::-;23283:7;23306:20;23324:1;23306:20;:::i;:::-;23301:25;;23340:20;23358:1;23340:20;:::i;:::-;23335:25;;23395:1;23392;23388:9;23417:30;23435:11;23417:30;:::i;:::-;23406:41;;23596:1;23587:7;23583:15;23580:1;23577:22;23557:1;23550:9;23530:83;23507:139;;23626:18;;:::i;:::-;23507:139;23291:362;23243:410;;;;:::o;23659:180::-;23707:77;23704:1;23697:88;23804:4;23801:1;23794:15;23828:4;23825:1;23818:15;23845:185;23885:1;23902:20;23920:1;23902:20;:::i;:::-;23897:25;;23936:20;23954:1;23936:20;:::i;:::-;23931:25;;23975:1;23965:35;;23980:18;;:::i;:::-;23965:35;24022:1;24019;24015:9;24010:14;;23845:185;;;;:::o;24036:194::-;24076:4;24096:20;24114:1;24096:20;:::i;:::-;24091:25;;24130:20;24148:1;24130:20;:::i;:::-;24125:25;;24174:1;24171;24167:9;24159:17;;24198:1;24192:4;24189:11;24186:37;;;24203:18;;:::i;:::-;24186:37;24036:194;;;;:::o;24236:179::-;24376:31;24372:1;24364:6;24360:14;24353:55;24236:179;:::o;24421:366::-;24563:3;24584:67;24648:2;24643:3;24584:67;:::i;:::-;24577:74;;24660:93;24749:3;24660:93;:::i;:::-;24778:2;24773:3;24769:12;24762:19;;24421:366;;;:::o;24793:419::-;24959:4;24997:2;24986:9;24982:18;24974:26;;25046:9;25040:4;25036:20;25032:1;25021:9;25017:17;25010:47;25074:131;25200:4;25074:131;:::i;:::-;25066:139;;24793:419;;;:::o;25218:147::-;25319:11;25356:3;25341:18;;25218:147;;;;:::o;25371:114::-;;:::o;25491:398::-;25650:3;25671:83;25752:1;25747:3;25671:83;:::i;:::-;25664:90;;25763:93;25852:3;25763:93;:::i;:::-;25881:1;25876:3;25872:11;25865:18;;25491:398;;;:::o;25895:379::-;26079:3;26101:147;26244:3;26101:147;:::i;:::-;26094:154;;26265:3;26258:10;;25895:379;;;:::o;26280:225::-;26420:34;26416:1;26408:6;26404:14;26397:58;26489:8;26484:2;26476:6;26472:15;26465:33;26280:225;:::o;26511:366::-;26653:3;26674:67;26738:2;26733:3;26674:67;:::i;:::-;26667:74;;26750:93;26839:3;26750:93;:::i;:::-;26868:2;26863:3;26859:12;26852:19;;26511:366;;;:::o;26883:419::-;27049:4;27087:2;27076:9;27072:18;27064:26;;27136:9;27130:4;27126:20;27122:1;27111:9;27107:17;27100:47;27164:131;27290:4;27164:131;:::i;:::-;27156:139;;26883:419;;;:::o

Swarm Source

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