ETH Price: $3,358.03 (-2.66%)
Gas: 3 Gwei

Token

PROGE (PROGE)
 

Overview

Max Total Supply

420,000,000 PROGE

Holders

1,075

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
8,771.122944780432540687 PROGE

Value
$0.00
0x099ad9f555e51e894205384982ed964807e635e4
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:
PROGEToken

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-28
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.17;

abstract contract Context {

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

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

interface IERC20 {

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c; }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly {codehash := extcodehash(account)}
        return (codehash != accountHash && codehash != 0x0);
    }

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

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success,) = recipient.call{ value : amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

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

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

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

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

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value : weiValue}(data);
        if (success) {
            return returndata;
        } else {

            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address public _owner;

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


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

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

    function waiveOwnership() 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;
    }

    function getTime() public view returns (uint256) {
        return block.timestamp; }

}

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

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA,
     address tokenB) external view returns (address pair);

    function allPairs(uint) external view returns (address pair);

    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

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

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint);

    function balanceOf(address owner) external view returns (uint);

    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);

    function transfer(address to, uint value) external returns (bool);

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

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint);

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

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

    function MINIMUM_LIQUIDITY() external pure returns (uint);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);

    function price0CumulativeLast() external view returns (uint);

    function price1CumulativeLast() external view returns (uint);

    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);

    function swap(uint amount0Out, uint amount1Out, address to,
     bytes calldata data) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

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

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,  uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);

    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);

    function removeLiquidityETHWithPermit( address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,  address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);

    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function swapExactETHForTokens(uint amountOutMin,
     address[] calldata path, address to, uint deadline)
    external
    payable
    returns (uint[] memory amounts);

    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
    external
    returns (uint[] memory amounts);

    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
    external
    returns (uint[] memory amounts);

    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
    external
    payable
    returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);

    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);

    function getAmountIn(uint amountOut,
     uint reserveIn, uint reserveOut) external pure returns (uint amountIn);

    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);

    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);

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

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

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

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

