ETH Price: $3,348.92 (+2.57%)
Gas: 6 Gwei

Token

Captain Bitcoin Man (CBTC)
 

Overview

Max Total Supply

111,111,111,111 CBTC

Holders

90

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
laikaforever.eth
Balance
0.029660167432897357 CBTC

Value
$0.00
0x070aac7a0149ffd03245fe5f31e2ecb962635e79
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:
CaptainBitcoinManToken

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier:MIT

pragma solidity ^0.8.10;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        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
    );
}

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any _account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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 IDexSwapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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

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

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

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

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

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

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

    function initialize(address, address) external;
}

interface IDexSwapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

}

contract CaptainBitcoinManToken is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private _name = "Captain Bitcoin Man";
    string private _symbol = "CBTC";
    uint8 private _decimals = 18; 

    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;

    uint256 public _buyTaxFee = 3;
    uint256 public _sellTaxFee = 6;

    address public FeeWallet = address(0x4781a41a6382Eb5293D0C1200786A93028dD8b22);
    
    uint256 feedenominator = 100;

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

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

    uint256 private _totalSupply = 111_111_111_111 * 10**_decimals;

    uint256 public swapThreshold = _totalSupply.mul(5).div(10000);     //0.05%
    
    uint256 public _maxTxAmount =  _totalSupply.mul(10).div(1000);     // 1%
    uint256 public _walletMax = _totalSupply.mul(10).div(1000);        // 1%

    bool public swapEnabled = true;
    bool public swapbylimit = false;
    bool public EnableTxLimit = true;
    bool public checkWalletLimit = true;

    bool public activeTrade;

    IDexSwapRouter public dexRouter;
    address public dexPair;

    bool inSwap;

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    constructor() {

        IDexSwapRouter _dexRouter = IDexSwapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        dexPair = IDexSwapFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );

        dexRouter = _dexRouter;

        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[msg.sender] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(dexPair)] = true;
        isWalletLimitExempt[address(dexRouter)] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[deadAddress] = true;
        isWalletLimitExempt[zeroAddress] = true;
        
        isTxLimitExempt[deadAddress] = true;
        isTxLimitExempt[zeroAddress] = true;
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[address(dexRouter)] = true;

        isMarketPair[address(dexPair)] = true;

        _allowances[address(this)][address(dexRouter)] = ~uint256(0);
        _allowances[address(this)][address(dexPair)] = ~uint256(0);

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _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 getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }

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

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

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

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

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

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if(!activeTrade) {
            require(isExcludedFromFee[sender] || isExcludedFromFee[recipient],"Trading is not enable yet!");
        }
    
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
        else {

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

            if (overMinimumTokenBalance && !inSwap && !isMarketPair[sender] && swapEnabled) {
                swapBack(contractTokenBalance);
            }

            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            } 
            
            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = shouldNotTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount);

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Max Wallet Limit Exceeded!!");
            }

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

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

        }

    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function shouldNotTakeFee(address sender, address recipient) internal view returns (bool) {
        if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            return true;
        }
        else if (isMarketPair[sender] || isMarketPair[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }

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

        unchecked {

            if(isMarketPair[sender]) { 
                feeAmount = amount.mul(_buyTaxFee).div(feedenominator);
            } 
            else if(isMarketPair[recipient]) { 
                feeAmount = amount.mul(_sellTaxFee).div(feedenominator);
            }

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

            return amount.sub(feeAmount);
        }
        
    }

    function openTrade() external onlyOwner {
        require(!activeTrade,"Trade Already Active!");
        activeTrade = true;
        _buyTaxFee = 40;
        _sellTaxFee = 80;
    }

    function swapBack(uint contractBalance) internal swapping {

        if(swapbylimit) contractBalance = swapThreshold;

        uint256 initialBalance = address(this).balance;
        swapTokensForEth(contractBalance);
        uint256 amountReceived = address(this).balance.sub(initialBalance);

        if(amountReceived > 0) payable(FeeWallet).transfer(amountReceived);

    }

    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] = dexRouter.WETH();

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

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

    function rescueFunds() external onlyOwner { 
        (bool os,) = payable(msg.sender).call{value: address(this).balance}("");
        require(os,"Transaction Failed!!");
    }

    function rescueTokens(address _token,address recipient,uint _amount) external onlyOwner {
        (bool success, ) = address(_token).call(abi.encodeWithSignature('transfer(address,uint256)',  recipient, _amount));
        require(success, 'Token payment failed');
    }

    function setFee(uint _BuySide, uint _SellSide) external onlyOwner {    
        _buyTaxFee = _BuySide;
        _sellTaxFee = _SellSide;
    }

    function enableTxLimit(bool _status) external onlyOwner {
        EnableTxLimit = _status;
    }

    function enableWalletLimit(bool _status) external onlyOwner {
        checkWalletLimit = _status;
    }

    function excludeFromFee(address _adr,bool _status) external onlyOwner {
        isExcludedFromFee[_adr] = _status;
    }

    function excludeWalletLimit(address _adr,bool _status) external onlyOwner {
        isWalletLimitExempt[_adr] = _status;
    }

    function excludeTxLimit(address _adr,bool _status) external onlyOwner {
        isTxLimitExempt[_adr] = _status;
    }

    function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
        _walletMax = newLimit;
    }

    function setTxLimit(uint256 newLimit) external onlyOwner() {
        _maxTxAmount = newLimit;
    }

    function setFeeWallet(address _newWallet) external onlyOwner {
        FeeWallet = _newWallet;
    }

    function setMarketPair(address _pair, bool _status) external onlyOwner {
        isMarketPair[_pair] = _status;
        if(_status) {
            isWalletLimitExempt[_pair] = _status;
        }
    }

    function setSwapBackSettings(bool _enabled, bool _limited)
        external
        onlyOwner
    {
        swapEnabled = _enabled;
        swapbylimit = _limited;
    }

    function setSwapthreshold(uint _threshold) external onlyOwner {
        swapThreshold = _threshold;
    }

    function setManualRouter(address _router) external onlyOwner {
        dexRouter = IDexSwapRouter(_router);
    }

    function setManualPair(address _pair) external onlyOwner {
        dexPair = _pair;
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"EnableTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FeeWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTaxFee","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":"_sellTaxFee","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":"activeTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_BuySide","type":"uint256"},{"internalType":"uint256","name":"_SellSide","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setManualPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"setManualRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"bool","name":"_limited","type":"bool"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setSwapthreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapbylimit","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":"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":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526040518060400160405280601381526020017f4361707461696e20426974636f696e204d616e00000000000000000000000000815250600190805190602001906200005192919062000e71565b506040518060400160405280600481526020017f4342544300000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000e71565b506012600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250600073ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff1681525060036004556006600555734781a41a6382eb5293d0c1200786a93028dd8b22600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506064600755600360009054906101000a900460ff16600a620001a79190620010bb565b6419debd01c7620001b991906200110c565b600e55620001f4612710620001e06005600e5462000c6760201b6200225b1790919060201c565b62000ceb60201b620022d61790919060201c565b600f556200022f6103e86200021b600a600e5462000c6760201b6200225b1790919060201c565b62000ceb60201b620022d61790919060201c565b6010556200026a6103e862000256600a600e5462000c6760201b6200225b1790919060201c565b62000ceb60201b620022d61790919060201c565b6011556001601260006101000a81548160ff0219169083151502179055506000601260016101000a81548160ff0219169083151502179055506001601260026101000a81548160ff0219169083151502179055506001601260036101000a81548160ff021916908315150217905550348015620002e657600080fd5b5062000307620002fb62000d3d60201b60201c565b62000d4560201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200036c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003929190620011d7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003fa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004209190620011d7565b6040518363ffffffff1660e01b81526004016200043f9291906200121a565b6020604051808303816000875af11580156200045f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004859190620011d7565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260056101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c600060a05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d600060a05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600019600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600019600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e54600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e5460405162000c58919062001258565b60405180910390a350620014a1565b60008083141562000c7c576000905062000ce5565b6000828462000c8c91906200110c565b905082848262000c9d9190620012a4565b1462000ce0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cd79062001363565b60405180910390fd5b809150505b92915050565b600062000d3583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000e0960201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808311829062000e53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e4a919062001418565b60405180910390fd5b506000838562000e649190620012a4565b9050809150509392505050565b82805462000e7f906200146b565b90600052602060002090601f01602090048101928262000ea3576000855562000eef565b82601f1062000ebe57805160ff191683800117855562000eef565b8280016001018555821562000eef579182015b8281111562000eee57825182559160200191906001019062000ed1565b5b50905062000efe919062000f02565b5090565b5b8082111562000f1d57600081600090555060010162000f03565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000faf5780860481111562000f875762000f8662000f21565b5b600185161562000f975780820291505b808102905062000fa78562000f50565b945062000f67565b94509492505050565b60008262000fca57600190506200109d565b8162000fda57600090506200109d565b816001811462000ff3576002811462000ffe5762001034565b60019150506200109d565b60ff84111562001013576200101262000f21565b5b8360020a9150848211156200102d576200102c62000f21565b5b506200109d565b5060208310610133831016604e8410600b84101617156200106e5782820a90508381111562001068576200106762000f21565b5b6200109d565b6200107d848484600162000f5d565b9250905081840481111562001097576200109662000f21565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620010c882620010a4565b9150620010d583620010ae565b9250620011047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000fb8565b905092915050565b60006200111982620010a4565b91506200112683620010a4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562001162576200116162000f21565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200119f8262001172565b9050919050565b620011b18162001192565b8114620011bd57600080fd5b50565b600081519050620011d181620011a6565b92915050565b600060208284031215620011f057620011ef6200116d565b5b60006200120084828501620011c0565b91505092915050565b620012148162001192565b82525050565b600060408201905062001231600083018562001209565b62001240602083018462001209565b9392505050565b6200125281620010a4565b82525050565b60006020820190506200126f600083018462001247565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620012b182620010a4565b9150620012be83620010a4565b925082620012d157620012d062001275565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006200134b602183620012dc565b91506200135882620012ed565b604082019050919050565b600060208201905081810360008301526200137e816200133c565b9050919050565b600081519050919050565b60005b83811015620013b057808201518184015260208101905062001393565b83811115620013c0576000848401525b50505050565b6000601f19601f8301169050919050565b6000620013e48262001385565b620013f08185620012dc565b93506200140281856020860162001390565b6200140d81620013c6565b840191505092915050565b60006020820190508181036000830152620014348184620013d7565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200148457607f821691505b602082108114156200149b576200149a6200143c565b5b50919050565b60805160a051614841620014d560003960008181610caf0152610e07015260008181610ddb0152610e3301526148416000f3fe6080604052600436106102e85760003560e01c8063728d41c911610190578063cea9d26f116100dc578063ee828db311610095578063f2fde38b1161006f578063f2fde38b14610b5b578063f71b9bbf14610b84578063f872858a14610bad578063fb201b1d14610bd8576102ef565b8063ee828db314610adc578063efcc52de14610b05578063f242ab4114610b30576102ef565b8063cea9d26f146109e2578063d4e43fb314610a0b578063dd62ed3e14610a34578063df8408fe14610a71578063e6b2603b14610a9a578063e9fd339414610ab1576102ef565b806395d89b4111610149578063adc0d09211610123578063adc0d0921461092a578063ae85ade614610953578063c16dd4a41461097c578063c867d60b146109a5576102ef565b806395d89b4114610885578063a457c2d7146108b0578063a9059cbb146108ed576102ef565b8063728d41c9146107755780637d1db4a51461079e578063807c2d9c146107c95780638b42507f146107f45780638da5cb5b1461083157806390d49b9d1461085c576102ef565b8063395093511161024f5780635c85974f11610208578063651a8987116101e2578063651a8987146106cd5780636ddd1713146106f657806370a0823114610721578063715018a61461075e576102ef565b80635c85974f1461064e5780635ca6de3c146106775780635e42358c146106a2576102ef565b8063395093511461051c5780633ecad271146105595780634974d88f1461059657806352f7c988146105bf5780635342acb4146105e857806359fac51714610625576102ef565b8063200a692d116102a1578063200a692d1461040857806323b872dd1461043357806327c8f835146104705780632b112e491461049b5780632ebd161c146104c6578063313ce567146104f1576102ef565b80630445b667146102f457806306fdde031461031f5780630758d9241461034a5780630930907b14610375578063095ea7b3146103a057806318160ddd146103dd576102ef565b366102ef57005b600080fd5b34801561030057600080fd5b50610309610bef565b60405161031691906136c5565b60405180910390f35b34801561032b57600080fd5b50610334610bf5565b6040516103419190613779565b60405180910390f35b34801561035657600080fd5b5061035f610c87565b60405161036c919061381a565b60405180910390f35b34801561038157600080fd5b5061038a610cad565b6040516103979190613856565b60405180910390f35b3480156103ac57600080fd5b506103c760048036038101906103c291906138ce565b610cd1565b6040516103d49190613929565b60405180910390f35b3480156103e957600080fd5b506103f2610cef565b6040516103ff91906136c5565b60405180910390f35b34801561041457600080fd5b5061041d610cf9565b60405161042a91906136c5565b60405180910390f35b34801561043f57600080fd5b5061045a60048036038101906104559190613944565b610cff565b6040516104679190613929565b60405180910390f35b34801561047c57600080fd5b50610485610dd9565b6040516104929190613856565b60405180910390f35b3480156104a757600080fd5b506104b0610dfd565b6040516104bd91906136c5565b60405180910390f35b3480156104d257600080fd5b506104db610e7b565b6040516104e89190613856565b60405180910390f35b3480156104fd57600080fd5b50610506610ea1565b60405161051391906139b3565b60405180910390f35b34801561052857600080fd5b50610543600480360381019061053e91906138ce565b610eb8565b6040516105509190613929565b60405180910390f35b34801561056557600080fd5b50610580600480360381019061057b91906139ce565b610f6b565b60405161058d9190613929565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b89190613a27565b610f8b565b005b3480156105cb57600080fd5b506105e660048036038101906105e19190613a54565b611024565b005b3480156105f457600080fd5b5061060f600480360381019061060a91906139ce565b6110b2565b60405161061c9190613929565b60405180910390f35b34801561063157600080fd5b5061064c600480360381019061064791906139ce565b6110d2565b005b34801561065a57600080fd5b5061067560048036038101906106709190613a94565b611192565b005b34801561068357600080fd5b5061068c611218565b6040516106999190613929565b60405180910390f35b3480156106ae57600080fd5b506106b761122b565b6040516106c49190613929565b60405180910390f35b3480156106d957600080fd5b506106f460048036038101906106ef9190613ac1565b61123e565b005b34801561070257600080fd5b5061070b611315565b6040516107189190613929565b60405180910390f35b34801561072d57600080fd5b50610748600480360381019061074391906139ce565b611328565b60405161075591906136c5565b60405180910390f35b34801561076a57600080fd5b50610773611371565b005b34801561078157600080fd5b5061079c60048036038101906107979190613a94565b6113f9565b005b3480156107aa57600080fd5b506107b361147f565b6040516107c091906136c5565b60405180910390f35b3480156107d557600080fd5b506107de611485565b6040516107eb91906136c5565b60405180910390f35b34801561080057600080fd5b5061081b600480360381019061081691906139ce565b61148b565b6040516108289190613929565b60405180910390f35b34801561083d57600080fd5b506108466114ab565b6040516108539190613856565b60405180910390f35b34801561086857600080fd5b50610883600480360381019061087e91906139ce565b6114d4565b005b34801561089157600080fd5b5061089a611594565b6040516108a79190613779565b60405180910390f35b3480156108bc57600080fd5b506108d760048036038101906108d291906138ce565b611626565b6040516108e49190613929565b60405180910390f35b3480156108f957600080fd5b50610914600480360381019061090f91906138ce565b6116f3565b6040516109219190613929565b60405180910390f35b34801561093657600080fd5b50610951600480360381019061094c9190613a94565b611712565b005b34801561095f57600080fd5b5061097a60048036038101906109759190613ac1565b611798565b005b34801561098857600080fd5b506109a3600480360381019061099e9190613ac1565b61186f565b005b3480156109b157600080fd5b506109cc60048036038101906109c791906139ce565b6119a4565b6040516109d99190613929565b60405180910390f35b3480156109ee57600080fd5b50610a096004803603810190610a049190613944565b6119c4565b005b348015610a1757600080fd5b50610a326004803603810190610a2d9190613b01565b611b82565b005b348015610a4057600080fd5b50610a5b6004803603810190610a569190613b41565b611c36565b604051610a6891906136c5565b60405180910390f35b348015610a7d57600080fd5b50610a986004803603810190610a939190613ac1565b611cbd565b005b348015610aa657600080fd5b50610aaf611d94565b005b348015610abd57600080fd5b50610ac6611ebf565b604051610ad39190613929565b60405180910390f35b348015610ae857600080fd5b50610b036004803603810190610afe9190613a27565b611ed2565b005b348015610b1157600080fd5b50610b1a611f6b565b604051610b2791906136c5565b60405180910390f35b348015610b3c57600080fd5b50610b45611f71565b604051610b529190613856565b60405180910390f35b348015610b6757600080fd5b50610b826004803603810190610b7d91906139ce565b611f97565b005b348015610b9057600080fd5b50610bab6004803603810190610ba691906139ce565b61208f565b005b348015610bb957600080fd5b50610bc261214f565b604051610bcf9190613929565b60405180910390f35b348015610be457600080fd5b50610bed612162565b005b600f5481565b606060018054610c0490613bb0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3090613bb0565b8015610c7d5780601f10610c5257610100808354040283529160200191610c7d565b820191906000526020600020905b815481529060010190602001808311610c6057829003601f168201915b5050505050905090565b601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610ce5610cde612320565b8484612328565b6001905092915050565b6000600e54905090565b60055481565b6000610d0c8484846124f3565b50610dce84610d19612320565b610dc9856040518060600160405280602881526020016147bf60289139600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d7f612320565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b612328565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610e76610e2b7f0000000000000000000000000000000000000000000000000000000000000000611328565b610e68610e577f0000000000000000000000000000000000000000000000000000000000000000611328565b600e54612c1090919063ffffffff16565b612c1090919063ffffffff16565b905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b6000610f61610ec5612320565b84610f5c8560096000610ed6612320565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c5a90919063ffffffff16565b612328565b6001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b610f93612320565b73ffffffffffffffffffffffffffffffffffffffff16610fb16114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe90613c2e565b60405180910390fd5b80601260036101000a81548160ff02191690831515021790555050565b61102c612320565b73ffffffffffffffffffffffffffffffffffffffff1661104a6114ab565b73ffffffffffffffffffffffffffffffffffffffff16146110a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109790613c2e565b60405180910390fd5b81600481905550806005819055505050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6110da612320565b73ffffffffffffffffffffffffffffffffffffffff166110f86114ab565b73ffffffffffffffffffffffffffffffffffffffff161461114e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114590613c2e565b60405180910390fd5b80601260056101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61119a612320565b73ffffffffffffffffffffffffffffffffffffffff166111b86114ab565b73ffffffffffffffffffffffffffffffffffffffff161461120e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120590613c2e565b60405180910390fd5b8060108190555050565b601260049054906101000a900460ff1681565b601260029054906101000a900460ff1681565b611246612320565b73ffffffffffffffffffffffffffffffffffffffff166112646114ab565b73ffffffffffffffffffffffffffffffffffffffff16146112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b190613c2e565b60405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601260009054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611379612320565b73ffffffffffffffffffffffffffffffffffffffff166113976114ab565b73ffffffffffffffffffffffffffffffffffffffff16146113ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e490613c2e565b60405180910390fd5b6113f76000612cb8565b565b611401612320565b73ffffffffffffffffffffffffffffffffffffffff1661141f6114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146c90613c2e565b60405180910390fd5b8060118190555050565b60105481565b60115481565b600d6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114dc612320565b73ffffffffffffffffffffffffffffffffffffffff166114fa6114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790613c2e565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060600280546115a390613bb0565b80601f01602080910402602001604051908101604052809291908181526020018280546115cf90613bb0565b801561161c5780601f106115f15761010080835404028352916020019161161c565b820191906000526020600020905b8154815290600101906020018083116115ff57829003601f168201915b5050505050905090565b60006116e9611633612320565b846116e4856040518060600160405280602581526020016147e7602591396009600061165d612320565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b612328565b6001905092915050565b6000611707611700612320565b84846124f3565b506001905092915050565b61171a612320565b73ffffffffffffffffffffffffffffffffffffffff166117386114ab565b73ffffffffffffffffffffffffffffffffffffffff161461178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178590613c2e565b60405180910390fd5b80600f8190555050565b6117a0612320565b73ffffffffffffffffffffffffffffffffffffffff166117be6114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180b90613c2e565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611877612320565b73ffffffffffffffffffffffffffffffffffffffff166118956114ab565b73ffffffffffffffffffffffffffffffffffffffff16146118eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e290613c2e565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080156119a05780600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6119cc612320565b73ffffffffffffffffffffffffffffffffffffffff166119ea6114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611a40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3790613c2e565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff168383604051602401611a6c929190613c4e565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611af69190613cbe565b6000604051808303816000865af19150503d8060008114611b33576040519150601f19603f3d011682016040523d82523d6000602084013e611b38565b606091505b5050905080611b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7390613d21565b60405180910390fd5b50505050565b611b8a612320565b73ffffffffffffffffffffffffffffffffffffffff16611ba86114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf590613c2e565b60405180910390fd5b81601260006101000a81548160ff02191690831515021790555080601260016101000a81548160ff0219169083151502179055505050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611cc5612320565b73ffffffffffffffffffffffffffffffffffffffff16611ce36114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611d39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3090613c2e565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611d9c612320565b73ffffffffffffffffffffffffffffffffffffffff16611dba6114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611e10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0790613c2e565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051611e3690613d67565b60006040518083038185875af1925050503d8060008114611e73576040519150601f19603f3d011682016040523d82523d6000602084013e611e78565b606091505b5050905080611ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb390613dc8565b60405180910390fd5b50565b601260019054906101000a900460ff1681565b611eda612320565b73ffffffffffffffffffffffffffffffffffffffff16611ef86114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4590613c2e565b60405180910390fd5b80601260026101000a81548160ff02191690831515021790555050565b60045481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611f9f612320565b73ffffffffffffffffffffffffffffffffffffffff16611fbd6114ab565b73ffffffffffffffffffffffffffffffffffffffff1614612013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200a90613c2e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207a90613e5a565b60405180910390fd5b61208c81612cb8565b50565b612097612320565b73ffffffffffffffffffffffffffffffffffffffff166120b56114ab565b73ffffffffffffffffffffffffffffffffffffffff161461210b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210290613c2e565b60405180910390fd5b80601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260039054906101000a900460ff1681565b61216a612320565b73ffffffffffffffffffffffffffffffffffffffff166121886114ab565b73ffffffffffffffffffffffffffffffffffffffff16146121de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d590613c2e565b60405180910390fd5b601260049054906101000a900460ff161561222e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222590613ec6565b60405180910390fd5b6001601260046101000a81548160ff02191690831515021790555060286004819055506050600581905550565b60008083141561226e57600090506122d0565b6000828461227c9190613f15565b905082848261228b9190613f9e565b146122cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c290614041565b60405180910390fd5b809150505b92915050565b600061231883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d7c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238f906140d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ff90614165565b60405180910390fd5b80600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516124e691906136c5565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255b906141f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125cb90614289565b60405180910390fd5b60008211612617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260e9061431b565b60405180910390fd5b601260049054906101000a900460ff1661270c57600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806126cc5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61270b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270290614387565b60405180910390fd5b5b601360149054906101000a900460ff16156127335761272c848484612ddf565b9050612ba5565b600061273e30611328565b90506000600f5482101590508080156127645750601360149054906101000a900460ff16155b80156127ba5750600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156127d25750601260009054906101000a900460ff165b156127e1576127e082612fb2565b5b600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128855750600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561289d5750601260029054906101000a900460ff165b156128e8576010548411156128e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128de90614419565b60405180910390fd5b5b612971846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006129c087876130a0565b6129d4576129cf87878761320b565b6129d6565b845b9050601260039054906101000a900460ff168015612a3e5750600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612aa357601154612a6182612a5389611328565b612c5a90919063ffffffff16565b1115612aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9990614485565b60405180910390fd5b5b612af581600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c5a90919063ffffffff16565b600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b9591906136c5565b60405180910390a3600193505050505b9392505050565b6000838311158290612bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612beb9190613779565b60405180910390fd5b5060008385612c0391906144a5565b9050809150509392505050565b6000612c5283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612bac565b905092915050565b6000808284612c6991906144d9565b905083811015612cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca59061457b565b60405180910390fd5b8091505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008083118290612dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dba9190613779565b60405180910390fd5b5060008385612dd29190613f9e565b9050809150509392505050565b6000612e6a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612eff82600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c5a90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f9f91906136c5565b60405180910390a3600190509392505050565b6001601360146101000a81548160ff021916908315150217905550601260019054906101000a900460ff1615612fe857600f5490505b6000479050612ff682613430565b600061300b8247612c1090919063ffffffff16565b9050600081111561308057600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561307e573d6000803e3d6000fd5b505b50506000601360146101000a81548160ff02191690831515021790555050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806131435750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156131515760019050613205565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806131f25750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156132005760009050613205565b600090505b92915050565b600080600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156132905761328960075461327b6004548661225b90919063ffffffff16565b6122d690919063ffffffff16565b905061330f565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561330e5761330b6007546132fd6005548661225b90919063ffffffff16565b6122d690919063ffffffff16565b90505b5b60008111156134135761336a81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c5a90919063ffffffff16565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161340a91906136c5565b60405180910390a35b6134268184612c1090919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff81111561344d5761344c61459b565b5b60405190808252806020026020018201604052801561347b5781602001602082028036833780820191505090505b5090503081600081518110613493576134926145ca565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561353a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061355e919061460e565b81600181518110613572576135716145ca565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506135d930601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612328565b601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161363d959493929190614734565b600060405180830381600087803b15801561365757600080fd5b505af115801561366b573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516136a092919061478e565b60405180910390a15050565b6000819050919050565b6136bf816136ac565b82525050565b60006020820190506136da60008301846136b6565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561371a5780820151818401526020810190506136ff565b83811115613729576000848401525b50505050565b6000601f19601f8301169050919050565b600061374b826136e0565b61375581856136eb565b93506137658185602086016136fc565b61376e8161372f565b840191505092915050565b600060208201905081810360008301526137938184613740565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006137e06137db6137d68461379b565b6137bb565b61379b565b9050919050565b60006137f2826137c5565b9050919050565b6000613804826137e7565b9050919050565b613814816137f9565b82525050565b600060208201905061382f600083018461380b565b92915050565b60006138408261379b565b9050919050565b61385081613835565b82525050565b600060208201905061386b6000830184613847565b92915050565b600080fd5b61387f81613835565b811461388a57600080fd5b50565b60008135905061389c81613876565b92915050565b6138ab816136ac565b81146138b657600080fd5b50565b6000813590506138c8816138a2565b92915050565b600080604083850312156138e5576138e4613871565b5b60006138f38582860161388d565b9250506020613904858286016138b9565b9150509250929050565b60008115159050919050565b6139238161390e565b82525050565b600060208201905061393e600083018461391a565b92915050565b60008060006060848603121561395d5761395c613871565b5b600061396b8682870161388d565b935050602061397c8682870161388d565b925050604061398d868287016138b9565b9150509250925092565b600060ff82169050919050565b6139ad81613997565b82525050565b60006020820190506139c860008301846139a4565b92915050565b6000602082840312156139e4576139e3613871565b5b60006139f28482850161388d565b91505092915050565b613a048161390e565b8114613a0f57600080fd5b50565b600081359050613a21816139fb565b92915050565b600060208284031215613a3d57613a3c613871565b5b6000613a4b84828501613a12565b91505092915050565b60008060408385031215613a6b57613a6a613871565b5b6000613a79858286016138b9565b9250506020613a8a858286016138b9565b9150509250929050565b600060208284031215613aaa57613aa9613871565b5b6000613ab8848285016138b9565b91505092915050565b60008060408385031215613ad857613ad7613871565b5b6000613ae68582860161388d565b9250506020613af785828601613a12565b9150509250929050565b60008060408385031215613b1857613b17613871565b5b6000613b2685828601613a12565b9250506020613b3785828601613a12565b9150509250929050565b60008060408385031215613b5857613b57613871565b5b6000613b668582860161388d565b9250506020613b778582860161388d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613bc857607f821691505b60208210811415613bdc57613bdb613b81565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c186020836136eb565b9150613c2382613be2565b602082019050919050565b60006020820190508181036000830152613c4781613c0b565b9050919050565b6000604082019050613c636000830185613847565b613c7060208301846136b6565b9392505050565b600081519050919050565b600081905092915050565b6000613c9882613c77565b613ca28185613c82565b9350613cb28185602086016136fc565b80840191505092915050565b6000613cca8284613c8d565b915081905092915050565b7f546f6b656e207061796d656e74206661696c6564000000000000000000000000600082015250565b6000613d0b6014836136eb565b9150613d1682613cd5565b602082019050919050565b60006020820190508181036000830152613d3a81613cfe565b9050919050565b50565b6000613d51600083613c82565b9150613d5c82613d41565b600082019050919050565b6000613d7282613d44565b9150819050919050565b7f5472616e73616374696f6e204661696c65642121000000000000000000000000600082015250565b6000613db26014836136eb565b9150613dbd82613d7c565b602082019050919050565b60006020820190508181036000830152613de181613da5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613e446026836136eb565b9150613e4f82613de8565b604082019050919050565b60006020820190508181036000830152613e7381613e37565b9050919050565b7f547261646520416c726561647920416374697665210000000000000000000000600082015250565b6000613eb06015836136eb565b9150613ebb82613e7a565b602082019050919050565b60006020820190508181036000830152613edf81613ea3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f20826136ac565b9150613f2b836136ac565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f6457613f63613ee6565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fa9826136ac565b9150613fb4836136ac565b925082613fc457613fc3613f6f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061402b6021836136eb565b915061403682613fcf565b604082019050919050565b6000602082019050818103600083015261405a8161401e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140bd6024836136eb565b91506140c882614061565b604082019050919050565b600060208201905081810360008301526140ec816140b0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061414f6022836136eb565b915061415a826140f3565b604082019050919050565b6000602082019050818103600083015261417e81614142565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006141e16025836136eb565b91506141ec82614185565b604082019050919050565b60006020820190508181036000830152614210816141d4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006142736023836136eb565b915061427e82614217565b604082019050919050565b600060208201905081810360008301526142a281614266565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006143056029836136eb565b9150614310826142a9565b604082019050919050565b60006020820190508181036000830152614334816142f8565b9050919050565b7f54726164696e67206973206e6f7420656e61626c652079657421000000000000600082015250565b6000614371601a836136eb565b915061437c8261433b565b602082019050919050565b600060208201905081810360008301526143a081614364565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b60006144036028836136eb565b915061440e826143a7565b604082019050919050565b60006020820190508181036000830152614432816143f6565b9050919050565b7f4d61782057616c6c6574204c696d697420457863656564656421210000000000600082015250565b600061446f601b836136eb565b915061447a82614439565b602082019050919050565b6000602082019050818103600083015261449e81614462565b9050919050565b60006144b0826136ac565b91506144bb836136ac565b9250828210156144ce576144cd613ee6565b5b828203905092915050565b60006144e4826136ac565b91506144ef836136ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561452457614523613ee6565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614565601b836136eb565b91506145708261452f565b602082019050919050565b6000602082019050818103600083015261459481614558565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061460881613876565b92915050565b60006020828403121561462457614623613871565b5b6000614632848285016145f9565b91505092915050565b6000819050919050565b600061466061465b6146568461463b565b6137bb565b6136ac565b9050919050565b61467081614645565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6146ab81613835565b82525050565b60006146bd83836146a2565b60208301905092915050565b6000602082019050919050565b60006146e182614676565b6146eb8185614681565b93506146f683614692565b8060005b8381101561472757815161470e88826146b1565b9750614719836146c9565b9250506001810190506146fa565b5085935050505092915050565b600060a08201905061474960008301886136b6565b6147566020830187614667565b818103604083015261476881866146d6565b90506147776060830185613847565b61478460808301846136b6565b9695505050505050565b60006040820190506147a360008301856136b6565b81810360208301526147b581846146d6565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220011aec8f4eeb992c3319c71d983fc83f35d81b75d2372f5848f534981db7375564736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106102e85760003560e01c8063728d41c911610190578063cea9d26f116100dc578063ee828db311610095578063f2fde38b1161006f578063f2fde38b14610b5b578063f71b9bbf14610b84578063f872858a14610bad578063fb201b1d14610bd8576102ef565b8063ee828db314610adc578063efcc52de14610b05578063f242ab4114610b30576102ef565b8063cea9d26f146109e2578063d4e43fb314610a0b578063dd62ed3e14610a34578063df8408fe14610a71578063e6b2603b14610a9a578063e9fd339414610ab1576102ef565b806395d89b4111610149578063adc0d09211610123578063adc0d0921461092a578063ae85ade614610953578063c16dd4a41461097c578063c867d60b146109a5576102ef565b806395d89b4114610885578063a457c2d7146108b0578063a9059cbb146108ed576102ef565b8063728d41c9146107755780637d1db4a51461079e578063807c2d9c146107c95780638b42507f146107f45780638da5cb5b1461083157806390d49b9d1461085c576102ef565b8063395093511161024f5780635c85974f11610208578063651a8987116101e2578063651a8987146106cd5780636ddd1713146106f657806370a0823114610721578063715018a61461075e576102ef565b80635c85974f1461064e5780635ca6de3c146106775780635e42358c146106a2576102ef565b8063395093511461051c5780633ecad271146105595780634974d88f1461059657806352f7c988146105bf5780635342acb4146105e857806359fac51714610625576102ef565b8063200a692d116102a1578063200a692d1461040857806323b872dd1461043357806327c8f835146104705780632b112e491461049b5780632ebd161c146104c6578063313ce567146104f1576102ef565b80630445b667146102f457806306fdde031461031f5780630758d9241461034a5780630930907b14610375578063095ea7b3146103a057806318160ddd146103dd576102ef565b366102ef57005b600080fd5b34801561030057600080fd5b50610309610bef565b60405161031691906136c5565b60405180910390f35b34801561032b57600080fd5b50610334610bf5565b6040516103419190613779565b60405180910390f35b34801561035657600080fd5b5061035f610c87565b60405161036c919061381a565b60405180910390f35b34801561038157600080fd5b5061038a610cad565b6040516103979190613856565b60405180910390f35b3480156103ac57600080fd5b506103c760048036038101906103c291906138ce565b610cd1565b6040516103d49190613929565b60405180910390f35b3480156103e957600080fd5b506103f2610cef565b6040516103ff91906136c5565b60405180910390f35b34801561041457600080fd5b5061041d610cf9565b60405161042a91906136c5565b60405180910390f35b34801561043f57600080fd5b5061045a60048036038101906104559190613944565b610cff565b6040516104679190613929565b60405180910390f35b34801561047c57600080fd5b50610485610dd9565b6040516104929190613856565b60405180910390f35b3480156104a757600080fd5b506104b0610dfd565b6040516104bd91906136c5565b60405180910390f35b3480156104d257600080fd5b506104db610e7b565b6040516104e89190613856565b60405180910390f35b3480156104fd57600080fd5b50610506610ea1565b60405161051391906139b3565b60405180910390f35b34801561052857600080fd5b50610543600480360381019061053e91906138ce565b610eb8565b6040516105509190613929565b60405180910390f35b34801561056557600080fd5b50610580600480360381019061057b91906139ce565b610f6b565b60405161058d9190613929565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b89190613a27565b610f8b565b005b3480156105cb57600080fd5b506105e660048036038101906105e19190613a54565b611024565b005b3480156105f457600080fd5b5061060f600480360381019061060a91906139ce565b6110b2565b60405161061c9190613929565b60405180910390f35b34801561063157600080fd5b5061064c600480360381019061064791906139ce565b6110d2565b005b34801561065a57600080fd5b5061067560048036038101906106709190613a94565b611192565b005b34801561068357600080fd5b5061068c611218565b6040516106999190613929565b60405180910390f35b3480156106ae57600080fd5b506106b761122b565b6040516106c49190613929565b60405180910390f35b3480156106d957600080fd5b506106f460048036038101906106ef9190613ac1565b61123e565b005b34801561070257600080fd5b5061070b611315565b6040516107189190613929565b60405180910390f35b34801561072d57600080fd5b50610748600480360381019061074391906139ce565b611328565b60405161075591906136c5565b60405180910390f35b34801561076a57600080fd5b50610773611371565b005b34801561078157600080fd5b5061079c60048036038101906107979190613a94565b6113f9565b005b3480156107aa57600080fd5b506107b361147f565b6040516107c091906136c5565b60405180910390f35b3480156107d557600080fd5b506107de611485565b6040516107eb91906136c5565b60405180910390f35b34801561080057600080fd5b5061081b600480360381019061081691906139ce565b61148b565b6040516108289190613929565b60405180910390f35b34801561083d57600080fd5b506108466114ab565b6040516108539190613856565b60405180910390f35b34801561086857600080fd5b50610883600480360381019061087e91906139ce565b6114d4565b005b34801561089157600080fd5b5061089a611594565b6040516108a79190613779565b60405180910390f35b3480156108bc57600080fd5b506108d760048036038101906108d291906138ce565b611626565b6040516108e49190613929565b60405180910390f35b3480156108f957600080fd5b50610914600480360381019061090f91906138ce565b6116f3565b6040516109219190613929565b60405180910390f35b34801561093657600080fd5b50610951600480360381019061094c9190613a94565b611712565b005b34801561095f57600080fd5b5061097a60048036038101906109759190613ac1565b611798565b005b34801561098857600080fd5b506109a3600480360381019061099e9190613ac1565b61186f565b005b3480156109b157600080fd5b506109cc60048036038101906109c791906139ce565b6119a4565b6040516109d99190613929565b60405180910390f35b3480156109ee57600080fd5b50610a096004803603810190610a049190613944565b6119c4565b005b348015610a1757600080fd5b50610a326004803603810190610a2d9190613b01565b611b82565b005b348015610a4057600080fd5b50610a5b6004803603810190610a569190613b41565b611c36565b604051610a6891906136c5565b60405180910390f35b348015610a7d57600080fd5b50610a986004803603810190610a939190613ac1565b611cbd565b005b348015610aa657600080fd5b50610aaf611d94565b005b348015610abd57600080fd5b50610ac6611ebf565b604051610ad39190613929565b60405180910390f35b348015610ae857600080fd5b50610b036004803603810190610afe9190613a27565b611ed2565b005b348015610b1157600080fd5b50610b1a611f6b565b604051610b2791906136c5565b60405180910390f35b348015610b3c57600080fd5b50610b45611f71565b604051610b529190613856565b60405180910390f35b348015610b6757600080fd5b50610b826004803603810190610b7d91906139ce565b611f97565b005b348015610b9057600080fd5b50610bab6004803603810190610ba691906139ce565b61208f565b005b348015610bb957600080fd5b50610bc261214f565b604051610bcf9190613929565b60405180910390f35b348015610be457600080fd5b50610bed612162565b005b600f5481565b606060018054610c0490613bb0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3090613bb0565b8015610c7d5780601f10610c5257610100808354040283529160200191610c7d565b820191906000526020600020905b815481529060010190602001808311610c6057829003601f168201915b5050505050905090565b601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610ce5610cde612320565b8484612328565b6001905092915050565b6000600e54905090565b60055481565b6000610d0c8484846124f3565b50610dce84610d19612320565b610dc9856040518060600160405280602881526020016147bf60289139600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d7f612320565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b612328565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000610e76610e2b7f0000000000000000000000000000000000000000000000000000000000000000611328565b610e68610e577f000000000000000000000000000000000000000000000000000000000000dead611328565b600e54612c1090919063ffffffff16565b612c1090919063ffffffff16565b905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b6000610f61610ec5612320565b84610f5c8560096000610ed6612320565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c5a90919063ffffffff16565b612328565b6001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b610f93612320565b73ffffffffffffffffffffffffffffffffffffffff16610fb16114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe90613c2e565b60405180910390fd5b80601260036101000a81548160ff02191690831515021790555050565b61102c612320565b73ffffffffffffffffffffffffffffffffffffffff1661104a6114ab565b73ffffffffffffffffffffffffffffffffffffffff16146110a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109790613c2e565b60405180910390fd5b81600481905550806005819055505050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6110da612320565b73ffffffffffffffffffffffffffffffffffffffff166110f86114ab565b73ffffffffffffffffffffffffffffffffffffffff161461114e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114590613c2e565b60405180910390fd5b80601260056101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61119a612320565b73ffffffffffffffffffffffffffffffffffffffff166111b86114ab565b73ffffffffffffffffffffffffffffffffffffffff161461120e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120590613c2e565b60405180910390fd5b8060108190555050565b601260049054906101000a900460ff1681565b601260029054906101000a900460ff1681565b611246612320565b73ffffffffffffffffffffffffffffffffffffffff166112646114ab565b73ffffffffffffffffffffffffffffffffffffffff16146112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b190613c2e565b60405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601260009054906101000a900460ff1681565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611379612320565b73ffffffffffffffffffffffffffffffffffffffff166113976114ab565b73ffffffffffffffffffffffffffffffffffffffff16146113ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e490613c2e565b60405180910390fd5b6113f76000612cb8565b565b611401612320565b73ffffffffffffffffffffffffffffffffffffffff1661141f6114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146c90613c2e565b60405180910390fd5b8060118190555050565b60105481565b60115481565b600d6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114dc612320565b73ffffffffffffffffffffffffffffffffffffffff166114fa6114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790613c2e565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060600280546115a390613bb0565b80601f01602080910402602001604051908101604052809291908181526020018280546115cf90613bb0565b801561161c5780601f106115f15761010080835404028352916020019161161c565b820191906000526020600020905b8154815290600101906020018083116115ff57829003601f168201915b5050505050905090565b60006116e9611633612320565b846116e4856040518060600160405280602581526020016147e7602591396009600061165d612320565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b612328565b6001905092915050565b6000611707611700612320565b84846124f3565b506001905092915050565b61171a612320565b73ffffffffffffffffffffffffffffffffffffffff166117386114ab565b73ffffffffffffffffffffffffffffffffffffffff161461178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178590613c2e565b60405180910390fd5b80600f8190555050565b6117a0612320565b73ffffffffffffffffffffffffffffffffffffffff166117be6114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180b90613c2e565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611877612320565b73ffffffffffffffffffffffffffffffffffffffff166118956114ab565b73ffffffffffffffffffffffffffffffffffffffff16146118eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e290613c2e565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080156119a05780600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6119cc612320565b73ffffffffffffffffffffffffffffffffffffffff166119ea6114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611a40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3790613c2e565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff168383604051602401611a6c929190613c4e565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611af69190613cbe565b6000604051808303816000865af19150503d8060008114611b33576040519150601f19603f3d011682016040523d82523d6000602084013e611b38565b606091505b5050905080611b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7390613d21565b60405180910390fd5b50505050565b611b8a612320565b73ffffffffffffffffffffffffffffffffffffffff16611ba86114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf590613c2e565b60405180910390fd5b81601260006101000a81548160ff02191690831515021790555080601260016101000a81548160ff0219169083151502179055505050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611cc5612320565b73ffffffffffffffffffffffffffffffffffffffff16611ce36114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611d39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3090613c2e565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611d9c612320565b73ffffffffffffffffffffffffffffffffffffffff16611dba6114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611e10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0790613c2e565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051611e3690613d67565b60006040518083038185875af1925050503d8060008114611e73576040519150601f19603f3d011682016040523d82523d6000602084013e611e78565b606091505b5050905080611ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb390613dc8565b60405180910390fd5b50565b601260019054906101000a900460ff1681565b611eda612320565b73ffffffffffffffffffffffffffffffffffffffff16611ef86114ab565b73ffffffffffffffffffffffffffffffffffffffff1614611f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4590613c2e565b60405180910390fd5b80601260026101000a81548160ff02191690831515021790555050565b60045481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611f9f612320565b73ffffffffffffffffffffffffffffffffffffffff16611fbd6114ab565b73ffffffffffffffffffffffffffffffffffffffff1614612013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200a90613c2e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207a90613e5a565b60405180910390fd5b61208c81612cb8565b50565b612097612320565b73ffffffffffffffffffffffffffffffffffffffff166120b56114ab565b73ffffffffffffffffffffffffffffffffffffffff161461210b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210290613c2e565b60405180910390fd5b80601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260039054906101000a900460ff1681565b61216a612320565b73ffffffffffffffffffffffffffffffffffffffff166121886114ab565b73ffffffffffffffffffffffffffffffffffffffff16146121de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d590613c2e565b60405180910390fd5b601260049054906101000a900460ff161561222e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222590613ec6565b60405180910390fd5b6001601260046101000a81548160ff02191690831515021790555060286004819055506050600581905550565b60008083141561226e57600090506122d0565b6000828461227c9190613f15565b905082848261228b9190613f9e565b146122cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c290614041565b60405180910390fd5b809150505b92915050565b600061231883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d7c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238f906140d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ff90614165565b60405180910390fd5b80600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516124e691906136c5565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255b906141f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125cb90614289565b60405180910390fd5b60008211612617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260e9061431b565b60405180910390fd5b601260049054906101000a900460ff1661270c57600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806126cc5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61270b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270290614387565b60405180910390fd5b5b601360149054906101000a900460ff16156127335761272c848484612ddf565b9050612ba5565b600061273e30611328565b90506000600f5482101590508080156127645750601360149054906101000a900460ff16155b80156127ba5750600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156127d25750601260009054906101000a900460ff165b156127e1576127e082612fb2565b5b600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128855750600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561289d5750601260029054906101000a900460ff165b156128e8576010548411156128e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128de90614419565b60405180910390fd5b5b612971846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006129c087876130a0565b6129d4576129cf87878761320b565b6129d6565b845b9050601260039054906101000a900460ff168015612a3e5750600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612aa357601154612a6182612a5389611328565b612c5a90919063ffffffff16565b1115612aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9990614485565b60405180910390fd5b5b612af581600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c5a90919063ffffffff16565b600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b9591906136c5565b60405180910390a3600193505050505b9392505050565b6000838311158290612bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612beb9190613779565b60405180910390fd5b5060008385612c0391906144a5565b9050809150509392505050565b6000612c5283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612bac565b905092915050565b6000808284612c6991906144d9565b905083811015612cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca59061457b565b60405180910390fd5b8091505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008083118290612dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dba9190613779565b60405180910390fd5b5060008385612dd29190613f9e565b9050809150509392505050565b6000612e6a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612eff82600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c5a90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f9f91906136c5565b60405180910390a3600190509392505050565b6001601360146101000a81548160ff021916908315150217905550601260019054906101000a900460ff1615612fe857600f5490505b6000479050612ff682613430565b600061300b8247612c1090919063ffffffff16565b9050600081111561308057600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561307e573d6000803e3d6000fd5b505b50506000601360146101000a81548160ff02191690831515021790555050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806131435750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156131515760019050613205565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806131f25750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156132005760009050613205565b600090505b92915050565b600080600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156132905761328960075461327b6004548661225b90919063ffffffff16565b6122d690919063ffffffff16565b905061330f565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561330e5761330b6007546132fd6005548661225b90919063ffffffff16565b6122d690919063ffffffff16565b90505b5b60008111156134135761336a81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c5a90919063ffffffff16565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161340a91906136c5565b60405180910390a35b6134268184612c1090919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff81111561344d5761344c61459b565b5b60405190808252806020026020018201604052801561347b5781602001602082028036833780820191505090505b5090503081600081518110613493576134926145ca565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561353a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061355e919061460e565b81600181518110613572576135716145ca565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506135d930601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612328565b601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161363d959493929190614734565b600060405180830381600087803b15801561365757600080fd5b505af115801561366b573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516136a092919061478e565b60405180910390a15050565b6000819050919050565b6136bf816136ac565b82525050565b60006020820190506136da60008301846136b6565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561371a5780820151818401526020810190506136ff565b83811115613729576000848401525b50505050565b6000601f19601f8301169050919050565b600061374b826136e0565b61375581856136eb565b93506137658185602086016136fc565b61376e8161372f565b840191505092915050565b600060208201905081810360008301526137938184613740565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006137e06137db6137d68461379b565b6137bb565b61379b565b9050919050565b60006137f2826137c5565b9050919050565b6000613804826137e7565b9050919050565b613814816137f9565b82525050565b600060208201905061382f600083018461380b565b92915050565b60006138408261379b565b9050919050565b61385081613835565b82525050565b600060208201905061386b6000830184613847565b92915050565b600080fd5b61387f81613835565b811461388a57600080fd5b50565b60008135905061389c81613876565b92915050565b6138ab816136ac565b81146138b657600080fd5b50565b6000813590506138c8816138a2565b92915050565b600080604083850312156138e5576138e4613871565b5b60006138f38582860161388d565b9250506020613904858286016138b9565b9150509250929050565b60008115159050919050565b6139238161390e565b82525050565b600060208201905061393e600083018461391a565b92915050565b60008060006060848603121561395d5761395c613871565b5b600061396b8682870161388d565b935050602061397c8682870161388d565b925050604061398d868287016138b9565b9150509250925092565b600060ff82169050919050565b6139ad81613997565b82525050565b60006020820190506139c860008301846139a4565b92915050565b6000602082840312156139e4576139e3613871565b5b60006139f28482850161388d565b91505092915050565b613a048161390e565b8114613a0f57600080fd5b50565b600081359050613a21816139fb565b92915050565b600060208284031215613a3d57613a3c613871565b5b6000613a4b84828501613a12565b91505092915050565b60008060408385031215613a6b57613a6a613871565b5b6000613a79858286016138b9565b9250506020613a8a858286016138b9565b9150509250929050565b600060208284031215613aaa57613aa9613871565b5b6000613ab8848285016138b9565b91505092915050565b60008060408385031215613ad857613ad7613871565b5b6000613ae68582860161388d565b9250506020613af785828601613a12565b9150509250929050565b60008060408385031215613b1857613b17613871565b5b6000613b2685828601613a12565b9250506020613b3785828601613a12565b9150509250929050565b60008060408385031215613b5857613b57613871565b5b6000613b668582860161388d565b9250506020613b778582860161388d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613bc857607f821691505b60208210811415613bdc57613bdb613b81565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c186020836136eb565b9150613c2382613be2565b602082019050919050565b60006020820190508181036000830152613c4781613c0b565b9050919050565b6000604082019050613c636000830185613847565b613c7060208301846136b6565b9392505050565b600081519050919050565b600081905092915050565b6000613c9882613c77565b613ca28185613c82565b9350613cb28185602086016136fc565b80840191505092915050565b6000613cca8284613c8d565b915081905092915050565b7f546f6b656e207061796d656e74206661696c6564000000000000000000000000600082015250565b6000613d0b6014836136eb565b9150613d1682613cd5565b602082019050919050565b60006020820190508181036000830152613d3a81613cfe565b9050919050565b50565b6000613d51600083613c82565b9150613d5c82613d41565b600082019050919050565b6000613d7282613d44565b9150819050919050565b7f5472616e73616374696f6e204661696c65642121000000000000000000000000600082015250565b6000613db26014836136eb565b9150613dbd82613d7c565b602082019050919050565b60006020820190508181036000830152613de181613da5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613e446026836136eb565b9150613e4f82613de8565b604082019050919050565b60006020820190508181036000830152613e7381613e37565b9050919050565b7f547261646520416c726561647920416374697665210000000000000000000000600082015250565b6000613eb06015836136eb565b9150613ebb82613e7a565b602082019050919050565b60006020820190508181036000830152613edf81613ea3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f20826136ac565b9150613f2b836136ac565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f6457613f63613ee6565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fa9826136ac565b9150613fb4836136ac565b925082613fc457613fc3613f6f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061402b6021836136eb565b915061403682613fcf565b604082019050919050565b6000602082019050818103600083015261405a8161401e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140bd6024836136eb565b91506140c882614061565b604082019050919050565b600060208201905081810360008301526140ec816140b0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061414f6022836136eb565b915061415a826140f3565b604082019050919050565b6000602082019050818103600083015261417e81614142565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006141e16025836136eb565b91506141ec82614185565b604082019050919050565b60006020820190508181036000830152614210816141d4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006142736023836136eb565b915061427e82614217565b604082019050919050565b600060208201905081810360008301526142a281614266565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006143056029836136eb565b9150614310826142a9565b604082019050919050565b60006020820190508181036000830152614334816142f8565b9050919050565b7f54726164696e67206973206e6f7420656e61626c652079657421000000000000600082015250565b6000614371601a836136eb565b915061437c8261433b565b602082019050919050565b600060208201905081810360008301526143a081614364565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b60006144036028836136eb565b915061440e826143a7565b604082019050919050565b60006020820190508181036000830152614432816143f6565b9050919050565b7f4d61782057616c6c6574204c696d697420457863656564656421210000000000600082015250565b600061446f601b836136eb565b915061447a82614439565b602082019050919050565b6000602082019050818103600083015261449e81614462565b9050919050565b60006144b0826136ac565b91506144bb836136ac565b9250828210156144ce576144cd613ee6565b5b828203905092915050565b60006144e4826136ac565b91506144ef836136ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561452457614523613ee6565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614565601b836136eb565b91506145708261452f565b602082019050919050565b6000602082019050818103600083015261459481614558565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061460881613876565b92915050565b60006020828403121561462457614623613871565b5b6000614632848285016145f9565b91505092915050565b6000819050919050565b600061466061465b6146568461463b565b6137bb565b6136ac565b9050919050565b61467081614645565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6146ab81613835565b82525050565b60006146bd83836146a2565b60208301905092915050565b6000602082019050919050565b60006146e182614676565b6146eb8185614681565b93506146f683614692565b8060005b8381101561472757815161470e88826146b1565b9750614719836146c9565b9250506001810190506146fa565b5085935050505092915050565b600060a08201905061474960008301886136b6565b6147566020830187614667565b818103604083015261476881866146d6565b90506147776060830185613847565b61478460808301846136b6565b9695505050505050565b60006040820190506147a360008301856136b6565b81810360208301526147b581846146d6565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220011aec8f4eeb992c3319c71d983fc83f35d81b75d2372f5848f534981db7375564736f6c634300080a0033

Deployed Bytecode Sourcemap

7077:12175:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8108:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10117:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8542:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7396:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11455:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10394:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7522:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12229:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7308:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10788:156;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7561:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10303:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10952:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7869:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17681:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17423:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7812:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19031:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18302:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8510:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8427:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17924:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8352:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10502:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1837:94;;;;;;;;;;;;;:::i;:::-;;18188:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8194:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8272:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7980:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1528:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18411:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10208:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11178:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12054:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18916:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18060:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18521:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7921:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17143:272;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18733:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10633:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17794:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16957:178;;;;;;;;;;;;;:::i;:::-;;8389:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17575:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7486:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8580:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1939:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19154:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8466:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15712:186;;;;;;;;;;;;;:::i;:::-;;8108:61;;;;:::o;10117:83::-;10154:13;10187:5;10180:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10117:83;:::o;8542:31::-;;;;;;;;;;;;;:::o;7396:81::-;;;:::o;11455:161::-;11530:4;11547:39;11556:12;:10;:12::i;:::-;11570:7;11579:6;11547:8;:39::i;:::-;11604:4;11597:11;;11455:161;;;;:::o;10394:100::-;10447:7;10474:12;;10467:19;;10394:100;:::o;7522:30::-;;;;:::o;12229:313::-;12327:4;12344:36;12354:6;12362:9;12373:6;12344:9;:36::i;:::-;;12391:121;12400:6;12408:12;:10;:12::i;:::-;12422:89;12460:6;12422:89;;;;;;;;;;;;;;;;;:11;:19;12434:6;12422:19;;;;;;;;;;;;;;;:33;12442:12;:10;:12::i;:::-;12422:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;12391:8;:121::i;:::-;12530:4;12523:11;;12229:313;;;;;:::o;7308:81::-;;;:::o;10788:156::-;10841:7;10868:68;10913:22;10923:11;10913:9;:22::i;:::-;10868:40;10885:22;10895:11;10885:9;:22::i;:::-;10868:12;;:16;;:40;;;;:::i;:::-;:44;;:68;;;;:::i;:::-;10861:75;;10788:156;:::o;7561:78::-;;;;;;;;;;;;;:::o;10303:83::-;10344:5;10369:9;;;;;;;;;;;10362:16;;10303:83;:::o;10952:218::-;11040:4;11057:83;11066:12;:10;:12::i;:::-;11080:7;11089:50;11128:10;11089:11;:25;11101:12;:10;:12::i;:::-;11089:25;;;;;;;;;;;;;;;:34;11115:7;11089:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;11057:8;:83::i;:::-;11158:4;11151:11;;10952:218;;;;:::o;7869:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;17681:105::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17771:7:::1;17752:16;;:26;;;;;;;;;;;;;;;;;;17681:105:::0;:::o;17423:144::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17517:8:::1;17504:10;:21;;;;17550:9;17536:11;:23;;;;17423:144:::0;;:::o;7812:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;19031:115::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19130:7:::1;19103:9;;:35;;;;;;;;;;;;;;;;;;19031:115:::0;:::o;18302:101::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18387:8:::1;18372:12;:23;;;;18302:101:::0;:::o;8510:23::-;;;;;;;;;;;;;:::o;8427:32::-;;;;;;;;;;;;;:::o;17924:128::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18037:7:::1;18009:19;:25;18029:4;18009:25;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;17924:128:::0;;:::o;8352:30::-;;;;;;;;;;;;;:::o;10502:123::-;10568:7;10594:9;:18;10604:7;10594:18;;;;;;;;;;;;;;;;10587:25;;10502:123;;;:::o;1837:94::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1902:21:::1;1920:1;1902:9;:21::i;:::-;1837:94::o:0;18188:106::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18278:8:::1;18265:10;:21;;;;18188:106:::0;:::o;8194:61::-;;;;:::o;8272:58::-;;;;:::o;7980:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;1528:87::-;1574:7;1601:6;;;;;;;;;;;1594:13;;1528:87;:::o;18411:102::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18495:10:::1;18483:9;;:22;;;;;;;;;;;;;;;;;;18411:102:::0;:::o;10208:87::-;10247:13;10280:7;10273:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10208:87;:::o;11178:269::-;11271:4;11288:129;11297:12;:10;:12::i;:::-;11311:7;11320:96;11359:15;11320:96;;;;;;;;;;;;;;;;;:11;:25;11332:12;:10;:12::i;:::-;11320:25;;;;;;;;;;;;;;;:34;11346:7;11320:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;11288:8;:129::i;:::-;11435:4;11428:11;;11178:269;;;;:::o;12054:167::-;12132:4;12149:42;12159:12;:10;:12::i;:::-;12173:9;12184:6;12149:9;:42::i;:::-;;12209:4;12202:11;;12054:167;;;;:::o;18916:107::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19005:10:::1;18989:13;:26;;;;18916:107:::0;:::o;18060:120::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18165:7:::1;18141:15;:21;18157:4;18141:21;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;18060:120:::0;;:::o;18521:204::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18625:7:::1;18603:12;:19;18616:5;18603:19;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;18646:7;18643:75;;;18699:7;18670:19;:26;18690:5;18670:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;18643:75;18521:204:::0;;:::o;7921:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;17143:272::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17243:12:::1;17269:6;17261:20;;17336:9;17347:7;17282:73;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17261:95;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17242:114;;;17375:7;17367:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;17231:184;17143:272:::0;;;:::o;18733:175::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18859:8:::1;18845:11;;:22;;;;;;;;;;;;;;;;;;18892:8;18878:11;;:22;;;;;;;;;;;;;;;;;;18733:175:::0;;:::o;10633:143::-;10714:7;10741:11;:18;10753:5;10741:18;;;;;;;;;;;;;;;:27;10760:7;10741:27;;;;;;;;;;;;;;;;10734:34;;10633:143;;;;:::o;17794:122::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17901:7:::1;17875:17;:23;17893:4;17875:23;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;17794:122:::0;;:::o;16957:178::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17012:7:::1;17032:10;17024:24;;17056:21;17024:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17011:71;;;17101:2;17093:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;16999:136;16957:178::o:0;8389:31::-;;;;;;;;;;;;;:::o;17575:98::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17658:7:::1;17642:13;;:23;;;;;;;;;;;;;;;;;;17575:98:::0;:::o;7486:29::-;;;;:::o;8580:22::-;;;;;;;;;;;;;:::o;1939:229::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2062:1:::1;2042:22;;:8;:22;;;;2020:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;2141:19;2151:8;2141:9;:19::i;:::-;1939:229:::0;:::o;19154:91::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19232:5:::1;19222:7;;:15;;;;;;;;;;;;;;;;;;19154:91:::0;:::o;8466:35::-;;;;;;;;;;;;;:::o;15712:186::-;1760:12;:10;:12::i;:::-;1749:23;;:7;:5;:7::i;:::-;:23;;;1741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15772:11:::1;;;;;;;;;;;15771:12;15763:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;15833:4;15819:11;;:18;;;;;;;;;;;;;;;;;;15861:2;15848:10;:15;;;;15888:2;15874:11;:16;;;;15712:186::o:0;2915:250::-;2973:7;3002:1;2997;:6;2993:47;;;3027:1;3020:8;;;;2993:47;3052:9;3068:1;3064;:5;;;;:::i;:::-;3052:17;;3097:1;3092;3088;:5;;;;:::i;:::-;:10;3080:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3156:1;3149:8;;;2915:250;;;;;:::o;3173:132::-;3231:7;3258:39;3262:1;3265;3258:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3251:46;;3173:132;;;;:::o;95:98::-;148:7;175:10;168:17;;95:98;:::o;11624:337::-;11734:1;11717:19;;:5;:19;;;;11709:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11815:1;11796:21;;:7;:21;;;;11788:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11899:6;11869:11;:18;11881:5;11869:18;;;;;;;;;;;;;;;:27;11888:7;11869:27;;;;;;;;;;;;;;;:36;;;;11937:7;11921:32;;11930:5;11921:32;;;11946:6;11921:32;;;;;;:::i;:::-;;;;;;;;11624:337;;;:::o;12550:1729::-;12637:4;12682:1;12664:20;;:6;:20;;;;12656:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12766:1;12745:23;;:9;:23;;;;12737:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12836:1;12827:6;:10;12819:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12900:11;;;;;;;;;;;12896:139;;12936:17;:25;12954:6;12936:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;12965:17;:28;12983:9;12965:28;;;;;;;;;;;;;;;;;;;;;;;;;12936:57;12928:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;12896:139;13055:6;;;;;;;;;;;13051:1219;;;13085:41;13100:6;13108:9;13119:6;13085:14;:41::i;:::-;13078:48;;;;13051:1219;13170:28;13201:24;13219:4;13201:9;:24::i;:::-;13170:55;;13240:28;13295:13;;13271:20;:37;;13240:68;;13329:23;:34;;;;;13357:6;;;;;;;;;;;13356:7;13329:34;:59;;;;;13368:12;:20;13381:6;13368:20;;;;;;;;;;;;;;;;;;;;;;;;;13367:21;13329:59;:74;;;;;13392:11;;;;;;;;;;;13329:74;13325:145;;;13424:30;13433:20;13424:8;:30::i;:::-;13325:145;13490:15;:23;13506:6;13490:23;;;;;;;;;;;;;;;;;;;;;;;;;13489:24;:55;;;;;13518:15;:26;13534:9;13518:26;;;;;;;;;;;;;;;;;;;;;;;;;13517:27;13489:55;:72;;;;;13548:13;;;;;;;;;;;13489:72;13486:187;;;13600:12;;13590:6;:22;;13582:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;13486:187;13722:53;13744:6;13722:53;;;;;;;;;;;;;;;;;:9;:17;13732:6;13722:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;13702:9;:17;13712:6;13702:17;;;;;;;;;;;;;;;:73;;;;13792:19;13814:34;13831:6;13838:9;13814:16;:34::i;:::-;:80;;13860:34;13868:6;13876:9;13887:6;13860:7;:34::i;:::-;13814:80;;;13851:6;13814:80;13792:102;;13914:16;;;;;;;;;;;:51;;;;;13935:19;:30;13955:9;13935:30;;;;;;;;;;;;;;;;;;;;;;;;;13934:31;13914:51;13911:181;;;14035:10;;13994:37;14019:11;13994:20;14004:9;13994;:20::i;:::-;:24;;:37;;;;:::i;:::-;:51;;13986:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;13911:181;14131:37;14156:11;14131:9;:20;14141:9;14131:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;14108:9;:20;14118:9;14108:20;;;;;;;;;;;;;;;:60;;;;14207:9;14190:40;;14199:6;14190:40;;;14218:11;14190:40;;;;;;:::i;:::-;;;;;;;;14252:4;14245:11;;;;;12550:1729;;;;;;:::o;2715:192::-;2801:7;2834:1;2829;:6;;2837:12;2821:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2861:9;2877:1;2873;:5;;;;:::i;:::-;2861:17;;2898:1;2891:8;;;2715:192;;;;;:::o;2571:136::-;2629:7;2656:43;2660:1;2663;2656:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2649:50;;2571:136;;;;:::o;2382:181::-;2440:7;2460:9;2476:1;2472;:5;;;;:::i;:::-;2460:17;;2501:1;2496;:6;;2488:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2554:1;2547:8;;;2382:181;;;;:::o;2176:173::-;2232:16;2251:6;;;;;;;;;;;2232:25;;2277:8;2268:6;;:17;;;;;;;;;;;;;;;;;;2332:8;2301:40;;2322:8;2301:40;;;;;;;;;;;;2221:128;2176:173;:::o;3313:278::-;3399:7;3431:1;3427;:5;3434:12;3419:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3458:9;3474:1;3470;:5;;;;:::i;:::-;3458:17;;3582:1;3575:8;;;3313:278;;;;;:::o;14287:330::-;14380:4;14417:53;14439:6;14417:53;;;;;;;;;;;;;;;;;:9;:17;14427:6;14417:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;14397:9;:17;14407:6;14397:17;;;;;;;;;;;;;;;:73;;;;14504:32;14529:6;14504:9;:20;14514:9;14504:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;14481:9;:20;14491:9;14481:20;;;;;;;;;;;;;;;:55;;;;14569:9;14552:35;;14561:6;14552:35;;;14580:6;14552:35;;;;;;:::i;:::-;;;;;;;;14605:4;14598:11;;14287:330;;;;;:::o;15906:387::-;8671:4;8662:6;;:13;;;;;;;;;;;;;;;;;;15980:11:::1;;;;;;;;;;;15977:47;;;16011:13;;15993:31;;15977:47;16037:22;16062:21;16037:46;;16094:33;16111:15;16094:16;:33::i;:::-;16138:22;16163:41;16189:14;16163:21;:25;;:41;;;;:::i;:::-;16138:66;;16237:1;16220:14;:18;16217:66;;;16248:9;;;;;;;;;;;16240:27;;:43;16268:14;16240:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;16217:66;15964:329;;8707:5:::0;8698:6;;:14;;;;;;;;;;;;;;;;;;15906:387;:::o;14629:369::-;14713:4;14733:17;:25;14751:6;14733:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;14762:17;:28;14780:9;14762:28;;;;;;;;;;;;;;;;;;;;;;;;;14733:57;14730:261;;;14814:4;14807:11;;;;14730:261;14849:12;:20;14862:6;14849:20;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;;14873:12;:23;14886:9;14873:23;;;;;;;;;;;;;;;;;;;;;;;;;14849:47;14845:146;;;14920:5;14913:12;;;;14845:146;14974:5;14967:12;;14629:369;;;;;:::o;15006:698::-;15092:7;15122:14;15179:12;:20;15192:6;15179:20;;;;;;;;;;;;;;;;;;;;;;;;;15176:254;;;15233:42;15260:14;;15233:22;15244:10;;15233:6;:10;;:22;;;;:::i;:::-;:26;;:42;;;;:::i;:::-;15221:54;;15176:254;;;15314:12;:23;15327:9;15314:23;;;;;;;;;;;;;;;;;;;;;;;;;15311:119;;;15371:43;15399:14;;15371:23;15382:11;;15371:6;:10;;:23;;;;:::i;:::-;:27;;:43;;;;:::i;:::-;15359:55;;15311:119;15176:254;15461:1;15449:9;:13;15446:185;;;15510:39;15539:9;15510;:24;15528:4;15510:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;15483:9;:24;15501:4;15483:24;;;;;;;;;;;;;;;:66;;;;15598:4;15573:42;;15582:6;15573:42;;;15605:9;15573:42;;;;;;:::i;:::-;;;;;;;;15446:185;15654:21;15665:9;15654:6;:10;;:21;;;;:::i;:::-;15647:28;;;15006:698;;;;;:::o;16301:648::-;16427:21;16465:1;16451:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16427:40;;16496:4;16478;16483:1;16478:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16522:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16512:4;16517:1;16512:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;;;16551:56;16568:4;16583:9;;;;;;;;;;;16595:11;16551:8;:56::i;:::-;16646:9;;;;;;;;;;;:60;;;16721:11;16747:1;16791:4;16818;16854:15;16646:234;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16906:35;16923:11;16936:4;16906:35;;;;;;;:::i;:::-;;;;;;;;16356:593;16301:648;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1832:126::-;1869:7;1909:42;1902:5;1898:54;1887:65;;1832:126;;;:::o;1964:60::-;1992:3;2013:5;2006:12;;1964:60;;;:::o;2030:142::-;2080:9;2113:53;2131:34;2140:24;2158:5;2140:24;:::i;:::-;2131:34;:::i;:::-;2113:53;:::i;:::-;2100:66;;2030:142;;;:::o;2178:126::-;2228:9;2261:37;2292:5;2261:37;:::i;:::-;2248:50;;2178:126;;;:::o;2310:148::-;2382:9;2415:37;2446:5;2415:37;:::i;:::-;2402:50;;2310:148;;;:::o;2464:175::-;2573:59;2626:5;2573:59;:::i;:::-;2568:3;2561:72;2464:175;;:::o;2645:266::-;2760:4;2798:2;2787:9;2783:18;2775:26;;2811:93;2901:1;2890:9;2886:17;2877:6;2811:93;:::i;:::-;2645:266;;;;:::o;2917:96::-;2954:7;2983:24;3001:5;2983:24;:::i;:::-;2972:35;;2917:96;;;:::o;3019:118::-;3106:24;3124:5;3106:24;:::i;:::-;3101:3;3094:37;3019:118;;:::o;3143:222::-;3236:4;3274:2;3263:9;3259:18;3251:26;;3287:71;3355:1;3344:9;3340:17;3331:6;3287:71;:::i;:::-;3143:222;;;;:::o;3452:117::-;3561:1;3558;3551:12;3698:122;3771:24;3789:5;3771:24;:::i;:::-;3764:5;3761:35;3751:63;;3810:1;3807;3800:12;3751:63;3698:122;:::o;3826:139::-;3872:5;3910:6;3897:20;3888:29;;3926:33;3953:5;3926:33;:::i;:::-;3826:139;;;;:::o;3971:122::-;4044:24;4062:5;4044:24;:::i;:::-;4037:5;4034:35;4024:63;;4083:1;4080;4073:12;4024:63;3971:122;:::o;4099:139::-;4145:5;4183:6;4170:20;4161:29;;4199:33;4226:5;4199:33;:::i;:::-;4099:139;;;;:::o;4244:474::-;4312:6;4320;4369:2;4357:9;4348:7;4344:23;4340:32;4337:119;;;4375:79;;:::i;:::-;4337:119;4495:1;4520:53;4565:7;4556:6;4545:9;4541:22;4520:53;:::i;:::-;4510:63;;4466:117;4622:2;4648:53;4693:7;4684:6;4673:9;4669:22;4648:53;:::i;:::-;4638:63;;4593:118;4244:474;;;;;:::o;4724:90::-;4758:7;4801:5;4794:13;4787:21;4776:32;;4724:90;;;:::o;4820:109::-;4901:21;4916:5;4901:21;:::i;:::-;4896:3;4889:34;4820:109;;:::o;4935:210::-;5022:4;5060:2;5049:9;5045:18;5037:26;;5073:65;5135:1;5124:9;5120:17;5111:6;5073:65;:::i;:::-;4935:210;;;;:::o;5151:619::-;5228:6;5236;5244;5293:2;5281:9;5272:7;5268:23;5264:32;5261:119;;;5299:79;;:::i;:::-;5261:119;5419:1;5444:53;5489:7;5480:6;5469:9;5465:22;5444:53;:::i;:::-;5434:63;;5390:117;5546:2;5572:53;5617:7;5608:6;5597:9;5593:22;5572:53;:::i;:::-;5562:63;;5517:118;5674:2;5700:53;5745:7;5736:6;5725:9;5721:22;5700:53;:::i;:::-;5690:63;;5645:118;5151:619;;;;;:::o;5776:86::-;5811:7;5851:4;5844:5;5840:16;5829:27;;5776:86;;;:::o;5868:112::-;5951:22;5967:5;5951:22;:::i;:::-;5946:3;5939:35;5868:112;;:::o;5986:214::-;6075:4;6113:2;6102:9;6098:18;6090:26;;6126:67;6190:1;6179:9;6175:17;6166:6;6126:67;:::i;:::-;5986:214;;;;:::o;6206:329::-;6265:6;6314:2;6302:9;6293:7;6289:23;6285:32;6282:119;;;6320:79;;:::i;:::-;6282:119;6440:1;6465:53;6510:7;6501:6;6490:9;6486:22;6465:53;:::i;:::-;6455:63;;6411:117;6206:329;;;;:::o;6541:116::-;6611:21;6626:5;6611:21;:::i;:::-;6604:5;6601:32;6591:60;;6647:1;6644;6637:12;6591:60;6541:116;:::o;6663:133::-;6706:5;6744:6;6731:20;6722:29;;6760:30;6784:5;6760:30;:::i;:::-;6663:133;;;;:::o;6802:323::-;6858:6;6907:2;6895:9;6886:7;6882:23;6878:32;6875:119;;;6913:79;;:::i;:::-;6875:119;7033:1;7058:50;7100:7;7091:6;7080:9;7076:22;7058:50;:::i;:::-;7048:60;;7004:114;6802:323;;;;:::o;7131:474::-;7199:6;7207;7256:2;7244:9;7235:7;7231:23;7227:32;7224:119;;;7262:79;;:::i;:::-;7224:119;7382:1;7407:53;7452:7;7443:6;7432:9;7428:22;7407:53;:::i;:::-;7397:63;;7353:117;7509:2;7535:53;7580:7;7571:6;7560:9;7556:22;7535:53;:::i;:::-;7525:63;;7480:118;7131:474;;;;;:::o;7611:329::-;7670:6;7719:2;7707:9;7698:7;7694:23;7690:32;7687:119;;;7725:79;;:::i;:::-;7687:119;7845:1;7870:53;7915:7;7906:6;7895:9;7891:22;7870:53;:::i;:::-;7860:63;;7816:117;7611:329;;;;:::o;7946:468::-;8011:6;8019;8068:2;8056:9;8047:7;8043:23;8039:32;8036:119;;;8074:79;;:::i;:::-;8036:119;8194:1;8219:53;8264:7;8255:6;8244:9;8240:22;8219:53;:::i;:::-;8209:63;;8165:117;8321:2;8347:50;8389:7;8380:6;8369:9;8365:22;8347:50;:::i;:::-;8337:60;;8292:115;7946:468;;;;;:::o;8420:462::-;8482:6;8490;8539:2;8527:9;8518:7;8514:23;8510:32;8507:119;;;8545:79;;:::i;:::-;8507:119;8665:1;8690:50;8732:7;8723:6;8712:9;8708:22;8690:50;:::i;:::-;8680:60;;8636:114;8789:2;8815:50;8857:7;8848:6;8837:9;8833:22;8815:50;:::i;:::-;8805:60;;8760:115;8420:462;;;;;:::o;8888:474::-;8956:6;8964;9013:2;9001:9;8992:7;8988:23;8984:32;8981:119;;;9019:79;;:::i;:::-;8981:119;9139:1;9164:53;9209:7;9200:6;9189:9;9185:22;9164:53;:::i;:::-;9154:63;;9110:117;9266:2;9292:53;9337:7;9328:6;9317:9;9313:22;9292:53;:::i;:::-;9282:63;;9237:118;8888:474;;;;;:::o;9368:180::-;9416:77;9413:1;9406:88;9513:4;9510:1;9503:15;9537:4;9534:1;9527:15;9554:320;9598:6;9635:1;9629:4;9625:12;9615:22;;9682:1;9676:4;9672:12;9703:18;9693:81;;9759:4;9751:6;9747:17;9737:27;;9693:81;9821:2;9813:6;9810:14;9790:18;9787:38;9784:84;;;9840:18;;:::i;:::-;9784:84;9605:269;9554:320;;;:::o;9880:182::-;10020:34;10016:1;10008:6;10004:14;9997:58;9880:182;:::o;10068:366::-;10210:3;10231:67;10295:2;10290:3;10231:67;:::i;:::-;10224:74;;10307:93;10396:3;10307:93;:::i;:::-;10425:2;10420:3;10416:12;10409:19;;10068:366;;;:::o;10440:419::-;10606:4;10644:2;10633:9;10629:18;10621:26;;10693:9;10687:4;10683:20;10679:1;10668:9;10664:17;10657:47;10721:131;10847:4;10721:131;:::i;:::-;10713:139;;10440:419;;;:::o;10865:332::-;10986:4;11024:2;11013:9;11009:18;11001:26;;11037:71;11105:1;11094:9;11090:17;11081:6;11037:71;:::i;:::-;11118:72;11186:2;11175:9;11171:18;11162:6;11118:72;:::i;:::-;10865:332;;;;;:::o;11203:98::-;11254:6;11288:5;11282:12;11272:22;;11203:98;;;:::o;11307:147::-;11408:11;11445:3;11430:18;;11307:147;;;;:::o;11460:373::-;11564:3;11592:38;11624:5;11592:38;:::i;:::-;11646:88;11727:6;11722:3;11646:88;:::i;:::-;11639:95;;11743:52;11788:6;11783:3;11776:4;11769:5;11765:16;11743:52;:::i;:::-;11820:6;11815:3;11811:16;11804:23;;11568:265;11460:373;;;;:::o;11839:271::-;11969:3;11991:93;12080:3;12071:6;11991:93;:::i;:::-;11984:100;;12101:3;12094:10;;11839:271;;;;:::o;12116:170::-;12256:22;12252:1;12244:6;12240:14;12233:46;12116:170;:::o;12292:366::-;12434:3;12455:67;12519:2;12514:3;12455:67;:::i;:::-;12448:74;;12531:93;12620:3;12531:93;:::i;:::-;12649:2;12644:3;12640:12;12633:19;;12292:366;;;:::o;12664:419::-;12830:4;12868:2;12857:9;12853:18;12845:26;;12917:9;12911:4;12907:20;12903:1;12892:9;12888:17;12881:47;12945:131;13071:4;12945:131;:::i;:::-;12937:139;;12664:419;;;:::o;13089:114::-;;:::o;13209:398::-;13368:3;13389:83;13470:1;13465:3;13389:83;:::i;:::-;13382:90;;13481:93;13570:3;13481:93;:::i;:::-;13599:1;13594:3;13590:11;13583:18;;13209:398;;;:::o;13613:379::-;13797:3;13819:147;13962:3;13819:147;:::i;:::-;13812:154;;13983:3;13976:10;;13613:379;;;:::o;13998:170::-;14138:22;14134:1;14126:6;14122:14;14115:46;13998:170;:::o;14174:366::-;14316:3;14337:67;14401:2;14396:3;14337:67;:::i;:::-;14330:74;;14413:93;14502:3;14413:93;:::i;:::-;14531:2;14526:3;14522:12;14515:19;;14174:366;;;:::o;14546:419::-;14712:4;14750:2;14739:9;14735:18;14727:26;;14799:9;14793:4;14789:20;14785:1;14774:9;14770:17;14763:47;14827:131;14953:4;14827:131;:::i;:::-;14819:139;;14546:419;;;:::o;14971:225::-;15111:34;15107:1;15099:6;15095:14;15088:58;15180:8;15175:2;15167:6;15163:15;15156:33;14971:225;:::o;15202:366::-;15344:3;15365:67;15429:2;15424:3;15365:67;:::i;:::-;15358:74;;15441:93;15530:3;15441:93;:::i;:::-;15559:2;15554:3;15550:12;15543:19;;15202:366;;;:::o;15574:419::-;15740:4;15778:2;15767:9;15763:18;15755:26;;15827:9;15821:4;15817:20;15813:1;15802:9;15798:17;15791:47;15855:131;15981:4;15855:131;:::i;:::-;15847:139;;15574:419;;;:::o;15999:171::-;16139:23;16135:1;16127:6;16123:14;16116:47;15999:171;:::o;16176:366::-;16318:3;16339:67;16403:2;16398:3;16339:67;:::i;:::-;16332:74;;16415:93;16504:3;16415:93;:::i;:::-;16533:2;16528:3;16524:12;16517:19;;16176:366;;;:::o;16548:419::-;16714:4;16752:2;16741:9;16737:18;16729:26;;16801:9;16795:4;16791:20;16787:1;16776:9;16772:17;16765:47;16829:131;16955:4;16829:131;:::i;:::-;16821:139;;16548:419;;;:::o;16973:180::-;17021:77;17018:1;17011:88;17118:4;17115:1;17108:15;17142:4;17139:1;17132:15;17159:348;17199:7;17222:20;17240:1;17222:20;:::i;:::-;17217:25;;17256:20;17274:1;17256:20;:::i;:::-;17251:25;;17444:1;17376:66;17372:74;17369:1;17366:81;17361:1;17354:9;17347:17;17343:105;17340:131;;;17451:18;;:::i;:::-;17340:131;17499:1;17496;17492:9;17481:20;;17159:348;;;;:::o;17513:180::-;17561:77;17558:1;17551:88;17658:4;17655:1;17648:15;17682:4;17679:1;17672:15;17699:185;17739:1;17756:20;17774:1;17756:20;:::i;:::-;17751:25;;17790:20;17808:1;17790:20;:::i;:::-;17785:25;;17829:1;17819:35;;17834:18;;:::i;:::-;17819:35;17876:1;17873;17869:9;17864:14;;17699:185;;;;:::o;17890:220::-;18030:34;18026:1;18018:6;18014:14;18007:58;18099:3;18094:2;18086:6;18082:15;18075:28;17890:220;:::o;18116:366::-;18258:3;18279:67;18343:2;18338:3;18279:67;:::i;:::-;18272:74;;18355:93;18444:3;18355:93;:::i;:::-;18473:2;18468:3;18464:12;18457:19;;18116:366;;;:::o;18488:419::-;18654:4;18692:2;18681:9;18677:18;18669:26;;18741:9;18735:4;18731:20;18727:1;18716:9;18712:17;18705:47;18769:131;18895:4;18769:131;:::i;:::-;18761:139;;18488:419;;;:::o;18913:223::-;19053:34;19049:1;19041:6;19037:14;19030:58;19122:6;19117:2;19109:6;19105:15;19098:31;18913:223;:::o;19142:366::-;19284:3;19305:67;19369:2;19364:3;19305:67;:::i;:::-;19298:74;;19381:93;19470:3;19381:93;:::i;:::-;19499:2;19494:3;19490:12;19483:19;;19142:366;;;:::o;19514:419::-;19680:4;19718:2;19707:9;19703:18;19695:26;;19767:9;19761:4;19757:20;19753:1;19742:9;19738:17;19731:47;19795:131;19921:4;19795:131;:::i;:::-;19787:139;;19514:419;;;:::o;19939:221::-;20079:34;20075:1;20067:6;20063:14;20056:58;20148:4;20143:2;20135:6;20131:15;20124:29;19939:221;:::o;20166:366::-;20308:3;20329:67;20393:2;20388:3;20329:67;:::i;:::-;20322:74;;20405:93;20494:3;20405:93;:::i;:::-;20523:2;20518:3;20514:12;20507:19;;20166:366;;;:::o;20538:419::-;20704:4;20742:2;20731:9;20727:18;20719:26;;20791:9;20785:4;20781:20;20777:1;20766:9;20762:17;20755:47;20819:131;20945:4;20819:131;:::i;:::-;20811:139;;20538:419;;;:::o;20963:224::-;21103:34;21099:1;21091:6;21087:14;21080:58;21172:7;21167:2;21159:6;21155:15;21148:32;20963:224;:::o;21193:366::-;21335:3;21356:67;21420:2;21415:3;21356:67;:::i;:::-;21349:74;;21432:93;21521:3;21432:93;:::i;:::-;21550:2;21545:3;21541:12;21534:19;;21193:366;;;:::o;21565:419::-;21731:4;21769:2;21758:9;21754:18;21746:26;;21818:9;21812:4;21808:20;21804:1;21793:9;21789:17;21782:47;21846:131;21972:4;21846:131;:::i;:::-;21838:139;;21565:419;;;:::o;21990:222::-;22130:34;22126:1;22118:6;22114:14;22107:58;22199:5;22194:2;22186:6;22182:15;22175:30;21990:222;:::o;22218:366::-;22360:3;22381:67;22445:2;22440:3;22381:67;:::i;:::-;22374:74;;22457:93;22546:3;22457:93;:::i;:::-;22575:2;22570:3;22566:12;22559:19;;22218:366;;;:::o;22590:419::-;22756:4;22794:2;22783:9;22779:18;22771:26;;22843:9;22837:4;22833:20;22829:1;22818:9;22814:17;22807:47;22871:131;22997:4;22871:131;:::i;:::-;22863:139;;22590:419;;;:::o;23015:228::-;23155:34;23151:1;23143:6;23139:14;23132:58;23224:11;23219:2;23211:6;23207:15;23200:36;23015:228;:::o;23249:366::-;23391:3;23412:67;23476:2;23471:3;23412:67;:::i;:::-;23405:74;;23488:93;23577:3;23488:93;:::i;:::-;23606:2;23601:3;23597:12;23590:19;;23249:366;;;:::o;23621:419::-;23787:4;23825:2;23814:9;23810:18;23802:26;;23874:9;23868:4;23864:20;23860:1;23849:9;23845:17;23838:47;23902:131;24028:4;23902:131;:::i;:::-;23894:139;;23621:419;;;:::o;24046:176::-;24186:28;24182:1;24174:6;24170:14;24163:52;24046:176;:::o;24228:366::-;24370:3;24391:67;24455:2;24450:3;24391:67;:::i;:::-;24384:74;;24467:93;24556:3;24467:93;:::i;:::-;24585:2;24580:3;24576:12;24569:19;;24228:366;;;:::o;24600:419::-;24766:4;24804:2;24793:9;24789:18;24781:26;;24853:9;24847:4;24843:20;24839:1;24828:9;24824:17;24817:47;24881:131;25007:4;24881:131;:::i;:::-;24873:139;;24600:419;;;:::o;25025:227::-;25165:34;25161:1;25153:6;25149:14;25142:58;25234:10;25229:2;25221:6;25217:15;25210:35;25025:227;:::o;25258:366::-;25400:3;25421:67;25485:2;25480:3;25421:67;:::i;:::-;25414:74;;25497:93;25586:3;25497:93;:::i;:::-;25615:2;25610:3;25606:12;25599:19;;25258:366;;;:::o;25630:419::-;25796:4;25834:2;25823:9;25819:18;25811:26;;25883:9;25877:4;25873:20;25869:1;25858:9;25854:17;25847:47;25911:131;26037:4;25911:131;:::i;:::-;25903:139;;25630:419;;;:::o;26055:177::-;26195:29;26191:1;26183:6;26179:14;26172:53;26055:177;:::o;26238:366::-;26380:3;26401:67;26465:2;26460:3;26401:67;:::i;:::-;26394:74;;26477:93;26566:3;26477:93;:::i;:::-;26595:2;26590:3;26586:12;26579:19;;26238:366;;;:::o;26610:419::-;26776:4;26814:2;26803:9;26799:18;26791:26;;26863:9;26857:4;26853:20;26849:1;26838:9;26834:17;26827:47;26891:131;27017:4;26891:131;:::i;:::-;26883:139;;26610:419;;;:::o;27035:191::-;27075:4;27095:20;27113:1;27095:20;:::i;:::-;27090:25;;27129:20;27147:1;27129:20;:::i;:::-;27124:25;;27168:1;27165;27162:8;27159:34;;;27173:18;;:::i;:::-;27159:34;27218:1;27215;27211:9;27203:17;;27035:191;;;;:::o;27232:305::-;27272:3;27291:20;27309:1;27291:20;:::i;:::-;27286:25;;27325:20;27343:1;27325:20;:::i;:::-;27320:25;;27479:1;27411:66;27407:74;27404:1;27401:81;27398:107;;;27485:18;;:::i;:::-;27398:107;27529:1;27526;27522:9;27515:16;;27232:305;;;;:::o;27543:177::-;27683:29;27679:1;27671:6;27667:14;27660:53;27543:177;:::o;27726:366::-;27868:3;27889:67;27953:2;27948:3;27889:67;:::i;:::-;27882:74;;27965:93;28054:3;27965:93;:::i;:::-;28083:2;28078:3;28074:12;28067:19;;27726:366;;;:::o;28098:419::-;28264:4;28302:2;28291:9;28287:18;28279:26;;28351:9;28345:4;28341:20;28337:1;28326:9;28322:17;28315:47;28379:131;28505:4;28379:131;:::i;:::-;28371:139;;28098:419;;;:::o;28523:180::-;28571:77;28568:1;28561:88;28668:4;28665:1;28658:15;28692:4;28689:1;28682:15;28709:180;28757:77;28754:1;28747:88;28854:4;28851:1;28844:15;28878:4;28875:1;28868:15;28895:143;28952:5;28983:6;28977:13;28968:22;;28999:33;29026:5;28999:33;:::i;:::-;28895:143;;;;:::o;29044:351::-;29114:6;29163:2;29151:9;29142:7;29138:23;29134:32;29131:119;;;29169:79;;:::i;:::-;29131:119;29289:1;29314:64;29370:7;29361:6;29350:9;29346:22;29314:64;:::i;:::-;29304:74;;29260:128;29044:351;;;;:::o;29401:85::-;29446:7;29475:5;29464:16;;29401:85;;;:::o;29492:158::-;29550:9;29583:61;29601:42;29610:32;29636:5;29610:32;:::i;:::-;29601:42;:::i;:::-;29583:61;:::i;:::-;29570:74;;29492:158;;;:::o;29656:147::-;29751:45;29790:5;29751:45;:::i;:::-;29746:3;29739:58;29656:147;;:::o;29809:114::-;29876:6;29910:5;29904:12;29894:22;;29809:114;;;:::o;29929:184::-;30028:11;30062:6;30057:3;30050:19;30102:4;30097:3;30093:14;30078:29;;29929:184;;;;:::o;30119:132::-;30186:4;30209:3;30201:11;;30239:4;30234:3;30230:14;30222:22;;30119:132;;;:::o;30257:108::-;30334:24;30352:5;30334:24;:::i;:::-;30329:3;30322:37;30257:108;;:::o;30371:179::-;30440:10;30461:46;30503:3;30495:6;30461:46;:::i;:::-;30539:4;30534:3;30530:14;30516:28;;30371:179;;;;:::o;30556:113::-;30626:4;30658;30653:3;30649:14;30641:22;;30556:113;;;:::o;30705:732::-;30824:3;30853:54;30901:5;30853:54;:::i;:::-;30923:86;31002:6;30997:3;30923:86;:::i;:::-;30916:93;;31033:56;31083:5;31033:56;:::i;:::-;31112:7;31143:1;31128:284;31153:6;31150:1;31147:13;31128:284;;;31229:6;31223:13;31256:63;31315:3;31300:13;31256:63;:::i;:::-;31249:70;;31342:60;31395:6;31342:60;:::i;:::-;31332:70;;31188:224;31175:1;31172;31168:9;31163:14;;31128:284;;;31132:14;31428:3;31421:10;;30829:608;;;30705:732;;;;:::o;31443:831::-;31706:4;31744:3;31733:9;31729:19;31721:27;;31758:71;31826:1;31815:9;31811:17;31802:6;31758:71;:::i;:::-;31839:80;31915:2;31904:9;31900:18;31891:6;31839:80;:::i;:::-;31966:9;31960:4;31956:20;31951:2;31940:9;31936:18;31929:48;31994:108;32097:4;32088:6;31994:108;:::i;:::-;31986:116;;32112:72;32180:2;32169:9;32165:18;32156:6;32112:72;:::i;:::-;32194:73;32262:3;32251:9;32247:19;32238:6;32194:73;:::i;:::-;31443:831;;;;;;;;:::o;32280:483::-;32451:4;32489:2;32478:9;32474:18;32466:26;;32502:71;32570:1;32559:9;32555:17;32546:6;32502:71;:::i;:::-;32620:9;32614:4;32610:20;32605:2;32594:9;32590:18;32583:48;32648:108;32751:4;32742:6;32648:108;:::i;:::-;32640:116;;32280:483;;;;;:::o

Swarm Source

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