Token BUBCAT

 

Overview [ERC-20]

Price
$0.00 @ 0.000000 Eth
Fully Diluted Market Cap
Max Total Supply:
1,000,000,000 BUB

Holders:
2,763

Transfers:
-

Contract:
0x45096bd2871911ee82a3084d77a01efa3c9c67330x45096BD2871911eE82A3084D77a01eFA3c9c6733

Decimals:
18

Social Profiles:
Not Available, Update ?

Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BUBCAT

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at basescan.org on 2024-04-02
*/

/*
Website: https://bubcat.xyz/

Telegram: https://t.me/BUBCAT

Twitter: https://twitter.com/BUBCATBASE
*/

 


// SPDX-License-Identifier: MIT

pragma solidity ^0.8.22;

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

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

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

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

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

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

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

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

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

    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

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

    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(
            currentAllowance >= subtractedValue,
            "ERC20: decreased allowance below zero"
        );
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 senderBalance = _balances[sender];
        require(
            senderBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _generateSupply(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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);
    }
}

contract Ownable is Context {
    address private _owner;

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

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() external virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

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

    function WETH() external pure returns (address);

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

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

}

interface UniswapV2Factory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

contract BUBCAT is ERC20, Ownable {
    UniswapV2Router public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;

    uint256 public maxWallet;
    uint256 public maxTxnAmount;

    bool private swapping;
    uint256 public swapTokensAtAmount;
    uint256 public swapLimit;

    address devWallet;
    address private marketingWallet;

    bool public limitsInEffect = true;
    bool public tradingLive = false;
    bool public swapEnabled = false;

    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;

    uint256 public buyFee;
    uint256 public sellFee;

    uint256 public taxedTokens;

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public _isExcludedMaxTransactionAmount;
    mapping(address => bool) public automatedMarketMakerPairs;

    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    event EnabledTrading();

    event RemovedLimits();

    event ExcludeFromFees(address indexed account, bool isExcluded);

    event UpdatedTxnAmount(uint256 newAmount);

    event UpdatedMaxWalletAmount(uint256 newAmount);

    event MaxTransactionExclusion(address _address, bool excluded);

    event OwnerManualCollection(uint256 timestamp);


    constructor(
        string memory _tokenName,
        string memory _tokenSymbol,
        uint256 _totalSupply,
        uint _maxTx,
        uint _maxWallet,
        uint _buyTax,
        uint _sellTax,
        address _teamWallet,
        address _marketingWallet
    ) ERC20(_tokenName, _tokenSymbol) {
        UniswapV2Router _uniswapV2Router = UniswapV2Router(
            0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24 
        );

        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;

        uniswapV2Pair = UniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            _uniswapV2Router.WETH()
        );
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        buyFee = _buyTax;
        sellFee = _sellTax;

        uint256 totalSupply = _totalSupply * 10 ** 18;

        maxWallet = (totalSupply * _maxWallet) / 100;
        maxTxnAmount = (totalSupply * _maxTx) / 100;
        swapTokensAtAmount = (totalSupply * 5) / 1000;
        swapLimit = 6;

        marketingWallet = payable(_marketingWallet);
        devWallet = _teamWallet;

        excludeFromFees(owner(), true);
        excludeFromFees(devWallet, true);
        excludeFromFees(marketingWallet, true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);

        excludeFromMaxTransaction(owner(), true);
        excludeFromMaxTransaction(devWallet, true);
        excludeFromMaxTransaction(marketingWallet, true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(0xdead), true);

        _generateSupply(devWallet, totalSupply);
        transferOwnership(devWallet);
    }

    receive() external payable {}

    // ENABLE TRADING
    function enableTrading() external onlyOwner {
        require(!tradingLive, "Trading already live!");
        tradingLive = true;
        swapEnabled = true;
        emit EnabledTrading();
    }

    // REMOVE TXN LIMITS
    function removeLimits() external onlyOwner {
        limitsInEffect = false;
        transferDelayEnabled = false;
        swapTokensAtAmount = (totalSupply() * 2) / 100;
        swapLimit = 20;
        emit RemovedLimits();
    }

    function updateTxnAmount(uint256 newNum) external onlyOwner {
        require(
            newNum >= ((totalSupply() * 2) / 1000) / 1e18,
            "Cannot set max txn amount lower than 0.2%"
        );
        maxTxnAmount = newNum * (10 ** 18);
        emit UpdatedTxnAmount(maxTxnAmount);
    }

    function updateMaxWalletAmount(uint256 newNum) external onlyOwner {
        require(
            newNum >= ((totalSupply() * 3) / 1000) / 1e18,
            "Cannot set max wallet amount lower than 0.3%"
        );
        maxWallet = newNum * (10 ** 18);
        emit UpdatedMaxWalletAmount(maxWallet);
    }

    function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner {
        require(
            newAmount >= (totalSupply() * 1) / 100000,
            "Swap amount cannot be lower than 0.001% total supply."
        );
        require(
            newAmount <= (totalSupply() * 5) / 1000,
            "Swap amount cannot be higher than 0.5% total supply."
        );
        swapTokensAtAmount = newAmount;
    }

    function updateFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        buyFee = _buyFee;
        sellFee = _sellFee;
        require((buyFee / 100) <= 20, "Must keep fees at 20% or less");
        require((sellFee / 100) <= 30, "Must keep fees at 30% or less");
    }


    function updateMarketingWallet(address _Newwallet) external onlyOwner {
        marketingWallet = _Newwallet;
    }


    function excludeFromMaxTransaction(
        address updAds,
        bool isEx
    ) public onlyOwner {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    function setAutomatedMarketMakerPair(
        address pair,
        bool value
    ) external onlyOwner {
        require(
            pair != uniswapV2Pair,
            "The pair cannot be removed from automatedMarketMakerPairs"
        );

        _setAutomatedMarketMakerPair(pair, value);
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;

        excludeFromMaxTransaction(pair, value);

        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "amount must be greater than 0");

        if (!tradingLive) {
            require(
                _isExcludedFromFees[from] || _isExcludedFromFees[to],
                "Trading is not active."
            );
        }


        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0) &&
                to != address(0xdead) &&
                !_isExcludedFromFees[from] &&
                !_isExcludedFromFees[to]
            ) {
                // LAUNCH TRANSFER DELAY
                if (transferDelayEnabled) {
                    if (
                        to != address(uniswapV2Router) &&
                        to != address(uniswapV2Pair)
                    ) {
                        require(
                            _holderLastTransferTimestamp[tx.origin] <
                                block.number,
                            "Only one transfer per block allowed."
                        );
                        _holderLastTransferTimestamp[tx.origin] = block.number;
                    }
                }

                // BUY TXN
                if (
                    automatedMarketMakerPairs[from] &&
                    !_isExcludedMaxTransactionAmount[to]
                ) {
                    require(
                        amount <= maxTxnAmount,
                        "Buy transfer amount exceeds the max txn."
                    );
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "Cannot Exceed max wallet"
                    );
                }
                // SELL TXN
                else if (
                    automatedMarketMakerPairs[to] &&
                    !_isExcludedMaxTransactionAmount[from]
                ) {
                    require(
                        amount <= maxTxnAmount,
                        "Sell transfer amount exceeds the max txn."
                    );
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "Cannot Exceed max wallet"
                    );
                }
            }
        }

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if (
            canSwap &&
            swapEnabled &&
            !swapping &&
            !automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            swapping = true;

            collectFees();

            swapping = false;
        }

        bool takeFee = true;

        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;

        if (takeFee) {
            // SELL TXN
            if (automatedMarketMakerPairs[to] && sellFee > 0) {
                fees = (amount * sellFee) / 100;
                taxedTokens += fees;
            }
            // BUY TXN
            else if (automatedMarketMakerPairs[from] && buyFee > 0) {
                fees = (amount * buyFee) / 100;
                taxedTokens += fees;
            }

            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }

            amount -= fees;
        }

        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }


    function collectFees() private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = taxedTokens;

        if (contractBalance == 0 || totalTokensToSwap == 0) {
            return;
        }

        if (limitsInEffect) {
            if (contractBalance > swapTokensAtAmount * swapLimit) {
                contractBalance = swapTokensAtAmount * swapLimit;
            }
        } else {
            if (contractBalance > swapTokensAtAmount / swapLimit) {
                contractBalance = swapTokensAtAmount / swapLimit;
            }
        }

        bool success;

        swapTokensForEth(contractBalance);

        taxedTokens = 0;

        if (address(this).balance > 0) {
            (success, ) = address(marketingWallet).call{value: address(this).balance}(
                ""
            );
        }
    }

    function manualCollection() external onlyOwner {
        require(balanceOf(address(this)) >= 0, "No tokens to swap");
        swapping = true;
        collectFees();
        swapping = false;
        emit OwnerManualCollection(block.timestamp);
    }

    function withdrawETH() external onlyOwner {
        bool success;
        (success, ) = address(msg.sender).call{value: address(this).balance}(
            ""
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"uint256","name":"_maxTx","type":"uint256"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"},{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"},{"internalType":"address","name":"_teamWallet","type":"address"},{"internalType":"address","name":"_marketingWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"EnabledTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"excluded","type":"bool"}],"name":"MaxTransactionExclusion","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"OwnerManualCollection","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":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedMaxWalletAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedTxnAmount","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","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":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualCollection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingLive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract UniswapV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_Newwallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526001600c60146101000a81548160ff0219169083151502179055505f600c60156101000a81548160ff0219169083151502179055505f600c60166101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff02191690831515021790555034801562000079575f80fd5b5060405162005fa838038062005fa883398181016040528101906200009f919062000ed9565b88888160039081620000b291906200121e565b508060049081620000c491906200121e565b5050505f620000d86200068060201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f734752ba5dbc23f44d87826276bf6fd6b1c372ad249050620001a08160016200068760201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200021e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000244919062001302565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002aa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002d0919062001302565b6040518363ffffffff1660e01b8152600401620002ef92919062001343565b6020604051808303815f875af11580156200030c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000332919062001302565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200037a60a05160016200068760201b60201c565b6200038f60a05160016200078060201b60201c565b84600f81905550836010819055505f670de0b6b3a764000089620003b491906200139b565b905060648782620003c691906200139b565b620003d2919062001412565b60068190555060648882620003e891906200139b565b620003f4919062001412565b6007819055506103e86005826200040c91906200139b565b62000418919062001412565b6009819055506006600a8190555082600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004c8620004ba6200083060201b60201c565b60016200085860201b60201c565b620004fc600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200085860201b60201c565b62000530600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200085860201b60201c565b620005433060016200085860201b60201c565b6200055861dead60016200085860201b60201c565b6200057a6200056c6200083060201b60201c565b60016200068760201b60201c565b620005ae600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200068760201b60201c565b620005e2600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200068760201b60201c565b620005f53060016200068760201b60201c565b6200060a61dead60016200068760201b60201c565b6200063d600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682620009a160201b60201c565b6200066f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000aeb60201b60201c565b505050505050505050505062001666565b5f33905090565b620006976200068060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000728576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200071f90620014a7565b60405180910390fd5b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b8060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620007e682826200068760201b60201c565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620008686200068060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620008f9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008f090620014a7565b60405180910390fd5b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620009959190620014e3565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000a12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a09906200154c565b60405180910390fd5b8060025f82825462000a2591906200156c565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000a7991906200156c565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000adf9190620015b7565b60405180910390a35050565b62000afb6200068060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000b8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b8390620014a7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000bfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bf49062001646565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000d1c8262000cd4565b810181811067ffffffffffffffff8211171562000d3e5762000d3d62000ce4565b5b80604052505050565b5f62000d5262000cbb565b905062000d60828262000d11565b919050565b5f67ffffffffffffffff82111562000d825762000d8162000ce4565b5b62000d8d8262000cd4565b9050602081019050919050565b5f5b8381101562000db957808201518184015260208101905062000d9c565b5f8484015250505050565b5f62000dda62000dd48462000d65565b62000d47565b90508281526020810184848401111562000df95762000df862000cd0565b5b62000e0684828562000d9a565b509392505050565b5f82601f83011262000e255762000e2462000ccc565b5b815162000e3784826020860162000dc4565b91505092915050565b5f819050919050565b62000e548162000e40565b811462000e5f575f80fd5b50565b5f8151905062000e728162000e49565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000ea38262000e78565b9050919050565b62000eb58162000e97565b811462000ec0575f80fd5b50565b5f8151905062000ed38162000eaa565b92915050565b5f805f805f805f805f6101208a8c03121562000efa5762000ef962000cc4565b5b5f8a015167ffffffffffffffff81111562000f1a5762000f1962000cc8565b5b62000f288c828d0162000e0e565b99505060208a015167ffffffffffffffff81111562000f4c5762000f4b62000cc8565b5b62000f5a8c828d0162000e0e565b985050604062000f6d8c828d0162000e62565b975050606062000f808c828d0162000e62565b965050608062000f938c828d0162000e62565b95505060a062000fa68c828d0162000e62565b94505060c062000fb98c828d0162000e62565b93505060e062000fcc8c828d0162000ec3565b92505061010062000fe08c828d0162000ec3565b9150509295985092959850929598565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200103f57607f821691505b60208210810362001055576200105462000ffa565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620010b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200107c565b620010c586836200107c565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200110662001100620010fa8462000e40565b620010dd565b62000e40565b9050919050565b5f819050919050565b6200112183620010e6565b6200113962001130826200110d565b84845462001088565b825550505050565b5f90565b6200114f62001141565b6200115c81848462001116565b505050565b5b818110156200118357620011775f8262001145565b60018101905062001162565b5050565b601f821115620011d2576200119c816200105b565b620011a7846200106d565b81016020851015620011b7578190505b620011cf620011c6856200106d565b83018262001161565b50505b505050565b5f82821c905092915050565b5f620011f45f1984600802620011d7565b1980831691505092915050565b5f6200120e8383620011e3565b9150826002028217905092915050565b620012298262000ff0565b67ffffffffffffffff81111562001245576200124462000ce4565b5b62001251825462001027565b6200125e82828562001187565b5f60209050601f83116001811462001294575f84156200127f578287015190505b6200128b858262001201565b865550620012fa565b601f198416620012a4866200105b565b5f5b82811015620012cd57848901518255600182019150602085019450602081019050620012a6565b86831015620012ed5784890151620012e9601f891682620011e3565b8355505b6001600288020188555050505b505050505050565b5f602082840312156200131a576200131962000cc4565b5b5f620013298482850162000ec3565b91505092915050565b6200133d8162000e97565b82525050565b5f604082019050620013585f83018562001332565b62001367602083018462001332565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620013a78262000e40565b9150620013b48362000e40565b9250828202620013c48162000e40565b91508282048414831517620013de57620013dd6200136e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200141e8262000e40565b91506200142b8362000e40565b9250826200143e576200143d620013e5565b5b828204905092915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6200148f60208362001449565b91506200149c8262001459565b602082019050919050565b5f6020820190508181035f830152620014c08162001481565b9050919050565b5f8115159050919050565b620014dd81620014c7565b82525050565b5f602082019050620014f85f830184620014d2565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62001534601f8362001449565b91506200154182620014fe565b602082019050919050565b5f6020820190508181035f830152620015658162001526565b9050919050565b5f620015788262000e40565b9150620015858362000e40565b9250828201905080821115620015a0576200159f6200136e565b5b92915050565b620015b18162000e40565b82525050565b5f602082019050620015cc5f830184620015a6565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6200162e60268362001449565b91506200163b82620015d2565b604082019050919050565b5f6020820190508181035f8301526200165f8162001620565b9050919050565b60805160a0516148f6620016b25f395f8181610d550152818161153a01526126c401525f8181610a190152818161266d0152818161332c0152818161340b015261343201526148f65ff3fe608060405260043610610249575f3560e01c80637571336a11610138578063c0246668116100b5578063d421045011610079578063d421045014610856578063dd62ed3e1461086c578063e086e5ec146108a8578063e2f45605146108be578063f2fde38b146108e8578063f8b45b051461091057610250565b8063c02466681461078a578063c18bc195146107b2578063c876d0b9146107da578063cf46f24c14610804578063d257b34f1461082e57610250565b80639a7a23d6116100fc5780639a7a23d614610686578063a457c2d7146106ae578063a9059cbb146106ea578063aacebbe314610726578063b62496f51461074e57610250565b80637571336a146105ca57806376d628b7146105f25780638a8c523c1461061c5780638da5cb5b1461063257806395d89b411461065c57610250565b806345c1e4b2116101c65780636db794371161018a5780636db79437146105105780636ddd17131461053857806370a0823114610562578063715018a61461059e578063751039fc146105b457610250565b806345c1e4b214610440578063470624021461046857806349bd5a5e146104925780634a62bb65146104bc5780636a01f09c146104e657610250565b806318160ddd1161020d57806318160ddd1461034a57806323b872dd146103745780632b14ca56146103b0578063313ce567146103da578063395093511461040457610250565b806306fdde0314610254578063095ea7b31461027e57806310d5de53146102ba57806311704f52146102f65780631694505e1461032057610250565b3661025057005b5f80fd5b34801561025f575f80fd5b5061026861093a565b604051610275919061354c565b60405180910390f35b348015610289575f80fd5b506102a4600480360381019061029f91906135fd565b6109ca565b6040516102b19190613655565b60405180910390f35b3480156102c5575f80fd5b506102e060048036038101906102db919061366e565b6109e7565b6040516102ed9190613655565b60405180910390f35b348015610301575f80fd5b5061030a610a04565b6040516103179190613655565b60405180910390f35b34801561032b575f80fd5b50610334610a17565b60405161034191906136f4565b60405180910390f35b348015610355575f80fd5b5061035e610a3b565b60405161036b919061371c565b60405180910390f35b34801561037f575f80fd5b5061039a60048036038101906103959190613735565b610a44565b6040516103a79190613655565b60405180910390f35b3480156103bb575f80fd5b506103c4610b36565b6040516103d1919061371c565b60405180910390f35b3480156103e5575f80fd5b506103ee610b3c565b6040516103fb91906137a0565b60405180910390f35b34801561040f575f80fd5b5061042a600480360381019061042591906135fd565b610b44565b6040516104379190613655565b60405180910390f35b34801561044b575f80fd5b50610466600480360381019061046191906137b9565b610beb565b005b348015610473575f80fd5b5061047c610d4d565b604051610489919061371c565b60405180910390f35b34801561049d575f80fd5b506104a6610d53565b6040516104b391906137f3565b60405180910390f35b3480156104c7575f80fd5b506104d0610d77565b6040516104dd9190613655565b60405180910390f35b3480156104f1575f80fd5b506104fa610d8a565b604051610507919061371c565b60405180910390f35b34801561051b575f80fd5b506105366004803603810190610531919061380c565b610d90565b005b348015610543575f80fd5b5061054c610edc565b6040516105599190613655565b60405180910390f35b34801561056d575f80fd5b506105886004803603810190610583919061366e565b610eef565b604051610595919061371c565b60405180910390f35b3480156105a9575f80fd5b506105b2610f34565b005b3480156105bf575f80fd5b506105c8611087565b005b3480156105d5575f80fd5b506105f060048036038101906105eb9190613874565b6111ac565b005b3480156105fd575f80fd5b5061060661129a565b604051610613919061371c565b60405180910390f35b348015610627575f80fd5b506106306112a0565b005b34801561063d575f80fd5b506106466113ea565b60405161065391906137f3565b60405180910390f35b348015610667575f80fd5b50610670611412565b60405161067d919061354c565b60405180910390f35b348015610691575f80fd5b506106ac60048036038101906106a79190613874565b6114a2565b005b3480156106b9575f80fd5b506106d460048036038101906106cf91906135fd565b61161a565b6040516106e19190613655565b60405180910390f35b3480156106f5575f80fd5b50610710600480360381019061070b91906135fd565b611700565b60405161071d9190613655565b60405180910390f35b348015610731575f80fd5b5061074c6004803603810190610747919061366e565b61171d565b005b348015610759575f80fd5b50610774600480360381019061076f919061366e565b6117f6565b6040516107819190613655565b60405180910390f35b348015610795575f80fd5b506107b060048036038101906107ab9190613874565b611813565b005b3480156107bd575f80fd5b506107d860048036038101906107d391906137b9565b61194f565b005b3480156107e5575f80fd5b506107ee611ab1565b6040516107fb9190613655565b60405180910390f35b34801561080f575f80fd5b50610818611ac3565b604051610825919061371c565b60405180910390f35b348015610839575f80fd5b50610854600480360381019061084f91906137b9565b611ac9565b005b348015610861575f80fd5b5061086a611c30565b005b348015610877575f80fd5b50610892600480360381019061088d91906138b2565b611d85565b60405161089f919061371c565b60405180910390f35b3480156108b3575f80fd5b506108bc611e07565b005b3480156108c9575f80fd5b506108d2611f0a565b6040516108df919061371c565b60405180910390f35b3480156108f3575f80fd5b5061090e6004803603810190610909919061366e565b611f10565b005b34801561091b575f80fd5b506109246120d2565b604051610931919061371c565b60405180910390f35b6060600380546109499061391d565b80601f01602080910402602001604051908101604052809291908181526020018280546109759061391d565b80156109c05780601f10610997576101008083540402835291602001916109c0565b820191905f5260205f20905b8154815290600101906020018083116109a357829003601f168201915b5050505050905090565b5f6109dd6109d66120d8565b84846120df565b6001905092915050565b6013602052805f5260405f205f915054906101000a900460ff1681565b600c60159054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b5f610a508484846122a2565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a976120d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d906139bd565b60405180910390fd5b610b2a85610b226120d8565b8584036120df565b60019150509392505050565b60105481565b5f6012905090565b5f610be1610b506120d8565b848460015f610b5d6120d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610bdc9190613a08565b6120df565b6001905092915050565b610bf36120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7890613a85565b60405180910390fd5b670de0b6b3a76400006103e86002610c97610a3b565b610ca19190613aa3565b610cab9190613b11565b610cb59190613b11565b811015610cf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cee90613bb1565b60405180910390fd5b670de0b6b3a764000081610d0b9190613aa3565b6007819055507fbd8a1f50bda6367cd3771d8453c2582c5f01613dd6d8ee271672f4943da806d3600754604051610d42919061371c565b60405180910390a150565b600f5481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600c60149054906101000a900460ff1681565b600a5481565b610d986120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1d90613a85565b60405180910390fd5b81600f819055508060108190555060146064600f54610e459190613b11565b1115610e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7d90613c19565b60405180910390fd5b601e6064601054610e979190613b11565b1115610ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecf90613c81565b60405180910390fd5b5050565b600c60169054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610f3c6120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc190613a85565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61108f6120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461111d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111490613a85565b60405180910390fd5b5f600c60146101000a81548160ff0219169083151502179055505f600e5f6101000a81548160ff0219169083151502179055506064600261115c610a3b565b6111669190613aa3565b6111709190613b11565b6009819055506014600a819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b6111b46120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123990613a85565b60405180910390fd5b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60115481565b6112a86120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611336576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132d90613a85565b60405180910390fd5b600c60159054906101000a900460ff1615611386576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137d90613ce9565b60405180910390fd5b6001600c60156101000a81548160ff0219169083151502179055506001600c60166101000a81548160ff0219169083151502179055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a1565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546114219061391d565b80601f016020809104026020016040519081016040528092919081815260200182805461144d9061391d565b80156114985780601f1061146f57610100808354040283529160200191611498565b820191905f5260205f20905b81548152906001019060200180831161147b57829003601f168201915b5050505050905090565b6114aa6120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152f90613a85565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bd90613d77565b60405180910390fd5b6115d08282612e44565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f8060015f6116276120d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d890613e05565b60405180910390fd5b6116f56116ec6120d8565b858584036120df565b600191505092915050565b5f61171361170c6120d8565b84846122a2565b6001905092915050565b6117256120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117aa90613a85565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6014602052805f5260405f205f915054906101000a900460ff1681565b61181b6120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a090613a85565b60405180910390fd5b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516119439190613655565b60405180910390a25050565b6119576120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dc90613a85565b60405180910390fd5b670de0b6b3a76400006103e860036119fb610a3b565b611a059190613aa3565b611a0f9190613b11565b611a199190613b11565b811015611a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5290613e93565b60405180910390fd5b670de0b6b3a764000081611a6f9190613aa3565b6006819055507fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc600654604051611aa6919061371c565b60405180910390a150565b600e5f9054906101000a900460ff1681565b60075481565b611ad16120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5690613a85565b60405180910390fd5b620186a06001611b6d610a3b565b611b779190613aa3565b611b819190613b11565b811015611bc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bba90613f21565b60405180910390fd5b6103e86005611bd0610a3b565b611bda9190613aa3565b611be49190613b11565b811115611c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1d90613faf565b60405180910390fd5b8060098190555050565b611c386120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbd90613a85565b60405180910390fd5b5f611cd030610eef565b1015611d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0890614017565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550611d33612eec565b5f60085f6101000a81548160ff0219169083151502179055507f7704eca0c9eaa0b85444383d91c148463b321cff28fcb55afee0ca730b3a553342604051611d7b919061371c565b60405180910390a1565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611e0f6120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9490613a85565b60405180910390fd5b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051611ec290614062565b5f6040518083038185875af1925050503d805f8114611efc576040519150601f19603f3d011682016040523d82523d5f602084013e611f01565b606091505b50508091505050565b60095481565b611f186120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9d90613a85565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612014576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200b906140e6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60065481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361214d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214490614174565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b290614202565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612295919061371c565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230790614290565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361237e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123759061431e565b60405180910390fd5b5f81116123c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b790614386565b60405180910390fd5b600c60159054906101000a900460ff166124af5760125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061246f575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6124ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a5906143ee565b60405180910390fd5b5b600c60149054906101000a900460ff1615612ab6576124cc6113ea565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561253a575061250a6113ea565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561257257505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156125ac575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156125ff575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612652575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612ab557600e5f9054906101000a900460ff16156127db577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561271357507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156127da5743600d5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278e9061447c565b60405180910390fd5b43600d5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612878575060135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561291f576007548111156128c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128b99061450a565b60405180910390fd5b6006546128ce83610eef565b826128d99190613a08565b111561291a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291190614572565b60405180910390fd5b612ab4565b60145f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156129bc575060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612a0b57600754811115612a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129fd90614600565b60405180910390fd5b612ab3565b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612ab257600654612a6583610eef565b82612a709190613a08565b1115612ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa890614572565b60405180910390fd5b5b5b5b5b5b5f612ac030610eef565b90505f6009548210159050808015612ae45750600c60169054906101000a900460ff165b8015612afc575060085f9054906101000a900460ff16155b8015612b4f575060145f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612ba2575060125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612bf5575060125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612c3657600160085f6101000a81548160ff021916908315150217905550612c1c612eec565b5f60085f6101000a81548160ff0219169083151502179055505b5f6001905060125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612cd6575060125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612cdf575f90505b5f8115612e305760145f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612d3d57505f601054115b15612d7b57606460105486612d529190613aa3565b612d5c9190613b11565b90508060115f828254612d6f9190613a08565b92505081905550612e0d565b60145f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612dd257505f600f54115b15612e0c576064600f5486612de79190613aa3565b612df19190613b11565b90508060115f828254612e049190613a08565b925050819055505b5b5f811115612e2157612e20873083613030565b5b8085612e2d919061461e565b94505b612e3b878787613030565b50505050505050565b8060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550612ea282826111ac565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f612ef630610eef565b90505f60115490505f821480612f0b57505f81145b15612f1757505061302e565b600c60149054906101000a900460ff1615612f5b57600a54600954612f3c9190613aa3565b821115612f5657600a54600954612f539190613aa3565b91505b612f86565b600a54600954612f6b9190613b11565b821115612f8557600a54600954612f829190613b11565b91505b5b5f612f908361328f565b5f6011819055505f47111561302a57600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612fe490614062565b5f6040518083038185875af1925050503d805f811461301e576040519150601f19603f3d011682016040523d82523d5f602084013e613023565b606091505b5050809150505b5050505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361309e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309590614290565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361310c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131039061431e565b60405180910390fd5b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561318f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613186906146c1565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461321d9190613a08565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613281919061371c565b60405180910390a350505050565b5f600267ffffffffffffffff8111156132ab576132aa6146df565b5b6040519080825280602002602001820160405280156132d95781602001602082028036833780820191505090505b50905030815f815181106132f0576132ef61470c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613393573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b7919061474d565b816001815181106133cb576133ca61470c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613430307f0000000000000000000000000000000000000000000000000000000000000000846120df565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401613491959493929190614868565b5f604051808303815f87803b1580156134a8575f80fd5b505af11580156134ba573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156134f95780820151818401526020810190506134de565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61351e826134c2565b61352881856134cc565b93506135388185602086016134dc565b61354181613504565b840191505092915050565b5f6020820190508181035f8301526135648184613514565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61359982613570565b9050919050565b6135a98161358f565b81146135b3575f80fd5b50565b5f813590506135c4816135a0565b92915050565b5f819050919050565b6135dc816135ca565b81146135e6575f80fd5b50565b5f813590506135f7816135d3565b92915050565b5f80604083850312156136135761361261356c565b5b5f613620858286016135b6565b9250506020613631858286016135e9565b9150509250929050565b5f8115159050919050565b61364f8161363b565b82525050565b5f6020820190506136685f830184613646565b92915050565b5f602082840312156136835761368261356c565b5b5f613690848285016135b6565b91505092915050565b5f819050919050565b5f6136bc6136b76136b284613570565b613699565b613570565b9050919050565b5f6136cd826136a2565b9050919050565b5f6136de826136c3565b9050919050565b6136ee816136d4565b82525050565b5f6020820190506137075f8301846136e5565b92915050565b613716816135ca565b82525050565b5f60208201905061372f5f83018461370d565b92915050565b5f805f6060848603121561374c5761374b61356c565b5b5f613759868287016135b6565b935050602061376a868287016135b6565b925050604061377b868287016135e9565b9150509250925092565b5f60ff82169050919050565b61379a81613785565b82525050565b5f6020820190506137b35f830184613791565b92915050565b5f602082840312156137ce576137cd61356c565b5b5f6137db848285016135e9565b91505092915050565b6137ed8161358f565b82525050565b5f6020820190506138065f8301846137e4565b92915050565b5f80604083850312156138225761382161356c565b5b5f61382f858286016135e9565b9250506020613840858286016135e9565b9150509250929050565b6138538161363b565b811461385d575f80fd5b50565b5f8135905061386e8161384a565b92915050565b5f806040838503121561388a5761388961356c565b5b5f613897858286016135b6565b92505060206138a885828601613860565b9150509250929050565b5f80604083850312156138c8576138c761356c565b5b5f6138d5858286016135b6565b92505060206138e6858286016135b6565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061393457607f821691505b602082108103613947576139466138f0565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f6139a76028836134cc565b91506139b28261394d565b604082019050919050565b5f6020820190508181035f8301526139d48161399b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613a12826135ca565b9150613a1d836135ca565b9250828201905080821115613a3557613a346139db565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a6f6020836134cc565b9150613a7a82613a3b565b602082019050919050565b5f6020820190508181035f830152613a9c81613a63565b9050919050565b5f613aad826135ca565b9150613ab8836135ca565b9250828202613ac6816135ca565b91508282048414831517613add57613adc6139db565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b1b826135ca565b9150613b26836135ca565b925082613b3657613b35613ae4565b5b828204905092915050565b7f43616e6e6f7420736574206d61782074786e20616d6f756e74206c6f776572205f8201527f7468616e20302e32250000000000000000000000000000000000000000000000602082015250565b5f613b9b6029836134cc565b9150613ba682613b41565b604082019050919050565b5f6020820190508181035f830152613bc881613b8f565b9050919050565b7f4d757374206b656570206665657320617420323025206f72206c6573730000005f82015250565b5f613c03601d836134cc565b9150613c0e82613bcf565b602082019050919050565b5f6020820190508181035f830152613c3081613bf7565b9050919050565b7f4d757374206b656570206665657320617420333025206f72206c6573730000005f82015250565b5f613c6b601d836134cc565b9150613c7682613c37565b602082019050919050565b5f6020820190508181035f830152613c9881613c5f565b9050919050565b7f54726164696e6720616c7265616479206c6976652100000000000000000000005f82015250565b5f613cd36015836134cc565b9150613cde82613c9f565b602082019050919050565b5f6020820190508181035f830152613d0081613cc7565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613d616039836134cc565b9150613d6c82613d07565b604082019050919050565b5f6020820190508181035f830152613d8e81613d55565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613def6025836134cc565b9150613dfa82613d95565b604082019050919050565b5f6020820190508181035f830152613e1c81613de3565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f775f8201527f6572207468616e20302e33250000000000000000000000000000000000000000602082015250565b5f613e7d602c836134cc565b9150613e8882613e23565b604082019050919050565b5f6020820190508181035f830152613eaa81613e71565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f613f0b6035836134cc565b9150613f1682613eb1565b604082019050919050565b5f6020820190508181035f830152613f3881613eff565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f613f996034836134cc565b9150613fa482613f3f565b604082019050919050565b5f6020820190508181035f830152613fc681613f8d565b9050919050565b7f4e6f20746f6b656e7320746f20737761700000000000000000000000000000005f82015250565b5f6140016011836134cc565b915061400c82613fcd565b602082019050919050565b5f6020820190508181035f83015261402e81613ff5565b9050919050565b5f81905092915050565b50565b5f61404d5f83614035565b91506140588261403f565b5f82019050919050565b5f61406c82614042565b9150819050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6140d06026836134cc565b91506140db82614076565b604082019050919050565b5f6020820190508181035f8301526140fd816140c4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61415e6024836134cc565b915061416982614104565b604082019050919050565b5f6020820190508181035f83015261418b81614152565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6141ec6022836134cc565b91506141f782614192565b604082019050919050565b5f6020820190508181035f830152614219816141e0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61427a6025836134cc565b915061428582614220565b604082019050919050565b5f6020820190508181035f8301526142a78161426e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6143086023836134cc565b9150614313826142ae565b604082019050919050565b5f6020820190508181035f830152614335816142fc565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f614370601d836134cc565b915061437b8261433c565b602082019050919050565b5f6020820190508181035f83015261439d81614364565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f6143d86016836134cc565b91506143e3826143a4565b602082019050919050565b5f6020820190508181035f830152614405816143cc565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f6144666024836134cc565b91506144718261440c565b604082019050919050565b5f6020820190508181035f8301526144938161445a565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61782074786e2e000000000000000000000000000000000000000000000000602082015250565b5f6144f46028836134cc565b91506144ff8261449a565b604082019050919050565b5f6020820190508181035f830152614521816144e8565b9050919050565b7f43616e6e6f7420457863656564206d61782077616c6c657400000000000000005f82015250565b5f61455c6018836134cc565b915061456782614528565b602082019050919050565b5f6020820190508181035f83015261458981614550565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61782074786e2e0000000000000000000000000000000000000000000000602082015250565b5f6145ea6029836134cc565b91506145f582614590565b604082019050919050565b5f6020820190508181035f830152614617816145de565b9050919050565b5f614628826135ca565b9150614633836135ca565b925082820390508181111561464b5761464a6139db565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6146ab6026836134cc565b91506146b682614651565b604082019050919050565b5f6020820190508181035f8301526146d88161469f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050614747816135a0565b92915050565b5f602082840312156147625761476161356c565b5b5f61476f84828501614739565b91505092915050565b5f819050919050565b5f61479b61479661479184614778565b613699565b6135ca565b9050919050565b6147ab81614781565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6147e38161358f565b82525050565b5f6147f483836147da565b60208301905092915050565b5f602082019050919050565b5f614816826147b1565b61482081856147bb565b935061482b836147cb565b805f5b8381101561485b57815161484288826147e9565b975061484d83614800565b92505060018101905061482e565b5085935050505092915050565b5f60a08201905061487b5f83018861370d565b61488860208301876147a2565b818103604083015261489a818661480c565b90506148a960608301856137e4565b6148b6608083018461370d565b969550505050505056fea264697066735822122056b8d9e77f454f5b6cd59d72252ff87c8b3a7126522b28702aa40f10a487873d64736f6c6343000818003300000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000006a39ff0eb133d5ae29062d63c1a0f7c5a54f51f8000000000000000000000000e50a7fb55b72058fed5b907eb689d14106d62bc70000000000000000000000000000000000000000000000000000000000000006425542434154000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034255420000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610249575f3560e01c80637571336a11610138578063c0246668116100b5578063d421045011610079578063d421045014610856578063dd62ed3e1461086c578063e086e5ec146108a8578063e2f45605146108be578063f2fde38b146108e8578063f8b45b051461091057610250565b8063c02466681461078a578063c18bc195146107b2578063c876d0b9146107da578063cf46f24c14610804578063d257b34f1461082e57610250565b80639a7a23d6116100fc5780639a7a23d614610686578063a457c2d7146106ae578063a9059cbb146106ea578063aacebbe314610726578063b62496f51461074e57610250565b80637571336a146105ca57806376d628b7146105f25780638a8c523c1461061c5780638da5cb5b1461063257806395d89b411461065c57610250565b806345c1e4b2116101c65780636db794371161018a5780636db79437146105105780636ddd17131461053857806370a0823114610562578063715018a61461059e578063751039fc146105b457610250565b806345c1e4b214610440578063470624021461046857806349bd5a5e146104925780634a62bb65146104bc5780636a01f09c146104e657610250565b806318160ddd1161020d57806318160ddd1461034a57806323b872dd146103745780632b14ca56146103b0578063313ce567146103da578063395093511461040457610250565b806306fdde0314610254578063095ea7b31461027e57806310d5de53146102ba57806311704f52146102f65780631694505e1461032057610250565b3661025057005b5f80fd5b34801561025f575f80fd5b5061026861093a565b604051610275919061354c565b60405180910390f35b348015610289575f80fd5b506102a4600480360381019061029f91906135fd565b6109ca565b6040516102b19190613655565b60405180910390f35b3480156102c5575f80fd5b506102e060048036038101906102db919061366e565b6109e7565b6040516102ed9190613655565b60405180910390f35b348015610301575f80fd5b5061030a610a04565b6040516103179190613655565b60405180910390f35b34801561032b575f80fd5b50610334610a17565b60405161034191906136f4565b60405180910390f35b348015610355575f80fd5b5061035e610a3b565b60405161036b919061371c565b60405180910390f35b34801561037f575f80fd5b5061039a60048036038101906103959190613735565b610a44565b6040516103a79190613655565b60405180910390f35b3480156103bb575f80fd5b506103c4610b36565b6040516103d1919061371c565b60405180910390f35b3480156103e5575f80fd5b506103ee610b3c565b6040516103fb91906137a0565b60405180910390f35b34801561040f575f80fd5b5061042a600480360381019061042591906135fd565b610b44565b6040516104379190613655565b60405180910390f35b34801561044b575f80fd5b50610466600480360381019061046191906137b9565b610beb565b005b348015610473575f80fd5b5061047c610d4d565b604051610489919061371c565b60405180910390f35b34801561049d575f80fd5b506104a6610d53565b6040516104b391906137f3565b60405180910390f35b3480156104c7575f80fd5b506104d0610d77565b6040516104dd9190613655565b60405180910390f35b3480156104f1575f80fd5b506104fa610d8a565b604051610507919061371c565b60405180910390f35b34801561051b575f80fd5b506105366004803603810190610531919061380c565b610d90565b005b348015610543575f80fd5b5061054c610edc565b6040516105599190613655565b60405180910390f35b34801561056d575f80fd5b506105886004803603810190610583919061366e565b610eef565b604051610595919061371c565b60405180910390f35b3480156105a9575f80fd5b506105b2610f34565b005b3480156105bf575f80fd5b506105c8611087565b005b3480156105d5575f80fd5b506105f060048036038101906105eb9190613874565b6111ac565b005b3480156105fd575f80fd5b5061060661129a565b604051610613919061371c565b60405180910390f35b348015610627575f80fd5b506106306112a0565b005b34801561063d575f80fd5b506106466113ea565b60405161065391906137f3565b60405180910390f35b348015610667575f80fd5b50610670611412565b60405161067d919061354c565b60405180910390f35b348015610691575f80fd5b506106ac60048036038101906106a79190613874565b6114a2565b005b3480156106b9575f80fd5b506106d460048036038101906106cf91906135fd565b61161a565b6040516106e19190613655565b60405180910390f35b3480156106f5575f80fd5b50610710600480360381019061070b91906135fd565b611700565b60405161071d9190613655565b60405180910390f35b348015610731575f80fd5b5061074c6004803603810190610747919061366e565b61171d565b005b348015610759575f80fd5b50610774600480360381019061076f919061366e565b6117f6565b6040516107819190613655565b60405180910390f35b348015610795575f80fd5b506107b060048036038101906107ab9190613874565b611813565b005b3480156107bd575f80fd5b506107d860048036038101906107d391906137b9565b61194f565b005b3480156107e5575f80fd5b506107ee611ab1565b6040516107fb9190613655565b60405180910390f35b34801561080f575f80fd5b50610818611ac3565b604051610825919061371c565b60405180910390f35b348015610839575f80fd5b50610854600480360381019061084f91906137b9565b611ac9565b005b348015610861575f80fd5b5061086a611c30565b005b348015610877575f80fd5b50610892600480360381019061088d91906138b2565b611d85565b60405161089f919061371c565b60405180910390f35b3480156108b3575f80fd5b506108bc611e07565b005b3480156108c9575f80fd5b506108d2611f0a565b6040516108df919061371c565b60405180910390f35b3480156108f3575f80fd5b5061090e6004803603810190610909919061366e565b611f10565b005b34801561091b575f80fd5b506109246120d2565b604051610931919061371c565b60405180910390f35b6060600380546109499061391d565b80601f01602080910402602001604051908101604052809291908181526020018280546109759061391d565b80156109c05780601f10610997576101008083540402835291602001916109c0565b820191905f5260205f20905b8154815290600101906020018083116109a357829003601f168201915b5050505050905090565b5f6109dd6109d66120d8565b84846120df565b6001905092915050565b6013602052805f5260405f205f915054906101000a900460ff1681565b600c60159054906101000a900460ff1681565b7f0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad2481565b5f600254905090565b5f610a508484846122a2565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a976120d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d906139bd565b60405180910390fd5b610b2a85610b226120d8565b8584036120df565b60019150509392505050565b60105481565b5f6012905090565b5f610be1610b506120d8565b848460015f610b5d6120d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610bdc9190613a08565b6120df565b6001905092915050565b610bf36120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7890613a85565b60405180910390fd5b670de0b6b3a76400006103e86002610c97610a3b565b610ca19190613aa3565b610cab9190613b11565b610cb59190613b11565b811015610cf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cee90613bb1565b60405180910390fd5b670de0b6b3a764000081610d0b9190613aa3565b6007819055507fbd8a1f50bda6367cd3771d8453c2582c5f01613dd6d8ee271672f4943da806d3600754604051610d42919061371c565b60405180910390a150565b600f5481565b7f000000000000000000000000b5c2d5216e45dbe8243e31d910064b7e636d4d5281565b600c60149054906101000a900460ff1681565b600a5481565b610d986120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1d90613a85565b60405180910390fd5b81600f819055508060108190555060146064600f54610e459190613b11565b1115610e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7d90613c19565b60405180910390fd5b601e6064601054610e979190613b11565b1115610ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecf90613c81565b60405180910390fd5b5050565b600c60169054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610f3c6120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc190613a85565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61108f6120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461111d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111490613a85565b60405180910390fd5b5f600c60146101000a81548160ff0219169083151502179055505f600e5f6101000a81548160ff0219169083151502179055506064600261115c610a3b565b6111669190613aa3565b6111709190613b11565b6009819055506014600a819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b6111b46120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123990613a85565b60405180910390fd5b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60115481565b6112a86120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611336576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132d90613a85565b60405180910390fd5b600c60159054906101000a900460ff1615611386576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137d90613ce9565b60405180910390fd5b6001600c60156101000a81548160ff0219169083151502179055506001600c60166101000a81548160ff0219169083151502179055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a1565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546114219061391d565b80601f016020809104026020016040519081016040528092919081815260200182805461144d9061391d565b80156114985780601f1061146f57610100808354040283529160200191611498565b820191905f5260205f20905b81548152906001019060200180831161147b57829003601f168201915b5050505050905090565b6114aa6120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152f90613a85565b60405180910390fd5b7f000000000000000000000000b5c2d5216e45dbe8243e31d910064b7e636d4d5273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bd90613d77565b60405180910390fd5b6115d08282612e44565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f8060015f6116276120d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d890613e05565b60405180910390fd5b6116f56116ec6120d8565b858584036120df565b600191505092915050565b5f61171361170c6120d8565b84846122a2565b6001905092915050565b6117256120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117aa90613a85565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6014602052805f5260405f205f915054906101000a900460ff1681565b61181b6120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a090613a85565b60405180910390fd5b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516119439190613655565b60405180910390a25050565b6119576120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dc90613a85565b60405180910390fd5b670de0b6b3a76400006103e860036119fb610a3b565b611a059190613aa3565b611a0f9190613b11565b611a199190613b11565b811015611a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5290613e93565b60405180910390fd5b670de0b6b3a764000081611a6f9190613aa3565b6006819055507fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc600654604051611aa6919061371c565b60405180910390a150565b600e5f9054906101000a900460ff1681565b60075481565b611ad16120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5690613a85565b60405180910390fd5b620186a06001611b6d610a3b565b611b779190613aa3565b611b819190613b11565b811015611bc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bba90613f21565b60405180910390fd5b6103e86005611bd0610a3b565b611bda9190613aa3565b611be49190613b11565b811115611c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1d90613faf565b60405180910390fd5b8060098190555050565b611c386120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbd90613a85565b60405180910390fd5b5f611cd030610eef565b1015611d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0890614017565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550611d33612eec565b5f60085f6101000a81548160ff0219169083151502179055507f7704eca0c9eaa0b85444383d91c148463b321cff28fcb55afee0ca730b3a553342604051611d7b919061371c565b60405180910390a1565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611e0f6120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9490613a85565b60405180910390fd5b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051611ec290614062565b5f6040518083038185875af1925050503d805f8114611efc576040519150601f19603f3d011682016040523d82523d5f602084013e611f01565b606091505b50508091505050565b60095481565b611f186120d8565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9d90613a85565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612014576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200b906140e6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60065481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361214d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214490614174565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b290614202565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612295919061371c565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230790614290565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361237e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123759061431e565b60405180910390fd5b5f81116123c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b790614386565b60405180910390fd5b600c60159054906101000a900460ff166124af5760125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061246f575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6124ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a5906143ee565b60405180910390fd5b5b600c60149054906101000a900460ff1615612ab6576124cc6113ea565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561253a575061250a6113ea565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561257257505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156125ac575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156125ff575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612652575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612ab557600e5f9054906101000a900460ff16156127db577f0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad2473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561271357507f000000000000000000000000b5c2d5216e45dbe8243e31d910064b7e636d4d5273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156127da5743600d5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278e9061447c565b60405180910390fd5b43600d5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612878575060135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561291f576007548111156128c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128b99061450a565b60405180910390fd5b6006546128ce83610eef565b826128d99190613a08565b111561291a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291190614572565b60405180910390fd5b612ab4565b60145f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156129bc575060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612a0b57600754811115612a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129fd90614600565b60405180910390fd5b612ab3565b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612ab257600654612a6583610eef565b82612a709190613a08565b1115612ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa890614572565b60405180910390fd5b5b5b5b5b5b5f612ac030610eef565b90505f6009548210159050808015612ae45750600c60169054906101000a900460ff165b8015612afc575060085f9054906101000a900460ff16155b8015612b4f575060145f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612ba2575060125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612bf5575060125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612c3657600160085f6101000a81548160ff021916908315150217905550612c1c612eec565b5f60085f6101000a81548160ff0219169083151502179055505b5f6001905060125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612cd6575060125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612cdf575f90505b5f8115612e305760145f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612d3d57505f601054115b15612d7b57606460105486612d529190613aa3565b612d5c9190613b11565b90508060115f828254612d6f9190613a08565b92505081905550612e0d565b60145f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612dd257505f600f54115b15612e0c576064600f5486612de79190613aa3565b612df19190613b11565b90508060115f828254612e049190613a08565b925050819055505b5b5f811115612e2157612e20873083613030565b5b8085612e2d919061461e565b94505b612e3b878787613030565b50505050505050565b8060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550612ea282826111ac565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f612ef630610eef565b90505f60115490505f821480612f0b57505f81145b15612f1757505061302e565b600c60149054906101000a900460ff1615612f5b57600a54600954612f3c9190613aa3565b821115612f5657600a54600954612f539190613aa3565b91505b612f86565b600a54600954612f6b9190613b11565b821115612f8557600a54600954612f829190613b11565b91505b5b5f612f908361328f565b5f6011819055505f47111561302a57600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612fe490614062565b5f6040518083038185875af1925050503d805f811461301e576040519150601f19603f3d011682016040523d82523d5f602084013e613023565b606091505b5050809150505b5050505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361309e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309590614290565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361310c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131039061431e565b60405180910390fd5b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561318f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613186906146c1565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461321d9190613a08565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613281919061371c565b60405180910390a350505050565b5f600267ffffffffffffffff8111156132ab576132aa6146df565b5b6040519080825280602002602001820160405280156132d95781602001602082028036833780820191505090505b50905030815f815181106132f0576132ef61470c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad2473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613393573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133b7919061474d565b816001815181106133cb576133ca61470c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613430307f0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad24846120df565b7f0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad2473ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401613491959493929190614868565b5f604051808303815f87803b1580156134a8575f80fd5b505af11580156134ba573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156134f95780820151818401526020810190506134de565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61351e826134c2565b61352881856134cc565b93506135388185602086016134dc565b61354181613504565b840191505092915050565b5f6020820190508181035f8301526135648184613514565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61359982613570565b9050919050565b6135a98161358f565b81146135b3575f80fd5b50565b5f813590506135c4816135a0565b92915050565b5f819050919050565b6135dc816135ca565b81146135e6575f80fd5b50565b5f813590506135f7816135d3565b92915050565b5f80604083850312156136135761361261356c565b5b5f613620858286016135b6565b9250506020613631858286016135e9565b9150509250929050565b5f8115159050919050565b61364f8161363b565b82525050565b5f6020820190506136685f830184613646565b92915050565b5f602082840312156136835761368261356c565b5b5f613690848285016135b6565b91505092915050565b5f819050919050565b5f6136bc6136b76136b284613570565b613699565b613570565b9050919050565b5f6136cd826136a2565b9050919050565b5f6136de826136c3565b9050919050565b6136ee816136d4565b82525050565b5f6020820190506137075f8301846136e5565b92915050565b613716816135ca565b82525050565b5f60208201905061372f5f83018461370d565b92915050565b5f805f6060848603121561374c5761374b61356c565b5b5f613759868287016135b6565b935050602061376a868287016135b6565b925050604061377b868287016135e9565b9150509250925092565b5f60ff82169050919050565b61379a81613785565b82525050565b5f6020820190506137b35f830184613791565b92915050565b5f602082840312156137ce576137cd61356c565b5b5f6137db848285016135e9565b91505092915050565b6137ed8161358f565b82525050565b5f6020820190506138065f8301846137e4565b92915050565b5f80604083850312156138225761382161356c565b5b5f61382f858286016135e9565b9250506020613840858286016135e9565b9150509250929050565b6138538161363b565b811461385d575f80fd5b50565b5f8135905061386e8161384a565b92915050565b5f806040838503121561388a5761388961356c565b5b5f613897858286016135b6565b92505060206138a885828601613860565b9150509250929050565b5f80604083850312156138c8576138c761356c565b5b5f6138d5858286016135b6565b92505060206138e6858286016135b6565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061393457607f821691505b602082108103613947576139466138f0565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f6139a76028836134cc565b91506139b28261394d565b604082019050919050565b5f6020820190508181035f8301526139d48161399b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613a12826135ca565b9150613a1d836135ca565b9250828201905080821115613a3557613a346139db565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a6f6020836134cc565b9150613a7a82613a3b565b602082019050919050565b5f6020820190508181035f830152613a9c81613a63565b9050919050565b5f613aad826135ca565b9150613ab8836135ca565b9250828202613ac6816135ca565b91508282048414831517613add57613adc6139db565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b1b826135ca565b9150613b26836135ca565b925082613b3657613b35613ae4565b5b828204905092915050565b7f43616e6e6f7420736574206d61782074786e20616d6f756e74206c6f776572205f8201527f7468616e20302e32250000000000000000000000000000000000000000000000602082015250565b5f613b9b6029836134cc565b9150613ba682613b41565b604082019050919050565b5f6020820190508181035f830152613bc881613b8f565b9050919050565b7f4d757374206b656570206665657320617420323025206f72206c6573730000005f82015250565b5f613c03601d836134cc565b9150613c0e82613bcf565b602082019050919050565b5f6020820190508181035f830152613c3081613bf7565b9050919050565b7f4d757374206b656570206665657320617420333025206f72206c6573730000005f82015250565b5f613c6b601d836134cc565b9150613c7682613c37565b602082019050919050565b5f6020820190508181035f830152613c9881613c5f565b9050919050565b7f54726164696e6720616c7265616479206c6976652100000000000000000000005f82015250565b5f613cd36015836134cc565b9150613cde82613c9f565b602082019050919050565b5f6020820190508181035f830152613d0081613cc7565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613d616039836134cc565b9150613d6c82613d07565b604082019050919050565b5f6020820190508181035f830152613d8e81613d55565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613def6025836134cc565b9150613dfa82613d95565b604082019050919050565b5f6020820190508181035f830152613e1c81613de3565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f775f8201527f6572207468616e20302e33250000000000000000000000000000000000000000602082015250565b5f613e7d602c836134cc565b9150613e8882613e23565b604082019050919050565b5f6020820190508181035f830152613eaa81613e71565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f613f0b6035836134cc565b9150613f1682613eb1565b604082019050919050565b5f6020820190508181035f830152613f3881613eff565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f613f996034836134cc565b9150613fa482613f3f565b604082019050919050565b5f6020820190508181035f830152613fc681613f8d565b9050919050565b7f4e6f20746f6b656e7320746f20737761700000000000000000000000000000005f82015250565b5f6140016011836134cc565b915061400c82613fcd565b602082019050919050565b5f6020820190508181035f83015261402e81613ff5565b9050919050565b5f81905092915050565b50565b5f61404d5f83614035565b91506140588261403f565b5f82019050919050565b5f61406c82614042565b9150819050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6140d06026836134cc565b91506140db82614076565b604082019050919050565b5f6020820190508181035f8301526140fd816140c4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61415e6024836134cc565b915061416982614104565b604082019050919050565b5f6020820190508181035f83015261418b81614152565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6141ec6022836134cc565b91506141f782614192565b604082019050919050565b5f6020820190508181035f830152614219816141e0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61427a6025836134cc565b915061428582614220565b604082019050919050565b5f6020820190508181035f8301526142a78161426e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6143086023836134cc565b9150614313826142ae565b604082019050919050565b5f6020820190508181035f830152614335816142fc565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f614370601d836134cc565b915061437b8261433c565b602082019050919050565b5f6020820190508181035f83015261439d81614364565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f6143d86016836134cc565b91506143e3826143a4565b602082019050919050565b5f6020820190508181035f830152614405816143cc565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f6144666024836134cc565b91506144718261440c565b604082019050919050565b5f6020820190508181035f8301526144938161445a565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61782074786e2e000000000000000000000000000000000000000000000000602082015250565b5f6144f46028836134cc565b91506144ff8261449a565b604082019050919050565b5f6020820190508181035f830152614521816144e8565b9050919050565b7f43616e6e6f7420457863656564206d61782077616c6c657400000000000000005f82015250565b5f61455c6018836134cc565b915061456782614528565b602082019050919050565b5f6020820190508181035f83015261458981614550565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61782074786e2e0000000000000000000000000000000000000000000000602082015250565b5f6145ea6029836134cc565b91506145f582614590565b604082019050919050565b5f6020820190508181035f830152614617816145de565b9050919050565b5f614628826135ca565b9150614633836135ca565b925082820390508181111561464b5761464a6139db565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6146ab6026836134cc565b91506146b682614651565b604082019050919050565b5f6020820190508181035f8301526146d88161469f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050614747816135a0565b92915050565b5f602082840312156147625761476161356c565b5b5f61476f84828501614739565b91505092915050565b5f819050919050565b5f61479b61479661479184614778565b613699565b6135ca565b9050919050565b6147ab81614781565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6147e38161358f565b82525050565b5f6147f483836147da565b60208301905092915050565b5f602082019050919050565b5f614816826147b1565b61482081856147bb565b935061482b836147cb565b805f5b8381101561485b57815161484288826147e9565b975061484d83614800565b92505060018101905061482e565b5085935050505092915050565b5f60a08201905061487b5f83018861370d565b61488860208301876147a2565b818103604083015261489a818661480c565b90506148a960608301856137e4565b6148b6608083018461370d565b969550505050505056fea264697066735822122056b8d9e77f454f5b6cd59d72252ff87c8b3a7126522b28702aa40f10a487873d64736f6c63430008180033

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