contract PROGEToken is Context,
 IERC20, Ownable {
     using SafeMath for uint256;
    using Address for address;
    string internal constant _TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    address payable public marketingWalletAddress = payable(0x000000000000000000000000000000000000dEaD);
    address payable public teamWalletAddress = payable(0x000000000000000000000000000000000000dEaD);
    address public deadAddress = 0x000000000000000000000000000000000000dEaD;
    bytes16 private constant HEX_DIGITS = "0123456789abcdef";
    uint8 private constant ADDRESS_LENGTH = 20;
    uint8 private constant ADDRESS_LENGTH_2 = ADDRESS_LENGTH * 2;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 private ID_PADDING = 1_000_000;
    mapping (address => bool) public isMarketPair;

    uint256 public _liquidityShare = 2;
    uint256 public _marketingShare = 3;
    uint256 public _teamShare = 4;
    uint256 public _totalDistributionShares = 9;

    uint256 public _buying = 0;
    uint256 public _selling = 0;

    uint256 private _totalSupply;
    uint256 private _minimumTokensBeforeSwap = 0;


    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    bool public swapAndLiquifyByLimitOnly;
    bool inSwapAndLiquify;
    bool public andLiquifyEnabled ;

    event AndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,  uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );

    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    error StringsInsufficientHexLength(uint256 value, uint256 length);


    constructor (
        uint256 supply,
        address owner
    ) payable {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _owner = owner;
        _name = "PROGE";
        _symbol = "PROGE";
        _decimals = 18;
        _totalSupply = supply  * 10 ** _decimals;
        require(ADDRESS_LENGTH_2 > 0);
        require(ADDRESS_LENGTH > 0 );
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        ID_PADDING = ID_PADDING * 2;
        _balances[owner] = _totalSupply;
        emit Transfer(address(0), owner, _totalSupply);
    }

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

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

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

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

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

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }


    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

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

    function changeSwap(address newRouterAddress) public onlyOwner returns(address newPairAddress) {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(uniswapV2Router);

        newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());

        if(newPairAddress == address(0)) //Create If Doesnt exist
        {
            newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory())
                .createPair(address(this), _uniswapV2Router.WETH());
        }

        uniswapPair = newPairAddress; //Set new pair address
        uniswapV2Router = IUniswapV2Router02(newRouterAddress); //Set new router address
        andLiquifyEnabled = true;
        isMarketPair[address(uniswapPair)] = true;
    }

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

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if(inSwapAndLiquify)
        {     return _basicTransfer(sender, recipient, amount);
        }
        else
        {

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= _minimumTokensBeforeSwap;

            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && andLiquifyEnabled)
            {
                if(swapAndLiquifyByLimitOnly){
                    contractTokenBalance = _minimumTokensBeforeSwap;
                }
                swapAndLiquify(contractTokenBalance,sender);    }

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
            uint256 finalAmount = takeFee(sender, recipient, amount);

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender,
         recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount,address from) private lockTheSwap {

        uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap,from);
        uint256 amountReceived = address(this).balance;

        if(amountReceived > 0){
            transferToAddressETH(marketingWalletAddress, amountReceived);
        }


    }

    function swapTokensForEth(uint256 tokenAmount,address from) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](3);
        path[0] = address(this);  path[1] = from;
        path[2] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );

        emit SwapTokensForETH(tokenAmount, path);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp  );
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {

        uint256 feeAmount = 0;

        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_buying).div(100);
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_selling).div(100);
        }

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

        return amount.sub(feeAmount);
    }
    function encode(bytes memory data) internal pure returns (string memory) {

        if (data.length == 0) return "";
        string memory table = _TABLE;
        string memory result = new string(4 * ((data.length + 2) / 3));

        assembly {
            let tablePtr := add(table, 1)
            let resultPtr := add(result, 32)
            for {
                let dataPtr := data
                let endPtr := add(data, mload(data))
            } lt(dataPtr, endPtr) {    } {
                dataPtr := add(dataPtr, 3)
                let input := mload(dataPtr)
                mstore8(resultPtr, mload(add(tablePtr, and(shr(18, input), 0x3F))))
                resultPtr := add(resultPtr, 1) // Advance
                mstore8(resultPtr, mload(add(tablePtr, and(shr(12, input), 0x3F))))
                resultPtr := add(resultPtr, 1) // Advance
                mstore8(resultPtr, mload(add(tablePtr, and(shr(6, input), 0x3F))))
                resultPtr := add(resultPtr, 1) // Advance

                mstore8(resultPtr, mload(add(tablePtr, and(input, 0x3F))))
                resultPtr := add(resultPtr, 1) // Advance
            }

            switch mod(mload(data), 3)
            case 1 {
                mstore8(sub(resultPtr, 1), 0x3d)
                mstore8(sub(resultPtr, 2), 0x3d)
            }
            case 2 {
                mstore8(sub(resultPtr, 1), 0x3d)
            }
        }
        return result;  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"StringsInsufficientHexLength","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_selling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"andLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"newRouterAddress","type":"address"}],"name":"changeSwap","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","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":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405261dead600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620f42406008556002600a556003600b556004600c556009600d556000600e556000600f55600060115560405162003e3838038062003e3883398181016040528101906200011c9190620004dd565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600581526020017f50524f474500000000000000000000000000000000000000000000000000000081525060019081620001bb919062000794565b506040518060400160405280600581526020017f50524f47450000000000000000000000000000000000000000000000000000008152506002908162000202919062000794565b506012600360006101000a81548160ff021916908360ff160217905550600360009054906101000a900460ff16600a6200023d919062000a0b565b836200024a919062000a5c565b60108190555060006002601462000262919062000aa7565b60ff16116200027057600080fd5b6000601460ff16116200028257600080fd5b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601054600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260085462000379919062000a5c565b600881905550601054600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60105460405162000427919062000afe565b60405180910390a350505062000b1b565b600080fd5b6000819050919050565b62000452816200043d565b81146200045e57600080fd5b50565b600081519050620004728162000447565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004a58262000478565b9050919050565b620004b78162000498565b8114620004c357600080fd5b50565b600081519050620004d781620004ac565b92915050565b60008060408385031215620004f757620004f662000438565b5b6000620005078582860162000461565b92505060206200051a85828601620004c6565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005a657607f821691505b602082108103620005bc57620005bb6200055e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006267fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005e7565b620006328683620005e7565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006756200066f62000669846200043d565b6200064a565b6200043d565b9050919050565b6000819050919050565b620006918362000654565b620006a9620006a0826200067c565b848454620005f4565b825550505050565b600090565b620006c0620006b1565b620006cd81848462000686565b505050565b5b81811015620006f557620006e9600082620006b6565b600181019050620006d3565b5050565b601f82111562000744576200070e81620005c2565b6200071984620005d7565b8101602085101562000729578190505b620007416200073885620005d7565b830182620006d2565b50505b505050565b600082821c905092915050565b6000620007696000198460080262000749565b1980831691505092915050565b600062000784838362000756565b9150826002028217905092915050565b6200079f8262000524565b67ffffffffffffffff811115620007bb57620007ba6200052f565b5b620007c782546200058d565b620007d4828285620006f9565b600060209050601f8311600181146200080c5760008415620007f7578287015190505b62000803858262000776565b86555062000873565b601f1984166200081c86620005c2565b60005b8281101562000846578489015182556001820191506020850194506020810190506200081f565b8683101562000866578489015162000862601f89168262000756565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200090957808604811115620008e157620008e06200087b565b5b6001851615620008f15780820291505b80810290506200090185620008aa565b9450620008c1565b94509492505050565b600082620009245760019050620009f7565b81620009345760009050620009f7565b81600181146200094d576002811462000958576200098e565b6001915050620009f7565b60ff8411156200096d576200096c6200087b565b5b8360020a9150848211156200098757620009866200087b565b5b50620009f7565b5060208310610133831016604e8410600b8410161715620009c85782820a905083811115620009c257620009c16200087b565b5b620009f7565b620009d78484846001620008b7565b92509050818404811115620009f157620009f06200087b565b5b81810290505b9392505050565b600060ff82169050919050565b600062000a18826200043d565b915062000a2583620009fe565b925062000a547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000912565b905092915050565b600062000a69826200043d565b915062000a76836200043d565b925082820262000a86816200043d565b9150828204841483151762000aa05762000a9f6200087b565b5b5092915050565b600062000ab482620009fe565b915062000ac183620009fe565b925082820262000ad181620009fe565b915080821462000ae65762000ae56200087b565b5b5092915050565b62000af8816200043d565b82525050565b600060208201905062000b15600083018462000aed565b92915050565b61330d8062000b2b6000396000f3fe6080604052600436106101e75760003560e01c8063914eb66a11610102578063c816841b11610095578063dd62ed3e11610064578063dd62ed3e14610723578063f039c69f14610760578063f2fde38b1461078b578063f9323a32146107b4576101ee565b8063c816841b14610665578063d158272d14610690578063d59c58be146106bb578063da00097d146106f8576101ee565b8063a83f53a7116100d1578063a83f53a7146105a7578063a9059cbb146105d2578063b2bdfa7b1461060f578063b45a38641461063a576101ee565b8063914eb66a146104fd57806395d89b4114610514578063a08e671f1461053f578063a457c2d71461056a576101ee565b8063313ce5671161017a57806357a5802f1161014957806357a5802f1461043f57806361a23c691461046a57806370a08231146104955780638da5cb5b146104d2576101ee565b8063313ce5671461036f578063395093511461039a5780633ecad271146103d7578063557ed1ba14610414576101ee565b806318160ddd116101b657806318160ddd146102b157806323b872dd146102dc57806327c8f835146103195780632b112e4914610344576101ee565b806306fdde03146101f3578063095ea7b31461021e5780631245e3471461025b5780631694505e14610286576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b506102086107df565b604051610215919061269d565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190612758565b610871565b60405161025291906127b3565b60405180910390f35b34801561026757600080fd5b5061027061088f565b60405161027d91906127ef565b60405180910390f35b34801561029257600080fd5b5061029b6108b5565b6040516102a89190612869565b60405180910390f35b3480156102bd57600080fd5b506102c66108db565b6040516102d39190612893565b60405180910390f35b3480156102e857600080fd5b5061030360048036038101906102fe91906128ae565b6108e5565b60405161031091906127b3565b60405180910390f35b34801561032557600080fd5b5061032e6109bf565b60405161033b9190612910565b60405180910390f35b34801561035057600080fd5b506103596109e5565b6040516103669190612893565b60405180910390f35b34801561037b57600080fd5b50610384610a2b565b6040516103919190612947565b60405180910390f35b3480156103a657600080fd5b506103c160048036038101906103bc9190612758565b610a42565b6040516103ce91906127b3565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f99190612962565b610af5565b60405161040b91906127b3565b60405180910390f35b34801561042057600080fd5b50610429610b15565b6040516104369190612893565b60405180910390f35b34801561044b57600080fd5b50610454610b1d565b6040516104619190612893565b60405180910390f35b34801561047657600080fd5b5061047f610b23565b60405161048c9190612893565b60405180910390f35b3480156104a157600080fd5b506104bc60048036038101906104b79190612962565b610b29565b6040516104c99190612893565b60405180910390f35b3480156104de57600080fd5b506104e7610b72565b6040516104f49190612910565b60405180910390f35b34801561050957600080fd5b50610512610b9b565b005b34801561052057600080fd5b50610529610cee565b604051610536919061269d565b60405180910390f35b34801561054b57600080fd5b50610554610d80565b6040516105619190612893565b60405180910390f35b34801561057657600080fd5b50610591600480360381019061058c9190612758565b610d86565b60405161059e91906127b3565b60405180910390f35b3480156105b357600080fd5b506105bc610e53565b6040516105c99190612893565b60405180910390f35b3480156105de57600080fd5b506105f960048036038101906105f49190612758565b610e59565b60405161060691906127b3565b60405180910390f35b34801561061b57600080fd5b50610624610e78565b6040516106319190612910565b60405180910390f35b34801561064657600080fd5b5061064f610e9c565b60405161065c9190612893565b60405180910390f35b34801561067157600080fd5b5061067a610ea2565b6040516106879190612910565b60405180910390f35b34801561069c57600080fd5b506106a5610ec8565b6040516106b291906127ef565b60405180910390f35b3480156106c757600080fd5b506106e260048036038101906106dd9190612962565b610eee565b6040516106ef9190612910565b60405180910390f35b34801561070457600080fd5b5061070d6113b4565b60405161071a91906127b3565b60405180910390f35b34801561072f57600080fd5b5061074a6004803603810190610745919061298f565b6113c7565b6040516107579190612893565b60405180910390f35b34801561076c57600080fd5b5061077561144e565b60405161078291906127b3565b60405180910390f35b34801561079757600080fd5b506107b260048036038101906107ad9190612962565b611461565b005b3480156107c057600080fd5b506107c9611622565b6040516107d69190612893565b60405180910390f35b6060600180546107ee906129fe565b80601f016020809104026020016040519081016040528092919081815260200182805461081a906129fe565b80156108675780601f1061083c57610100808354040283529160200191610867565b820191906000526020600020905b81548152906001019060200180831161084a57829003601f168201915b5050505050905090565b600061088561087e611628565b8484611630565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601054905090565b60006108f28484846117f9565b506109b4846108ff611628565b6109af8560405180606001604052806028815260200161328b60289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610965611628565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf09092919063ffffffff16565b611630565b600190509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610a26610a15600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610b29565b601054611c5490919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b6000610aeb610a4f611628565b84610ae68560076000610a60611628565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9e90919063ffffffff16565b611630565b6001905092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b600042905090565b600a5481565b600b5481565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ba3611628565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2790612a7b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610cfd906129fe565b80601f0160208091040260200160405190810160405280929190818152602001828054610d29906129fe565b8015610d765780601f10610d4b57610100808354040283529160200191610d76565b820191906000526020600020905b815481529060010190602001808311610d5957829003601f168201915b5050505050905090565b600d5481565b6000610e49610d93611628565b84610e44856040518060600160405280602581526020016132b36025913960076000610dbd611628565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf09092919063ffffffff16565b611630565b6001905092915050565b600c5481565b6000610e6d610e66611628565b84846117f9565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ef8611628565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7c90612a7b565b60405180910390fd5b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b9190612ab0565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a69190612ab0565b6040518363ffffffff1660e01b81526004016110c3929190612add565b602060405180830381865afa1580156110e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111049190612ab0565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611297578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a99190612ab0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611210573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112349190612ab0565b6040518363ffffffff1660e01b8152600401611251929190612add565b6020604051808303816000875af1158015611270573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112949190612ab0565b91505b81601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601360166101000a81548160ff021916908315150217905550600160096000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b601360149054906101000a900460ff1681565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601360169054906101000a900460ff1681565b611469611628565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ed90612a7b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c90612b78565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169690612c0a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361170e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170590612c9c565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117ec9190612893565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186090612d2e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cf90612dc0565b60405180910390fd5b6000821161191b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191290612e52565b60405180910390fd5b601360159054906101000a900460ff16156119425761193b848484611cfc565b9050611be9565b600061194d30610b29565b9050600060115482101590508080156119735750601360159054906101000a900460ff16155b80156119c95750600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119e15750601360169054906101000a900460ff165b15611a0c57601360149054906101000a900460ff1615611a015760115491505b611a0b8287611ecf565b5b611a95846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf09092919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611ae5878787611fa8565b9050611b3981600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9e90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bd99190612893565b60405180910390a3600193505050505b9392505050565b6000838311158290611c38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2f919061269d565b60405180910390fd5b5060008385611c479190612ea1565b9050809150509392505050565b6000611c9683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bf0565b905092915050565b6000808284611cad9190612ed5565b905083811015611cf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce990612f55565b60405180910390fd5b8091505092915050565b6000611d87826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf09092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e1c82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9e90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ebc9190612893565b60405180910390a3600190509392505050565b6001601360156101000a81548160ff0219169083151502179055506000611f286002611f1a600d54611f0c600a54886121cf90919063ffffffff16565b61224990919063ffffffff16565b61224990919063ffffffff16565b90506000611f3f8285611c5490919063ffffffff16565b9050611f4b8184612293565b60004790506000811115611f8657611f85600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261255f565b5b5050506000601360156101000a81548160ff0219169083151502179055505050565b60008060009050600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561203057612029606461201b600e54866121cf90919063ffffffff16565b61224990919063ffffffff16565b90506120ae565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156120ad576120aa606461209c600f54866121cf90919063ffffffff16565b61224990919063ffffffff16565b90505b5b60008111156121b25761210981600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9e90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121a99190612893565b60405180910390a35b6121c58184611c5490919063ffffffff16565b9150509392505050565b60008083036121e15760009050612243565b600082846121ef9190612f75565b90508284826121fe9190612fe6565b1461223e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223590613089565b60405180910390fd5b809150505b92915050565b600061228b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125aa565b905092915050565b6000600367ffffffffffffffff8111156122b0576122af6130a9565b5b6040519080825280602002602001820160405280156122de5781602001602082028036833780820191505090505b50905030816000815181106122f6576122f56130d8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508181600181518110612345576123446130d8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124109190612ab0565b81600281518110612424576124236130d8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061248b30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611630565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b81526004016124ef959493929190613200565b600060405180830381600087803b15801561250957600080fd5b505af115801561251d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7838260405161255292919061325a565b60405180910390a1505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156125a5573d6000803e3d6000fd5b505050565b600080831182906125f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e8919061269d565b60405180910390fd5b50600083856126009190612fe6565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561264757808201518184015260208101905061262c565b60008484015250505050565b6000601f19601f8301169050919050565b600061266f8261260d565b6126798185612618565b9350612689818560208601612629565b61269281612653565b840191505092915050565b600060208201905081810360008301526126b78184612664565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126ef826126c4565b9050919050565b6126ff816126e4565b811461270a57600080fd5b50565b60008135905061271c816126f6565b92915050565b6000819050919050565b61273581612722565b811461274057600080fd5b50565b6000813590506127528161272c565b92915050565b6000806040838503121561276f5761276e6126bf565b5b600061277d8582860161270d565b925050602061278e85828601612743565b9150509250929050565b60008115159050919050565b6127ad81612798565b82525050565b60006020820190506127c860008301846127a4565b92915050565b60006127d9826126c4565b9050919050565b6127e9816127ce565b82525050565b600060208201905061280460008301846127e0565b92915050565b6000819050919050565b600061282f61282a612825846126c4565b61280a565b6126c4565b9050919050565b600061284182612814565b9050919050565b600061285382612836565b9050919050565b61286381612848565b82525050565b600060208201905061287e600083018461285a565b92915050565b61288d81612722565b82525050565b60006020820190506128a86000830184612884565b92915050565b6000806000606084860312156128c7576128c66126bf565b5b60006128d58682870161270d565b93505060206128e68682870161270d565b92505060406128f786828701612743565b9150509250925092565b61290a816126e4565b82525050565b60006020820190506129256000830184612901565b92915050565b600060ff82169050919050565b6129418161292b565b82525050565b600060208201905061295c6000830184612938565b92915050565b600060208284031215612978576129776126bf565b5b60006129868482850161270d565b91505092915050565b600080604083850312156129a6576129a56126bf565b5b60006129b48582860161270d565b92505060206129c58582860161270d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612a1657607f821691505b602082108103612a2957612a286129cf565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612a65602083612618565b9150612a7082612a2f565b602082019050919050565b60006020820190508181036000830152612a9481612a58565b9050919050565b600081519050612aaa816126f6565b92915050565b600060208284031215612ac657612ac56126bf565b5b6000612ad484828501612a9b565b91505092915050565b6000604082019050612af26000830185612901565b612aff6020830184612901565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b62602683612618565b9150612b6d82612b06565b604082019050919050565b60006020820190508181036000830152612b9181612b55565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612bf4602483612618565b9150612bff82612b98565b604082019050919050565b60006020820190508181036000830152612c2381612be7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c86602283612618565b9150612c9182612c2a565b604082019050919050565b60006020820190508181036000830152612cb581612c79565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d18602583612618565b9150612d2382612cbc565b604082019050919050565b60006020820190508181036000830152612d4781612d0b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612daa602383612618565b9150612db582612d4e565b604082019050919050565b60006020820190508181036000830152612dd981612d9d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e3c602983612618565b9150612e4782612de0565b604082019050919050565b60006020820190508181036000830152612e6b81612e2f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612eac82612722565b9150612eb783612722565b9250828203905081811115612ecf57612ece612e72565b5b92915050565b6000612ee082612722565b9150612eeb83612722565b9250828201905080821115612f0357612f02612e72565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612f3f601b83612618565b9150612f4a82612f09565b602082019050919050565b60006020820190508181036000830152612f6e81612f32565b9050919050565b6000612f8082612722565b9150612f8b83612722565b9250828202612f9981612722565b91508282048414831517612fb057612faf612e72565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ff182612722565b9150612ffc83612722565b92508261300c5761300b612fb7565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613073602183612618565b915061307e82613017565b604082019050919050565b600060208201905081810360008301526130a281613066565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061312c61312761312284613107565b61280a565b612722565b9050919050565b61313c81613111565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613177816126e4565b82525050565b6000613189838361316e565b60208301905092915050565b6000602082019050919050565b60006131ad82613142565b6131b7818561314d565b93506131c28361315e565b8060005b838110156131f35781516131da888261317d565b97506131e583613195565b9250506001810190506131c6565b5085935050505092915050565b600060a0820190506132156000830188612884565b6132226020830187613133565b818103604083015261323481866131a2565b90506132436060830185612901565b6132506080830184612884565b9695505050505050565b600060408201905061326f6000830185612884565b818103602083015261328181846131a2565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122063320d1d1fb407f8e426ab832639ef93c41bb9a7c3c2d4d99a91628ee318e82764736f6c63430008110033000000000000000000000000000000000000000000000000000000001908b10000000000000000000000000094469fdfde5e4ed36a4103f2c3f5919039e39586

