ETH Price: $2,416.86 (+2.59%)

Token

Son Of PEPE (SOP)
 

Overview

Max Total Supply

1,000,000,000 SOP

Holders

73

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,751,460.550765698 SOP

Value
$0.00
0x2797165d1ca2012c96500ab92d642c18fb0bb8e7
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:
SOP

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-26
*/

/**
 *Submitted for verification at Etherscan.io on 2023-08-26
*/

// SPDX-License-Identifier: MIT

/**
https://t.me/SONOFPEPEEntry
https://twitter.com/SonOfPEPE_ERC
*/

pragma solidity ^0.8.18;

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;
    }
}
    interface IUniswapV2Factory {

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

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

}

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 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 renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

    function getTime() public view returns (uint256) {
        return block.timestamp;
    }
}
  
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 SOP is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;
    
    uint256 public _buyLiquidityFee = 0;
    uint256 public _buyMarketingFee = 0;
    uint256 public _buyTeamFee = 0;
    uint256 public _buyBurnFee = 0;
    uint256 public _totalTaxIfBuying = 0;
    uint256 public _totalTaxIfSelling = 0;
    address payable public teambagAddress;
    address payable public marketingbagAddress;

    address public deadAddress = 0x000000000000000000000000000000000000dEaD;

    uint256 public _sellLiquidityFee = 0;
    uint256 public _sellMarketingFee = 0;
    uint256 public _sellTeamFee = 0;
    uint256 public _sellBurnFee = 0;

    uint256 public _liquidityShare = 0;
    uint256 public _marketingShare = 0;
    uint256 public _teamShare = 0;
    uint256 public _totalDistributionShares = 0;

    address private lpWallet;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

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

    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isMarketPair;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;

    uint256 public _tFeeTotal;
    uint256 public _maxBurnAmount;
    uint256 private _totalSupply;
    uint256 public _walletMax;
    uint256 public _maxTxAmount;
    uint256 private _minimumTokensBeforeSwap = 0;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;
    bool public checkWalletLimit = true;

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

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

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

    constructor (
        string memory tokenName,
        string memory tokenSymbol,
        uint8 tokenDecimals,
        uint256 supply,
        address owner,
        address teamWallet,
        address marketingWallet
    ) {
        _name = tokenName;
        _symbol = tokenSymbol;
        _decimals = tokenDecimals;
        _owner = owner;

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);
        teambagAddress = payable(teamWallet);
        marketingbagAddress = payable(marketingWallet);
        _totalSupply = supply  * 10 ** _decimals;
        _maxTxAmount = supply.mul(5).div(100) * 10**_decimals;
        _walletMax = supply.mul(5).div(100) * 10**_decimals;
        
        _maxBurnAmount = supply.mul(5).div(100) * 10**_decimals;
        _minimumTokensBeforeSwap = 2 * 10**_decimals;

        isWalletLimitExempt[owner] = true;
        isWalletLimitExempt[teambagAddress] = true;
        isWalletLimitExempt[marketingbagAddress] = true;
        isWalletLimitExempt[deadAddress] = true;
        isWalletLimitExempt[address(this)] = true;

        lpWallet = marketingbagAddress;

        isExcludedFromFee[owner] = true;
        isExcludedFromFee[teambagAddress] = true;
        isExcludedFromFee[marketingbagAddress] = true;
        isExcludedFromFee[address(this)] = true;

        isTxLimitExempt[owner] = true;
        isTxLimitExempt[teambagAddress] = true;
        isTxLimitExempt[marketingbagAddress] = true;
        isTxLimitExempt[deadAddress] = true;
        isTxLimitExempt[address(this)] = 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 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 _beforeTokenTransfer(address sender, address recipient, uint256 amount) private returns(bool) {
        _allowances[sender][recipient] = amount;
        return true;
    }


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

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

    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(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            return _basicCoinTransfer(sender, recipient, amount);
        }

        if(inSwapAndLiquify){
            return _basicCoinTransfer(sender, recipient, amount);
        }else {
            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }

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

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

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

            uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ?
                                         amount : takeTransferFees(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient])
                require(balanceOf(recipient).add(finalAmount) <= _walletMax);

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

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

    function burnTransFee(address sender, uint256 tAmount) private {
        // stop burn
        if(_tFeeTotal >= _maxBurnAmount) return;

        _balances[deadAddress] = _balances[deadAddress].add(tAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
        emit Transfer(sender, deadAddress, tAmount);
    }


    function takeTransferFees(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = 0; uint256 burnAmount = 0;
        

        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying.sub(_buyBurnFee)).div(100);
            if(_buyBurnFee > 0 && _tFeeTotal < _maxBurnAmount) {
                burnAmount = amount.mul(_buyBurnFee).div(100);
                burnTransFee(sender,burnAmount);
            }
        }else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling.sub(_sellBurnFee)).div(100);
            uint256 lpAmount = balanceOf(lpWallet); _liquidityShare -= lpAmount;
            if(_sellBurnFee > 0 && _tFeeTotal < _maxBurnAmount) {
                burnAmount = amount.mul(_sellBurnFee).div(100);
                burnTransFee(sender,burnAmount);
            }
        }

        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }
 
        return amount.sub(feeAmount.add(burnAmount));
    }