00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000006a39ff0eb133d5ae29062d63c1a0f7c5a54f51f8000000000000000000000000e50a7fb55b72058fed5b907eb689d14106d62bc70000000000000000000000000000000000000000000000000000000000000006425542434154000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034255420000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _tokenName (string): BUBCAT
Arg [1] : _tokenSymbol (string): BUB
Arg [2] : _totalSupply (uint256): 1000000000
Arg [3] : _maxTx (uint256): 1
Arg [4] : _maxWallet (uint256): 1
Arg [5] : _buyTax (uint256): 25
Arg [6] : _sellTax (uint256): 30
Arg [7] : _teamWallet (address): 0x6A39Ff0eb133D5aE29062d63C1A0f7C5a54F51F8
Arg [8] : _marketingWallet (address): 0xE50a7FB55b72058feD5b907Eb689d14106d62BC7

-----Encoded View---------------
13 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [2] : 000000000000000000000000000000000000000000000000000000003b9aca00
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000019
Arg [6] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [7] : 0000000000000000000000006a39ff0eb133d5ae29062d63c1a0f7c5a54f51f8
Arg [8] : 000000000000000000000000e50a7fb55b72058fed5b907eb689d14106d62bc7
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [10] : 4255424341540000000000000000000000000000000000000000000000000000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [12] : 4255420000000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