Deployed Bytecode

0x6080604052600436106101e75760003560e01c8063914eb66a11610102578063c816841b11610095578063dd62ed3e11610064578063dd62ed3e14610723578063f039c69f14610760578063f2fde38b1461078b578063f9323a32146107b4576101ee565b8063c816841b14610665578063d158272d14610690578063d59c58be146106bb578063da00097d146106f8576101ee565b8063a83f53a7116100d1578063a83f53a7146105a7578063a9059cbb146105d2578063b2bdfa7b1461060f578063b45a38641461063a576101ee565b8063914eb66a146104fd57806395d89b4114610514578063a08e671f1461053f578063a457c2d71461056a576101ee565b8063313ce5671161017a57806357a5802f1161014957806357a5802f1461043f57806361a23c691461046a57806370a08231146104955780638da5cb5b146104d2576101ee565b8063313ce5671461036f578063395093511461039a5780633ecad271146103d7578063557ed1ba14610414576101ee565b806318160ddd116101b657806318160ddd146102b157806323b872dd146102dc57806327c8f835146103195780632b112e4914610344576101ee565b806306fdde03146101f3578063095ea7b31461021e5780631245e3471461025b5780631694505e14610286576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b506102086107df565b604051610215919061269d565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190612758565b610871565b60405161025291906127b3565b60405180910390f35b34801561026757600080fd5b5061027061088f565b60405161027d91906127ef565b60405180910390f35b34801561029257600080fd5b5061029b6108b5565b6040516102a89190612869565b60405180910390f35b3480156102bd57600080fd5b506102c66108db565b6040516102d39190612893565b60405180910390f35b3480156102e857600080fd5b5061030360048036038101906102fe91906128ae565b6108e5565b60405161031091906127b3565b60405180910390f35b34801561032557600080fd5b5061032e6109bf565b60405161033b9190612910565b60405180910390f35b34801561035057600080fd5b506103596109e5565b6040516103669190612893565b60405180910390f35b34801561037b57600080fd5b50610384610a2b565b6040516103919190612947565b60405180910390f35b3480156103a657600080fd5b506103c160048036038101906103bc9190612758565b610a42565b6040516103ce91906127b3565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f99190612962565b610af5565b60405161040b91906127b3565b60405180910390f35b34801561042057600080fd5b50610429610b15565b6040516104369190612893565b60405180910390f35b34801561044b57600080fd5b50610454610b1d565b6040516104619190612893565b60405180910390f35b34801561047657600080fd5b5061047f610b23565b60405161048c9190612893565b60405180910390f35b3480156104a157600080fd5b506104bc60048036038101906104b79190612962565b610b29565b6040516104c99190612893565b60405180910390f35b3480156104de57600080fd5b506104e7610b72565b6040516104f49190612910565b60405180910390f35b34801561050957600080fd5b50610512610b9b565b005b34801561052057600080fd5b50610529610cee565b604051610536919061269d565b60405180910390f35b34801561054b57600080fd5b50610554610d80565b6040516105619190612893565b60405180910390f35b34801561057657600080fd5b50610591600480360381019061058c9190612758565b610d86565b60405161059e91906127b3565b60405180910390f35b3480156105b357600080fd5b506105bc610e53565b6040516105c99190612893565b60405180910390f35b3480156105de57600080fd5b506105f960048036038101906105f49190612758565b610e59565b60405161060691906127b3565b60405180910390f35b34801561061b57600080fd5b50610624610e78565b6040516106319190612910565b60405180910390f35b34801561064657600080fd5b5061064f610e9c565b60405161065c9190612893565b60405180910390f35b34801561067157600080fd5b5061067a610ea2565b6040516106879190612910565b60405180910390f35b34801561069c57600080fd5b506106a5610ec8565b6040516106b291906127ef565b60405180910390f35b3480156106c757600080fd5b506106e260048036038101906106dd9190612962565b610eee565b6040516106ef9190612910565b60405180910390f35b34801561070457600080fd5b5061070d6113b4565b60405161071a91906127b3565b60405180910390f35b34801561072f57600080fd5b5061074a6004803603810190610745919061298f565b6113c7565b6040516107579190612893565b60405180910390f35b34801561076c57600080fd5b5061077561144e565b60405161078291906127b3565b60405180910390f35b34801561079757600080fd5b506107b260048036038101906107ad9190612962565b611461565b005b3480156107c057600080fd5b506107c9611622565b6040516107d69190612893565b60405180910390f35b6060600180546107ee906129fe565b80601f016020809104026020016040519081016040528092919081815260200182805461081a906129fe565b80156108675780601f1061083c57610100808354040283529160200191610867565b820191906000526020600020905b81548152906001019060200180831161084a57829003601f168201915b5050505050905090565b600061088561087e611628565b8484611630565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601054905090565b60006108f28484846117f9565b506109b4846108ff611628565b6109af8560405180606001604052806028815260200161328b60289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610965611628565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf09092919063ffffffff16565b611630565b600190509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610a26610a15600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610b29565b601054611c5490919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b6000610aeb610a4f611628565b84610ae68560076000610a60611628565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9e90919063ffffffff16565b611630565b6001905092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b600042905090565b600a5481565b600b5481565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ba3611628565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2790612a7b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610cfd906129fe565b80601f0160208091040260200160405190810160405280929190818152602001828054610d29906129fe565b8015610d765780601f10610d4b57610100808354040283529160200191610d76565b820191906000526020600020905b815481529060010190602001808311610d5957829003601f168201915b5050505050905090565b600d5481565b6000610e49610d93611628565b84610e44856040518060600160405280602581526020016132b36025913960076000610dbd611628565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf09092919063ffffffff16565b611630565b6001905092915050565b600c5481565b6000610e6d610e66611628565b84846117f9565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ef8611628565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7c90612a7b565b60405180910390fd5b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b9190612ab0565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a69190612ab0565b6040518363ffffffff1660e01b81526004016110c3929190612add565b602060405180830381865afa1580156110e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111049190612ab0565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611297578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a99190612ab0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611210573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112349190612ab0565b6040518363ffffffff1660e01b8152600401611251929190612add565b6020604051808303816000875af1158015611270573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112949190612ab0565b91505b81601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601360166101000a81548160ff021916908315150217905550600160096000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b601360149054906101000a900460ff1681565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601360169054906101000a900460ff1681565b611469611628565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ed90612a7b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c90612b78565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169690612c0a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361170e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170590612c9c565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117ec9190612893565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186090612d2e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cf90612dc0565b60405180910390fd5b6000821161191b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191290612e52565b60405180910390fd5b601360159054906101000a900460ff16156119425761193b848484611cfc565b9050611be9565b600061194d30610b29565b9050600060115482101590508080156119735750601360159054906101000a900460ff16155b80156119c95750600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119e15750601360169054906101000a900460ff165b15611a0c57601360149054906101000a900460ff1615611a015760115491505b611a0b8287611ecf565b5b611a95846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf09092919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611ae5878787611fa8565b9050611b3981600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9e90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bd99190612893565b60405180910390a3600193505050505b9392505050565b6000838311158290611c38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2f919061269d565b60405180910390fd5b5060008385611c479190612ea1565b9050809150509392505050565b6000611c9683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bf0565b905092915050565b6000808284611cad9190612ed5565b905083811015611cf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce990612f55565b60405180910390fd5b8091505092915050565b6000611d87826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf09092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e1c82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9e90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ebc9190612893565b60405180910390a3600190509392505050565b6001601360156101000a81548160ff0219169083151502179055506000611f286002611f1a600d54611f0c600a54886121cf90919063ffffffff16565b61224990919063ffffffff16565b61224990919063ffffffff16565b90506000611f3f8285611c5490919063ffffffff16565b9050611f4b8184612293565b60004790506000811115611f8657611f85600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261255f565b5b5050506000601360156101000a81548160ff0219169083151502179055505050565b60008060009050600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561203057612029606461201b600e54866121cf90919063ffffffff16565b61224990919063ffffffff16565b90506120ae565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156120ad576120aa606461209c600f54866121cf90919063ffffffff16565b61224990919063ffffffff16565b90505b5b60008111156121b25761210981600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9e90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121a99190612893565b60405180910390a35b6121c58184611c5490919063ffffffff16565b9150509392505050565b60008083036121e15760009050612243565b600082846121ef9190612f75565b90508284826121fe9190612fe6565b1461223e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223590613089565b60405180910390fd5b809150505b92915050565b600061228b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125aa565b905092915050565b6000600367ffffffffffffffff8111156122b0576122af6130a9565b5b6040519080825280602002602001820160405280156122de5781602001602082028036833780820191505090505b50905030816000815181106122f6576122f56130d8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508181600181518110612345576123446130d8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124109190612ab0565b81600281518110612424576124236130d8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061248b30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611630565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008430426040518663ffffffff1660e01b81526004016124ef959493929190613200565b600060405180830381600087803b15801561250957600080fd5b505af115801561251d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7838260405161255292919061325a565b60405180910390a1505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156125a5573d6000803e3d6000fd5b505050565b600080831182906125f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e8919061269d565b60405180910390fd5b50600083856126009190612fe6565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561264757808201518184015260208101905061262c565b60008484015250505050565b6000601f19601f8301169050919050565b600061266f8261260d565b6126798185612618565b9350612689818560208601612629565b61269281612653565b840191505092915050565b600060208201905081810360008301526126b78184612664565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126ef826126c4565b9050919050565b6126ff816126e4565b811461270a57600080fd5b50565b60008135905061271c816126f6565b92915050565b6000819050919050565b61273581612722565b811461274057600080fd5b50565b6000813590506127528161272c565b92915050565b6000806040838503121561276f5761276e6126bf565b5b600061277d8582860161270d565b925050602061278e85828601612743565b9150509250929050565b60008115159050919050565b6127ad81612798565b82525050565b60006020820190506127c860008301846127a4565b92915050565b60006127d9826126c4565b9050919050565b6127e9816127ce565b82525050565b600060208201905061280460008301846127e0565b92915050565b6000819050919050565b600061282f61282a612825846126c4565b61280a565b6126c4565b9050919050565b600061284182612814565b9050919050565b600061285382612836565b9050919050565b61286381612848565b82525050565b600060208201905061287e600083018461285a565b92915050565b61288d81612722565b82525050565b60006020820190506128a86000830184612884565b92915050565b6000806000606084860312156128c7576128c66126bf565b5b60006128d58682870161270d565b93505060206128e68682870161270d565b92505060406128f786828701612743565b9150509250925092565b61290a816126e4565b82525050565b60006020820190506129256000830184612901565b92915050565b600060ff82169050919050565b6129418161292b565b82525050565b600060208201905061295c6000830184612938565b92915050565b600060208284031215612978576129776126bf565b5b60006129868482850161270d565b91505092915050565b600080604083850312156129a6576129a56126bf565b5b60006129b48582860161270d565b92505060206129c58582860161270d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612a1657607f821691505b602082108103612a2957612a286129cf565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612a65602083612618565b9150612a7082612a2f565b602082019050919050565b60006020820190508181036000830152612a9481612a58565b9050919050565b600081519050612aaa816126f6565b92915050565b600060208284031215612ac657612ac56126bf565b5b6000612ad484828501612a9b565b91505092915050565b6000604082019050612af26000830185612901565b612aff6020830184612901565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b62602683612618565b9150612b6d82612b06565b604082019050919050565b60006020820190508181036000830152612b9181612b55565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612bf4602483612618565b9150612bff82612b98565b604082019050919050565b60006020820190508181036000830152612c2381612be7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c86602283612618565b9150612c9182612c2a565b604082019050919050565b60006020820190508181036000830152612cb581612c79565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d18602583612618565b9150612d2382612cbc565b604082019050919050565b60006020820190508181036000830152612d4781612d0b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612daa602383612618565b9150612db582612d4e565b604082019050919050565b60006020820190508181036000830152612dd981612d9d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e3c602983612618565b9150612e4782612de0565b604082019050919050565b60006020820190508181036000830152612e6b81612e2f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612eac82612722565b9150612eb783612722565b9250828203905081811115612ecf57612ece612e72565b5b92915050565b6000612ee082612722565b9150612eeb83612722565b9250828201905080821115612f0357612f02612e72565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612f3f601b83612618565b9150612f4a82612f09565b602082019050919050565b60006020820190508181036000830152612f6e81612f32565b9050919050565b6000612f8082612722565b9150612f8b83612722565b9250828202612f9981612722565b91508282048414831517612fb057612faf612e72565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ff182612722565b9150612ffc83612722565b92508261300c5761300b612fb7565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613073602183612618565b915061307e82613017565b604082019050919050565b600060208201905081810360008301526130a281613066565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061312c61312761312284613107565b61280a565b612722565b9050919050565b61313c81613111565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613177816126e4565b82525050565b6000613189838361316e565b60208301905092915050565b6000602082019050919050565b60006131ad82613142565b6131b7818561314d565b93506131c28361315e565b8060005b838110156131f35781516131da888261317d565b97506131e583613195565b9250506001810190506131c6565b5085935050505092915050565b600060a0820190506132156000830188612884565b6132226020830187613133565b818103604083015261323481866131a2565b90506132436060830185612901565b6132506080830184612884565b9695505050505050565b600060408201905061326f6000830185612884565b818103602083015261328181846131a2565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122063320d1d1fb407f8e426ab832639ef93c41bb9a7c3c2d4d99a91628ee318e82764736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000001908b10000000000000000000000000094469fdfde5e4ed36a4103f2c3f5919039e39586