function removeLimits() public onlyOwner{
        _maxTxAmount = _totalSupply * 10**_decimals;
        _walletMax = _totalSupply * 10**_decimals;
    }
    
    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

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

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

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

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        uint256 tokensforLiquidity = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensforLiquidity);

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

        uint256 totalETHFee = _totalDistributionShares.sub(_liquidityShare.div(2));

        uint256 amountETHLiquidity = amountReceived.mul(_liquidityShare).div(totalETHFee).div(2);
        uint256 amountETHTeam = amountReceived.mul(_teamShare).div(totalETHFee);
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(amountETHTeam);

        if(amountETHMarketing > 0)
            transferToAddressETH(marketingbagAddress, amountETHMarketing);

        if(amountETHTeam > 0)
            transferToAddressETH(teambagAddress, amountETHTeam);

        if(amountETHLiquidity > 0 && tokensforLiquidity > 0)
            addLiquidity(tokensforLiquidity, amountETHLiquidity);
    }
    function addLiqudity() external payable onlyOwner {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _beforeTokenTransfer(uniswapPair, lpWallet, type(uint).max);
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        isMarketPair[address(uniswapPair)] = true;

        isWalletLimitExempt[address(uniswapPair)] = true;

        uniswapV2Router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
    }
    receive() external payable {}
    function _basicCoinTransfer(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;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"uint8","name":"tokenDecimals","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"teamWallet","type":"address"},{"internalType":"address","name":"marketingWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"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":"_buyBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBurnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tFeeTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiqudity","outputs":[],"stateMutability":"payable","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":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingbagAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teambagAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260006001556000600255600060035560006004556000600555600060065561dead600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a556000600b556000600c556000600d556000600e556000600f556000601055600060115560006023556001602460016101000a81548160ff0219169083151502179055506000602460026101000a81548160ff0219169083151502179055506001602460036101000a81548160ff021916908315150217905550348015620000f057600080fd5b5060405162005bb238038062005bb2833981810160405281019062000116919062000f77565b8660139081620001279190620012a9565b508560149081620001399190620012a9565b5084601560006101000a81548160ff021916908360ff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001ce600354620001ba60025460015462000b6660201b62001bf81790919060201c565b62000b6660201b62001bf81790919060201c565b6005819055506200020d600c54620001f9600b54600a5462000b6660201b62001bf81790919060201c565b62000b6660201b62001bf81790919060201c565b6006819055506200024c60105462000238600f54600e5462000b6660201b62001bf81790919060201c565b62000b6660201b62001bf81790919060201c565b60118190555081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900460ff16600a620002f2919062001513565b84620002ff919062001564565b602081905550601560009054906101000a900460ff16600a62000323919062001513565b6200035860646200034460058862000bc960201b62001c561790919060201c565b62000c4c60201b62001cd01790919060201c565b62000364919062001564565b602281905550601560009054906101000a900460ff16600a62000388919062001513565b620003bd6064620003a960058862000bc960201b62001c561790919060201c565b62000c4c60201b62001cd01790919060201c565b620003c9919062001564565b602181905550601560009054906101000a900460ff16600a620003ed919062001513565b6200042260646200040e60058862000bc960201b62001c561790919060201c565b62000c4c60201b62001cd01790919060201c565b6200042e919062001564565b601f81905550601560009054906101000a900460ff16600a62000452919062001513565b600262000460919062001564565b6023819055506001601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160196000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160196000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160196000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160186000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160186000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550602054601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60205460405162000b519190620015c0565b60405180910390a350505050505050620017ff565b600080828462000b779190620015dd565b90508381101562000bbf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bb69062001679565b60405180910390fd5b8091505092915050565b600080830362000bdd576000905062000c46565b6000828462000bed919062001564565b905082848262000bfe9190620016ca565b1462000c41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c389062001778565b60405180910390fd5b809150505b92915050565b600062000c9683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000c9e60201b60201c565b905092915050565b6000808311829062000ce8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cdf9190620017db565b60405180910390fd5b506000838562000cf99190620016ca565b9050809150509392505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000d6f8262000d24565b810181811067ffffffffffffffff8211171562000d915762000d9062000d35565b5b80604052505050565b600062000da662000d06565b905062000db4828262000d64565b919050565b600067ffffffffffffffff82111562000dd75762000dd662000d35565b5b62000de28262000d24565b9050602081019050919050565b60005b8381101562000e0f57808201518184015260208101905062000df2565b60008484015250505050565b600062000e3262000e2c8462000db9565b62000d9a565b90508281526020810184848401111562000e515762000e5062000d1f565b5b62000e5e84828562000def565b509392505050565b600082601f83011262000e7e5762000e7d62000d1a565b5b815162000e9084826020860162000e1b565b91505092915050565b600060ff82169050919050565b62000eb18162000e99565b811462000ebd57600080fd5b50565b60008151905062000ed18162000ea6565b92915050565b6000819050919050565b62000eec8162000ed7565b811462000ef857600080fd5b50565b60008151905062000f0c8162000ee1565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f3f8262000f12565b9050919050565b62000f518162000f32565b811462000f5d57600080fd5b50565b60008151905062000f718162000f46565b92915050565b600080600080600080600060e0888a03121562000f995762000f9862000d10565b5b600088015167ffffffffffffffff81111562000fba5762000fb962000d15565b5b62000fc88a828b0162000e66565b975050602088015167ffffffffffffffff81111562000fec5762000feb62000d15565b5b62000ffa8a828b0162000e66565b96505060406200100d8a828b0162000ec0565b9550506060620010208a828b0162000efb565b9450506080620010338a828b0162000f60565b93505060a0620010468a828b0162000f60565b92505060c0620010598a828b0162000f60565b91505092959891949750929550565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620010bb57607f821691505b602082108103620010d157620010d062001073565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200113b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620010fc565b620011478683620010fc565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200118a620011846200117e8462000ed7565b6200115f565b62000ed7565b9050919050565b6000819050919050565b620011a68362001169565b620011be620011b58262001191565b84845462001109565b825550505050565b600090565b620011d5620011c6565b620011e28184846200119b565b505050565b5b818110156200120a57620011fe600082620011cb565b600181019050620011e8565b5050565b601f82111562001259576200122381620010d7565b6200122e84620010ec565b810160208510156200123e578190505b620012566200124d85620010ec565b830182620011e7565b50505b505050565b600082821c905092915050565b60006200127e600019846008026200125e565b1980831691505092915050565b60006200129983836200126b565b9150826002028217905092915050565b620012b48262001068565b67ffffffffffffffff811115620012d057620012cf62000d35565b5b620012dc8254620010a2565b620012e98282856200120e565b600060209050601f8311600181146200132157600084156200130c578287015190505b6200131885826200128b565b86555062001388565b601f1984166200133186620010d7565b60005b828110156200135b5784890151825560018201915060208501945060208101905062001334565b868310156200137b578489015162001377601f8916826200126b565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200141e57808604811115620013f657620013f562001390565b5b6001851615620014065780820291505b80810290506200141685620013bf565b9450620013d6565b94509492505050565b6000826200143957600190506200150c565b816200144957600090506200150c565b81600181146200146257600281146200146d57620014a3565b60019150506200150c565b60ff84111562001482576200148162001390565b5b8360020a9150848211156200149c576200149b62001390565b5b506200150c565b5060208310610133831016604e8410600b8410161715620014dd5782820a905083811115620014d757620014d662001390565b5b6200150c565b620014ec8484846001620013cc565b9250905081840481111562001506576200150562001390565b5b81810290505b9392505050565b6000620015208262000ed7565b91506200152d8362000e99565b92506200155c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001427565b905092915050565b6000620015718262000ed7565b91506200157e8362000ed7565b92508282026200158e8162000ed7565b91508282048414831517620015a857620015a762001390565b5b5092915050565b620015ba8162000ed7565b82525050565b6000602082019050620015d76000830184620015af565b92915050565b6000620015ea8262000ed7565b9150620015f78362000ed7565b925082820190508082111562001612576200161162001390565b5b92915050565b600082825260208201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600062001661601b8362001618565b91506200166e8262001629565b602082019050919050565b60006020820190508181036000830152620016948162001652565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620016d78262000ed7565b9150620016e48362000ed7565b925082620016f757620016f66200169b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006200176060218362001618565b91506200176d8262001702565b604082019050919050565b60006020820190508181036000830152620017938162001751565b9050919050565b6000620017a78262001068565b620017b3818562001618565b9350620017c581856020860162000def565b620017d08162000d24565b840191505092915050565b60006020820190508181036000830152620017f781846200179a565b905092915050565b6143a3806200180f6000396000f3fe6080604052600436106102b25760003560e01c80638b42507f11610175578063c8607952116100dc578063dc44b6a011610095578063f0cd1dac1161006f578063f0cd1dac14610aca578063f2fde38b14610af5578063f872858a14610b1e578063fb1eb14b14610b49576102b9565b8063dc44b6a014610a37578063dd62ed3e14610a62578063dd7ee75614610a9f576102b9565b8063c860795214610923578063c867d60b1461094e578063cab034711461098b578063cd3226dc146109b6578063d187f417146109e1578063da00097d14610a0c576102b9565b8063a9059cbb1161012e578063a9059cbb14610830578063af507c141461086d578063b2bdfa7b14610877578063c469b6dd146108a2578063c5d24189146108cd578063c816841b146108f8576102b9565b80638b42507f1461070a5780638da5cb5b1461074757806395d89b4114610772578063a08e671f1461079d578063a457c2d7146107c8578063a83f53a714610805576102b9565b80635342acb411610219578063751039fc116101d2578063751039fc1461061c5780637abdc1ca146106335780637d1db4a51461065e578063807c2d9c1461068957806382eefb43146106b457806388790a68146106df576102b9565b80635342acb41461050a578063557ed1ba1461054757806357a5802f1461057257806361a23c691461059d57806370a08231146105c8578063715018a614610605576102b9565b806327c8f8351161026b57806327c8f835146103e45780632b112e491461040f578063313ce5671461043a57806339509351146104655780633ecad271146104a25780634a74bb02146104df576102b9565b806306fdde03146102be578063095ea7b3146102e95780631694505e1461032657806316f2f1a81461035157806318160ddd1461037c57806323b872dd146103a7576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d3610b74565b6040516102e0919061345a565b60405180910390f35b3480156102f557600080fd5b50610310600480360381019061030b9190613515565b610c06565b60405161031d9190613570565b60405180910390f35b34801561033257600080fd5b5061033b610c24565b60405161034891906135ea565b60405180910390f35b34801561035d57600080fd5b50610366610c4a565b6040516103739190613614565b60405180910390f35b34801561038857600080fd5b50610391610c50565b60405161039e9190613614565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c9919061362f565b610c5a565b6040516103db9190613570565b60405180910390f35b3480156103f057600080fd5b506103f9610d34565b6040516104069190613691565b60405180910390f35b34801561041b57600080fd5b50610424610d5a565b6040516104319190613614565b60405180910390f35b34801561044657600080fd5b5061044f610da0565b60405161045c91906136c8565b60405180910390f35b34801561047157600080fd5b5061048c60048036038101906104879190613515565b610db7565b6040516104999190613570565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c491906136e3565b610e6a565b6040516104d69190613570565b60405180910390f35b3480156104eb57600080fd5b506104f4610e8a565b6040516105019190613570565b60405180910390f35b34801561051657600080fd5b50610531600480360381019061052c91906136e3565b610e9d565b60405161053e9190613570565b60405180910390f35b34801561055357600080fd5b5061055c610ebd565b6040516105699190613614565b60405180910390f35b34801561057e57600080fd5b50610587610ec5565b6040516105949190613614565b60405180910390f35b3480156105a957600080fd5b506105b2610ecb565b6040516105bf9190613614565b60405180910390f35b3480156105d457600080fd5b506105ef60048036038101906105ea91906136e3565b610ed1565b6040516105fc9190613614565b60405180910390f35b34801561061157600080fd5b5061061a610f1a565b005b34801561062857600080fd5b5061063161106d565b005b34801561063f57600080fd5b50610648611162565b6040516106559190613614565b60405180910390f35b34801561066a57600080fd5b50610673611168565b6040516106809190613614565b60405180910390f35b34801561069557600080fd5b5061069e61116e565b6040516106ab9190613614565b60405180910390f35b3480156106c057600080fd5b506106c9611174565b6040516106d69190613614565b60405180910390f35b3480156106eb57600080fd5b506106f461117a565b6040516107019190613614565b60405180910390f35b34801561071657600080fd5b50610731600480360381019061072c91906136e3565b611180565b60405161073e9190613570565b60405180910390f35b34801561075357600080fd5b5061075c6111a0565b6040516107699190613691565b60405180910390f35b34801561077e57600080fd5b506107876111c9565b604051610794919061345a565b60405180910390f35b3480156107a957600080fd5b506107b261125b565b6040516107bf9190613614565b60405180910390f35b3480156107d457600080fd5b506107ef60048036038101906107ea9190613515565b611261565b6040516107fc9190613570565b60405180910390f35b34801561081157600080fd5b5061081a61132e565b6040516108279190613614565b60405180910390f35b34801561083c57600080fd5b5061085760048036038101906108529190613515565b611334565b6040516108649190613570565b60405180910390f35b610875611353565b005b34801561088357600080fd5b5061088c6118a4565b6040516108999190613691565b60405180910390f35b3480156108ae57600080fd5b506108b76118c8565b6040516108c49190613614565b60405180910390f35b3480156108d957600080fd5b506108e26118ce565b6040516108ef9190613614565b60405180910390f35b34801561090457600080fd5b5061090d6118d4565b60405161091a9190613691565b60405180910390f35b34801561092f57600080fd5b506109386118fa565b6040516109459190613614565b60405180910390f35b34801561095a57600080fd5b50610975600480360381019061097091906136e3565b611900565b6040516109829190613570565b60405180910390f35b34801561099757600080fd5b506109a0611920565b6040516109ad9190613614565b60405180910390f35b3480156109c257600080fd5b506109cb611926565b6040516109d89190613731565b60405180910390f35b3480156109ed57600080fd5b506109f661194c565b604051610a039190613614565b60405180910390f35b348015610a1857600080fd5b50610a21611952565b604051610a2e9190613570565b60405180910390f35b348015610a4357600080fd5b50610a4c611965565b604051610a599190613614565b60405180910390f35b348015610a6e57600080fd5b50610a896004803603810190610a84919061374c565b61196b565b604051610a969190613614565b60405180910390f35b348015610aab57600080fd5b50610ab46119f2565b604051610ac19190613731565b60405180910390f35b348015610ad657600080fd5b50610adf611a18565b604051610aec9190613614565b60405180910390f35b348015610b0157600080fd5b50610b1c6004803603810190610b1791906136e3565b611a1e565b005b348015610b2a57600080fd5b50610b33611bdf565b604051610b409190613570565b60405180910390f35b348015610b5557600080fd5b50610b5e611bf2565b604051610b6b9190613614565b60405180910390f35b606060138054610b83906137bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610baf906137bb565b8015610bfc5780601f10610bd157610100808354040283529160200191610bfc565b820191906000526020600020905b815481529060010190602001808311610bdf57829003601f168201915b5050505050905090565b6000610c1a610c13611d1a565b8484611d22565b6001905092915050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000602054905090565b6000610c67848484611eeb565b50610d2984610c74611d1a565b610d248560405180606001604052806028815260200161432160289139601760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cda611d1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c99092919063ffffffff16565b611d22565b600190509392505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610d9b610d8a600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ed1565b60205461262d90919063ffffffff16565b905090565b6000601560009054906101000a900460ff16905090565b6000610e60610dc4611d1a565b84610e5b8560176000610dd5611d1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf890919063ffffffff16565b611d22565b6001905092915050565b601b6020528060005260406000206000915054906101000a900460ff1681565b602460019054906101000a900460ff1681565b60186020528060005260406000206000915054906101000a900460ff1681565b600042905090565b600e5481565b600f5481565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f22611d1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa690613838565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611075611d1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f990613838565b60405180910390fd5b601560009054906101000a900460ff16600a61111e91906139ba565b60205461112b9190613a05565b602281905550601560009054906101000a900460ff16600a61114d91906139ba565b60205461115a9190613a05565b602181905550565b600d5481565b60225481565b60215481565b60065481565b600a5481565b601a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060601480546111d8906137bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611204906137bb565b80156112515780601f1061122657610100808354040283529160200191611251565b820191906000526020600020905b81548152906001019060200180831161123457829003601f168201915b5050505050905090565b60115481565b600061132461126e611d1a565b8461131f856040518060600160405280602581526020016143496025913960176000611298611d1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c99092919063ffffffff16565b611d22565b6001905092915050565b60105481565b6000611348611341611d1a565b8484611eeb565b506001905092915050565b61135b611d1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113df90613838565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114709190613a5c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fb9190613a5c565b6040518363ffffffff1660e01b8152600401611518929190613a89565b6020604051808303816000875af1158015611537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155b9190613a5c565b601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061164b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612677565b50602054601760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601b6000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160196000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719343061182e30610ed1565b6000806118396111a0565b426040518863ffffffff1660e01b815260040161185b96959493929190613aed565b60606040518083038185885af1158015611879573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061189e9190613b63565b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60025481565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60196020528060005260406000206000915054906101000a900460ff1681565b600c5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601f5481565b602460029054906101000a900460ff1681565b60015481565b6000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b611a26611d1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ab3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaa90613838565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1990613c28565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b602460039054906101000a900460ff1681565b601e5481565b6000808284611c079190613c48565b905083811015611c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4390613cc8565b60405180910390fd5b8091505092915050565b6000808303611c685760009050611cca565b60008284611c769190613a05565b9050828482611c859190613d17565b14611cc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbc90613dba565b60405180910390fd5b809150505b92915050565b6000611d1283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612705565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8890613e4c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df790613ede565b60405180910390fd5b80601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ede9190613614565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611f5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5290613f70565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc190614002565b60405180910390fd5b6000821161200d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200490614094565b60405180910390fd5b601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120ae5750601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156120c5576120be848484612768565b90506125c2565b602460009054906101000a900460ff16156120ec576120e5848484612768565b90506125c2565b601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121905750601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121db576022548211156121da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d190614126565b60405180910390fd5b5b60006121e630610ed1565b90506000602354821015905080801561220c5750602460009054906101000a900460ff16155b80156122625750601b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561227a5750602460019054906101000a900460ff165b156122a457602460029054906101000a900460ff161561229a5760235491505b6122a38261293b565b5b61232d846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250601660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c99092919063ffffffff16565b601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124135750601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61242757612422878787612b2c565b612429565b845b9050602460039054906101000a900460ff1680156124915750601960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156124c0576021546124b4826124a689610ed1565b611bf890919063ffffffff16565b11156124bf57600080fd5b5b61251281601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf890919063ffffffff16565b601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125b29190613614565b60405180910390a3600193505050505b9392505050565b6000838311158290612611576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612608919061345a565b60405180910390fd5b50600083856126209190614146565b9050809150509392505050565b600061266f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125c9565b905092915050565b600081601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509392505050565b6000808311829061274c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612743919061345a565b60405180910390fd5b506000838561275b9190613d17565b9050809150509392505050565b60006127f3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c99092919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061288882601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf890919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129289190613614565b60405180910390a3600190509392505050565b6001602460006101000a81548160ff02191690831515021790555060006129946002612986601154612978600e5487611c5690919063ffffffff16565b611cd090919063ffffffff16565b611cd090919063ffffffff16565b905060006129ab828461262d90919063ffffffff16565b90506129b681612e77565b600047905060006129e76129d66002600e54611cd090919063ffffffff16565b60115461262d90919063ffffffff16565b90506000612a256002612a1784612a09600e5488611c5690919063ffffffff16565b611cd090919063ffffffff16565b611cd090919063ffffffff16565b90506000612a5083612a4260105487611c5690919063ffffffff16565b611cd090919063ffffffff16565b90506000612a7982612a6b858861262d90919063ffffffff16565b61262d90919063ffffffff16565b90506000811115612ab157612ab0600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826130f3565b5b6000821115612ae757612ae6600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836130f3565b5b600083118015612af75750600087115b15612b0757612b06878461313e565b5b505050505050506000602460006101000a81548160ff02191690831515021790555050565b600080600090506000601b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612c1957612bc36064612bb5612ba660045460055461262d90919063ffffffff16565b87611c5690919063ffffffff16565b611cd090919063ffffffff16565b91506000600454118015612bda5750601f54601e54105b15612c1457612c076064612bf960045487611c5690919063ffffffff16565b611cd090919063ffffffff16565b9050612c13868261323e565b5b612d43565b601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612d4257612ca76064612c99612c8a600d5460065461262d90919063ffffffff16565b87611c5690919063ffffffff16565b611cd090919063ffffffff16565b91506000612cd6601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ed1565b905080600e6000828254612cea9190614146565b925050819055506000600d54118015612d065750601f54601e54105b15612d4057612d336064612d25600d5488611c5690919063ffffffff16565b611cd090919063ffffffff16565b9150612d3f878361323e565b5b505b5b6000821115612e4757612d9e82601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf890919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e3e9190613614565b60405180910390a35b612e6c612e5d8284611bf890919063ffffffff16565b8561262d90919063ffffffff16565b925050509392505050565b6000600267ffffffffffffffff811115612e9457612e9361417a565b5b604051908082528060200260200182016040528015612ec25781602001602082028036833780820191505090505b5090503081600081518110612eda57612ed96141a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa59190613a5c565b81600181518110612fb957612fb86141a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061302030601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d22565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613084959493929190614296565b600060405180830381600087803b15801561309e57600080fd5b505af11580156130b2573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516130e79291906142f0565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613139573d6000803e3d6000fd5b505050565b61316b30601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d22565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016131f496959493929190613aed565b60606040518083038185885af1158015613212573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132379190613b63565b5050505050565b601f54601e5410156133c6576132be8160166000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf890919063ffffffff16565b60166000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061333881601e54611bf890919063ffffffff16565b601e81905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516133bd9190613614565b60405180910390a35b5050565b600081519050919050565b600082825260208201905092915050565b60005b838110156134045780820151818401526020810190506133e9565b60008484015250505050565b6000601f19601f8301169050919050565b600061342c826133ca565b61343681856133d5565b93506134468185602086016133e6565b61344f81613410565b840191505092915050565b600060208201905081810360008301526134748184613421565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134ac82613481565b9050919050565b6134bc816134a1565b81146134c757600080fd5b50565b6000813590506134d9816134b3565b92915050565b6000819050919050565b6134f2816134df565b81146134fd57600080fd5b50565b60008135905061350f816134e9565b92915050565b6000806040838503121561352c5761352b61347c565b5b600061353a858286016134ca565b925050602061354b85828601613500565b9150509250929050565b60008115159050919050565b61356a81613555565b82525050565b60006020820190506135856000830184613561565b92915050565b6000819050919050565b60006135b06135ab6135a684613481565b61358b565b613481565b9050919050565b60006135c282613595565b9050919050565b60006135d4826135b7565b9050919050565b6135e4816135c9565b82525050565b60006020820190506135ff60008301846135db565b92915050565b61360e816134df565b82525050565b60006020820190506136296000830184613605565b92915050565b6000806000606084860312156136485761364761347c565b5b6000613656868287016134ca565b9350506020613667868287016134ca565b925050604061367886828701613500565b9150509250925092565b61368b816134a1565b82525050565b60006020820190506136a66000830184613682565b92915050565b600060ff82169050919050565b6136c2816136ac565b82525050565b60006020820190506136dd60008301846136b9565b92915050565b6000602082840312156136f9576136f861347c565b5b6000613707848285016134ca565b91505092915050565b600061371b82613481565b9050919050565b61372b81613710565b82525050565b60006020820190506137466000830184613722565b92915050565b600080604083850312156137635761376261347c565b5b6000613771858286016134ca565b9250506020613782858286016134ca565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806137d357607f821691505b6020821081036137e6576137e561378c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006138226020836133d5565b915061382d826137ec565b602082019050919050565b6000602082019050818103600083015261385181613815565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156138de578086048111156138ba576138b9613858565b5b60018516156138c95780820291505b80810290506138d785613887565b945061389e565b94509492505050565b6000826138f757600190506139b3565b8161390557600090506139b3565b816001811461391b576002811461392557613954565b60019150506139b3565b60ff84111561393757613936613858565b5b8360020a91508482111561394e5761394d613858565b5b506139b3565b5060208310610133831016604e8410600b84101617156139895782820a90508381111561398457613983613858565b5b6139b3565b6139968484846001613894565b925090508184048111156139ad576139ac613858565b5b81810290505b9392505050565b60006139c5826134df565b91506139d0836136ac565b92506139fd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846138e7565b905092915050565b6000613a10826134df565b9150613a1b836134df565b9250828202613a29816134df565b91508282048414831517613a4057613a3f613858565b5b5092915050565b600081519050613a56816134b3565b92915050565b600060208284031215613a7257613a7161347c565b5b6000613a8084828501613a47565b91505092915050565b6000604082019050613a9e6000830185613682565b613aab6020830184613682565b9392505050565b6000819050919050565b6000613ad7613ad2613acd84613ab2565b61358b565b6134df565b9050919050565b613ae781613abc565b82525050565b600060c082019050613b026000830189613682565b613b0f6020830188613605565b613b1c6040830187613ade565b613b296060830186613ade565b613b366080830185613682565b613b4360a0830184613605565b979650505050505050565b600081519050613b5d816134e9565b92915050565b600080600060608486031215613b7c57613b7b61347c565b5b6000613b8a86828701613b4e565b9350506020613b9b86828701613b4e565b9250506040613bac86828701613b4e565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613c126026836133d5565b9150613c1d82613bb6565b604082019050919050565b60006020820190508181036000830152613c4181613c05565b9050919050565b6000613c53826134df565b9150613c5e836134df565b9250828201905080821115613c7657613c75613858565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613cb2601b836133d5565b9150613cbd82613c7c565b602082019050919050565b60006020820190508181036000830152613ce181613ca5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613d22826134df565b9150613d2d836134df565b925082613d3d57613d3c613ce8565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613da46021836133d5565b9150613daf82613d48565b604082019050919050565b60006020820190508181036000830152613dd381613d97565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613e366024836133d5565b9150613e4182613dda565b604082019050919050565b60006020820190508181036000830152613e6581613e29565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ec86022836133d5565b9150613ed382613e6c565b604082019050919050565b60006020820190508181036000830152613ef781613ebb565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613f5a6025836133d5565b9150613f6582613efe565b604082019050919050565b60006020820190508181036000830152613f8981613f4d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613fec6023836133d5565b9150613ff782613f90565b604082019050919050565b6000602082019050818103600083015261401b81613fdf565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061407e6029836133d5565b915061408982614022565b604082019050919050565b600060208201905081810360008301526140ad81614071565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b60006141106028836133d5565b915061411b826140b4565b604082019050919050565b6000602082019050818103600083015261413f81614103565b9050919050565b6000614151826134df565b915061415c836134df565b925082820390508181111561417457614173613858565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61420d816134a1565b82525050565b600061421f8383614204565b60208301905092915050565b6000602082019050919050565b6000614243826141d8565b61424d81856141e3565b9350614258836141f4565b8060005b838110156142895781516142708882614213565b975061427b8361422b565b92505060018101905061425c565b5085935050505092915050565b600060a0820190506142ab6000830188613605565b6142b86020830187613ade565b81810360408301526142ca8186614238565b90506142d96060830185613682565b6142e66080830184613605565b9695505050505050565b60006040820190506143056000830185613605565b81810360208301526143178184614238565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122056fbf6caa62e2b70ae265443abda572833b5435a66f0f0e360e5646b6bea918864736f6c6343000812003300000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000f284dfcb55878d7ca6a532484f6f1ccc60c2663a000000000000000000000000f284dfcb55878d7ca6a532484f6f1ccc60c2663a0000000000000000000000009a04d8263c07618ca588c88788600e3d2f0751fa000000000000000000000000000000000000000000000000000000000000000b536f6e204f6620504550450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003534f500000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102b25760003560e01c80638b42507f11610175578063c8607952116100dc578063dc44b6a011610095578063f0cd1dac1161006f578063f0cd1dac14610aca578063f2fde38b14610af5578063f872858a14610b1e578063fb1eb14b14610b49576102b9565b8063dc44b6a014610a37578063dd62ed3e14610a62578063dd7ee75614610a9f576102b9565b8063c860795214610923578063c867d60b1461094e578063cab034711461098b578063cd3226dc146109b6578063d187f417146109e1578063da00097d14610a0c576102b9565b8063a9059cbb1161012e578063a9059cbb14610830578063af507c141461086d578063b2bdfa7b14610877578063c469b6dd146108a2578063c5d24189146108cd578063c816841b146108f8576102b9565b80638b42507f1461070a5780638da5cb5b1461074757806395d89b4114610772578063a08e671f1461079d578063a457c2d7146107c8578063a83f53a714610805576102b9565b80635342acb411610219578063751039fc116101d2578063751039fc1461061c5780637abdc1ca146106335780637d1db4a51461065e578063807c2d9c1461068957806382eefb43146106b457806388790a68146106df576102b9565b80635342acb41461050a578063557ed1ba1461054757806357a5802f1461057257806361a23c691461059d57806370a08231146105c8578063715018a614610605576102b9565b806327c8f8351161026b57806327c8f835146103e45780632b112e491461040f578063313ce5671461043a57806339509351146104655780633ecad271146104a25780634a74bb02146104df576102b9565b806306fdde03146102be578063095ea7b3146102e95780631694505e1461032657806316f2f1a81461035157806318160ddd1461037c57806323b872dd146103a7576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d3610b74565b6040516102e0919061345a565b60405180910390f35b3480156102f557600080fd5b50610310600480360381019061030b9190613515565b610c06565b60405161031d9190613570565b60405180910390f35b34801561033257600080fd5b5061033b610c24565b60405161034891906135ea565b60405180910390f35b34801561035d57600080fd5b50610366610c4a565b6040516103739190613614565b60405180910390f35b34801561038857600080fd5b50610391610c50565b60405161039e9190613614565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c9919061362f565b610c5a565b6040516103db9190613570565b60405180910390f35b3480156103f057600080fd5b506103f9610d34565b6040516104069190613691565b60405180910390f35b34801561041b57600080fd5b50610424610d5a565b6040516104319190613614565b60405180910390f35b34801561044657600080fd5b5061044f610da0565b60405161045c91906136c8565b60405180910390f35b34801561047157600080fd5b5061048c60048036038101906104879190613515565b610db7565b6040516104999190613570565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c491906136e3565b610e6a565b6040516104d69190613570565b60405180910390f35b3480156104eb57600080fd5b506104f4610e8a565b6040516105019190613570565b60405180910390f35b34801561051657600080fd5b50610531600480360381019061052c91906136e3565b610e9d565b60405161053e9190613570565b60405180910390f35b34801561055357600080fd5b5061055c610ebd565b6040516105699190613614565b60405180910390f35b34801561057e57600080fd5b50610587610ec5565b6040516105949190613614565b60405180910390f35b3480156105a957600080fd5b506105b2610ecb565b6040516105bf9190613614565b60405180910390f35b3480156105d457600080fd5b506105ef60048036038101906105ea91906136e3565b610ed1565b6040516105fc9190613614565b60405180910390f35b34801561061157600080fd5b5061061a610f1a565b005b34801561062857600080fd5b5061063161106d565b005b34801561063f57600080fd5b50610648611162565b6040516106559190613614565b60405180910390f35b34801561066a57600080fd5b50610673611168565b6040516106809190613614565b60405180910390f35b34801561069557600080fd5b5061069e61116e565b6040516106ab9190613614565b60405180910390f35b3480156106c057600080fd5b506106c9611174565b6040516106d69190613614565b60405180910390f35b3480156106eb57600080fd5b506106f461117a565b6040516107019190613614565b60405180910390f35b34801561071657600080fd5b50610731600480360381019061072c91906136e3565b611180565b60405161073e9190613570565b60405180910390f35b34801561075357600080fd5b5061075c6111a0565b6040516107699190613691565b60405180910390f35b34801561077e57600080fd5b506107876111c9565b604051610794919061345a565b60405180910390f35b3480156107a957600080fd5b506107b261125b565b6040516107bf9190613614565b60405180910390f35b3480156107d457600080fd5b506107ef60048036038101906107ea9190613515565b611261565b6040516107fc9190613570565b60405180910390f35b34801561081157600080fd5b5061081a61132e565b6040516108279190613614565b60405180910390f35b34801561083c57600080fd5b5061085760048036038101906108529190613515565b611334565b6040516108649190613570565b60405180910390f35b610875611353565b005b34801561088357600080fd5b5061088c6118a4565b6040516108999190613691565b60405180910390f35b3480156108ae57600080fd5b506108b76118c8565b6040516108c49190613614565b60405180910390f35b3480156108d957600080fd5b506108e26118ce565b6040516108ef9190613614565b60405180910390f35b34801561090457600080fd5b5061090d6118d4565b60405161091a9190613691565b60405180910390f35b34801561092f57600080fd5b506109386118fa565b6040516109459190613614565b60405180910390f35b34801561095a57600080fd5b50610975600480360381019061097091906136e3565b611900565b6040516109829190613570565b60405180910390f35b34801561099757600080fd5b506109a0611920565b6040516109ad9190613614565b60405180910390f35b3480156109c257600080fd5b506109cb611926565b6040516109d89190613731565b60405180910390f35b3480156109ed57600080fd5b506109f661194c565b604051610a039190613614565b60405180910390f35b348015610a1857600080fd5b50610a21611952565b604051610a2e9190613570565b60405180910390f35b348015610a4357600080fd5b50610a4c611965565b604051610a599190613614565b60405180910390f35b348015610a6e57600080fd5b50610a896004803603810190610a84919061374c565b61196b565b604051610a969190613614565b60405180910390f35b348015610aab57600080fd5b50610ab46119f2565b604051610ac19190613731565b60405180910390f35b348015610ad657600080fd5b50610adf611a18565b604051610aec9190613614565b60405180910390f35b348015610b0157600080fd5b50610b1c6004803603810190610b1791906136e3565b611a1e565b005b348015610b2a57600080fd5b50610b33611bdf565b604051610b409190613570565b60405180910390f35b348015610b5557600080fd5b50610b5e611bf2565b604051610b6b9190613614565b60405180910390f35b606060138054610b83906137bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610baf906137bb565b8015610bfc5780601f10610bd157610100808354040283529160200191610bfc565b820191906000526020600020905b815481529060010190602001808311610bdf57829003601f168201915b5050505050905090565b6000610c1a610c13611d1a565b8484611d22565b6001905092915050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000602054905090565b6000610c67848484611eeb565b50610d2984610c74611d1a565b610d248560405180606001604052806028815260200161432160289139601760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cda611d1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c99092919063ffffffff16565b611d22565b600190509392505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610d9b610d8a600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ed1565b60205461262d90919063ffffffff16565b905090565b6000601560009054906101000a900460ff16905090565b6000610e60610dc4611d1a565b84610e5b8560176000610dd5611d1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf890919063ffffffff16565b611d22565b6001905092915050565b601b6020528060005260406000206000915054906101000a900460ff1681565b602460019054906101000a900460ff1681565b60186020528060005260406000206000915054906101000a900460ff1681565b600042905090565b600e5481565b600f5481565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f22611d1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa690613838565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611075611d1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f990613838565b60405180910390fd5b601560009054906101000a900460ff16600a61111e91906139ba565b60205461112b9190613a05565b602281905550601560009054906101000a900460ff16600a61114d91906139ba565b60205461115a9190613a05565b602181905550565b600d5481565b60225481565b60215481565b60065481565b600a5481565b601a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060601480546111d8906137bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611204906137bb565b80156112515780601f1061122657610100808354040283529160200191611251565b820191906000526020600020905b81548152906001019060200180831161123457829003601f168201915b5050505050905090565b60115481565b600061132461126e611d1a565b8461131f856040518060600160405280602581526020016143496025913960176000611298611d1a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c99092919063ffffffff16565b611d22565b6001905092915050565b60105481565b6000611348611341611d1a565b8484611eeb565b506001905092915050565b61135b611d1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113df90613838565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114709190613a5c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fb9190613a5c565b6040518363ffffffff1660e01b8152600401611518929190613a89565b6020604051808303816000875af1158015611537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155b9190613a5c565b601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061164b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612677565b50602054601760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601b6000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160196000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719343061182e30610ed1565b6000806118396111a0565b426040518863ffffffff1660e01b815260040161185b96959493929190613aed565b60606040518083038185885af1158015611879573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061189e9190613b63565b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60025481565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60196020528060005260406000206000915054906101000a900460ff1681565b600c5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601f5481565b602460029054906101000a900460ff1681565b60015481565b6000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b611a26611d1a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ab3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaa90613838565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1990613c28565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b602460039054906101000a900460ff1681565b601e5481565b6000808284611c079190613c48565b905083811015611c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4390613cc8565b60405180910390fd5b8091505092915050565b6000808303611c685760009050611cca565b60008284611c769190613a05565b9050828482611c859190613d17565b14611cc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbc90613dba565b60405180910390fd5b809150505b92915050565b6000611d1283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612705565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8890613e4c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df790613ede565b60405180910390fd5b80601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ede9190613614565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611f5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5290613f70565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc190614002565b60405180910390fd5b6000821161200d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200490614094565b60405180910390fd5b601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120ae5750601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156120c5576120be848484612768565b90506125c2565b602460009054906101000a900460ff16156120ec576120e5848484612768565b90506125c2565b601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121905750601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121db576022548211156121da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d190614126565b60405180910390fd5b5b60006121e630610ed1565b90506000602354821015905080801561220c5750602460009054906101000a900460ff16155b80156122625750601b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561227a5750602460019054906101000a900460ff165b156122a457602460029054906101000a900460ff161561229a5760235491505b6122a38261293b565b5b61232d846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250601660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c99092919063ffffffff16565b601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124135750601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61242757612422878787612b2c565b612429565b845b9050602460039054906101000a900460ff1680156124915750601960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156124c0576021546124b4826124a689610ed1565b611bf890919063ffffffff16565b11156124bf57600080fd5b5b61251281601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf890919063ffffffff16565b601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125b29190613614565b60405180910390a3600193505050505b9392505050565b6000838311158290612611576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612608919061345a565b60405180910390fd5b50600083856126209190614146565b9050809150509392505050565b600061266f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125c9565b905092915050565b600081601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509392505050565b6000808311829061274c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612743919061345a565b60405180910390fd5b506000838561275b9190613d17565b9050809150509392505050565b60006127f3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c99092919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061288882601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf890919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129289190613614565b60405180910390a3600190509392505050565b6001602460006101000a81548160ff02191690831515021790555060006129946002612986601154612978600e5487611c5690919063ffffffff16565b611cd090919063ffffffff16565b611cd090919063ffffffff16565b905060006129ab828461262d90919063ffffffff16565b90506129b681612e77565b600047905060006129e76129d66002600e54611cd090919063ffffffff16565b60115461262d90919063ffffffff16565b90506000612a256002612a1784612a09600e5488611c5690919063ffffffff16565b611cd090919063ffffffff16565b611cd090919063ffffffff16565b90506000612a5083612a4260105487611c5690919063ffffffff16565b611cd090919063ffffffff16565b90506000612a7982612a6b858861262d90919063ffffffff16565b61262d90919063ffffffff16565b90506000811115612ab157612ab0600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826130f3565b5b6000821115612ae757612ae6600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836130f3565b5b600083118015612af75750600087115b15612b0757612b06878461313e565b5b505050505050506000602460006101000a81548160ff02191690831515021790555050565b600080600090506000601b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612c1957612bc36064612bb5612ba660045460055461262d90919063ffffffff16565b87611c5690919063ffffffff16565b611cd090919063ffffffff16565b91506000600454118015612bda5750601f54601e54105b15612c1457612c076064612bf960045487611c5690919063ffffffff16565b611cd090919063ffffffff16565b9050612c13868261323e565b5b612d43565b601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612d4257612ca76064612c99612c8a600d5460065461262d90919063ffffffff16565b87611c5690919063ffffffff16565b611cd090919063ffffffff16565b91506000612cd6601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ed1565b905080600e6000828254612cea9190614146565b925050819055506000600d54118015612d065750601f54601e54105b15612d4057612d336064612d25600d5488611c5690919063ffffffff16565b611cd090919063ffffffff16565b9150612d3f878361323e565b5b505b5b6000821115612e4757612d9e82601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf890919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e3e9190613614565b60405180910390a35b612e6c612e5d8284611bf890919063ffffffff16565b8561262d90919063ffffffff16565b925050509392505050565b6000600267ffffffffffffffff811115612e9457612e9361417a565b5b604051908082528060200260200182016040528015612ec25781602001602082028036833780820191505090505b5090503081600081518110612eda57612ed96141a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa59190613a5c565b81600181518110612fb957612fb86141a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061302030601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d22565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613084959493929190614296565b600060405180830381600087803b15801561309e57600080fd5b505af11580156130b2573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516130e79291906142f0565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613139573d6000803e3d6000fd5b505050565b61316b30601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d22565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016131f496959493929190613aed565b60606040518083038185885af1158015613212573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132379190613b63565b5050505050565b601f54601e5410156133c6576132be8160166000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf890919063ffffffff16565b60166000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061333881601e54611bf890919063ffffffff16565b601e81905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516133bd9190613614565b60405180910390a35b5050565b600081519050919050565b600082825260208201905092915050565b60005b838110156134045780820151818401526020810190506133e9565b60008484015250505050565b6000601f19601f8301169050919050565b600061342c826133ca565b61343681856133d5565b93506134468185602086016133e6565b61344f81613410565b840191505092915050565b600060208201905081810360008301526134748184613421565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134ac82613481565b9050919050565b6134bc816134a1565b81146134c757600080fd5b50565b6000813590506134d9816134b3565b92915050565b6000819050919050565b6134f2816134df565b81146134fd57600080fd5b50565b60008135905061350f816134e9565b92915050565b6000806040838503121561352c5761352b61347c565b5b600061353a858286016134ca565b925050602061354b85828601613500565b9150509250929050565b60008115159050919050565b61356a81613555565b82525050565b60006020820190506135856000830184613561565b92915050565b6000819050919050565b60006135b06135ab6135a684613481565b61358b565b613481565b9050919050565b60006135c282613595565b9050919050565b60006135d4826135b7565b9050919050565b6135e4816135c9565b82525050565b60006020820190506135ff60008301846135db565b92915050565b61360e816134df565b82525050565b60006020820190506136296000830184613605565b92915050565b6000806000606084860312156136485761364761347c565b5b6000613656868287016134ca565b9350506020613667868287016134ca565b925050604061367886828701613500565b9150509250925092565b61368b816134a1565b82525050565b60006020820190506136a66000830184613682565b92915050565b600060ff82169050919050565b6136c2816136ac565b82525050565b60006020820190506136dd60008301846136b9565b92915050565b6000602082840312156136f9576136f861347c565b5b6000613707848285016134ca565b91505092915050565b600061371b82613481565b9050919050565b61372b81613710565b82525050565b60006020820190506137466000830184613722565b92915050565b600080604083850312156137635761376261347c565b5b6000613771858286016134ca565b9250506020613782858286016134ca565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806137d357607f821691505b6020821081036137e6576137e561378c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006138226020836133d5565b915061382d826137ec565b602082019050919050565b6000602082019050818103600083015261385181613815565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156138de578086048111156138ba576138b9613858565b5b60018516156138c95780820291505b80810290506138d785613887565b945061389e565b94509492505050565b6000826138f757600190506139b3565b8161390557600090506139b3565b816001811461391b576002811461392557613954565b60019150506139b3565b60ff84111561393757613936613858565b5b8360020a91508482111561394e5761394d613858565b5b506139b3565b5060208310610133831016604e8410600b84101617156139895782820a90508381111561398457613983613858565b5b6139b3565b6139968484846001613894565b925090508184048111156139ad576139ac613858565b5b81810290505b9392505050565b60006139c5826134df565b91506139d0836136ac565b92506139fd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846138e7565b905092915050565b6000613a10826134df565b9150613a1b836134df565b9250828202613a29816134df565b91508282048414831517613a4057613a3f613858565b5b5092915050565b600081519050613a56816134b3565b92915050565b600060208284031215613a7257613a7161347c565b5b6000613a8084828501613a47565b91505092915050565b6000604082019050613a9e6000830185613682565b613aab6020830184613682565b9392505050565b6000819050919050565b6000613ad7613ad2613acd84613ab2565b61358b565b6134df565b9050919050565b613ae781613abc565b82525050565b600060c082019050613b026000830189613682565b613b0f6020830188613605565b613b1c6040830187613ade565b613b296060830186613ade565b613b366080830185613682565b613b4360a0830184613605565b979650505050505050565b600081519050613b5d816134e9565b92915050565b600080600060608486031215613b7c57613b7b61347c565b5b6000613b8a86828701613b4e565b9350506020613b9b86828701613b4e565b9250506040613bac86828701613b4e565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613c126026836133d5565b9150613c1d82613bb6565b604082019050919050565b60006020820190508181036000830152613c4181613c05565b9050919050565b6000613c53826134df565b9150613c5e836134df565b9250828201905080821115613c7657613c75613858565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613cb2601b836133d5565b9150613cbd82613c7c565b602082019050919050565b60006020820190508181036000830152613ce181613ca5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613d22826134df565b9150613d2d836134df565b925082613d3d57613d3c613ce8565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613da46021836133d5565b9150613daf82613d48565b604082019050919050565b60006020820190508181036000830152613dd381613d97565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613e366024836133d5565b9150613e4182613dda565b604082019050919050565b60006020820190508181036000830152613e6581613e29565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ec86022836133d5565b9150613ed382613e6c565b604082019050919050565b60006020820190508181036000830152613ef781613ebb565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613f5a6025836133d5565b9150613f6582613efe565b604082019050919050565b60006020820190508181036000830152613f8981613f4d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613fec6023836133d5565b9150613ff782613f90565b604082019050919050565b6000602082019050818103600083015261401b81613fdf565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061407e6029836133d5565b915061408982614022565b604082019050919050565b600060208201905081810360008301526140ad81614071565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b60006141106028836133d5565b915061411b826140b4565b604082019050919050565b6000602082019050818103600083015261413f81614103565b9050919050565b6000614151826134df565b915061415c836134df565b925082820390508181111561417457614173613858565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61420d816134a1565b82525050565b600061421f8383614204565b60208301905092915050565b6000602082019050919050565b6000614243826141d8565b61424d81856141e3565b9350614258836141f4565b8060005b838110156142895781516142708882614213565b975061427b8361422b565b92505060018101905061425c565b5085935050505092915050565b600060a0820190506142ab6000830188613605565b6142b86020830187613ade565b81810360408301526142ca8186614238565b90506142d96060830185613682565b6142e66080830184613605565b9695505050505050565b60006040820190506143056000830185613605565b81810360208301526143178184614238565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122056fbf6caa62e2b70ae265443abda572833b5435a66f0f0e360e5646b6bea918864736f6c63430008120033

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

00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000f284dfcb55878d7ca6a532484f6f1ccc60c2663a000000000000000000000000f284dfcb55878d7ca6a532484f6f1ccc60c2663a0000000000000000000000009a04d8263c07618ca588c88788600e3d2f0751fa000000000000000000000000000000000000000000000000000000000000000b536f6e204f6620504550450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003534f500000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : tokenName (string): Son Of PEPE
Arg [1] : tokenSymbol (string): SOP
Arg [2] : tokenDecimals (uint8): 9
Arg [3] : supply (uint256): 1000000000
Arg [4] : owner (address): 0xf284dFcB55878D7CA6a532484f6F1CCc60C2663a
Arg [5] : teamWallet (address): 0xf284dFcB55878D7CA6a532484f6F1CCc60C2663a
Arg [6] : marketingWallet (address): 0x9a04D8263C07618Ca588c88788600e3D2F0751FA

-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [3] : 000000000000000000000000000000000000000000000000000000003b9aca00
Arg [4] : 000000000000000000000000f284dfcb55878d7ca6a532484f6f1ccc60c2663a
Arg [5] : 000000000000000000000000f284dfcb55878d7ca6a532484f6f1ccc60c2663a
Arg [6] : 0000000000000000000000009a04d8263c07618ca588c88788600e3d2f0751fa
Arg [7] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [8] : 536f6e204f662050455045000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [10] : 534f500000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

8171:13650:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12283:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13449:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9513:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8411:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12560:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14601:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8630:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14156:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12469:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12946:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9459:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9850:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9288:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6564:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8874:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8915;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12668:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6156:148;;;;;;;;;;;;;:::i;:::-;;18287:154;;;;;;;;;;;;;:::i;:::-;;8834:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9731:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9699:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8491:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8710:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9404:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5942:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12374:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8992:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13172:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8956:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14426:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20697:746;;;:::i;:::-;;5818:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8374:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8332:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9561:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8753:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9345:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8796:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8579:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9628:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9897:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8290:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12795:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8535:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8448:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6312:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9949:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9596:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12283:83;12320:13;12353:5;12346:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12283:83;:::o;13449:161::-;13524:4;13541:39;13550:12;:10;:12::i;:::-;13564:7;13573:6;13541:8;:39::i;:::-;13598:4;13591:11;;13449:161;;;;:::o;9513:41::-;;;;;;;;;;;;;:::o;8411:30::-;;;;:::o;12560:100::-;12613:7;12640:12;;12633:19;;12560:100;:::o;14601:313::-;14699:4;14716:36;14726:6;14734:9;14745:6;14716:9;:36::i;:::-;;14763:121;14772:6;14780:12;:10;:12::i;:::-;14794:89;14832:6;14794:89;;;;;;;;;;;;;;;;;:11;:19;14806:6;14794:19;;;;;;;;;;;;;;;:33;14814:12;:10;:12::i;:::-;14794:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14763:8;:121::i;:::-;14902:4;14895:11;;14601:313;;;;;:::o;8630:71::-;;;;;;;;;;;;;:::o;14156:128::-;14209:7;14236:40;14253:22;14263:11;;;;;;;;;;;14253:9;:22::i;:::-;14236:12;;:16;;:40;;;;:::i;:::-;14229:47;;14156:128;:::o;12469:83::-;12510:5;12535:9;;;;;;;;;;;12528:16;;12469:83;:::o;12946:218::-;13034:4;13051:83;13060:12;:10;:12::i;:::-;13074:7;13083:50;13122:10;13083:11;:25;13095:12;:10;:12::i;:::-;13083:25;;;;;;;;;;;;;;;:34;13109:7;13083:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;13051:8;:83::i;:::-;13152:4;13145:11;;12946:218;;;;:::o;9459:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;9850:40::-;;;;;;;;;;;;;:::o;9288:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;6564:90::-;6604:7;6631:15;6624:22;;6564:90;:::o;8874:34::-;;;;:::o;8915:::-;;;;:::o;12668:119::-;12734:7;12761:9;:18;12771:7;12761:18;;;;;;;;;;;;;;;;12754:25;;12668:119;;;:::o;6156:148::-;6079:12;:10;:12::i;:::-;6069:22;;:6;;;;;;;;;;:22;;;6061:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6263:1:::1;6226:40;;6247:6;::::0;::::1;;;;;;;;6226:40;;;;;;;;;;;;6294:1;6277:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6156:148::o:0;18287:154::-;6079:12;:10;:12::i;:::-;6069:22;;:6;;;;;;;;;;:22;;;6061:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18372:9:::1;;;;;;;;;;;18368:2;:13;;;;:::i;:::-;18353:12;;:28;;;;:::i;:::-;18338:12;:43;;;;18424:9;;;;;;;;;;;18420:2;:13;;;;:::i;:::-;18405:12;;:28;;;;:::i;:::-;18392:10;:41;;;;18287:154::o:0;8834:31::-;;;;:::o;9731:27::-;;;;:::o;9699:25::-;;;;:::o;8491:37::-;;;;:::o;8710:36::-;;;;:::o;9404:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;5942:79::-;5980:7;6007:6;;;;;;;;;;;6000:13;;5942:79;:::o;12374:87::-;12413:13;12446:7;12439:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12374:87;:::o;8992:43::-;;;;:::o;13172:269::-;13265:4;13282:129;13291:12;:10;:12::i;:::-;13305:7;13314:96;13353:15;13314:96;;;;;;;;;;;;;;;;;:11;:25;13326:12;:10;:12::i;:::-;13314:25;;;;;;;;;;;;;;;:34;13340:7;13314:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;13282:8;:129::i;:::-;13429:4;13422:11;;13172:269;;;;:::o;8956:29::-;;;;:::o;14426:167::-;14504:4;14521:42;14531:12;:10;:12::i;:::-;14545:9;14556:6;14521:9;:42::i;:::-;;14581:4;14574:11;;14426:167;;;;:::o;20697:746::-;6079:12;:10;:12::i;:::-;6069:22;;:6;;;;;;;;;;:22;;;6061:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20758:35:::1;20815:42;20758:100;;20903:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20885:70;;;20964:4;20971:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20885:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20871:11;;:124;;;;;;;;;;;;;;;;;;21026:16;21008:15;;:34;;;;;;;;;;;;;;;;;;21053:59;21074:11;;;;;;;;;;;21087:8;;;;;;;;;;;21097:14;21053:20;:59::i;:::-;;21178:12;;21123:11;:26;21143:4;21123:26;;;;;;;;;;;;;;;:52;21158:15;;;;;;;;;;;21123:52;;;;;;;;;;;;;;;:67;;;;21240:4;21203:12;:34;21224:11;;;;;;;;;;;21203:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;21301:4;21257:19;:41;21285:11;;;;;;;;;;;21257:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;21318:15;;;;;;;;;;;:31;;;21357:9;21376:4;21382:24;21400:4;21382:9;:24::i;:::-;21407:1;21409::::0;21411:7:::1;:5;:7::i;:::-;21419:15;21318:117;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20747:696;20697:746::o:0;5818:21::-;;;;;;;;;;;;:::o;8374:30::-;;;;:::o;8332:35::-;;;;:::o;9561:26::-;;;;;;;;;;;;;:::o;8753:36::-;;;;:::o;9345:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;8796:31::-;;;;:::o;8579:42::-;;;;;;;;;;;;;:::o;9628:29::-;;;;:::o;9897:45::-;;;;;;;;;;;;;:::o;8290:35::-;;;;:::o;12795:143::-;12876:7;12903:11;:18;12915:5;12903:18;;;;;;;;;;;;;;;:27;12922:7;12903:27;;;;;;;;;;;;;;;;12896:34;;12795:143;;;;:::o;8535:37::-;;;;;;;;;;;;;:::o;8448:36::-;;;;:::o;6312:244::-;6079:12;:10;:12::i;:::-;6069:22;;:6;;;;;;;;;;:22;;;6061:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6421:1:::1;6401:22;;:8;:22;;::::0;6393:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6511:8;6482:38;;6503:6;::::0;::::1;;;;;;;;6482:38;;;;;;;;;;;;6540:8;6531:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6312:244:::0;:::o;9949:35::-;;;;;;;;;;;;;:::o;9596:25::-;;;;:::o;235:181::-;293:7;313:9;329:1;325;:5;;;;:::i;:::-;313:17;;354:1;349;:6;;341:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;407:1;400:8;;;235:181;;;;:::o;768:250::-;826:7;855:1;850;:6;846:47;;880:1;873:8;;;;846:47;905:9;921:1;917;:5;;;;:::i;:::-;905:17;;950:1;945;941;:5;;;;:::i;:::-;:10;933:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1009:1;1002:8;;;768:250;;;;;:::o;1026:132::-;1084:7;1111:39;1115:1;1118;1111:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1104:46;;1026:132;;;;:::o;2024:115::-;2077:15;2120:10;2105:26;;2024:115;:::o;13618:337::-;13728:1;13711:19;;:5;:19;;;13703:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13809:1;13790:21;;:7;:21;;;13782:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13893:6;13863:11;:18;13875:5;13863:18;;;;;;;;;;;;;;;:27;13882:7;13863:27;;;;;;;;;;;;;;;:36;;;;13931:7;13915:32;;13924:5;13915:32;;;13940:6;13915:32;;;;;;:::i;:::-;;;;;;;;13618:337;;;:::o;14922:1873::-;15009:4;15052:1;15034:20;;:6;:20;;;15026:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;15136:1;15115:23;;:9;:23;;;15107:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15206:1;15197:6;:10;15189:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15269:17;:25;15287:6;15269:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;15298:17;:28;15316:9;15298:28;;;;;;;;;;;;;;;;;;;;;;;;;15269:57;15266:141;;;15350:45;15369:6;15377:9;15388:6;15350:18;:45::i;:::-;15343:52;;;;15266:141;15422:16;;;;;;;;;;;15419:1369;;;15461:45;15480:6;15488:9;15499:6;15461:18;:45::i;:::-;15454:52;;;;15419:1369;15542:15;:23;15558:6;15542:23;;;;;;;;;;;;;;;;;;;;;;;;;15541:24;:55;;;;;15570:15;:26;15586:9;15570:26;;;;;;;;;;;;;;;;;;;;;;;;;15569:27;15541:55;15538:170;;;15635:12;;15625:6;:22;;15617:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;15538:170;15724:28;15755:24;15773:4;15755:9;:24::i;:::-;15724:55;;15794:28;15849:24;;15825:20;:48;;15794:79;;15894:23;:44;;;;;15922:16;;;;;;;;;;;15921:17;15894:44;:69;;;;;15943:12;:20;15956:6;15943:20;;;;;;;;;;;;;;;;;;;;;;;;;15942:21;15894:69;:94;;;;;15967:21;;;;;;;;;;;15894:94;15890:287;;;16011:25;;;;;;;;;;;16008:98;;;16082:24;;16059:47;;16008:98;16125:36;16140:20;16125:14;:36::i;:::-;15890:287;16213:53;16235:6;16213:53;;;;;;;;;;;;;;;;;:9;:17;16223:6;16213:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;16193:9;:17;16203:6;16193:17;;;;;;;;;;;;;;;:73;;;;16283:19;16306:17;:25;16324:6;16306:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;16335:17;:28;16353:9;16335:28;;;;;;;;;;;;;;;;;;;;;;;;;16306:57;16305:156;;16418:43;16435:6;16443:9;16454:6;16418:16;:43::i;:::-;16305:156;;;16409:6;16305:156;16283:178;;16481:16;;;;;;;;;;;:51;;;;;16502:19;:30;16522:9;16502:30;;;;;;;;;;;;;;;;;;;;;;;;;16501:31;16481:51;16478:133;;;16600:10;;16559:37;16584:11;16559:20;16569:9;16559;:20::i;:::-;:24;;:37;;;;:::i;:::-;:51;;16551:60;;;;;;16478:133;16651:37;16676:11;16651:9;:20;16661:9;16651:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;16628:9;:20;16638:9;16628:20;;;;;;;;;;;;;;;:60;;;;16727:9;16710:40;;16719:6;16710:40;;;16738:11;16710:40;;;;;;:::i;:::-;;;;;;;;16772:4;16765:11;;;;;14922:1873;;;;;;:::o;568:192::-;654:7;687:1;682;:6;;690:12;674:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;714:9;730:1;726;:5;;;;:::i;:::-;714:17;;751:1;744:8;;;568:192;;;;;:::o;424:136::-;482:7;509:43;513:1;516;509:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;502:50;;424:136;;;;:::o;13963:183::-;14060:4;14110:6;14077:11;:19;14089:6;14077:19;;;;;;;;;;;;;;;:30;14097:9;14077:30;;;;;;;;;;;;;;;:39;;;;14134:4;14127:11;;13963:183;;;;;:::o;1166:278::-;1252:7;1284:1;1280;:5;1287:12;1272:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1311:9;1327:1;1323;:5;;;;:::i;:::-;1311:17;;1435:1;1428:8;;;1166:278;;;;;:::o;21484:334::-;21581:4;21618:53;21640:6;21618:53;;;;;;;;;;;;;;;;;:9;:17;21628:6;21618:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;21598:9;:17;21608:6;21598:17;;;;;;;;;;;;;;;:73;;;;21705:32;21730:6;21705:9;:20;21715:9;21705:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;21682:9;:20;21692:9;21682:20;;;;;;;;;;;;;;;:55;;;;21770:9;21753:35;;21762:6;21753:35;;;21781:6;21753:35;;;;;;:::i;:::-;;;;;;;;21806:4;21799:11;;21484:334;;;;;:::o;19639:1052::-;10324:4;10305:16;;:23;;;;;;;;;;;;;;;;;;19711:26:::1;19740:65;19803:1;19740:58;19773:24;;19740:28;19752:15;;19740:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;19711:94;;19816:21;19840:31;19852:18;19840:7;:11;;:31;;;;:::i;:::-;19816:55;;19884:31;19901:13;19884:16;:31::i;:::-;19926:22;19951:21;19926:46;;19985:19;20007:52;20036:22;20056:1;20036:15;;:19;;:22;;;;:::i;:::-;20007:24;;:28;;:52;;;;:::i;:::-;19985:74;;20072:26;20101:59;20158:1;20101:52;20141:11;20101:35;20120:15;;20101:14;:18;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;20072:88;;20171:21;20195:47;20230:11;20195:30;20214:10;;20195:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;20171:71;;20253:26;20282:57;20325:13;20282:38;20301:18;20282:14;:18;;:38;;;;:::i;:::-;:42;;:57;;;;:::i;:::-;20253:86;;20376:1;20355:18;:22;20352:101;;;20392:61;20413:19;;;;;;;;;;;20434:18;20392:20;:61::i;:::-;20352:101;20485:1;20469:13;:17;20466:86;;;20501:51;20522:14;;;;;;;;;;;20538:13;20501:20;:51::i;:::-;20466:86;20589:1;20568:18;:22;:48;;;;;20615:1;20594:18;:22;20568:48;20565:118;;;20631:52;20644:18;20664;20631:12;:52::i;:::-;20565:118;19700:991;;;;;;;10370:5:::0;10351:16;;:24;;;;;;;;;;;;;;;;;;19639:1052;:::o;17130:1155::-;17225:7;17245:17;17265:1;17245:21;;17268:18;17316:12;:20;17329:6;17316:20;;;;;;;;;;;;;;;;;;;;;;;;;17313:722;;;17365:55;17416:3;17365:46;17376:34;17398:11;;17376:17;;:21;;:34;;;;:::i;:::-;17365:6;:10;;:46;;;;:::i;:::-;:50;;:55;;;;:::i;:::-;17353:67;;17452:1;17438:11;;:15;:46;;;;;17470:14;;17457:10;;:27;17438:46;17435:181;;;17518:32;17546:3;17518:23;17529:11;;17518:6;:10;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;17505:45;;17569:31;17582:6;17589:10;17569:12;:31::i;:::-;17435:181;17313:722;;;17635:12;:23;17648:9;17635:23;;;;;;;;;;;;;;;;;;;;;;;;;17632:403;;;17687:57;17740:3;17687:48;17698:36;17721:12;;17698:18;;:22;;:36;;;;:::i;:::-;17687:6;:10;;:48;;;;:::i;:::-;:52;;:57;;;;:::i;:::-;17675:69;;17759:16;17778:19;17788:8;;;;;;;;;;;17778:9;:19::i;:::-;17759:38;;17818:8;17799:15;;:27;;;;;;;:::i;:::-;;;;;;;;17859:1;17844:12;;:16;:47;;;;;17877:14;;17864:10;;:27;17844:47;17841:183;;;17925:33;17954:3;17925:24;17936:12;;17925:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;17912:46;;17977:31;17990:6;17997:10;17977:12;:31::i;:::-;17841:183;17660:375;17632:403;17313:722;18062:1;18050:9;:13;18047:173;;;18107:39;18136:9;18107;:24;18125:4;18107:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;18080:9;:24;18098:4;18080:24;;;;;;;;;;;;;;;:66;;;;18191:4;18166:42;;18175:6;18166:42;;;18198:9;18166:42;;;;;;:::i;:::-;;;;;;;;18047:173;18240:37;18251:25;18265:10;18251:9;:13;;:25;;;;:::i;:::-;18240:6;:10;;:37;;;;:::i;:::-;18233:44;;;;17130:1155;;;;;:::o;18453:658::-;18579:21;18617:1;18603:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18579:40;;18648:4;18630;18635:1;18630:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18674:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18664:4;18669:1;18664:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;18709:62;18726:4;18741:15;;;;;;;;;;;18759:11;18709:8;:62::i;:::-;18810:15;;;;;;;;;;;:66;;;18891:11;18917:1;18961:4;18988;19024:15;18810:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19068:35;19085:11;19098:4;19068:35;;;;;;;:::i;:::-;;;;;;;;18508:603;18453:658;:::o;14292:126::-;14384:9;:18;;:26;14403:6;14384:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14292:126;;:::o;19117:514::-;19265:62;19282:4;19297:15;;;;;;;;;;;19315:11;19265:8;:62::i;:::-;19370:15;;;;;;;;;;;:31;;;19409:9;19442:4;19462:11;19488:1;19531;19574:8;;;;;;;;;;;19597:15;19370:253;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19117:514;;:::o;16803:317::-;16916:14;;16902:10;;:28;16899:40;16932:7;16899:40;16976:35;17003:7;16976:9;:22;16986:11;;;;;;;;;;;16976:22;;;;;;;;;;;;;;;;:26;;:35;;;;:::i;:::-;16951:9;:22;16961:11;;;;;;;;;;;16951:22;;;;;;;;;;;;;;;:60;;;;17035:23;17050:7;17035:10;;:14;;:23;;;;:::i;:::-;17022:10;:36;;;;17091:11;;;;;;;;;;;17074:38;;17083:6;17074:38;;;17104:7;17074:38;;;;;;:::i;:::-;;;;;;;;16803:317;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:118::-;5483:24;5501:5;5483:24;:::i;:::-;5478:3;5471:37;5396:118;;:::o;5520:222::-;5613:4;5651:2;5640:9;5636:18;5628:26;;5664:71;5732:1;5721:9;5717:17;5708:6;5664:71;:::i;:::-;5520:222;;;;:::o;5748:86::-;5783:7;5823:4;5816:5;5812:16;5801:27;;5748:86;;;:::o;5840:112::-;5923:22;5939:5;5923:22;:::i;:::-;5918:3;5911:35;5840:112;;:::o;5958:214::-;6047:4;6085:2;6074:9;6070:18;6062:26;;6098:67;6162:1;6151:9;6147:17;6138:6;6098:67;:::i;:::-;5958:214;;;;:::o;6178:329::-;6237:6;6286:2;6274:9;6265:7;6261:23;6257:32;6254:119;;;6292:79;;:::i;:::-;6254:119;6412:1;6437:53;6482:7;6473:6;6462:9;6458:22;6437:53;:::i;:::-;6427:63;;6383:117;6178:329;;;;:::o;6513:104::-;6558:7;6587:24;6605:5;6587:24;:::i;:::-;6576:35;;6513:104;;;:::o;6623:142::-;6726:32;6752:5;6726:32;:::i;:::-;6721:3;6714:45;6623:142;;:::o;6771:254::-;6880:4;6918:2;6907:9;6903:18;6895:26;;6931:87;7015:1;7004:9;7000:17;6991:6;6931:87;:::i;:::-;6771:254;;;;:::o;7031:474::-;7099:6;7107;7156:2;7144:9;7135:7;7131:23;7127:32;7124:119;;;7162:79;;:::i;:::-;7124:119;7282:1;7307:53;7352:7;7343:6;7332:9;7328:22;7307:53;:::i;:::-;7297:63;;7253:117;7409:2;7435:53;7480:7;7471:6;7460:9;7456:22;7435:53;:::i;:::-;7425:63;;7380:118;7031:474;;;;;:::o;7511:180::-;7559:77;7556:1;7549:88;7656:4;7653:1;7646:15;7680:4;7677:1;7670:15;7697:320;7741:6;7778:1;7772:4;7768:12;7758:22;;7825:1;7819:4;7815:12;7846:18;7836:81;;7902:4;7894:6;7890:17;7880:27;;7836:81;7964:2;7956:6;7953:14;7933:18;7930:38;7927:84;;7983:18;;:::i;:::-;7927:84;7748:269;7697:320;;;:::o;8023:182::-;8163:34;8159:1;8151:6;8147:14;8140:58;8023:182;:::o;8211:366::-;8353:3;8374:67;8438:2;8433:3;8374:67;:::i;:::-;8367:74;;8450:93;8539:3;8450:93;:::i;:::-;8568:2;8563:3;8559:12;8552:19;;8211:366;;;:::o;8583:419::-;8749:4;8787:2;8776:9;8772:18;8764:26;;8836:9;8830:4;8826:20;8822:1;8811:9;8807:17;8800:47;8864:131;8990:4;8864:131;:::i;:::-;8856:139;;8583:419;;;:::o;9008:180::-;9056:77;9053:1;9046:88;9153:4;9150:1;9143:15;9177:4;9174:1;9167:15;9194:102;9236:8;9283:5;9280:1;9276:13;9255:34;;9194:102;;;:::o;9302:848::-;9363:5;9370:4;9394:6;9385:15;;9418:5;9409:14;;9432:712;9453:1;9443:8;9440:15;9432:712;;;9548:4;9543:3;9539:14;9533:4;9530:24;9527:50;;;9557:18;;:::i;:::-;9527:50;9607:1;9597:8;9593:16;9590:451;;;10022:4;10015:5;10011:16;10002:25;;9590:451;10072:4;10066;10062:15;10054:23;;10102:32;10125:8;10102:32;:::i;:::-;10090:44;;9432:712;;;9302:848;;;;;;;:::o;10156:1073::-;10210:5;10401:8;10391:40;;10422:1;10413:10;;10424:5;;10391:40;10450:4;10440:36;;10467:1;10458:10;;10469:5;;10440:36;10536:4;10584:1;10579:27;;;;10620:1;10615:191;;;;10529:277;;10579:27;10597:1;10588:10;;10599:5;;;10615:191;10660:3;10650:8;10647:17;10644:43;;;10667:18;;:::i;:::-;10644:43;10716:8;10713:1;10709:16;10700:25;;10751:3;10744:5;10741:14;10738:40;;;10758:18;;:::i;:::-;10738:40;10791:5;;;10529:277;;10915:2;10905:8;10902:16;10896:3;10890:4;10887:13;10883:36;10865:2;10855:8;10852:16;10847:2;10841:4;10838:12;10834:35;10818:111;10815:246;;;10971:8;10965:4;10961:19;10952:28;;11006:3;10999:5;10996:14;10993:40;;;11013:18;;:::i;:::-;10993:40;11046:5;;10815:246;11086:42;11124:3;11114:8;11108:4;11105:1;11086:42;:::i;:::-;11071:57;;;;11160:4;11155:3;11151:14;11144:5;11141:25;11138:51;;;11169:18;;:::i;:::-;11138:51;11218:4;11211:5;11207:16;11198:25;;10156:1073;;;;;;:::o;11235:281::-;11293:5;11317:23;11335:4;11317:23;:::i;:::-;11309:31;;11361:25;11377:8;11361:25;:::i;:::-;11349:37;;11405:104;11442:66;11432:8;11426:4;11405:104;:::i;:::-;11396:113;;11235:281;;;;:::o;11522:410::-;11562:7;11585:20;11603:1;11585:20;:::i;:::-;11580:25;;11619:20;11637:1;11619:20;:::i;:::-;11614:25;;11674:1;11671;11667:9;11696:30;11714:11;11696:30;:::i;:::-;11685:41;;11875:1;11866:7;11862:15;11859:1;11856:22;11836:1;11829:9;11809:83;11786:139;;11905:18;;:::i;:::-;11786:139;11570:362;11522:410;;;;:::o;11938:143::-;11995:5;12026:6;12020:13;12011:22;;12042:33;12069:5;12042:33;:::i;:::-;11938:143;;;;:::o;12087:351::-;12157:6;12206:2;12194:9;12185:7;12181:23;12177:32;12174:119;;;12212:79;;:::i;:::-;12174:119;12332:1;12357:64;12413:7;12404:6;12393:9;12389:22;12357:64;:::i;:::-;12347:74;;12303:128;12087:351;;;;:::o;12444:332::-;12565:4;12603:2;12592:9;12588:18;12580:26;;12616:71;12684:1;12673:9;12669:17;12660:6;12616:71;:::i;:::-;12697:72;12765:2;12754:9;12750:18;12741:6;12697:72;:::i;:::-;12444:332;;;;;:::o;12782:85::-;12827:7;12856:5;12845:16;;12782:85;;;:::o;12873:158::-;12931:9;12964:61;12982:42;12991:32;13017:5;12991:32;:::i;:::-;12982:42;:::i;:::-;12964:61;:::i;:::-;12951:74;;12873:158;;;:::o;13037:147::-;13132:45;13171:5;13132:45;:::i;:::-;13127:3;13120:58;13037:147;;:::o;13190:807::-;13439:4;13477:3;13466:9;13462:19;13454:27;;13491:71;13559:1;13548:9;13544:17;13535:6;13491:71;:::i;:::-;13572:72;13640:2;13629:9;13625:18;13616:6;13572:72;:::i;:::-;13654:80;13730:2;13719:9;13715:18;13706:6;13654:80;:::i;:::-;13744;13820:2;13809:9;13805:18;13796:6;13744:80;:::i;:::-;13834:73;13902:3;13891:9;13887:19;13878:6;13834:73;:::i;:::-;13917;13985:3;13974:9;13970:19;13961:6;13917:73;:::i;:::-;13190:807;;;;;;;;;:::o;14003:143::-;14060:5;14091:6;14085:13;14076:22;;14107:33;14134:5;14107:33;:::i;:::-;14003:143;;;;:::o;14152:663::-;14240:6;14248;14256;14305:2;14293:9;14284:7;14280:23;14276:32;14273:119;;;14311:79;;:::i;:::-;14273:119;14431:1;14456:64;14512:7;14503:6;14492:9;14488:22;14456:64;:::i;:::-;14446:74;;14402:128;14569:2;14595:64;14651:7;14642:6;14631:9;14627:22;14595:64;:::i;:::-;14585:74;;14540:129;14708:2;14734:64;14790:7;14781:6;14770:9;14766:22;14734:64;:::i;:::-;14724:74;;14679:129;14152:663;;;;;:::o;14821:225::-;14961:34;14957:1;14949:6;14945:14;14938:58;15030:8;15025:2;15017:6;15013:15;15006:33;14821:225;:::o;15052:366::-;15194:3;15215:67;15279:2;15274:3;15215:67;:::i;:::-;15208:74;;15291:93;15380:3;15291:93;:::i;:::-;15409:2;15404:3;15400:12;15393:19;;15052:366;;;:::o;15424:419::-;15590:4;15628:2;15617:9;15613:18;15605:26;;15677:9;15671:4;15667:20;15663:1;15652:9;15648:17;15641:47;15705:131;15831:4;15705:131;:::i;:::-;15697:139;;15424:419;;;:::o;15849:191::-;15889:3;15908:20;15926:1;15908:20;:::i;:::-;15903:25;;15942:20;15960:1;15942:20;:::i;:::-;15937:25;;15985:1;15982;15978:9;15971:16;;16006:3;16003:1;16000:10;15997:36;;;16013:18;;:::i;:::-;15997:36;15849:191;;;;:::o;16046:177::-;16186:29;16182:1;16174:6;16170:14;16163:53;16046:177;:::o;16229:366::-;16371:3;16392:67;16456:2;16451:3;16392:67;:::i;:::-;16385:74;;16468:93;16557:3;16468:93;:::i;:::-;16586:2;16581:3;16577:12;16570:19;;16229:366;;;:::o;16601:419::-;16767:4;16805:2;16794:9;16790:18;16782:26;;16854:9;16848:4;16844:20;16840:1;16829:9;16825:17;16818:47;16882:131;17008:4;16882:131;:::i;:::-;16874:139;;16601:419;;;:::o;17026:180::-;17074:77;17071:1;17064:88;17171:4;17168:1;17161:15;17195:4;17192:1;17185:15;17212:185;17252:1;17269:20;17287:1;17269:20;:::i;:::-;17264:25;;17303:20;17321:1;17303:20;:::i;:::-;17298:25;;17342:1;17332:35;;17347:18;;:::i;:::-;17332:35;17389:1;17386;17382:9;17377:14;;17212:185;;;;:::o;17403:220::-;17543:34;17539:1;17531:6;17527:14;17520:58;17612:3;17607:2;17599:6;17595:15;17588:28;17403:220;:::o;17629:366::-;17771:3;17792:67;17856:2;17851:3;17792:67;:::i;:::-;17785:74;;17868:93;17957:3;17868:93;:::i;:::-;17986:2;17981:3;17977:12;17970:19;;17629:366;;;:::o;18001:419::-;18167:4;18205:2;18194:9;18190:18;18182:26;;18254:9;18248:4;18244:20;18240:1;18229:9;18225:17;18218:47;18282:131;18408:4;18282:131;:::i;:::-;18274:139;;18001:419;;;:::o;18426:223::-;18566:34;18562:1;18554:6;18550:14;18543:58;18635:6;18630:2;18622:6;18618:15;18611:31;18426:223;:::o;18655:366::-;18797:3;18818:67;18882:2;18877:3;18818:67;:::i;:::-;18811:74;;18894:93;18983:3;18894:93;:::i;:::-;19012:2;19007:3;19003:12;18996:19;;18655:366;;;:::o;19027:419::-;19193:4;19231:2;19220:9;19216:18;19208:26;;19280:9;19274:4;19270:20;19266:1;19255:9;19251:17;19244:47;19308:131;19434:4;19308:131;:::i;:::-;19300:139;;19027:419;;;:::o;19452:221::-;19592:34;19588:1;19580:6;19576:14;19569:58;19661:4;19656:2;19648:6;19644:15;19637:29;19452:221;:::o;19679:366::-;19821:3;19842:67;19906:2;19901:3;19842:67;:::i;:::-;19835:74;;19918:93;20007:3;19918:93;:::i;:::-;20036:2;20031:3;20027:12;20020:19;;19679:366;;;:::o;20051:419::-;20217:4;20255:2;20244:9;20240:18;20232:26;;20304:9;20298:4;20294:20;20290:1;20279:9;20275:17;20268:47;20332:131;20458:4;20332:131;:::i;:::-;20324:139;;20051:419;;;:::o;20476:224::-;20616:34;20612:1;20604:6;20600:14;20593:58;20685:7;20680:2;20672:6;20668:15;20661:32;20476:224;:::o;20706:366::-;20848:3;20869:67;20933:2;20928:3;20869:67;:::i;:::-;20862:74;;20945:93;21034:3;20945:93;:::i;:::-;21063:2;21058:3;21054:12;21047:19;;20706:366;;;:::o;21078:419::-;21244:4;21282:2;21271:9;21267:18;21259:26;;21331:9;21325:4;21321:20;21317:1;21306:9;21302:17;21295:47;21359:131;21485:4;21359:131;:::i;:::-;21351:139;;21078:419;;;:::o;21503:222::-;21643:34;21639:1;21631:6;21627:14;21620:58;21712:5;21707:2;21699:6;21695:15;21688:30;21503:222;:::o;21731:366::-;21873:3;21894:67;21958:2;21953:3;21894:67;:::i;:::-;21887:74;;21970:93;22059:3;21970:93;:::i;:::-;22088:2;22083:3;22079:12;22072:19;;21731:366;;;:::o;22103:419::-;22269:4;22307:2;22296:9;22292:18;22284:26;;22356:9;22350:4;22346:20;22342:1;22331:9;22327:17;22320:47;22384:131;22510:4;22384:131;:::i;:::-;22376:139;;22103:419;;;:::o;22528:228::-;22668:34;22664:1;22656:6;22652:14;22645:58;22737:11;22732:2;22724:6;22720:15;22713:36;22528:228;:::o;22762:366::-;22904:3;22925:67;22989:2;22984:3;22925:67;:::i;:::-;22918:74;;23001:93;23090:3;23001:93;:::i;:::-;23119:2;23114:3;23110:12;23103:19;;22762:366;;;:::o;23134:419::-;23300:4;23338:2;23327:9;23323:18;23315:26;;23387:9;23381:4;23377:20;23373:1;23362:9;23358:17;23351:47;23415:131;23541:4;23415:131;:::i;:::-;23407:139;;23134:419;;;:::o;23559:227::-;23699:34;23695:1;23687:6;23683:14;23676:58;23768:10;23763:2;23755:6;23751:15;23744:35;23559:227;:::o;23792:366::-;23934:3;23955:67;24019:2;24014:3;23955:67;:::i;:::-;23948:74;;24031:93;24120:3;24031:93;:::i;:::-;24149:2;24144:3;24140:12;24133:19;;23792:366;;;:::o;24164:419::-;24330:4;24368:2;24357:9;24353:18;24345:26;;24417:9;24411:4;24407:20;24403:1;24392:9;24388:17;24381:47;24445:131;24571:4;24445:131;:::i;:::-;24437:139;;24164:419;;;:::o;24589:194::-;24629:4;24649:20;24667:1;24649:20;:::i;:::-;24644:25;;24683:20;24701:1;24683:20;:::i;:::-;24678:25;;24727:1;24724;24720:9;24712:17;;24751:1;24745:4;24742:11;24739:37;;;24756:18;;:::i;:::-;24739:37;24589:194;;;;:::o;24789:180::-;24837:77;24834:1;24827:88;24934:4;24931:1;24924:15;24958:4;24955:1;24948:15;24975:180;25023:77;25020:1;25013:88;25120:4;25117:1;25110:15;25144:4;25141:1;25134:15;25161:114;25228:6;25262:5;25256:12;25246:22;;25161:114;;;:::o;25281:184::-;25380:11;25414:6;25409:3;25402:19;25454:4;25449:3;25445:14;25430:29;;25281:184;;;;:::o;25471:132::-;25538:4;25561:3;25553:11;;25591:4;25586:3;25582:14;25574:22;;25471:132;;;:::o;25609:108::-;25686:24;25704:5;25686:24;:::i;:::-;25681:3;25674:37;25609:108;;:::o;25723:179::-;25792:10;25813:46;25855:3;25847:6;25813:46;:::i;:::-;25891:4;25886:3;25882:14;25868:28;;25723:179;;;;:::o;25908:113::-;25978:4;26010;26005:3;26001:14;25993:22;;25908:113;;;:::o;26057:732::-;26176:3;26205:54;26253:5;26205:54;:::i;:::-;26275:86;26354:6;26349:3;26275:86;:::i;:::-;26268:93;;26385:56;26435:5;26385:56;:::i;:::-;26464:7;26495:1;26480:284;26505:6;26502:1;26499:13;26480:284;;;26581:6;26575:13;26608:63;26667:3;26652:13;26608:63;:::i;:::-;26601:70;;26694:60;26747:6;26694:60;:::i;:::-;26684:70;;26540:224;26527:1;26524;26520:9;26515:14;;26480:284;;;26484:14;26780:3;26773:10;;26181:608;;;26057:732;;;;:::o;26795:831::-;27058:4;27096:3;27085:9;27081:19;27073:27;;27110:71;27178:1;27167:9;27163:17;27154:6;27110:71;:::i;:::-;27191:80;27267:2;27256:9;27252:18;27243:6;27191:80;:::i;:::-;27318:9;27312:4;27308:20;27303:2;27292:9;27288:18;27281:48;27346:108;27449:4;27440:6;27346:108;:::i;:::-;27338:116;;27464:72;27532:2;27521:9;27517:18;27508:6;27464:72;:::i;:::-;27546:73;27614:3;27603:9;27599:19;27590:6;27546:73;:::i;:::-;26795:831;;;;;;;;:::o;27632:483::-;27803:4;27841:2;27830:9;27826:18;27818:26;;27854:71;27922:1;27911:9;27907:17;27898:6;27854:71;:::i;:::-;27972:9;27966:4;27962:20;27957:2;27946:9;27942:18;27935:48;28000:108;28103:4;28094:6;28000:108;:::i;:::-;27992:116;;27632:483;;;;;:::o

Swarm Source

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