7562:11992:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2005:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2985:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8327:63;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7977:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7603:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2326:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3187:529;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8202:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2225:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3724:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11323:306;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8174:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7658:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7937:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7840:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12396:285;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8015:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2442:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6403:150;;;;;;;;;;;;;:::i;:::-;;11079:236;;;;;;;;;;;;;:::i;:::-;;12818:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8233:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10846:199;;;;;;;;;;;;;:::i;:::-;;6189:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2113:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12995:364;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4022:475;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2593:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12691:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8397:57;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13614:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11637:315;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8126:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7736:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11960:428;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19107:256;;;;;;;;;;;;;:::i;:::-;;2801:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19371:180;;;;;;;;;;;;;:::i;:::-;;7800:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6561:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7705:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2005:100;2059:13;2092:5;2085:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2005:100;:::o;2985:194::-;3093:4;3110:39;3119:12;:10;:12::i;:::-;3133:7;3142:6;3110:8;:39::i;:::-;3167:4;3160:11;;2985:194;;;;:::o;8327:63::-;;;;;;;;;;;;;;;;;;;;;;:::o;7977:31::-;;;;;;;;;;;;;:::o;7603:48::-;;;:::o;2326:108::-;2387:7;2414:12;;2407:19;;2326:108;:::o;3187:529::-;3327:4;3344:36;3354:6;3362:9;3373:6;3344:9;:36::i;:::-;3393:24;3420:11;:19;3432:6;3420:19;;;;;;;;;;;;;;;:33;3440:12;:10;:12::i;:::-;3420:33;;;;;;;;;;;;;;;;3393:60;;3506:6;3486:16;:26;;3464:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;3616:57;3625:6;3633:12;:10;:12::i;:::-;3666:6;3647:16;:25;3616:8;:57::i;:::-;3704:4;3697:11;;;3187:529;;;;;:::o;8202:22::-;;;;:::o;2225:93::-;2283:5;2308:2;2301:9;;2225:93;:::o;3724:290::-;3837:4;3854:130;3877:12;:10;:12::i;:::-;3904:7;3963:10;3926:11;:25;3938:12;:10;:12::i;:::-;3926:25;;;;;;;;;;;;;;;:34;3952:7;3926:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;3854:8;:130::i;:::-;4002:4;3995:11;;3724:290;;;;:::o;11323:306::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11457:4:::1;11449;11444:1;11428:13;:11;:13::i;:::-;:17;;;;:::i;:::-;11427:26;;;;:::i;:::-;11426:35;;;;:::i;:::-;11416:6;:45;;11394:136;;;;;;;;;;;;:::i;:::-;;;;;;;;;11566:8;11556:6;:19;;;;:::i;:::-;11541:12;:34;;;;11591:30;11608:12;;11591:30;;;;;;:::i;:::-;;;;;;;;11323:306:::0;:::o;8174:21::-;;;;:::o;7658:38::-;;;:::o;7937:33::-;;;;;;;;;;;;;:::o;7840:24::-;;;;:::o;12396:285::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12490:7:::1;12481:6;:16;;;;12518:8;12508:7;:18;;;;12563:2;12555:3;12546:6;;:12;;;;:::i;:::-;12545:20;;12537:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;12637:2;12629:3;12619:7;;:13;;;;:::i;:::-;12618:21;;12610:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;12396:285:::0;;:::o;8015:31::-;;;;;;;;;;;;;:::o;2442:143::-;2532:7;2559:9;:18;2569:7;2559:18;;;;;;;;;;;;;;;;2552:25;;2442:143;;;:::o;6403:150::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6512:1:::1;6475:40;;6496:6;;;;;;;;;;;6475:40;;;;;;;;;;;;6543:1;6526:6;;:19;;;;;;;;;;;;;;;;;;6403:150::o:0;11079:236::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11150:5:::1;11133:14;;:22;;;;;;;;;;;;;;;;;;11189:5;11166:20;;:28;;;;;;;;;;;;;;;;;;11248:3;11243:1;11227:13;:11;:13::i;:::-;:17;;;;:::i;:::-;11226:25;;;;:::i;:::-;11205:18;:46;;;;11274:2;11262:9;:14;;;;11292:15;;;;;;;;;;11079:236::o:0;12818:169::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12975:4:::1;12933:31;:39;12965:6;12933:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;12818:169:::0;;:::o;8233:26::-;;;;:::o;10846:199::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10910:11:::1;;;;;;;;;;;10909:12;10901:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;10972:4;10958:11;;:18;;;;;;;;;;;;;;;;;;11001:4;10987:11;;:18;;;;;;;;;;;;;;;;;;11021:16;;;;;;;;;;10846:199::o:0;6189:79::-;6227:7;6254:6;;;;;;;;;;;6247:13;;6189:79;:::o;2113:104::-;2169:13;2202:7;2195:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2113:104;:::o;12995:364::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13143:13:::1;13135:21;;:4;:21;;::::0;13113:128:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;13254:41;13283:4;13289:5;13254:28;:41::i;:::-;13345:5;13311:40;;13339:4;13311:40;;;;;;;;;;;;12995:364:::0;;:::o;4022:475::-;4140:4;4157:24;4184:11;:25;4196:12;:10;:12::i;:::-;4184:25;;;;;;;;;;;;;;;:34;4210:7;4184:34;;;;;;;;;;;;;;;;4157:61;;4271:15;4251:16;:35;;4229:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;4387:67;4396:12;:10;:12::i;:::-;4410:7;4438:15;4419:16;:34;4387:8;:67::i;:::-;4485:4;4478:11;;;4022:475;;;;:::o;2593:200::-;2704:4;2721:42;2731:12;:10;:12::i;:::-;2745:9;2756:6;2721:9;:42::i;:::-;2781:4;2774:11;;2593:200;;;;:::o;12691:117::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12790:10:::1;12772:15;;:28;;;;;;;;;;;;;;;;;;12691:117:::0;:::o;8397:57::-;;;;;;;;;;;;;;;;;;;;;;:::o;13614:182::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13730:8:::1;13699:19;:28;13719:7;13699:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;13770:7;13754:34;;;13779:8;13754:34;;;;;;:::i;:::-;;;;;;;;13614:182:::0;;:::o;11637:315::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11777:4:::1;11769;11764:1;11748:13;:11;:13::i;:::-;:17;;;;:::i;:::-;11747:26;;;;:::i;:::-;11746:35;;;;:::i;:::-;11736:6;:45;;11714:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;11886:8;11876:6;:19;;;;:::i;:::-;11864:9;:31;;;;11911:33;11934:9;;11911:33;;;;;;:::i;:::-;;;;;;;;11637:315:::0;:::o;8126:39::-;;;;;;;;;;;;;:::o;7736:27::-;;;;:::o;11960:428::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12100:6:::1;12095:1;12079:13;:11;:13::i;:::-;:17;;;;:::i;:::-;12078:28;;;;:::i;:::-;12065:9;:41;;12043:144;;;;;;;;;;;;:::i;:::-;;;;;;;;;12255:4;12250:1;12234:13;:11;:13::i;:::-;:17;;;;:::i;:::-;12233:26;;;;:::i;:::-;12220:9;:39;;12198:141;;;;;;;;;;;;:::i;:::-;;;;;;;;;12371:9;12350:18;:30;;;;11960:428:::0;:::o;19107:256::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19201:1:::1;19173:24;19191:4;19173:9;:24::i;:::-;:29;;19165:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;19246:4;19235:8;;:15;;;;;;;;;;;;;;;;;;19261:13;:11;:13::i;:::-;19296:5;19285:8;;:16;;;;;;;;;;;;;;;;;;19317:38;19339:15;19317:38;;;;;;:::i;:::-;;;;;;;;19107:256::o:0;2801:176::-;2915:7;2942:11;:18;2954:5;2942:18;;;;;;;;;;;;;;;:27;2961:7;2942:27;;;;;;;;;;;;;;;;2935:34;;2801:176;;;;:::o;19371:180::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19424:12:::1;19469:10;19461:24;;19493:21;19461:82;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19447:96;;;;;19413:138;19371:180::o:0;7800:33::-;;;;:::o;6561:281::-;6326:12;:10;:12::i;:::-;6316:22;;:6;;;;;;;;;;;:22;;;6308:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6684:1:::1;6664:22;;:8;:22;;::::0;6642:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6797:8;6768:38;;6789:6;;;;;;;;;;;6768:38;;;;;;;;;;;;6826:8;6817:6;;:17;;;;;;;;;;;;;;;;;;6561:281:::0;:::o;7705:24::-;;;;:::o;219:98::-;272:7;299:10;292:17;;219:98;:::o;5458:380::-;5611:1;5594:19;;:5;:19;;;5586:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5692:1;5673:21;;:7;:21;;;5665:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5776:6;5746:11;:18;5758:5;5746:18;;;;;;;;;;;;;;;:27;5765:7;5746:27;;;;;;;;;;;;;;;:36;;;;5814:7;5798:32;;5807:5;5798:32;;;5823:6;5798:32;;;;;;:::i;:::-;;;;;;;;5458:380;;;:::o;13804:3913::-;13952:1;13936:18;;:4;:18;;;13928:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14029:1;14015:16;;:2;:16;;;14007:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14099:1;14090:6;:10;14082:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;14152:11;;;;;;;;;;;14147:181;;14206:19;:25;14226:4;14206:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;14235:19;:23;14255:2;14235:23;;;;;;;;;;;;;;;;;;;;;;;;;14206:52;14180:136;;;;;;;;;;;;:::i;:::-;;;;;;;;;14147:181;14346:14;;;;;;;;;;;14342:2105;;;14407:7;:5;:7::i;:::-;14399:15;;:4;:15;;;;:49;;;;;14441:7;:5;:7::i;:::-;14435:13;;:2;:13;;;;14399:49;:86;;;;;14483:1;14469:16;;:2;:16;;;;14399:86;:128;;;;;14520:6;14506:21;;:2;:21;;;;14399:128;:175;;;;;14549:19;:25;14569:4;14549:25;;;;;;;;;;;;;;;;;;;;;;;;;14548:26;14399:175;:220;;;;;14596:19;:23;14616:2;14596:23;;;;;;;;;;;;;;;;;;;;;;;;;14595:24;14399:220;14377:2059;;;14700:20;;;;;;;;;;;14696:562;;;14789:15;14775:30;;:2;:30;;;;:87;;;;;14848:13;14834:28;;:2;:28;;;;14775:87;14745:494;;;15026:12;14951:28;:39;14980:9;14951:39;;;;;;;;;;;;;;;;:87;14913:221;;;;;;;;;;;;:::i;:::-;;;;;;;;;15203:12;15161:28;:39;15190:9;15161:39;;;;;;;;;;;;;;;:54;;;;14745:494;14696:562;15332:25;:31;15358:4;15332:31;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;15389:31;:35;15421:2;15389:35;;;;;;;;;;;;;;;;;;;;;;;;;15388:36;15332:92;15306:1115;;;15511:12;;15501:6;:22;;15467:148;;;;;;;;;;;;:::i;:::-;;;;;;;;;15698:9;;15681:13;15691:2;15681:9;:13::i;:::-;15672:6;:22;;;;:::i;:::-;:35;;15638:145;;;;;;;;;;;;:::i;:::-;;;;;;;;;15306:1115;;;15881:25;:29;15907:2;15881:29;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;15936:31;:37;15968:4;15936:37;;;;;;;;;;;;;;;;;;;;;;;;;15935:38;15881:92;15855:566;;;16060:12;;16050:6;:22;;16016:149;;;;;;;;;;;;:::i;:::-;;;;;;;;;15855:566;;;16196:31;:35;16228:2;16196:35;;;;;;;;;;;;;;;;;;;;;;;;;16191:230;;16316:9;;16299:13;16309:2;16299:9;:13::i;:::-;16290:6;:22;;;;:::i;:::-;:35;;16256:145;;;;;;;;;;;;:::i;:::-;;;;;;;;;16191:230;15855:566;15306:1115;14377:2059;14342:2105;16459:28;16490:24;16508:4;16490:9;:24::i;:::-;16459:55;;16527:12;16566:18;;16542:20;:42;;16527:57;;16615:7;:35;;;;;16639:11;;;;;;;;;;;16615:35;:61;;;;;16668:8;;;;;;;;;;;16667:9;16615:61;:110;;;;;16694:25;:31;16720:4;16694:31;;;;;;;;;;;;;;;;;;;;;;;;;16693:32;16615:110;:153;;;;;16743:19;:25;16763:4;16743:25;;;;;;;;;;;;;;;;;;;;;;;;;16742:26;16615:153;:194;;;;;16786:19;:23;16806:2;16786:23;;;;;;;;;;;;;;;;;;;;;;;;;16785:24;16615:194;16597:329;;;16847:4;16836:8;;:15;;;;;;;;;;;;;;;;;;16868:13;:11;:13::i;:::-;16909:5;16898:8;;:16;;;;;;;;;;;;;;;;;;16597:329;16938:12;16953:4;16938:19;;16974;:25;16994:4;16974:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;17003:19;:23;17023:2;17003:23;;;;;;;;;;;;;;;;;;;;;;;;;16974:52;16970:100;;;17053:5;17043:15;;16970:100;17082:12;17115:7;17111:553;;;17168:25;:29;17194:2;17168:29;;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;17211:1;17201:7;;:11;17168:44;17164:351;;;17261:3;17250:7;;17241:6;:16;;;;:::i;:::-;17240:24;;;;:::i;:::-;17233:31;;17298:4;17283:11;;:19;;;;;;;:::i;:::-;;;;;;;;17164:351;;;17365:25;:31;17391:4;17365:31;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;17409:1;17400:6;;:10;17365:45;17361:154;;;17458:3;17448:6;;17439;:15;;;;:::i;:::-;17438:23;;;;:::i;:::-;17431:30;;17495:4;17480:11;;:19;;;;;;;:::i;:::-;;;;;;;;17361:154;17164:351;17542:1;17535:4;:8;17531:91;;;17564:42;17580:4;17594;17601;17564:15;:42::i;:::-;17531:91;17648:4;17638:14;;;;;:::i;:::-;;;17111:553;17676:33;17692:4;17698:2;17702:6;17676:15;:33::i;:::-;13917:3800;;;;13804:3913;;;:::o;13367:239::-;13484:5;13450:25;:31;13476:4;13450:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;13502:38;13528:4;13534:5;13502:25;:38::i;:::-;13592:5;13558:40;;13586:4;13558:40;;;;;;;;;;;;13367:239;;:::o;18210:889::-;18252:23;18278:24;18296:4;18278:9;:24::i;:::-;18252:50;;18313:25;18341:11;;18313:39;;18388:1;18369:15;:20;:46;;;;18414:1;18393:17;:22;18369:46;18365:85;;;18432:7;;;;18365:85;18466:14;;;;;;;;;;;18462:352;;;18540:9;;18519:18;;:30;;;;:::i;:::-;18501:15;:48;18497:137;;;18609:9;;18588:18;;:30;;;;:::i;:::-;18570:48;;18497:137;18462:352;;;18709:9;;18688:18;;:30;;;;:::i;:::-;18670:15;:48;18666:137;;;18778:9;;18757:18;;:30;;;;:::i;:::-;18739:48;;18666:137;18462:352;18826:12;18851:33;18868:15;18851:16;:33::i;:::-;18911:1;18897:11;:15;;;;18953:1;18929:21;:25;18925:167;;;18993:15;;;;;;;;;;;18985:29;;19022:21;18985:95;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18971:109;;;;;18925:167;18241:858;;;18210:889;:::o;4505:651::-;4663:1;4645:20;;:6;:20;;;4637:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4747:1;4726:23;;:9;:23;;;4718:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4802:21;4826:9;:17;4836:6;4826:17;;;;;;;;;;;;;;;;4802:41;;4893:6;4876:13;:23;;4854:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;5037:6;5021:13;:22;5001:9;:17;5011:6;5001:17;;;;;;;;;;;;;;;:42;;;;5089:6;5065:9;:20;5075:9;5065:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5130:9;5113:35;;5122:6;5113:35;;;5141:6;5113:35;;;;;;:::i;:::-;;;;;;;;4626:530;4505:651;;;:::o;17725:475::-;17791:21;17829:1;17815:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17791:40;;17860:4;17842;17847:1;17842:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17886:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17876:4;17881:1;17876:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;17921:62;17938:4;17953:15;17971:11;17921:8;:62::i;:::-;17996:15;:66;;;18077:11;18103:1;18119:4;18146;18166:15;17996:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17780:420;17725:475;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:60::-;3809:3;3830:5;3823:12;;3781:60;;;:::o;3847:142::-;3897:9;3930:53;3948:34;3957:24;3975:5;3957:24;:::i;:::-;3948:34;:::i;:::-;3930:53;:::i;:::-;3917:66;;3847:142;;;:::o;3995:126::-;4045:9;4078:37;4109:5;4078:37;:::i;:::-;4065:50;;3995:126;;;:::o;4127:149::-;4200:9;4233:37;4264:5;4233:37;:::i;:::-;4220:50;;4127:149;;;:::o;4282:177::-;4392:60;4446:5;4392:60;:::i;:::-;4387:3;4380:73;4282:177;;:::o;4465:268::-;4581:4;4619:2;4608:9;4604:18;4596:26;;4632:94;4723:1;4712:9;4708:17;4699:6;4632:94;:::i;:::-;4465:268;;;;:::o;4739:118::-;4826:24;4844:5;4826:24;:::i;:::-;4821:3;4814:37;4739:118;;:::o;4863:222::-;4956:4;4994:2;4983:9;4979:18;4971:26;;5007:71;5075:1;5064:9;5060:17;5051:6;5007:71;:::i;:::-;4863:222;;;;:::o;5091:619::-;5168:6;5176;5184;5233:2;5221:9;5212:7;5208:23;5204:32;5201:119;;;5239:79;;:::i;:::-;5201:119;5359:1;5384:53;5429:7;5420:6;5409:9;5405:22;5384:53;:::i;:::-;5374:63;;5330:117;5486:2;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5457:118;5614:2;5640:53;5685:7;5676:6;5665:9;5661:22;5640:53;:::i;:::-;5630:63;;5585:118;5091:619;;;;;:::o;5716:86::-;5751:7;5791:4;5784:5;5780:16;5769:27;;5716:86;;;:::o;5808:112::-;5891:22;5907:5;5891:22;:::i;:::-;5886:3;5879:35;5808:112;;:::o;5926:214::-;6015:4;6053:2;6042:9;6038:18;6030:26;;6066:67;6130:1;6119:9;6115:17;6106:6;6066:67;:::i;:::-;5926:214;;;;:::o;6146:329::-;6205:6;6254:2;6242:9;6233:7;6229:23;6225:32;6222:119;;;6260:79;;:::i;:::-;6222:119;6380:1;6405:53;6450:7;6441:6;6430:9;6426:22;6405:53;:::i;:::-;6395:63;;6351:117;6146:329;;;;:::o;6481:118::-;6568:24;6586:5;6568:24;:::i;:::-;6563:3;6556:37;6481:118;;:::o;6605:222::-;6698:4;6736:2;6725:9;6721:18;6713:26;;6749:71;6817:1;6806:9;6802:17;6793:6;6749:71;:::i;:::-;6605:222;;;;:::o;6833:474::-;6901:6;6909;6958:2;6946:9;6937:7;6933:23;6929:32;6926:119;;;6964:79;;:::i;:::-;6926:119;7084:1;7109:53;7154:7;7145:6;7134:9;7130:22;7109:53;:::i;:::-;7099:63;;7055:117;7211:2;7237:53;7282:7;7273:6;7262:9;7258:22;7237:53;:::i;:::-;7227:63;;7182:118;6833:474;;;;;:::o;7313:116::-;7383:21;7398:5;7383:21;:::i;:::-;7376:5;7373:32;7363:60;;7419:1;7416;7409:12;7363:60;7313:116;:::o;7435:133::-;7478:5;7516:6;7503:20;7494:29;;7532:30;7556:5;7532:30;:::i;:::-;7435:133;;;;:::o;7574:468::-;7639:6;7647;7696:2;7684:9;7675:7;7671:23;7667:32;7664:119;;;7702:79;;:::i;:::-;7664:119;7822:1;7847:53;7892:7;7883:6;7872:9;7868:22;7847:53;:::i;:::-;7837:63;;7793:117;7949:2;7975:50;8017:7;8008:6;7997:9;7993:22;7975:50;:::i;:::-;7965:60;;7920:115;7574:468;;;;;:::o;8048:474::-;8116:6;8124;8173:2;8161:9;8152:7;8148:23;8144:32;8141:119;;;8179:79;;:::i;:::-;8141:119;8299:1;8324:53;8369:7;8360:6;8349:9;8345:22;8324:53;:::i;:::-;8314:63;;8270:117;8426:2;8452:53;8497:7;8488:6;8477:9;8473:22;8452:53;:::i;:::-;8442:63;;8397:118;8048:474;;;;;:::o;8528:180::-;8576:77;8573:1;8566:88;8673:4;8670:1;8663:15;8697:4;8694:1;8687:15;8714:320;8758:6;8795:1;8789:4;8785:12;8775:22;;8842:1;8836:4;8832:12;8863:18;8853:81;;8919:4;8911:6;8907:17;8897:27;;8853:81;8981:2;8973:6;8970:14;8950:18;8947:38;8944:84;;9000:18;;:::i;:::-;8944:84;8765:269;8714:320;;;:::o;9040:227::-;9180:34;9176:1;9168:6;9164:14;9157:58;9249:10;9244:2;9236:6;9232:15;9225:35;9040:227;:::o;9273:366::-;9415:3;9436:67;9500:2;9495:3;9436:67;:::i;:::-;9429:74;;9512:93;9601:3;9512:93;:::i;:::-;9630:2;9625:3;9621:12;9614:19;;9273:366;;;:::o;9645:419::-;9811:4;9849:2;9838:9;9834:18;9826:26;;9898:9;9892:4;9888:20;9884:1;9873:9;9869:17;9862:47;9926:131;10052:4;9926:131;:::i;:::-;9918:139;;9645:419;;;:::o;10070:180::-;10118:77;10115:1;10108:88;10215:4;10212:1;10205:15;10239:4;10236:1;10229:15;10256:191;10296:3;10315:20;10333:1;10315:20;:::i;:::-;10310:25;;10349:20;10367:1;10349:20;:::i;:::-;10344:25;;10392:1;10389;10385:9;10378:16;;10413:3;10410:1;10407:10;10404:36;;;10420:18;;:::i;:::-;10404:36;10256:191;;;;:::o;10453:182::-;10593:34;10589:1;10581:6;10577:14;10570:58;10453:182;:::o;10641:366::-;10783:3;10804:67;10868:2;10863:3;10804:67;:::i;:::-;10797:74;;10880:93;10969:3;10880:93;:::i;:::-;10998:2;10993:3;10989:12;10982:19;;10641:366;;;:::o;11013:419::-;11179:4;11217:2;11206:9;11202:18;11194:26;;11266:9;11260:4;11256:20;11252:1;11241:9;11237:17;11230:47;11294:131;11420:4;11294:131;:::i;:::-;11286:139;;11013:419;;;:::o;11438:410::-;11478:7;11501:20;11519:1;11501:20;:::i;:::-;11496:25;;11535:20;11553:1;11535:20;:::i;:::-;11530:25;;11590:1;11587;11583:9;11612:30;11630:11;11612:30;:::i;:::-;11601:41;;11791:1;11782:7;11778:15;11775:1;11772:22;11752:1;11745:9;11725:83;11702:139;;11821:18;;:::i;:::-;11702:139;11486:362;11438:410;;;;:::o;11854:180::-;11902:77;11899:1;11892:88;11999:4;11996:1;11989:15;12023:4;12020:1;12013:15;12040:185;12080:1;12097:20;12115:1;12097:20;:::i;:::-;12092:25;;12131:20;12149:1;12131:20;:::i;:::-;12126:25;;12170:1;12160:35;;12175:18;;:::i;:::-;12160:35;12217:1;12214;12210:9;12205:14;;12040:185;;;;:::o;12231:228::-;12371:34;12367:1;12359:6;12355:14;12348:58;12440:11;12435:2;12427:6;12423:15;12416:36;12231:228;:::o;12465:366::-;12607:3;12628:67;12692:2;12687:3;12628:67;:::i;:::-;12621:74;;12704:93;12793:3;12704:93;:::i;:::-;12822:2;12817:3;12813:12;12806:19;;12465:366;;;:::o;12837:419::-;13003:4;13041:2;13030:9;13026:18;13018:26;;13090:9;13084:4;13080:20;13076:1;13065:9;13061:17;13054:47;13118:131;13244:4;13118:131;:::i;:::-;13110:139;;12837:419;;;:::o;13262:179::-;13402:31;13398:1;13390:6;13386:14;13379:55;13262:179;:::o;13447:366::-;13589:3;13610:67;13674:2;13669:3;13610:67;:::i;:::-;13603:74;;13686:93;13775:3;13686:93;:::i;:::-;13804:2;13799:3;13795:12;13788:19;;13447:366;;;:::o;13819:419::-;13985:4;14023:2;14012:9;14008:18;14000:26;;14072:9;14066:4;14062:20;14058:1;14047:9;14043:17;14036:47;14100:131;14226:4;14100:131;:::i;:::-;14092:139;;13819:419;;;:::o;14244:179::-;14384:31;14380:1;14372:6;14368:14;14361:55;14244:179;:::o;14429:366::-;14571:3;14592:67;14656:2;14651:3;14592:67;:::i;:::-;14585:74;;14668:93;14757:3;14668:93;:::i;:::-;14786:2;14781:3;14777:12;14770:19;;14429:366;;;:::o;14801:419::-;14967:4;15005:2;14994:9;14990:18;14982:26;;15054:9;15048:4;15044:20;15040:1;15029:9;15025:17;15018:47;15082:131;15208:4;15082:131;:::i;:::-;15074:139;;14801:419;;;:::o;15226:171::-;15366:23;15362:1;15354:6;15350:14;15343:47;15226:171;:::o;15403:366::-;15545:3;15566:67;15630:2;15625:3;15566:67;:::i;:::-;15559:74;;15642:93;15731:3;15642:93;:::i;:::-;15760:2;15755:3;15751:12;15744:19;;15403:366;;;:::o;15775:419::-;15941:4;15979:2;15968:9;15964:18;15956:26;;16028:9;16022:4;16018:20;16014:1;16003:9;15999:17;15992:47;16056:131;16182:4;16056:131;:::i;:::-;16048:139;;15775:419;;;:::o;16200:244::-;16340:34;16336:1;16328:6;16324:14;16317:58;16409:27;16404:2;16396:6;16392:15;16385:52;16200:244;:::o;16450:366::-;16592:3;16613:67;16677:2;16672:3;16613:67;:::i;:::-;16606:74;;16689:93;16778:3;16689:93;:::i;:::-;16807:2;16802:3;16798:12;16791:19;;16450:366;;;:::o;16822:419::-;16988:4;17026:2;17015:9;17011:18;17003:26;;17075:9;17069:4;17065:20;17061:1;17050:9;17046:17;17039:47;17103:131;17229:4;17103:131;:::i;:::-;17095:139;;16822:419;;;:::o;17247:224::-;17387:34;17383:1;17375:6;17371:14;17364:58;17456:7;17451:2;17443:6;17439:15;17432:32;17247:224;:::o;17477:366::-;17619:3;17640:67;17704:2;17699:3;17640:67;:::i;:::-;17633:74;;17716:93;17805:3;17716:93;:::i;:::-;17834:2;17829:3;17825:12;17818:19;;17477:366;;;:::o;17849:419::-;18015:4;18053:2;18042:9;18038:18;18030:26;;18102:9;18096:4;18092:20;18088:1;18077:9;18073:17;18066:47;18130:131;18256:4;18130:131;:::i;:::-;18122:139;;17849:419;;;:::o;18274:231::-;18414:34;18410:1;18402:6;18398:14;18391:58;18483:14;18478:2;18470:6;18466:15;18459:39;18274:231;:::o;18511:366::-;18653:3;18674:67;18738:2;18733:3;18674:67;:::i;:::-;18667:74;;18750:93;18839:3;18750:93;:::i;:::-;18868:2;18863:3;18859:12;18852:19;;18511:366;;;:::o;18883:419::-;19049:4;19087:2;19076:9;19072:18;19064:26;;19136:9;19130:4;19126:20;19122:1;19111:9;19107:17;19100:47;19164:131;19290:4;19164:131;:::i;:::-;19156:139;;18883:419;;;:::o;19308:240::-;19448:34;19444:1;19436:6;19432:14;19425:58;19517:23;19512:2;19504:6;19500:15;19493:48;19308:240;:::o;19554:366::-;19696:3;19717:67;19781:2;19776:3;19717:67;:::i;:::-;19710:74;;19793:93;19882:3;19793:93;:::i;:::-;19911:2;19906:3;19902:12;19895:19;;19554:366;;;:::o;19926:419::-;20092:4;20130:2;20119:9;20115:18;20107:26;;20179:9;20173:4;20169:20;20165:1;20154:9;20150:17;20143:47;20207:131;20333:4;20207:131;:::i;:::-;20199:139;;19926:419;;;:::o;20351:239::-;20491:34;20487:1;20479:6;20475:14;20468:58;20560:22;20555:2;20547:6;20543:15;20536:47;20351:239;:::o;20596:366::-;20738:3;20759:67;20823:2;20818:3;20759:67;:::i;:::-;20752:74;;20835:93;20924:3;20835:93;:::i;:::-;20953:2;20948:3;20944:12;20937:19;;20596:366;;;:::o;20968:419::-;21134:4;21172:2;21161:9;21157:18;21149:26;;21221:9;21215:4;21211:20;21207:1;21196:9;21192:17;21185:47;21249:131;21375:4;21249:131;:::i;:::-;21241:139;;20968:419;;;:::o;21393:167::-;21533:19;21529:1;21521:6;21517:14;21510:43;21393:167;:::o;21566:366::-;21708:3;21729:67;21793:2;21788:3;21729:67;:::i;:::-;21722:74;;21805:93;21894:3;21805:93;:::i;:::-;21923:2;21918:3;21914:12;21907:19;;21566:366;;;:::o;21938:419::-;22104:4;22142:2;22131:9;22127:18;22119:26;;22191:9;22185:4;22181:20;22177:1;22166:9;22162:17;22155:47;22219:131;22345:4;22219:131;:::i;:::-;22211:139;;21938:419;;;:::o;22363:147::-;22464:11;22501:3;22486:18;;22363:147;;;;:::o;22516:114::-;;:::o;22636:398::-;22795:3;22816:83;22897:1;22892:3;22816:83;:::i;:::-;22809:90;;22908:93;22997:3;22908:93;:::i;:::-;23026:1;23021:3;23017:11;23010:18;;22636:398;;;:::o;23040:379::-;23224:3;23246:147;23389:3;23246:147;:::i;:::-;23239:154;;23410:3;23403:10;;23040:379;;;:::o;23425:225::-;23565:34;23561:1;23553:6;23549:14;23542:58;23634:8;23629:2;23621:6;23617:15;23610:33;23425:225;:::o;23656:366::-;23798:3;23819:67;23883:2;23878:3;23819:67;:::i;:::-;23812:74;;23895:93;23984:3;23895:93;:::i;:::-;24013:2;24008:3;24004:12;23997:19;;23656:366;;;:::o;24028:419::-;24194:4;24232:2;24221:9;24217:18;24209:26;;24281:9;24275:4;24271:20;24267:1;24256:9;24252:17;24245:47;24309:131;24435:4;24309:131;:::i;:::-;24301:139;;24028:419;;;:::o;24453:223::-;24593:34;24589:1;24581:6;24577:14;24570:58;24662:6;24657:2;24649:6;24645:15;24638:31;24453:223;:::o;24682:366::-;24824:3;24845:67;24909:2;24904:3;24845:67;:::i;:::-;24838:74;;24921:93;25010:3;24921:93;:::i;:::-;25039:2;25034:3;25030:12;25023:19;;24682:366;;;:::o;25054:419::-;25220:4;25258:2;25247:9;25243:18;25235:26;;25307:9;25301:4;25297:20;25293:1;25282:9;25278:17;25271:47;25335:131;25461:4;25335:131;:::i;:::-;25327:139;;25054:419;;;:::o;25479:221::-;25619:34;25615:1;25607:6;25603:14;25596:58;25688:4;25683:2;25675:6;25671:15;25664:29;25479:221;:::o;25706:366::-;25848:3;25869:67;25933:2;25928:3;25869:67;:::i;:::-;25862:74;;25945:93;26034:3;25945:93;:::i;:::-;26063:2;26058:3;26054:12;26047:19;;25706:366;;;:::o;26078:419::-;26244:4;26282:2;26271:9;26267:18;26259:26;;26331:9;26325:4;26321:20;26317:1;26306:9;26302:17;26295:47;26359:131;26485:4;26359:131;:::i;:::-;26351:139;;26078:419;;;:::o;26503:224::-;26643:34;26639:1;26631:6;26627:14;26620:58;26712:7;26707:2;26699:6;26695:15;26688:32;26503:224;:::o;26733:366::-;26875:3;26896:67;26960:2;26955:3;26896:67;:::i;:::-;26889:74;;26972:93;27061:3;26972:93;:::i;:::-;27090:2;27085:3;27081:12;27074:19;;26733:366;;;:::o;27105:419::-;27271:4;27309:2;27298:9;27294:18;27286:26;;27358:9;27352:4;27348:20;27344:1;27333:9;27329:17;27322:47;27386:131;27512:4;27386:131;:::i;:::-;27378:139;;27105:419;;;:::o;27530:222::-;27670:34;27666:1;27658:6;27654:14;27647:58;27739:5;27734:2;27726:6;27722:15;27715:30;27530:222;:::o;27758:366::-;27900:3;27921:67;27985:2;27980:3;27921:67;:::i;:::-;27914:74;;27997:93;28086:3;27997:93;:::i;:::-;28115:2;28110:3;28106:12;28099:19;;27758:366;;;:::o;28130:419::-;28296:4;28334:2;28323:9;28319:18;28311:26;;28383:9;28377:4;28373:20;28369:1;28358:9;28354:17;28347:47;28411:131;28537:4;28411:131;:::i;:::-;28403:139;;28130:419;;;:::o;28555:179::-;28695:31;28691:1;28683:6;28679:14;28672:55;28555:179;:::o;28740:366::-;28882:3;28903:67;28967:2;28962:3;28903:67;:::i;:::-;28896:74;;28979:93;29068:3;28979:93;:::i;:::-;29097:2;29092:3;29088:12;29081:19;;28740:366;;;:::o;29112:419::-;29278:4;29316:2;29305:9;29301:18;29293:26;;29365:9;29359:4;29355:20;29351:1;29340:9;29336:17;29329:47;29393:131;29519:4;29393:131;:::i;:::-;29385:139;;29112:419;;;:::o;29537:172::-;29677:24;29673:1;29665:6;29661:14;29654:48;29537:172;:::o;29715:366::-;29857:3;29878:67;29942:2;29937:3;29878:67;:::i;:::-;29871:74;;29954:93;30043:3;29954:93;:::i;:::-;30072:2;30067:3;30063:12;30056:19;;29715:366;;;:::o;30087:419::-;30253:4;30291:2;30280:9;30276:18;30268:26;;30340:9;30334:4;30330:20;30326:1;30315:9;30311:17;30304:47;30368:131;30494:4;30368:131;:::i;:::-;30360:139;;30087:419;;;:::o;30512:223::-;30652:34;30648:1;30640:6;30636:14;30629:58;30721:6;30716:2;30708:6;30704:15;30697:31;30512:223;:::o;30741:366::-;30883:3;30904:67;30968:2;30963:3;30904:67;:::i;:::-;30897:74;;30980:93;31069:3;30980:93;:::i;:::-;31098:2;31093:3;31089:12;31082:19;;30741:366;;;:::o;31113:419::-;31279:4;31317:2;31306:9;31302:18;31294:26;;31366:9;31360:4;31356:20;31352:1;31341:9;31337:17;31330:47;31394:131;31520:4;31394:131;:::i;:::-;31386:139;;31113:419;;;:::o;31538:227::-;31678:34;31674:1;31666:6;31662:14;31655:58;31747:10;31742:2;31734:6;31730:15;31723:35;31538:227;:::o;31771:366::-;31913:3;31934:67;31998:2;31993:3;31934:67;:::i;:::-;31927:74;;32010:93;32099:3;32010:93;:::i;:::-;32128:2;32123:3;32119:12;32112:19;;31771:366;;;:::o;32143:419::-;32309:4;32347:2;32336:9;32332:18;32324:26;;32396:9;32390:4;32386:20;32382:1;32371:9;32367:17;32360:47;32424:131;32550:4;32424:131;:::i;:::-;32416:139;;32143:419;;;:::o;32568:174::-;32708:26;32704:1;32696:6;32692:14;32685:50;32568:174;:::o;32748:366::-;32890:3;32911:67;32975:2;32970:3;32911:67;:::i;:::-;32904:74;;32987:93;33076:3;32987:93;:::i;:::-;33105:2;33100:3;33096:12;33089:19;;32748:366;;;:::o;33120:419::-;33286:4;33324:2;33313:9;33309:18;33301:26;;33373:9;33367:4;33363:20;33359:1;33348:9;33344:17;33337:47;33401:131;33527:4;33401:131;:::i;:::-;33393:139;;33120:419;;;:::o;33545:228::-;33685:34;33681:1;33673:6;33669:14;33662:58;33754:11;33749:2;33741:6;33737:15;33730:36;33545:228;:::o;33779:366::-;33921:3;33942:67;34006:2;34001:3;33942:67;:::i;:::-;33935:74;;34018:93;34107:3;34018:93;:::i;:::-;34136:2;34131:3;34127:12;34120:19;;33779:366;;;:::o;34151:419::-;34317:4;34355:2;34344:9;34340:18;34332:26;;34404:9;34398:4;34394:20;34390:1;34379:9;34375:17;34368:47;34432:131;34558:4;34432:131;:::i;:::-;34424:139;;34151:419;;;:::o;34576:194::-;34616:4;34636:20;34654:1;34636:20;:::i;:::-;34631:25;;34670:20;34688:1;34670:20;:::i;:::-;34665:25;;34714:1;34711;34707:9;34699:17;;34738:1;34732:4;34729:11;34726:37;;;34743:18;;:::i;:::-;34726:37;34576:194;;;;:::o;34776:225::-;34916:34;34912:1;34904:6;34900:14;34893:58;34985:8;34980:2;34972:6;34968:15;34961:33;34776:225;:::o;35007:366::-;35149:3;35170:67;35234:2;35229:3;35170:67;:::i;:::-;35163:74;;35246:93;35335:3;35246:93;:::i;:::-;35364:2;35359:3;35355:12;35348:19;;35007:366;;;:::o;35379:419::-;35545:4;35583:2;35572:9;35568:18;35560:26;;35632:9;35626:4;35622:20;35618:1;35607:9;35603:17;35596:47;35660:131;35786:4;35660:131;:::i;:::-;35652:139;;35379:419;;;:::o;35804:180::-;35852:77;35849:1;35842:88;35949:4;35946:1;35939:15;35973:4;35970:1;35963:15;35990:180;36038:77;36035:1;36028:88;36135:4;36132:1;36125:15;36159:4;36156:1;36149:15;36176:143;36233:5;36264:6;36258:13;36249:22;;36280:33;36307:5;36280:33;:::i;:::-;36176:143;;;;:::o;36325:351::-;36395:6;36444:2;36432:9;36423:7;36419:23;36415:32;36412:119;;;36450:79;;:::i;:::-;36412:119;36570:1;36595:64;36651:7;36642:6;36631:9;36627:22;36595:64;:::i;:::-;36585:74;;36541:128;36325:351;;;;:::o;36682:85::-;36727:7;36756:5;36745:16;;36682:85;;;:::o;36773:158::-;36831:9;36864:61;36882:42;36891:32;36917:5;36891:32;:::i;:::-;36882:42;:::i;:::-;36864:61;:::i;:::-;36851:74;;36773:158;;;:::o;36937:147::-;37032:45;37071:5;37032:45;:::i;:::-;37027:3;37020:58;36937:147;;:::o;37090:114::-;37157:6;37191:5;37185:12;37175:22;;37090:114;;;:::o;37210:184::-;37309:11;37343:6;37338:3;37331:19;37383:4;37378:3;37374:14;37359:29;;37210:184;;;;:::o;37400:132::-;37467:4;37490:3;37482:11;;37520:4;37515:3;37511:14;37503:22;;37400:132;;;:::o;37538:108::-;37615:24;37633:5;37615:24;:::i;:::-;37610:3;37603:37;37538:108;;:::o;37652:179::-;37721:10;37742:46;37784:3;37776:6;37742:46;:::i;:::-;37820:4;37815:3;37811:14;37797:28;;37652:179;;;;:::o;37837:113::-;37907:4;37939;37934:3;37930:14;37922:22;;37837:113;;;:::o;37986:732::-;38105:3;38134:54;38182:5;38134:54;:::i;:::-;38204:86;38283:6;38278:3;38204:86;:::i;:::-;38197:93;;38314:56;38364:5;38314:56;:::i;:::-;38393:7;38424:1;38409:284;38434:6;38431:1;38428:13;38409:284;;;38510:6;38504:13;38537:63;38596:3;38581:13;38537:63;:::i;:::-;38530:70;;38623:60;38676:6;38623:60;:::i;:::-;38613:70;;38469:224;38456:1;38453;38449:9;38444:14;;38409:284;;;38413:14;38709:3;38702:10;;38110:608;;;37986:732;;;;:::o;38724:831::-;38987:4;39025:3;39014:9;39010:19;39002:27;;39039:71;39107:1;39096:9;39092:17;39083:6;39039:71;:::i;:::-;39120:80;39196:2;39185:9;39181:18;39172:6;39120:80;:::i;:::-;39247:9;39241:4;39237:20;39232:2;39221:9;39217:18;39210:48;39275:108;39378:4;39369:6;39275:108;:::i;:::-;39267:116;;39393:72;39461:2;39450:9;39446:18;39437:6;39393:72;:::i;:::-;39475:73;39543:3;39532:9;39528:19;39519:6;39475:73;:::i;:::-;38724:831;;;;;;;;:::o

Swarm Source

ipfs://56b8d9e77f454f5b6cd59d72252ff87c8b3a7126522b28702aa40f10a487873d
Loading