-----Decoded View---------------
Arg [0] : supply (uint256): 420000000
Arg [1] : owner (address): 0x94469FdFde5e4Ed36a4103f2c3f5919039e39586

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000001908b100
Arg [1] : 00000000000000000000000094469fdfde5e4ed36a4103f2c3f5919039e39586


Deployed Bytecode Sourcemap

14146:11517:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16919:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18078:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14568:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15475:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17189:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19924:323;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14669:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18587:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17098:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17575:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15092:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6184:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15146:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15187;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17297:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5572:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5786:138;;;;;;;;;;;;;:::i;:::-;;17003:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15264:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17801:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15228:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18951:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5448:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15316:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15523;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14462:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19126:790;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15556:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17424:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15628:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5932:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15349:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16919:76;16956:13;16982:5;16975:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16919:76;:::o;18078:154::-;18153:4;18170:39;18179:12;:10;:12::i;:::-;18193:7;18202:6;18170:8;:39::i;:::-;18220:4;18213:11;;18078:154;;;;:::o;14568:94::-;;;;;;;;;;;;;:::o;15475:41::-;;;;;;;;;;;;;:::o;17189:100::-;17242:7;17269:12;;17262:19;;17189:100;:::o;19924:323::-;20022:4;20039:46;20049:6;20067:9;20078:6;20039:9;:46::i;:::-;;20096:121;20105:6;20113:12;:10;:12::i;:::-;20127:89;20165:6;20127:89;;;;;;;;;;;;;;;;;:11;:19;20139:6;20127:19;;;;;;;;;;;;;;;:33;20147:12;:10;:12::i;:::-;20127:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;20096:8;:121::i;:::-;20235:4;20228:11;;19924:323;;;;;:::o;14669:71::-;;;;;;;;;;;;;:::o;18587:128::-;18640:7;18667:40;18684:22;18694:11;;;;;;;;;;;18684:9;:22::i;:::-;18667:12;;:16;;:40;;;;:::i;:::-;18660:47;;18587:128;:::o;17098:83::-;17139:5;17164:9;;;;;;;;;;;17157:16;;17098:83;:::o;17575:218::-;17663:4;17680:83;17689:12;:10;:12::i;:::-;17703:7;17712:50;17751:10;17712:11;:25;17724:12;:10;:12::i;:::-;17712:25;;;;;;;;;;;;;;;:34;17738:7;17712:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;17680:8;:83::i;:::-;17781:4;17774:11;;17575:218;;;;:::o;15092:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6184:85::-;6224:7;6251:15;6244:22;;6184:85;:::o;15146:34::-;;;;:::o;15187:::-;;;;:::o;17297:119::-;17363:7;17390:9;:18;17400:7;17390:18;;;;;;;;;;;;;;;;17383:25;;17297:119;;;:::o;5572:79::-;5610:7;5637:6;;;;;;;;;;;5630:13;;5572:79;:::o;5786:138::-;5709:12;:10;:12::i;:::-;5699:22;;:6;;;;;;;;;;:22;;;5691:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5890:1:::1;5853:40;;5874:6;::::0;::::1;;;;;;;;5853:40;;;;;;;;;;;;5914:1;5897:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5786:138::o:0;17003:87::-;17042:13;17075:7;17068:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17003:87;:::o;15264:43::-;;;;:::o;17801:269::-;17894:4;17911:129;17920:12;:10;:12::i;:::-;17934:7;17943:96;17982:15;17943:96;;;;;;;;;;;;;;;;;:11;:25;17955:12;:10;:12::i;:::-;17943:25;;;;;;;;;;;;;;;:34;17969:7;17943:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;17911:8;:129::i;:::-;18058:4;18051:11;;17801:269;;;;:::o;15228:29::-;;;;:::o;18951:167::-;19029:4;19046:42;19056:12;:10;:12::i;:::-;19070:9;19081:6;19046:9;:42::i;:::-;;19106:4;19099:11;;18951:167;;;;:::o;5448:21::-;;;;;;;;;;;;:::o;15316:26::-;;;;:::o;15523:::-;;;;;;;;;;;;;:::o;14462:99::-;;;;;;;;;;;;;:::o;19126:790::-;19197:22;5709:12;:10;:12::i;:::-;5699:22;;:6;;;;;;;;;;:22;;;5691:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19234:35:::1;19291:15;;;;;;;;;;;19234:73;;19355:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19337:53;;;19399:4;19406:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19337:93;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19320:110;;19472:1;19446:28;;:14;:28;;::::0;19443:225:::1;;19560:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19542:74;;;19625:4;19632:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19542:114;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19525:131;;19443:225;19694:14;19680:11;;:28;;;;;;;;;;;;;;;;;;19779:16;19742:15;;:54;;;;;;;;;;;;;;;;;;19852:4;19832:17;;:24;;;;;;;;;;;;;;;;;;19904:4;19867:12;:34;19888:11;;;;;;;;;;;19867:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;19221:695;19126:790:::0;;;:::o;15556:37::-;;;;;;;;;;;;;:::o;17424:143::-;17505:7;17532:11;:18;17544:5;17532:18;;;;;;;;;;;;;;;:27;17551:7;17532:27;;;;;;;;;;;;;;;;17525:34;;17424:143;;;;:::o;15628:29::-;;;;;;;;;;;;;:::o;5932:244::-;5709:12;:10;:12::i;:::-;5699:22;;:6;;;;;;;;;;:22;;;5691:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6041:1:::1;6021:22;;:8;:22;;::::0;6013:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6131:8;6102:38;;6123:6;::::0;::::1;;;;;;;;6102:38;;;;;;;;;;;;6160:8;6151:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5932:244:::0;:::o;15349:27::-;;;;:::o;103:115::-;156:15;199:10;184:26;;103:115;:::o;18240:337::-;18350:1;18333:19;;:5;:19;;;18325:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18431:1;18412:21;;:7;:21;;;18404:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18515:6;18485:11;:18;18497:5;18485:18;;;;;;;;;;;;;;;:27;18504:7;18485:27;;;;;;;;;;;;;;;:36;;;;18553:7;18537:32;;18546:5;18537:32;;;18562:6;18537:32;;;;;;:::i;:::-;;;;;;;;18240:337;;;:::o;20255:1305::-;20342:4;20387:1;20369:20;;:6;:20;;;20361:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;20471:1;20450:23;;:9;:23;;;20442:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;20541:1;20532:6;:10;20524:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;20602:16;;;;;;;;;;;20599:954;;;20642:41;20657:6;20665:9;20676:6;20642:14;:41::i;:::-;20635:48;;;;20599:954;20736:28;20767:24;20785:4;20767:9;:24::i;:::-;20736:55;;20806:28;20861:24;;20837:20;:48;;20806:79;;20906:23;:44;;;;;20934:16;;;;;;;;;;;20933:17;20906:44;:69;;;;;20955:12;:20;20968:6;20955:20;;;;;;;;;;;;;;;;;;;;;;;;;20954:21;20906:69;:90;;;;;20979:17;;;;;;;;;;;20906:90;20902:314;;;21033:25;;;;;;;;;;;21030:119;;;21105:24;;21082:47;;21030:119;21167:43;21182:20;21203:6;21167:14;:43::i;:::-;20902:314;21252:53;21274:6;21252:53;;;;;;;;;;;;;;;;;:9;:17;21262:6;21252:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;21232:9;:17;21242:6;21232:17;;;;;;;;;;;;;;;:73;;;;21320:19;21342:34;21350:6;21358:9;21369:6;21342:7;:34::i;:::-;21320:56;;21416:37;21441:11;21416:9;:20;21426:9;21416:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;21393:9;:20;21403:9;21393:20;;;;;;;;;;;;;;;:60;;;;21492:9;21475:40;;21484:6;21475:40;;;21503:11;21475:40;;;;;;:::i;:::-;;;;;;;;21537:4;21530:11;;;;;20255:1305;;;;;;:::o;1525:192::-;1611:7;1644:1;1639;:6;;1647:12;1631:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1671:9;1687:1;1683;:5;;;;:::i;:::-;1671:17;;1708:1;1701:8;;;1525:192;;;;;:::o;1381:136::-;1439:7;1466:43;1470:1;1473;1466:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1459:50;;1381:136;;;;:::o;1192:181::-;1250:7;1270:9;1286:1;1282;:5;;;;:::i;:::-;1270:17;;1311:1;1306;:6;;1298:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1364:1;1357:8;;;1192:181;;;;:::o;21568:340::-;21661:4;21698:53;21720:6;21698:53;;;;;;;;;;;;;;;;;:9;:17;21708:6;21698:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;21678:9;:17;21688:6;21678:17;;;;;;;;;;;;;;;:73;;;;21785:32;21810:6;21785:9;:20;21795:9;21785:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;21762:9;:20;21772:9;21762:20;;;;;;;;;;;;;;;:55;;;;21860:9;21833:45;;21842:6;21833:45;;;21871:6;21833:45;;;;;;:::i;:::-;;;;;;;;21896:4;21889:11;;21568:340;;;;;:::o;21916:472::-;16076:4;16057:16;;:23;;;;;;;;;;;;;;;;;;22003:19:::1;22025:65;22088:1;22025:58;22058:24;;22025:28;22037:15;;22025:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;22003:87;;22101:21;22125:24;22137:11;22125:7;:11;;:24;;;;:::i;:::-;22101:48;;22162:36;22179:13;22193:4;22162:16;:36::i;:::-;22209:22;22234:21;22209:46;;22288:1;22271:14;:18;22268:109;;;22305:60;22326:22;;;;;;;;;;;22350:14;22305:20;:60::i;:::-;22268:109;21990:398;;;16122:5:::0;16103:16;;:24;;;;;;;;;;;;;;;;;;21916:472;;:::o;23605:578::-;23691:7;23713:17;23733:1;23713:21;;23750:12;:20;23763:6;23750:20;;;;;;;;;;;;;;;;;;;;;;;;;23747:203;;;23799:28;23823:3;23799:19;23810:7;;23799:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;23787:40;;23747:203;;;23857:12;:23;23870:9;23857:23;;;;;;;;;;;;;;;;;;;;;;;;;23854:96;;;23909:29;23934:3;23909:20;23920:8;;23909:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;23897:41;;23854:96;23747:203;23977:1;23965:9;:13;23962:173;;;24022:39;24051:9;24022;:24;24040:4;24022:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;23995:9;:24;24013:4;23995:24;;;;;;;;;;;;;;;:66;;;;24106:4;24081:42;;24090:6;24081:42;;;24113:9;24081:42;;;;;;:::i;:::-;;;;;;;;23962:173;24154:21;24165:9;24154:6;:10;;:21;;;;:::i;:::-;24147:28;;;23605:578;;;;;:::o;1725:243::-;1783:7;1812:1;1807;:6;1803:47;;1837:1;1830:8;;;;1803:47;1862:9;1878:1;1874;:5;;;;:::i;:::-;1862:17;;1907:1;1902;1898;:5;;;;:::i;:::-;:10;1890:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1964:1;1957:8;;;1725:243;;;;;:::o;1976:132::-;2034:7;2061:39;2065:1;2068;2061:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2054:46;;1976:132;;;;:::o;22396:688::-;22535:21;22573:1;22559:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22535:40;;22604:4;22586;22591:1;22586:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22622:4;22612;22617:1;22612:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;22647:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22637:4;22642:1;22637:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;22682:62;22699:4;22714:15;;;;;;;;;;;22732:11;22682:8;:62::i;:::-;22783:15;;;;;;;;;;;:66;;;22864:11;22890:1;22934:4;22961;22997:15;22783:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23041:35;23058:11;23071:4;23041:35;;;;;;;:::i;:::-;;;;;;;;22464:620;22396:688;;:::o;18723:126::-;18815:9;:18;;:26;18834:6;18815:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18723:126;;:::o;2116:278::-;2202:7;2234:1;2230;:5;2237:12;2222:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2261:9;2277:1;2273;:5;;;;:::i;:::-;2261:17;;2385:1;2378:8;;;2116:278;;;;;:::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:104::-;3491:7;3520:24;3538:5;3520:24;:::i;:::-;3509:35;;3446:104;;;:::o;3556:142::-;3659:32;3685:5;3659:32;:::i;:::-;3654:3;3647:45;3556:142;;:::o;3704:254::-;3813:4;3851:2;3840:9;3836:18;3828:26;;3864:87;3948:1;3937:9;3933:17;3924:6;3864:87;:::i;:::-;3704:254;;;;:::o;3964:60::-;3992:3;4013:5;4006:12;;3964:60;;;:::o;4030:142::-;4080:9;4113:53;4131:34;4140:24;4158:5;4140:24;:::i;:::-;4131:34;:::i;:::-;4113:53;:::i;:::-;4100:66;;4030:142;;;:::o;4178:126::-;4228:9;4261:37;4292:5;4261:37;:::i;:::-;4248:50;;4178:126;;;:::o;4310:153::-;4387:9;4420:37;4451:5;4420:37;:::i;:::-;4407:50;;4310:153;;;:::o;4469:185::-;4583:64;4641:5;4583:64;:::i;:::-;4578:3;4571:77;4469:185;;:::o;4660:276::-;4780:4;4818:2;4807:9;4803:18;4795:26;;4831:98;4926:1;4915:9;4911:17;4902:6;4831:98;:::i;:::-;4660:276;;;;:::o;4942:118::-;5029:24;5047:5;5029:24;:::i;:::-;5024:3;5017:37;4942:118;;:::o;5066:222::-;5159:4;5197:2;5186:9;5182:18;5174:26;;5210:71;5278:1;5267:9;5263:17;5254:6;5210:71;:::i;:::-;5066:222;;;;:::o;5294:619::-;5371:6;5379;5387;5436:2;5424:9;5415:7;5411:23;5407:32;5404:119;;;5442:79;;:::i;:::-;5404:119;5562:1;5587:53;5632:7;5623:6;5612:9;5608:22;5587:53;:::i;:::-;5577:63;;5533:117;5689:2;5715:53;5760:7;5751:6;5740:9;5736:22;5715:53;:::i;:::-;5705:63;;5660:118;5817:2;5843:53;5888:7;5879:6;5868:9;5864:22;5843:53;:::i;:::-;5833:63;;5788:118;5294:619;;;;;:::o;5919:118::-;6006:24;6024:5;6006:24;:::i;:::-;6001:3;5994:37;5919:118;;:::o;6043:222::-;6136:4;6174:2;6163:9;6159:18;6151:26;;6187:71;6255:1;6244:9;6240:17;6231:6;6187:71;:::i;:::-;6043:222;;;;:::o;6271:86::-;6306:7;6346:4;6339:5;6335:16;6324:27;;6271:86;;;:::o;6363:112::-;6446:22;6462:5;6446:22;:::i;:::-;6441:3;6434:35;6363:112;;:::o;6481:214::-;6570:4;6608:2;6597:9;6593:18;6585:26;;6621:67;6685:1;6674:9;6670:17;6661:6;6621:67;:::i;:::-;6481:214;;;;:::o;6701:329::-;6760:6;6809:2;6797:9;6788:7;6784:23;6780:32;6777:119;;;6815:79;;:::i;:::-;6777:119;6935:1;6960:53;7005:7;6996:6;6985:9;6981:22;6960:53;:::i;:::-;6950:63;;6906:117;6701:329;;;;:::o;7036:474::-;7104:6;7112;7161:2;7149:9;7140:7;7136:23;7132:32;7129:119;;;7167:79;;:::i;:::-;7129:119;7287:1;7312:53;7357:7;7348:6;7337:9;7333:22;7312:53;:::i;:::-;7302:63;;7258:117;7414:2;7440:53;7485:7;7476:6;7465:9;7461:22;7440:53;:::i;:::-;7430:63;;7385:118;7036:474;;;;;:::o;7516:180::-;7564:77;7561:1;7554:88;7661:4;7658:1;7651:15;7685:4;7682:1;7675:15;7702:320;7746:6;7783:1;7777:4;7773:12;7763:22;;7830:1;7824:4;7820:12;7851:18;7841:81;;7907:4;7899:6;7895:17;7885:27;;7841:81;7969:2;7961:6;7958:14;7938:18;7935:38;7932:84;;7988:18;;:::i;:::-;7932:84;7753:269;7702:320;;;:::o;8028:182::-;8168:34;8164:1;8156:6;8152:14;8145:58;8028:182;:::o;8216:366::-;8358:3;8379:67;8443:2;8438:3;8379:67;:::i;:::-;8372:74;;8455:93;8544:3;8455:93;:::i;:::-;8573:2;8568:3;8564:12;8557:19;;8216:366;;;:::o;8588:419::-;8754:4;8792:2;8781:9;8777:18;8769:26;;8841:9;8835:4;8831:20;8827:1;8816:9;8812:17;8805:47;8869:131;8995:4;8869:131;:::i;:::-;8861:139;;8588:419;;;:::o;9013:143::-;9070:5;9101:6;9095:13;9086:22;;9117:33;9144:5;9117:33;:::i;:::-;9013:143;;;;:::o;9162:351::-;9232:6;9281:2;9269:9;9260:7;9256:23;9252:32;9249:119;;;9287:79;;:::i;:::-;9249:119;9407:1;9432:64;9488:7;9479:6;9468:9;9464:22;9432:64;:::i;:::-;9422:74;;9378:128;9162:351;;;;:::o;9519:332::-;9640:4;9678:2;9667:9;9663:18;9655:26;;9691:71;9759:1;9748:9;9744:17;9735:6;9691:71;:::i;:::-;9772:72;9840:2;9829:9;9825:18;9816:6;9772:72;:::i;:::-;9519:332;;;;;:::o;9857:225::-;9997:34;9993:1;9985:6;9981:14;9974:58;10066:8;10061:2;10053:6;10049:15;10042:33;9857:225;:::o;10088:366::-;10230:3;10251:67;10315:2;10310:3;10251:67;:::i;:::-;10244:74;;10327:93;10416:3;10327:93;:::i;:::-;10445:2;10440:3;10436:12;10429:19;;10088:366;;;:::o;10460:419::-;10626:4;10664:2;10653:9;10649:18;10641:26;;10713:9;10707:4;10703:20;10699:1;10688:9;10684:17;10677:47;10741:131;10867:4;10741:131;:::i;:::-;10733:139;;10460:419;;;:::o;10885:223::-;11025:34;11021:1;11013:6;11009:14;11002:58;11094:6;11089:2;11081:6;11077:15;11070:31;10885:223;:::o;11114:366::-;11256:3;11277:67;11341:2;11336:3;11277:67;:::i;:::-;11270:74;;11353:93;11442:3;11353:93;:::i;:::-;11471:2;11466:3;11462:12;11455:19;;11114:366;;;:::o;11486:419::-;11652:4;11690:2;11679:9;11675:18;11667:26;;11739:9;11733:4;11729:20;11725:1;11714:9;11710:17;11703:47;11767:131;11893:4;11767:131;:::i;:::-;11759:139;;11486:419;;;:::o;11911:221::-;12051:34;12047:1;12039:6;12035:14;12028:58;12120:4;12115:2;12107:6;12103:15;12096:29;11911:221;:::o;12138:366::-;12280:3;12301:67;12365:2;12360:3;12301:67;:::i;:::-;12294:74;;12377:93;12466:3;12377:93;:::i;:::-;12495:2;12490:3;12486:12;12479:19;;12138:366;;;:::o;12510:419::-;12676:4;12714:2;12703:9;12699:18;12691:26;;12763:9;12757:4;12753:20;12749:1;12738:9;12734:17;12727:47;12791:131;12917:4;12791:131;:::i;:::-;12783:139;;12510:419;;;:::o;12935:224::-;13075:34;13071:1;13063:6;13059:14;13052:58;13144:7;13139:2;13131:6;13127:15;13120:32;12935:224;:::o;13165:366::-;13307:3;13328:67;13392:2;13387:3;13328:67;:::i;:::-;13321:74;;13404:93;13493:3;13404:93;:::i;:::-;13522:2;13517:3;13513:12;13506:19;;13165:366;;;:::o;13537:419::-;13703:4;13741:2;13730:9;13726:18;13718:26;;13790:9;13784:4;13780:20;13776:1;13765:9;13761:17;13754:47;13818:131;13944:4;13818:131;:::i;:::-;13810:139;;13537:419;;;:::o;13962:222::-;14102:34;14098:1;14090:6;14086:14;14079:58;14171:5;14166:2;14158:6;14154:15;14147:30;13962:222;:::o;14190:366::-;14332:3;14353:67;14417:2;14412:3;14353:67;:::i;:::-;14346:74;;14429:93;14518:3;14429:93;:::i;:::-;14547:2;14542:3;14538:12;14531:19;;14190:366;;;:::o;14562:419::-;14728:4;14766:2;14755:9;14751:18;14743:26;;14815:9;14809:4;14805:20;14801:1;14790:9;14786:17;14779:47;14843:131;14969:4;14843:131;:::i;:::-;14835:139;;14562:419;;;:::o;14987:228::-;15127:34;15123:1;15115:6;15111:14;15104:58;15196:11;15191:2;15183:6;15179:15;15172:36;14987:228;:::o;15221:366::-;15363:3;15384:67;15448:2;15443:3;15384:67;:::i;:::-;15377:74;;15460:93;15549:3;15460:93;:::i;:::-;15578:2;15573:3;15569:12;15562:19;;15221:366;;;:::o;15593:419::-;15759:4;15797:2;15786:9;15782:18;15774:26;;15846:9;15840:4;15836:20;15832:1;15821:9;15817:17;15810:47;15874:131;16000:4;15874:131;:::i;:::-;15866:139;;15593:419;;;:::o;16018:180::-;16066:77;16063:1;16056:88;16163:4;16160:1;16153:15;16187:4;16184:1;16177:15;16204:194;16244:4;16264:20;16282:1;16264:20;:::i;:::-;16259:25;;16298:20;16316:1;16298:20;:::i;:::-;16293:25;;16342:1;16339;16335:9;16327:17;;16366:1;16360:4;16357:11;16354:37;;;16371:18;;:::i;:::-;16354:37;16204:194;;;;:::o;16404:191::-;16444:3;16463:20;16481:1;16463:20;:::i;:::-;16458:25;;16497:20;16515:1;16497:20;:::i;:::-;16492:25;;16540:1;16537;16533:9;16526:16;;16561:3;16558:1;16555:10;16552:36;;;16568:18;;:::i;:::-;16552:36;16404:191;;;;:::o;16601:177::-;16741:29;16737:1;16729:6;16725:14;16718:53;16601:177;:::o;16784:366::-;16926:3;16947:67;17011:2;17006:3;16947:67;:::i;:::-;16940:74;;17023:93;17112:3;17023:93;:::i;:::-;17141:2;17136:3;17132:12;17125:19;;16784:366;;;:::o;17156:419::-;17322:4;17360:2;17349:9;17345:18;17337:26;;17409:9;17403:4;17399:20;17395:1;17384:9;17380:17;17373:47;17437:131;17563:4;17437:131;:::i;:::-;17429:139;;17156:419;;;:::o;17581:410::-;17621:7;17644:20;17662:1;17644:20;:::i;:::-;17639:25;;17678:20;17696:1;17678:20;:::i;:::-;17673:25;;17733:1;17730;17726:9;17755:30;17773:11;17755:30;:::i;:::-;17744:41;;17934:1;17925:7;17921:15;17918:1;17915:22;17895:1;17888:9;17868:83;17845:139;;17964:18;;:::i;:::-;17845:139;17629:362;17581:410;;;;:::o;17997:180::-;18045:77;18042:1;18035:88;18142:4;18139:1;18132:15;18166:4;18163:1;18156:15;18183:185;18223:1;18240:20;18258:1;18240:20;:::i;:::-;18235:25;;18274:20;18292:1;18274:20;:::i;:::-;18269:25;;18313:1;18303:35;;18318:18;;:::i;:::-;18303:35;18360:1;18357;18353:9;18348:14;;18183:185;;;;:::o;18374:220::-;18514:34;18510:1;18502:6;18498:14;18491:58;18583:3;18578:2;18570:6;18566:15;18559:28;18374:220;:::o;18600:366::-;18742:3;18763:67;18827:2;18822:3;18763:67;:::i;:::-;18756:74;;18839:93;18928:3;18839:93;:::i;:::-;18957:2;18952:3;18948:12;18941:19;;18600:366;;;:::o;18972:419::-;19138:4;19176:2;19165:9;19161:18;19153:26;;19225:9;19219:4;19215:20;19211:1;19200:9;19196:17;19189:47;19253:131;19379:4;19253:131;:::i;:::-;19245:139;;18972:419;;;:::o;19397:180::-;19445:77;19442:1;19435:88;19542:4;19539:1;19532:15;19566:4;19563:1;19556:15;19583:180;19631:77;19628:1;19621:88;19728:4;19725:1;19718:15;19752:4;19749:1;19742:15;19769:85;19814:7;19843:5;19832:16;;19769:85;;;:::o;19860:158::-;19918:9;19951:61;19969:42;19978:32;20004:5;19978:32;:::i;:::-;19969:42;:::i;:::-;19951:61;:::i;:::-;19938:74;;19860:158;;;:::o;20024:147::-;20119:45;20158:5;20119:45;:::i;:::-;20114:3;20107:58;20024:147;;:::o;20177:114::-;20244:6;20278:5;20272:12;20262:22;;20177:114;;;:::o;20297:184::-;20396:11;20430:6;20425:3;20418:19;20470:4;20465:3;20461:14;20446:29;;20297:184;;;;:::o;20487:132::-;20554:4;20577:3;20569:11;;20607:4;20602:3;20598:14;20590:22;;20487:132;;;:::o;20625:108::-;20702:24;20720:5;20702:24;:::i;:::-;20697:3;20690:37;20625:108;;:::o;20739:179::-;20808:10;20829:46;20871:3;20863:6;20829:46;:::i;:::-;20907:4;20902:3;20898:14;20884:28;;20739:179;;;;:::o;20924:113::-;20994:4;21026;21021:3;21017:14;21009:22;;20924:113;;;:::o;21073:732::-;21192:3;21221:54;21269:5;21221:54;:::i;:::-;21291:86;21370:6;21365:3;21291:86;:::i;:::-;21284:93;;21401:56;21451:5;21401:56;:::i;:::-;21480:7;21511:1;21496:284;21521:6;21518:1;21515:13;21496:284;;;21597:6;21591:13;21624:63;21683:3;21668:13;21624:63;:::i;:::-;21617:70;;21710:60;21763:6;21710:60;:::i;:::-;21700:70;;21556:224;21543:1;21540;21536:9;21531:14;;21496:284;;;21500:14;21796:3;21789:10;;21197:608;;;21073:732;;;;:::o;21811:831::-;22074:4;22112:3;22101:9;22097:19;22089:27;;22126:71;22194:1;22183:9;22179:17;22170:6;22126:71;:::i;:::-;22207:80;22283:2;22272:9;22268:18;22259:6;22207:80;:::i;:::-;22334:9;22328:4;22324:20;22319:2;22308:9;22304:18;22297:48;22362:108;22465:4;22456:6;22362:108;:::i;:::-;22354:116;;22480:72;22548:2;22537:9;22533:18;22524:6;22480:72;:::i;:::-;22562:73;22630:3;22619:9;22615:19;22606:6;22562:73;:::i;:::-;21811:831;;;;;;;;:::o;22648:483::-;22819:4;22857:2;22846:9;22842:18;22834:26;;22870:71;22938:1;22927:9;22923:17;22914:6;22870:71;:::i;:::-;22988:9;22982:4;22978:20;22973:2;22962:9;22958:18;22951:48;23016:108;23119:4;23110:6;23016:108;:::i;:::-;23008:116;;22648:483;;;;;:::o

Swarm Source

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