ETH Price: $3,053.49 (+1.27%)
Gas: 3 Gwei

Token

HairyPopperJuicyBootyLordTickler (POPPER)
 

Overview

Max Total Supply

69,690,690,690,690 POPPER

Holders

139

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
505,185,836,258.752127738 POPPER

Value
$0.00
0x16dc7c9dbe0536c9f03025fbf96b9eef95ee8770
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:
HairyPopperJuicyBootyLordTickler

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-27
*/

/*

Website: https://Frustrated.io
Telegram: https://t.me/FrustratedPortal
Twitter: https://x.com/FrustratedETH

╭━━━┳━━━┳╮╱╭┳━━━┳━━━━┳━━━┳━━━┳━━━━┳━━━┳━━━╮
┃╭━━┫╭━╮┃┃╱┃┃╭━╮┃╭╮╭╮┃╭━╮┃╭━╮┃╭╮╭╮┃╭━━┻╮╭╮┃
┃╰━━┫╰━╯┃┃╱┃┃╰━━╋╯┃┃╰┫╰━╯┃┃╱┃┣╯┃┃╰┫╰━━╮┃┃┃┃
┃╭━━┫╭╮╭┫┃╱┃┣━━╮┃╱┃┃╱┃╭╮╭┫╰━╯┃╱┃┃╱┃╭━━╯┃┃┃┃
┃┃╱╱┃┃┃╰┫╰━╯┃╰━╯┃╱┃┃╱┃┃┃╰┫╭━╮┃╱┃┃╱┃╰━━┳╯╰╯┃
╰╯╱╱╰╯╰━┻━━━┻━━━╯╱╰╯╱╰╯╰━┻╯╱╰╯╱╰╯╱╰━━━┻━━━╯

*/

// SPDX-License-Identifier: Unlicensed


pragma solidity 0.8.21;

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}



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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

contract Ownable is Context {
    address public _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;        
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

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

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

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

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

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

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

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

interface InterfaceLP {
    function sync() external;
}


library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract HairyPopperJuicyBootyLordTickler is Ownable, ERC20 {
    using SafeMath for uint256;

    address WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;
    

    string constant _name = "HairyPopperJuicyBootyLordTickler";
    string constant _symbol = "POPPER";
    uint8 constant _decimals = 9; 


    event AutoLiquify(uint256 amountETH, uint256 amountTokens);
    event EditTax(uint8 Buy, uint8 Sell, uint8 Transfer);
    event user_exemptfromfees(address Wallet, bool Exempt);
    event user_TxExempt(address Wallet, bool Exempt);
    event ClearStuck(uint256 amount);
    event ClearToken(address TokenAddressCleared, uint256 Amount);
    event set_Receivers(address marketingFeeReceiver, address teamFeeReceiver,address burnFeeReceiver,address devFeeReceiver);
    event set_MaxWallet(uint256 maxWallet);
    event set_SwapBack(uint256 Amount, bool Enabled);
  
    uint256 _totalSupply = 69690690690690 * 10**_decimals; 

    uint256 public _maxTxAmount = _totalSupply.mul(100).div(100);
    uint256 public _maxWalletToken = _totalSupply.mul(5).div(1000);

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;  
    mapping (address => bool) isexemptfromfees;
    mapping (address => bool) isexemptfrommaxTX;

    //set your overall tax here.

    uint256 private liquidityFee    = 0;
    uint256 private marketingFee    = 5;
    uint256 private devFee          = 0;
    uint256 private teamFee         = 0; 
    uint256 private burnFee         = 0;
    uint256 public totalFee         = teamFee + marketingFee + liquidityFee + devFee + burnFee;
    uint256 private feeDenominator  = 100;

    // below adjusts the sell , transfer and buy. 200 = 2x , 50 = .5x etc

    uint256 sellpercent = 200; // 200 = 2x the above so 10%  sell
    uint256 buypercent = 100;
    uint256 transferpercent = 200; // 200 = 2x the above so 10%  sell

    address private autoLiquidityReceiver;
    address private marketingFeeReceiver;
    address private devFeeReceiver;
    address private teamFeeReceiver;
    address private burnFeeReceiver;
    
    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;
   
    IDEXRouter public router;
    InterfaceLP private pairContract;
    address public pair;
    bool public TradingOpen = true; 
  
    bool public swapEnabled = true;
    uint256 public swapThreshold = 70000000000 * 10**_decimals; 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
    
    constructor () {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        pairContract = InterfaceLP(pair);
               
        _allowances[address(this)][address(router)] = type(uint256).max;

        isexemptfromfees[msg.sender] = true;            
        isexemptfrommaxTX[msg.sender] = true;
        isexemptfrommaxTX[pair] = true;
        isexemptfrommaxTX[marketingFeeReceiver] = true;
        isexemptfrommaxTX[address(this)] = true;
        authorizations[marketingFeeReceiver] = true;
        
        
        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = 0x7DEea44dDB07c04F53172505354FE62D12A40220;
        devFeeReceiver = msg.sender;
        teamFeeReceiver = msg.sender;
        burnFeeReceiver = DEAD; 

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) {return owner();}
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

        function setMaxWallet(uint256 maxWallPercent) external onlyOwner {
         require(maxWallPercent >= 1); 
        _maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
        emit set_MaxWallet(_maxWalletToken);
                
    }

      function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

       
    function enableTrading() public onlyOwner {
        TradingOpen = true;

    }

    function setWhitelistAddresss(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
        isTxLimitExempt[holder] = exempt;
    }

      
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient] && recipient !=marketingFeeReceiver && sender !=marketingFeeReceiver) {
            require(TradingOpen,"Trading not open yet");
        
          }
        
               
        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isexemptfrommaxTX[recipient]){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}

        checkTxLimit(sender, amount); 
      
        if(shouldSwapBack()){ swapBack(); }
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isexemptfromfees[sender] || isexemptfromfees[recipient]) ? amount : takeFee(sender, amount, recipient);
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
 
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
    require(amount <= _maxTxAmount || isexemptfrommaxTX[sender], "TX Limit Exceeded");
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isexemptfromfees[sender];
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        
        uint256 percent = transferpercent;
        if(recipient == pair) {
            percent = sellpercent;
        } else if(sender == pair) {
            percent = buypercent;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(percent).div(feeDenominator * 100);
        uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(burnTokens);
        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
        emit Transfer(sender, address(this), contractTokens);
        
        
        if(burnTokens > 0){
            _totalSupply = _totalSupply.sub(burnTokens);
            emit Transfer(sender, ZERO, burnTokens);  
        
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

  
     function clearStuckETH() external { 
             payable(marketingFeeReceiver).transfer(address(this).balance);
            
    }

    function removeLimits() external {
        _maxTxAmount = _totalSupply;
        _maxWalletToken = _totalSupply;

    }

    function clearStuckToken(address tokenAddress, uint256 tokens) public onlyOwner returns (bool) {
     require(tokenAddress != address(this), "Owner cannot claim native tokens"); 
     if(tokens == 0){
            tokens = ERC20 (tokenAddress).balanceOf(address(this));
        }
        return ERC20 (tokenAddress).transfer(msg.sender, tokens);
    }

    
    function setFeeMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) public onlyOwner {
        sellpercent = _sell;
        buypercent = _buy;
        transferpercent = _trans;    

        require(totalFee.mul(buypercent).div(100) < 12, "Buy Tax cannot be more than 12%");
        require(totalFee.mul(sellpercent).div(100) < 12, "Sell Tax cannot be more than 12%");
        require(totalFee.mul(transferpercent).div(100) < 12, "Transfer Tax cannot be more than 12%");
 
    }
       
     function swapBack() internal swapping {
        
        uint256 totalETHFee = totalFee;

        uint256 amountToLiquify = (swapThreshold * liquidityFee)/(totalETHFee * 2);
        uint256 amountToSwap = swapThreshold - amountToLiquify;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

         uint256 amountETH = address(this).balance;

         totalETHFee = totalETHFee - (liquidityFee / 2);
        
        uint256 amountETHLiquidity = (amountETH * liquidityFee) / (totalETHFee * 2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHteam = amountETH.mul(teamFee).div(totalETHFee);
        uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}("");
        (tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHteam}("");
        
        tmpSuccess = false;

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }
    
  
    function set_fees() internal {
      
        emit EditTax( uint8(totalFee.mul(buypercent).div(100)),
            uint8(totalFee.mul(sellpercent).div(100)),
            uint8(totalFee.mul(transferpercent).div(100))
            );
    }
    
    function setTax(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        teamFee = _teamFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        burnFee = _burnFee;
        totalFee = _liquidityFee.add(_teamFee).add(_marketingFee).add(_devFee).add(_burnFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator / 4, "Fees can not be more than 25%"); 
        set_fees();
    }

   
    function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _teamFeeReceiver) external onlyOwner {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
        burnFeeReceiver = _burnFeeReceiver;
        teamFeeReceiver = _teamFeeReceiver;

        emit set_Receivers(marketingFeeReceiver, teamFeeReceiver, burnFeeReceiver, devFeeReceiver);
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
        emit set_SwapBack(swapThreshold, swapEnabled);
    }

       
    function circulatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }


}

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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClearStuck","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"Buy","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Sell","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Transfer","type":"uint8"}],"name":"EditTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"set_MaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"teamFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"burnFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"devFeeReceiver","type":"address"}],"name":"set_Receivers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"Enabled","type":"bool"}],"name":"set_SwapBack","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_TxExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_exemptfromfees","type":"event"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"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":"circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setFeeMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setWhitelistAddresss","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a62000014919062000d6b565b653f6220dcde8262000027919062000dbb565b60035562000057606462000048606460035462000a9b60201b90919060201c565b62000b1b60201b90919060201c565b600455620000886103e862000079600560035462000a9b60201b90919060201c565b62000b1b60201b90919060201c565b6005555f600a556005600b555f600c555f600d555f600e55600e54600c54600a54600b54600d54620000bb919062000e05565b620000c7919062000e05565b620000d3919062000e05565b620000df919062000e05565b600f55606460105560c8601155606460125560c86013556001601d60146101000a81548160ff0219169083151502179055506001601d60156101000a81548160ff0219169083151502179055506009600a6200013c919062000d6b565b64104c533c006200014e919062000dbb565b601e553480156200015d575f80fd5b505f6200016f62000b6c60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001805f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d601b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200033e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000364919062000ea4565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200040e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000434919062000ea4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200049192919062000ee5565b6020604051808303815f875af1158015620004ae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004d4919062000ea4565b601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001805f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503360145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737deea44ddb07c04f53172505354fe62d12a4022060155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead60185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035460065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000a8d919062000f21565b60405180910390a3620010ea565b5f80830362000aad575f905062000b15565b5f828462000abc919062000dbb565b905082848262000acd919062000f69565b1462000b10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b079062001024565b60405180910390fd5b809150505b92915050565b5f62000b6483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000b7360201b60201c565b905092915050565b5f33905090565b5f808311829062000bbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bb39190620010c8565b60405180910390fd5b505f838562000bcc919062000f69565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000c635780860481111562000c3b5762000c3a62000bd9565b5b600185161562000c4b5780820291505b808102905062000c5b8562000c06565b945062000c1b565b94509492505050565b5f8262000c7d576001905062000d4f565b8162000c8c575f905062000d4f565b816001811462000ca5576002811462000cb05762000ce6565b600191505062000d4f565b60ff84111562000cc55762000cc462000bd9565b5b8360020a91508482111562000cdf5762000cde62000bd9565b5b5062000d4f565b5060208310610133831016604e8410600b841016171562000d205782820a90508381111562000d1a5762000d1962000bd9565b5b62000d4f565b62000d2f848484600162000c12565b9250905081840481111562000d495762000d4862000bd9565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000d778262000d56565b915062000d848362000d5f565b925062000db37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c6c565b905092915050565b5f62000dc78262000d56565b915062000dd48362000d56565b925082820262000de48162000d56565b9150828204841483151762000dfe5762000dfd62000bd9565b5b5092915050565b5f62000e118262000d56565b915062000e1e8362000d56565b925082820190508082111562000e395762000e3862000bd9565b5b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000e6e8262000e43565b9050919050565b62000e808162000e62565b811462000e8b575f80fd5b50565b5f8151905062000e9e8162000e75565b92915050565b5f6020828403121562000ebc5762000ebb62000e3f565b5b5f62000ecb8482850162000e8e565b91505092915050565b62000edf8162000e62565b82525050565b5f60408201905062000efa5f83018562000ed4565b62000f09602083018462000ed4565b9392505050565b62000f1b8162000d56565b82525050565b5f60208201905062000f365f83018462000f10565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000f758262000d56565b915062000f828362000d56565b92508262000f955762000f9462000f3c565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6200100c60218362000fa0565b9150620010198262000fb0565b604082019050919050565b5f6020820190508181035f8301526200103d8162000ffe565b9050919050565b5f81519050919050565b5f5b838110156200106d57808201518184015260208101905062001050565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620010948262001044565b620010a0818562000fa0565b9350620010b28185602086016200104e565b620010bd8162001078565b840191505092915050565b5f6020820190508181035f830152620010e2818462001088565b905092915050565b61449980620010f85f395ff3fe608060405260043610610207575f3560e01c8063751039fc11610117578063a8aa1b311161009f578063dd62ed3e1161006e578063dd62ed3e14610722578063df20fd491461075e578063f2fde38b14610786578063f887ea40146107ae578063f88de0c3146107d85761020e565b8063a8aa1b311461066a578063a9059cbb14610694578063b2bdfa7b146106d0578063b6a5d7de146106fa5761020e565b8063893d20e8116100e6578063893d20e8146105ac5780638a8c523c146105d65780638da5cb5b146105ec5780639358928b1461061657806395d89b41146106405761020e565b8063751039fc1461050657806377b54bad1461051c57806378109e54146105585780637d1db4a5146105825761020e565b80631df4ccfc1161019a578063571ac8b011610169578063571ac8b0146104265780635d0044ca146104625780636ddd17131461048a57806370a08231146104b4578063715018a6146104f05761020e565b80631df4ccfc1461036e57806323b872dd1461039857806326f85dbe146103d4578063313ce567146103fc5761020e565b806311f630f3116101d657806311f630f3146102cc578063169bb498146102f457806318160ddd1461031c57806318abb635146103465761020e565b80630445b6671461021257806306fdde031461023c57806308fd3d0514610266578063095ea7b3146102905761020e565b3661020e57005b5f80fd5b34801561021d575f80fd5b506102266107ee565b6040516102339190613457565b60405180910390f35b348015610247575f80fd5b506102506107f4565b60405161025d91906134fa565b60405180910390f35b348015610271575f80fd5b5061027a610831565b6040516102879190613534565b60405180910390f35b34801561029b575f80fd5b506102b660048036038101906102b191906135d5565b610844565b6040516102c39190613534565b60405180910390f35b3480156102d7575f80fd5b506102f260048036038101906102ed9190613613565b610931565b005b3480156102ff575f80fd5b5061031a6004803603810190610315919061369c565b610aa0565b005b348015610327575f80fd5b50610330610c92565b60405161033d9190613457565b60405180910390f35b348015610351575f80fd5b5061036c600480360381019061036791906136ec565b610c9b565b005b348015610379575f80fd5b50610382610f37565b60405161038f9190613457565b60405180910390f35b3480156103a3575f80fd5b506103be60048036038101906103b99190613763565b610f3d565b6040516103cb9190613534565b60405180910390f35b3480156103df575f80fd5b506103fa60048036038101906103f591906137dd565b611130565b005b348015610407575f80fd5b50610410611270565b60405161041d9190613836565b60405180910390f35b348015610431575f80fd5b5061044c6004803603810190610447919061384f565b611278565b6040516104599190613534565b60405180910390f35b34801561046d575f80fd5b506104886004803603810190610483919061387a565b6112aa565b005b348015610495575f80fd5b5061049e6113a8565b6040516104ab9190613534565b60405180910390f35b3480156104bf575f80fd5b506104da60048036038101906104d5919061384f565b6113bb565b6040516104e79190613457565b60405180910390f35b3480156104fb575f80fd5b50610504611401565b005b348015610511575f80fd5b5061051a61154f565b005b348015610527575f80fd5b50610542600480360381019061053d91906135d5565b611563565b60405161054f9190613534565b60405180910390f35b348015610563575f80fd5b5061056c61176b565b6040516105799190613457565b60405180910390f35b34801561058d575f80fd5b50610596611771565b6040516105a39190613457565b60405180910390f35b3480156105b7575f80fd5b506105c0611777565b6040516105cd91906138b4565b60405180910390f35b3480156105e1575f80fd5b506105ea611785565b005b3480156105f7575f80fd5b50610600611836565b60405161060d91906138b4565b60405180910390f35b348015610621575f80fd5b5061062a61185d565b6040516106379190613457565b60405180910390f35b34801561064b575f80fd5b5061065461189c565b60405161066191906134fa565b60405180910390f35b348015610675575f80fd5b5061067e6118d9565b60405161068b91906138b4565b60405180910390f35b34801561069f575f80fd5b506106ba60048036038101906106b591906135d5565b6118fe565b6040516106c79190613534565b60405180910390f35b3480156106db575f80fd5b506106e4611912565b6040516106f191906138b4565b60405180910390f35b348015610705575f80fd5b50610720600480360381019061071b919061384f565b611935565b005b34801561072d575f80fd5b50610748600480360381019061074391906138cd565b611a20565b6040516107559190613457565b60405180910390f35b348015610769575f80fd5b50610784600480360381019061077f919061390b565b611aa2565b005b348015610791575f80fd5b506107ac60048036038101906107a7919061384f565b611ba5565b005b3480156107b9575f80fd5b506107c2611d62565b6040516107cf91906139a4565b60405180910390f35b3480156107e3575f80fd5b506107ec611d87565b005b601e5481565b60606040518060400160405280602081526020017f4861697279506f707065724a75696379426f6f74794c6f72645469636b6c6572815250905090565b601d60149054906101000a900460ff1681565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161091f9190613457565b60405180910390a36001905092915050565b610939611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90613a07565b60405180910390fd5b85600a8190555084600d8190555083600b8190555082600c8190555081600e81905550610a3182610a2385610a1588610a078b8d611df590919063ffffffff16565b611df590919063ffffffff16565b611df590919063ffffffff16565b611df590919063ffffffff16565b600f81905550806010819055506004601054610a4d9190613a7f565b600f5410610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8790613af9565b60405180910390fd5b610a98611e52565b505050505050565b610aa8611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2b90613a07565b60405180910390fd5b816011819055508260128190555080601381905550600c610b756064610b67601254600f54611f0a90919063ffffffff16565b611f8190919063ffffffff16565b10610bb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bac90613b61565b60405180910390fd5b600c610be16064610bd3601154600f54611f0a90919063ffffffff16565b611f8190919063ffffffff16565b10610c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1890613bc9565b60405180910390fd5b600c610c4d6064610c3f601354600f54611f0a90919063ffffffff16565b611f8190919063ffffffff16565b10610c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8490613c57565b60405180910390fd5b505050565b5f600354905090565b610ca3611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2690613a07565b60405180910390fd5b8460145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b1560155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610f289493929190613c75565b60405180910390a15050505050565b600f5481565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541461111c5761109f826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e63650000000000000000000081525060075f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fca9092919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b61112784848461202c565b90509392505050565b611138611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bb90613a07565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f6009905090565b5f6112a3827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610844565b9050919050565b6112b2611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461133e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133590613a07565b60405180910390fd5b600181101561134b575f80fd5b6103e88160035461135c9190613cb8565b6113669190613a7f565b6005819055507f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be5160055460405161139d9190613457565b60405180910390a150565b601d60159054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611409611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148c90613a07565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600354600481905550600354600581905550565b5f61156c611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90613a07565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90613d43565b60405180910390fd5b5f82036116e8578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116a691906138b4565b602060405180830381865afa1580156116c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e59190613d75565b91505b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401611723929190613da0565b6020604051808303815f875af115801561173f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117639190613ddb565b905092915050565b60055481565b60045481565b5f611780611836565b905090565b61178d611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181090613a07565b60405180910390fd5b6001601d60146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f61189761186a5f6113bb565b61188961187861dead6113bb565b60035461271590919063ffffffff16565b61271590919063ffffffff16565b905090565b60606040518060400160405280600681526020017f504f505045520000000000000000000000000000000000000000000000000000815250905090565b601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61190a33848461202c565b905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61193d611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c090613a07565b60405180910390fd5b6001805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611aaa611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2d90613a07565b60405180910390fd5b81601d60156101000a81548160ff02191690831515021790555080601e819055507f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60601e54601d60159054906101000a900460ff16604051611b99929190613e06565b60405180910390a15050565b611bad611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3090613a07565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ca7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9e90613e9d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611deb573d5f803e3d5ffd5b50565b5f33905090565b5f808284611e039190613ebb565b905083811015611e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3f90613f38565b60405180910390fd5b8091505092915050565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b932800611e9d6064611e8f601254600f54611f0a90919063ffffffff16565b611f8190919063ffffffff16565b611ec76064611eb9601154600f54611f0a90919063ffffffff16565b611f8190919063ffffffff16565b611ef16064611ee3601354600f54611f0a90919063ffffffff16565b611f8190919063ffffffff16565b604051611f0093929190613f56565b60405180910390a1565b5f808303611f1a575f9050611f7b565b5f8284611f279190613cb8565b9050828482611f369190613a7f565b14611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d90613ffb565b60405180910390fd5b809150505b92915050565b5f611fc283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061275e565b905092915050565b5f838311158290612011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200891906134fa565b60405180910390fd5b505f838561201f9190614019565b9050809150509392505050565b5f601f5f9054906101000a900460ff16156120535761204c8484846127bf565b905061270e565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156120f1575060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561214a575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156121a3575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156121f857601d60149054906101000a900460ff166121f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ee90614096565b60405180910390fd5b5b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561227b57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156122b5575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561230e5750601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612367575060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156123c0575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612413575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612476575f612422846113bb565b905060055483826124339190613ebb565b1115612474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246b90614124565b60405180910390fd5b505b6124808483612989565b612488612a23565b1561249657612495612af5565b5b61251d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fca9092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806125fa575060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61260e57612609858486613081565b612610565b825b90506126628160065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611df590919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127009190613457565b60405180910390a360019150505b9392505050565b5f61275683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fca565b905092915050565b5f80831182906127a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279b91906134fa565b60405180910390fd5b505f83856127b29190613a7f565b9050809150509392505050565b5f612847826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fca9092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506128d88260065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611df590919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129769190613457565b60405180910390a3600190509392505050565b600454811115806129e0575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612a1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a169061418c565b60405180910390fd5b5050565b5f601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015612a8d5750601f5f9054906101000a900460ff16155b8015612aa55750601d60159054906101000a900460ff165b8015612af05750601e5460065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b905090565b6001601f5f6101000a81548160ff0219169083151502179055505f600f5490505f600282612b239190613cb8565b600a54601e54612b339190613cb8565b612b3d9190613a7f565b90505f81601e54612b4e9190614019565b90505f600267ffffffffffffffff811115612b6c57612b6b6141aa565b5b604051908082528060200260200182016040528015612b9a5781602001602082028036833780820191505090505b50905030815f81518110612bb157612bb06141d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612c2157612c206141d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612cbd9594939291906142f4565b5f604051808303815f87803b158015612cd4575f80fd5b505af1158015612ce6573d5f803e3d5ffd5b505050505f4790506002600a54612cfd9190613a7f565b85612d089190614019565b94505f600286612d189190613cb8565b600a5483612d269190613cb8565b612d309190613a7f565b90505f612d5a87612d4c600b5486611f0a90919063ffffffff16565b611f8190919063ffffffff16565b90505f612d8488612d76600d5487611f0a90919063ffffffff16565b611f8190919063ffffffff16565b90505f612dae89612da0600c5488611f0a90919063ffffffff16565b611f8190919063ffffffff16565b90505f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051612df690614379565b5f6040518083038185875af1925050503d805f8114612e30576040519150601f19603f3d011682016040523d82523d5f602084013e612e35565b606091505b5050905060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612e7e90614379565b5f6040518083038185875af1925050503d805f8114612eb8576040519150601f19603f3d011682016040523d82523d5f602084013e612ebd565b606091505b50508091505060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612f0890614379565b5f6040518083038185875af1925050503d805f8114612f42576040519150601f19603f3d011682016040523d82523d5f602084013e612f47565b606091505b5050809150505f90505f89111561305c57601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71986308c5f8060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612fde9695949392919061438d565b60606040518083038185885af1158015612ffa573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061301f91906143ec565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506858a60405161305392919061443c565b60405180910390a15b505050505050505050505f601f5f6101000a81548160ff021916908315150217905550565b5f806013549050601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036130e6576011549050613141565b601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036131405760125490505b5b5f61318960646010546131549190613cb8565b61317b8461316d600f548a611f0a90919063ffffffff16565b611f0a90919063ffffffff16565b611f8190919063ffffffff16565b90505f6131b5600f546131a7600e5485611f0a90919063ffffffff16565b611f8190919063ffffffff16565b90505f6131cb828461271590919063ffffffff16565b905061321d8160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611df590919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506132cf8260065f60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611df590919063ffffffff16565b60065f60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161338e9190613457565b60405180910390a35f82111561341f576133b38260035461271590919063ffffffff16565b6003819055505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516134169190613457565b60405180910390a35b613432838861271590919063ffffffff16565b9450505050509392505050565b5f819050919050565b6134518161343f565b82525050565b5f60208201905061346a5f830184613448565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156134a757808201518184015260208101905061348c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6134cc82613470565b6134d6818561347a565b93506134e681856020860161348a565b6134ef816134b2565b840191505092915050565b5f6020820190508181035f83015261351281846134c2565b905092915050565b5f8115159050919050565b61352e8161351a565b82525050565b5f6020820190506135475f830184613525565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61357a82613551565b9050919050565b61358a81613570565b8114613594575f80fd5b50565b5f813590506135a581613581565b92915050565b6135b48161343f565b81146135be575f80fd5b50565b5f813590506135cf816135ab565b92915050565b5f80604083850312156135eb576135ea61354d565b5b5f6135f885828601613597565b9250506020613609858286016135c1565b9150509250929050565b5f805f805f8060c0878903121561362d5761362c61354d565b5b5f61363a89828a016135c1565b965050602061364b89828a016135c1565b955050604061365c89828a016135c1565b945050606061366d89828a016135c1565b935050608061367e89828a016135c1565b92505060a061368f89828a016135c1565b9150509295509295509295565b5f805f606084860312156136b3576136b261354d565b5b5f6136c0868287016135c1565b93505060206136d1868287016135c1565b92505060406136e2868287016135c1565b9150509250925092565b5f805f805f60a086880312156137055761370461354d565b5b5f61371288828901613597565b955050602061372388828901613597565b945050604061373488828901613597565b935050606061374588828901613597565b925050608061375688828901613597565b9150509295509295909350565b5f805f6060848603121561377a5761377961354d565b5b5f61378786828701613597565b935050602061379886828701613597565b92505060406137a9868287016135c1565b9150509250925092565b6137bc8161351a565b81146137c6575f80fd5b50565b5f813590506137d7816137b3565b92915050565b5f80604083850312156137f3576137f261354d565b5b5f61380085828601613597565b9250506020613811858286016137c9565b9150509250929050565b5f60ff82169050919050565b6138308161381b565b82525050565b5f6020820190506138495f830184613827565b92915050565b5f602082840312156138645761386361354d565b5b5f61387184828501613597565b91505092915050565b5f6020828403121561388f5761388e61354d565b5b5f61389c848285016135c1565b91505092915050565b6138ae81613570565b82525050565b5f6020820190506138c75f8301846138a5565b92915050565b5f80604083850312156138e3576138e261354d565b5b5f6138f085828601613597565b925050602061390185828601613597565b9150509250929050565b5f80604083850312156139215761392061354d565b5b5f61392e858286016137c9565b925050602061393f858286016135c1565b9150509250929050565b5f819050919050565b5f61396c61396761396284613551565b613949565b613551565b9050919050565b5f61397d82613952565b9050919050565b5f61398e82613973565b9050919050565b61399e81613984565b82525050565b5f6020820190506139b75f830184613995565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6139f160208361347a565b91506139fc826139bd565b602082019050919050565b5f6020820190508181035f830152613a1e816139e5565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613a898261343f565b9150613a948361343f565b925082613aa457613aa3613a25565b5b828204905092915050565b7f466565732063616e206e6f74206265206d6f7265207468616e203235250000005f82015250565b5f613ae3601d8361347a565b9150613aee82613aaf565b602082019050919050565b5f6020820190508181035f830152613b1081613ad7565b9050919050565b7f427579205461782063616e6e6f74206265206d6f7265207468616e20313225005f82015250565b5f613b4b601f8361347a565b9150613b5682613b17565b602082019050919050565b5f6020820190508181035f830152613b7881613b3f565b9050919050565b7f53656c6c205461782063616e6e6f74206265206d6f7265207468616e203132255f82015250565b5f613bb360208361347a565b9150613bbe82613b7f565b602082019050919050565b5f6020820190508181035f830152613be081613ba7565b9050919050565b7f5472616e73666572205461782063616e6e6f74206265206d6f7265207468616e5f8201527f2031322500000000000000000000000000000000000000000000000000000000602082015250565b5f613c4160248361347a565b9150613c4c82613be7565b604082019050919050565b5f6020820190508181035f830152613c6e81613c35565b9050919050565b5f608082019050613c885f8301876138a5565b613c9560208301866138a5565b613ca260408301856138a5565b613caf60608301846138a5565b95945050505050565b5f613cc28261343f565b9150613ccd8361343f565b9250828202613cdb8161343f565b91508282048414831517613cf257613cf1613a52565b5b5092915050565b7f4f776e65722063616e6e6f7420636c61696d206e617469766520746f6b656e735f82015250565b5f613d2d60208361347a565b9150613d3882613cf9565b602082019050919050565b5f6020820190508181035f830152613d5a81613d21565b9050919050565b5f81519050613d6f816135ab565b92915050565b5f60208284031215613d8a57613d8961354d565b5b5f613d9784828501613d61565b91505092915050565b5f604082019050613db35f8301856138a5565b613dc06020830184613448565b9392505050565b5f81519050613dd5816137b3565b92915050565b5f60208284031215613df057613def61354d565b5b5f613dfd84828501613dc7565b91505092915050565b5f604082019050613e195f830185613448565b613e266020830184613525565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613e8760268361347a565b9150613e9282613e2d565b604082019050919050565b5f6020820190508181035f830152613eb481613e7b565b9050919050565b5f613ec58261343f565b9150613ed08361343f565b9250828201905080821115613ee857613ee7613a52565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f22601b8361347a565b9150613f2d82613eee565b602082019050919050565b5f6020820190508181035f830152613f4f81613f16565b9050919050565b5f606082019050613f695f830186613827565b613f766020830185613827565b613f836040830184613827565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613fe560218361347a565b9150613ff082613f8b565b604082019050919050565b5f6020820190508181035f83015261401281613fd9565b9050919050565b5f6140238261343f565b915061402e8361343f565b925082820390508181111561404657614045613a52565b5b92915050565b7f54726164696e67206e6f74206f70656e207965740000000000000000000000005f82015250565b5f61408060148361347a565b915061408b8261404c565b602082019050919050565b5f6020820190508181035f8301526140ad81614074565b9050919050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d69745f8201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000602082015250565b5f61410e603e8361347a565b9150614119826140b4565b604082019050919050565b5f6020820190508181035f83015261413b81614102565b9050919050565b7f5458204c696d69742045786365656465640000000000000000000000000000005f82015250565b5f61417660118361347a565b915061418182614142565b602082019050919050565b5f6020820190508181035f8301526141a38161416a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f61422761422261421d84614204565b613949565b61343f565b9050919050565b6142378161420d565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61426f81613570565b82525050565b5f6142808383614266565b60208301905092915050565b5f602082019050919050565b5f6142a28261423d565b6142ac8185614247565b93506142b783614257565b805f5b838110156142e75781516142ce8882614275565b97506142d98361428c565b9250506001810190506142ba565b5085935050505092915050565b5f60a0820190506143075f830188613448565b614314602083018761422e565b81810360408301526143268186614298565b905061433560608301856138a5565b6143426080830184613448565b9695505050505050565b5f81905092915050565b50565b5f6143645f8361434c565b915061436f82614356565b5f82019050919050565b5f61438382614359565b9150819050919050565b5f60c0820190506143a05f8301896138a5565b6143ad6020830188613448565b6143ba604083018761422e565b6143c7606083018661422e565b6143d460808301856138a5565b6143e160a0830184613448565b979650505050505050565b5f805f606084860312156144035761440261354d565b5b5f61441086828701613d61565b935050602061442186828701613d61565b925050604061443286828701613d61565b9150509250925092565b5f60408201905061444f5f830185613448565b61445c6020830184613448565b939250505056fea264697066735822122039e146c74ba08c96365b233676820c6e568754cc58e6ba701b893c23ebe67a6d64736f6c63430008150033

Deployed Bytecode

0x608060405260043610610207575f3560e01c8063751039fc11610117578063a8aa1b311161009f578063dd62ed3e1161006e578063dd62ed3e14610722578063df20fd491461075e578063f2fde38b14610786578063f887ea40146107ae578063f88de0c3146107d85761020e565b8063a8aa1b311461066a578063a9059cbb14610694578063b2bdfa7b146106d0578063b6a5d7de146106fa5761020e565b8063893d20e8116100e6578063893d20e8146105ac5780638a8c523c146105d65780638da5cb5b146105ec5780639358928b1461061657806395d89b41146106405761020e565b8063751039fc1461050657806377b54bad1461051c57806378109e54146105585780637d1db4a5146105825761020e565b80631df4ccfc1161019a578063571ac8b011610169578063571ac8b0146104265780635d0044ca146104625780636ddd17131461048a57806370a08231146104b4578063715018a6146104f05761020e565b80631df4ccfc1461036e57806323b872dd1461039857806326f85dbe146103d4578063313ce567146103fc5761020e565b806311f630f3116101d657806311f630f3146102cc578063169bb498146102f457806318160ddd1461031c57806318abb635146103465761020e565b80630445b6671461021257806306fdde031461023c57806308fd3d0514610266578063095ea7b3146102905761020e565b3661020e57005b5f80fd5b34801561021d575f80fd5b506102266107ee565b6040516102339190613457565b60405180910390f35b348015610247575f80fd5b506102506107f4565b60405161025d91906134fa565b60405180910390f35b348015610271575f80fd5b5061027a610831565b6040516102879190613534565b60405180910390f35b34801561029b575f80fd5b506102b660048036038101906102b191906135d5565b610844565b6040516102c39190613534565b60405180910390f35b3480156102d7575f80fd5b506102f260048036038101906102ed9190613613565b610931565b005b3480156102ff575f80fd5b5061031a6004803603810190610315919061369c565b610aa0565b005b348015610327575f80fd5b50610330610c92565b60405161033d9190613457565b60405180910390f35b348015610351575f80fd5b5061036c600480360381019061036791906136ec565b610c9b565b005b348015610379575f80fd5b50610382610f37565b60405161038f9190613457565b60405180910390f35b3480156103a3575f80fd5b506103be60048036038101906103b99190613763565b610f3d565b6040516103cb9190613534565b60405180910390f35b3480156103df575f80fd5b506103fa60048036038101906103f591906137dd565b611130565b005b348015610407575f80fd5b50610410611270565b60405161041d9190613836565b60405180910390f35b348015610431575f80fd5b5061044c6004803603810190610447919061384f565b611278565b6040516104599190613534565b60405180910390f35b34801561046d575f80fd5b506104886004803603810190610483919061387a565b6112aa565b005b348015610495575f80fd5b5061049e6113a8565b6040516104ab9190613534565b60405180910390f35b3480156104bf575f80fd5b506104da60048036038101906104d5919061384f565b6113bb565b6040516104e79190613457565b60405180910390f35b3480156104fb575f80fd5b50610504611401565b005b348015610511575f80fd5b5061051a61154f565b005b348015610527575f80fd5b50610542600480360381019061053d91906135d5565b611563565b60405161054f9190613534565b60405180910390f35b348015610563575f80fd5b5061056c61176b565b6040516105799190613457565b60405180910390f35b34801561058d575f80fd5b50610596611771565b6040516105a39190613457565b60405180910390f35b3480156105b7575f80fd5b506105c0611777565b6040516105cd91906138b4565b60405180910390f35b3480156105e1575f80fd5b506105ea611785565b005b3480156105f7575f80fd5b50610600611836565b60405161060d91906138b4565b60405180910390f35b348015610621575f80fd5b5061062a61185d565b6040516106379190613457565b60405180910390f35b34801561064b575f80fd5b5061065461189c565b60405161066191906134fa565b60405180910390f35b348015610675575f80fd5b5061067e6118d9565b60405161068b91906138b4565b60405180910390f35b34801561069f575f80fd5b506106ba60048036038101906106b591906135d5565b6118fe565b6040516106c79190613534565b60405180910390f35b3480156106db575f80fd5b506106e4611912565b6040516106f191906138b4565b60405180910390f35b348015610705575f80fd5b50610720600480360381019061071b919061384f565b611935565b005b34801561072d575f80fd5b50610748600480360381019061074391906138cd565b611a20565b6040516107559190613457565b60405180910390f35b348015610769575f80fd5b50610784600480360381019061077f919061390b565b611aa2565b005b348015610791575f80fd5b506107ac60048036038101906107a7919061384f565b611ba5565b005b3480156107b9575f80fd5b506107c2611d62565b6040516107cf91906139a4565b60405180910390f35b3480156107e3575f80fd5b506107ec611d87565b005b601e5481565b60606040518060400160405280602081526020017f4861697279506f707065724a75696379426f6f74794c6f72645469636b6c6572815250905090565b601d60149054906101000a900460ff1681565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161091f9190613457565b60405180910390a36001905092915050565b610939611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90613a07565b60405180910390fd5b85600a8190555084600d8190555083600b8190555082600c8190555081600e81905550610a3182610a2385610a1588610a078b8d611df590919063ffffffff16565b611df590919063ffffffff16565b611df590919063ffffffff16565b611df590919063ffffffff16565b600f81905550806010819055506004601054610a4d9190613a7f565b600f5410610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8790613af9565b60405180910390fd5b610a98611e52565b505050505050565b610aa8611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2b90613a07565b60405180910390fd5b816011819055508260128190555080601381905550600c610b756064610b67601254600f54611f0a90919063ffffffff16565b611f8190919063ffffffff16565b10610bb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bac90613b61565b60405180910390fd5b600c610be16064610bd3601154600f54611f0a90919063ffffffff16565b611f8190919063ffffffff16565b10610c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1890613bc9565b60405180910390fd5b600c610c4d6064610c3f601354600f54611f0a90919063ffffffff16565b611f8190919063ffffffff16565b10610c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8490613c57565b60405180910390fd5b505050565b5f600354905090565b610ca3611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2690613a07565b60405180910390fd5b8460145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b1560155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610f289493929190613c75565b60405180910390a15050505050565b600f5481565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541461111c5761109f826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e63650000000000000000000081525060075f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fca9092919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b61112784848461202c565b90509392505050565b611138611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bb90613a07565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f6009905090565b5f6112a3827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610844565b9050919050565b6112b2611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461133e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133590613a07565b60405180910390fd5b600181101561134b575f80fd5b6103e88160035461135c9190613cb8565b6113669190613a7f565b6005819055507f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be5160055460405161139d9190613457565b60405180910390a150565b601d60159054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611409611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148c90613a07565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600354600481905550600354600581905550565b5f61156c611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90613a07565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90613d43565b60405180910390fd5b5f82036116e8578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116a691906138b4565b602060405180830381865afa1580156116c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e59190613d75565b91505b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401611723929190613da0565b6020604051808303815f875af115801561173f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117639190613ddb565b905092915050565b60055481565b60045481565b5f611780611836565b905090565b61178d611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181090613a07565b60405180910390fd5b6001601d60146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f61189761186a5f6113bb565b61188961187861dead6113bb565b60035461271590919063ffffffff16565b61271590919063ffffffff16565b905090565b60606040518060400160405280600681526020017f504f505045520000000000000000000000000000000000000000000000000000815250905090565b601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61190a33848461202c565b905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61193d611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c090613a07565b60405180910390fd5b6001805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611aaa611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2d90613a07565b60405180910390fd5b81601d60156101000a81548160ff02191690831515021790555080601e819055507f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60601e54601d60159054906101000a900460ff16604051611b99929190613e06565b60405180910390a15050565b611bad611dee565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3090613a07565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ca7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9e90613e9d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611deb573d5f803e3d5ffd5b50565b5f33905090565b5f808284611e039190613ebb565b905083811015611e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3f90613f38565b60405180910390fd5b8091505092915050565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b932800611e9d6064611e8f601254600f54611f0a90919063ffffffff16565b611f8190919063ffffffff16565b611ec76064611eb9601154600f54611f0a90919063ffffffff16565b611f8190919063ffffffff16565b611ef16064611ee3601354600f54611f0a90919063ffffffff16565b611f8190919063ffffffff16565b604051611f0093929190613f56565b60405180910390a1565b5f808303611f1a575f9050611f7b565b5f8284611f279190613cb8565b9050828482611f369190613a7f565b14611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d90613ffb565b60405180910390fd5b809150505b92915050565b5f611fc283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061275e565b905092915050565b5f838311158290612011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200891906134fa565b60405180910390fd5b505f838561201f9190614019565b9050809150509392505050565b5f601f5f9054906101000a900460ff16156120535761204c8484846127bf565b905061270e565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156120f1575060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561214a575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156121a3575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156121f857601d60149054906101000a900460ff166121f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ee90614096565b60405180910390fd5b5b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561227b57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156122b5575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561230e5750601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612367575060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156123c0575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612413575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612476575f612422846113bb565b905060055483826124339190613ebb565b1115612474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246b90614124565b60405180910390fd5b505b6124808483612989565b612488612a23565b1561249657612495612af5565b5b61251d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fca9092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806125fa575060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61260e57612609858486613081565b612610565b825b90506126628160065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611df590919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127009190613457565b60405180910390a360019150505b9392505050565b5f61275683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fca565b905092915050565b5f80831182906127a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279b91906134fa565b60405180910390fd5b505f83856127b29190613a7f565b9050809150509392505050565b5f612847826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fca9092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506128d88260065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611df590919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129769190613457565b60405180910390a3600190509392505050565b600454811115806129e0575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612a1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a169061418c565b60405180910390fd5b5050565b5f601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015612a8d5750601f5f9054906101000a900460ff16155b8015612aa55750601d60159054906101000a900460ff165b8015612af05750601e5460065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b905090565b6001601f5f6101000a81548160ff0219169083151502179055505f600f5490505f600282612b239190613cb8565b600a54601e54612b339190613cb8565b612b3d9190613a7f565b90505f81601e54612b4e9190614019565b90505f600267ffffffffffffffff811115612b6c57612b6b6141aa565b5b604051908082528060200260200182016040528015612b9a5781602001602082028036833780820191505090505b50905030815f81518110612bb157612bb06141d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612c2157612c206141d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612cbd9594939291906142f4565b5f604051808303815f87803b158015612cd4575f80fd5b505af1158015612ce6573d5f803e3d5ffd5b505050505f4790506002600a54612cfd9190613a7f565b85612d089190614019565b94505f600286612d189190613cb8565b600a5483612d269190613cb8565b612d309190613a7f565b90505f612d5a87612d4c600b5486611f0a90919063ffffffff16565b611f8190919063ffffffff16565b90505f612d8488612d76600d5487611f0a90919063ffffffff16565b611f8190919063ffffffff16565b90505f612dae89612da0600c5488611f0a90919063ffffffff16565b611f8190919063ffffffff16565b90505f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051612df690614379565b5f6040518083038185875af1925050503d805f8114612e30576040519150601f19603f3d011682016040523d82523d5f602084013e612e35565b606091505b5050905060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612e7e90614379565b5f6040518083038185875af1925050503d805f8114612eb8576040519150601f19603f3d011682016040523d82523d5f602084013e612ebd565b606091505b50508091505060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612f0890614379565b5f6040518083038185875af1925050503d805f8114612f42576040519150601f19603f3d011682016040523d82523d5f602084013e612f47565b606091505b5050809150505f90505f89111561305c57601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71986308c5f8060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612fde9695949392919061438d565b60606040518083038185885af1158015612ffa573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061301f91906143ec565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506858a60405161305392919061443c565b60405180910390a15b505050505050505050505f601f5f6101000a81548160ff021916908315150217905550565b5f806013549050601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036130e6576011549050613141565b601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036131405760125490505b5b5f61318960646010546131549190613cb8565b61317b8461316d600f548a611f0a90919063ffffffff16565b611f0a90919063ffffffff16565b611f8190919063ffffffff16565b90505f6131b5600f546131a7600e5485611f0a90919063ffffffff16565b611f8190919063ffffffff16565b90505f6131cb828461271590919063ffffffff16565b905061321d8160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611df590919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506132cf8260065f60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611df590919063ffffffff16565b60065f60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161338e9190613457565b60405180910390a35f82111561341f576133b38260035461271590919063ffffffff16565b6003819055505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516134169190613457565b60405180910390a35b613432838861271590919063ffffffff16565b9450505050509392505050565b5f819050919050565b6134518161343f565b82525050565b5f60208201905061346a5f830184613448565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156134a757808201518184015260208101905061348c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6134cc82613470565b6134d6818561347a565b93506134e681856020860161348a565b6134ef816134b2565b840191505092915050565b5f6020820190508181035f83015261351281846134c2565b905092915050565b5f8115159050919050565b61352e8161351a565b82525050565b5f6020820190506135475f830184613525565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61357a82613551565b9050919050565b61358a81613570565b8114613594575f80fd5b50565b5f813590506135a581613581565b92915050565b6135b48161343f565b81146135be575f80fd5b50565b5f813590506135cf816135ab565b92915050565b5f80604083850312156135eb576135ea61354d565b5b5f6135f885828601613597565b9250506020613609858286016135c1565b9150509250929050565b5f805f805f8060c0878903121561362d5761362c61354d565b5b5f61363a89828a016135c1565b965050602061364b89828a016135c1565b955050604061365c89828a016135c1565b945050606061366d89828a016135c1565b935050608061367e89828a016135c1565b92505060a061368f89828a016135c1565b9150509295509295509295565b5f805f606084860312156136b3576136b261354d565b5b5f6136c0868287016135c1565b93505060206136d1868287016135c1565b92505060406136e2868287016135c1565b9150509250925092565b5f805f805f60a086880312156137055761370461354d565b5b5f61371288828901613597565b955050602061372388828901613597565b945050604061373488828901613597565b935050606061374588828901613597565b925050608061375688828901613597565b9150509295509295909350565b5f805f6060848603121561377a5761377961354d565b5b5f61378786828701613597565b935050602061379886828701613597565b92505060406137a9868287016135c1565b9150509250925092565b6137bc8161351a565b81146137c6575f80fd5b50565b5f813590506137d7816137b3565b92915050565b5f80604083850312156137f3576137f261354d565b5b5f61380085828601613597565b9250506020613811858286016137c9565b9150509250929050565b5f60ff82169050919050565b6138308161381b565b82525050565b5f6020820190506138495f830184613827565b92915050565b5f602082840312156138645761386361354d565b5b5f61387184828501613597565b91505092915050565b5f6020828403121561388f5761388e61354d565b5b5f61389c848285016135c1565b91505092915050565b6138ae81613570565b82525050565b5f6020820190506138c75f8301846138a5565b92915050565b5f80604083850312156138e3576138e261354d565b5b5f6138f085828601613597565b925050602061390185828601613597565b9150509250929050565b5f80604083850312156139215761392061354d565b5b5f61392e858286016137c9565b925050602061393f858286016135c1565b9150509250929050565b5f819050919050565b5f61396c61396761396284613551565b613949565b613551565b9050919050565b5f61397d82613952565b9050919050565b5f61398e82613973565b9050919050565b61399e81613984565b82525050565b5f6020820190506139b75f830184613995565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6139f160208361347a565b91506139fc826139bd565b602082019050919050565b5f6020820190508181035f830152613a1e816139e5565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613a898261343f565b9150613a948361343f565b925082613aa457613aa3613a25565b5b828204905092915050565b7f466565732063616e206e6f74206265206d6f7265207468616e203235250000005f82015250565b5f613ae3601d8361347a565b9150613aee82613aaf565b602082019050919050565b5f6020820190508181035f830152613b1081613ad7565b9050919050565b7f427579205461782063616e6e6f74206265206d6f7265207468616e20313225005f82015250565b5f613b4b601f8361347a565b9150613b5682613b17565b602082019050919050565b5f6020820190508181035f830152613b7881613b3f565b9050919050565b7f53656c6c205461782063616e6e6f74206265206d6f7265207468616e203132255f82015250565b5f613bb360208361347a565b9150613bbe82613b7f565b602082019050919050565b5f6020820190508181035f830152613be081613ba7565b9050919050565b7f5472616e73666572205461782063616e6e6f74206265206d6f7265207468616e5f8201527f2031322500000000000000000000000000000000000000000000000000000000602082015250565b5f613c4160248361347a565b9150613c4c82613be7565b604082019050919050565b5f6020820190508181035f830152613c6e81613c35565b9050919050565b5f608082019050613c885f8301876138a5565b613c9560208301866138a5565b613ca260408301856138a5565b613caf60608301846138a5565b95945050505050565b5f613cc28261343f565b9150613ccd8361343f565b9250828202613cdb8161343f565b91508282048414831517613cf257613cf1613a52565b5b5092915050565b7f4f776e65722063616e6e6f7420636c61696d206e617469766520746f6b656e735f82015250565b5f613d2d60208361347a565b9150613d3882613cf9565b602082019050919050565b5f6020820190508181035f830152613d5a81613d21565b9050919050565b5f81519050613d6f816135ab565b92915050565b5f60208284031215613d8a57613d8961354d565b5b5f613d9784828501613d61565b91505092915050565b5f604082019050613db35f8301856138a5565b613dc06020830184613448565b9392505050565b5f81519050613dd5816137b3565b92915050565b5f60208284031215613df057613def61354d565b5b5f613dfd84828501613dc7565b91505092915050565b5f604082019050613e195f830185613448565b613e266020830184613525565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613e8760268361347a565b9150613e9282613e2d565b604082019050919050565b5f6020820190508181035f830152613eb481613e7b565b9050919050565b5f613ec58261343f565b9150613ed08361343f565b9250828201905080821115613ee857613ee7613a52565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f22601b8361347a565b9150613f2d82613eee565b602082019050919050565b5f6020820190508181035f830152613f4f81613f16565b9050919050565b5f606082019050613f695f830186613827565b613f766020830185613827565b613f836040830184613827565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613fe560218361347a565b9150613ff082613f8b565b604082019050919050565b5f6020820190508181035f83015261401281613fd9565b9050919050565b5f6140238261343f565b915061402e8361343f565b925082820390508181111561404657614045613a52565b5b92915050565b7f54726164696e67206e6f74206f70656e207965740000000000000000000000005f82015250565b5f61408060148361347a565b915061408b8261404c565b602082019050919050565b5f6020820190508181035f8301526140ad81614074565b9050919050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d69745f8201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000602082015250565b5f61410e603e8361347a565b9150614119826140b4565b604082019050919050565b5f6020820190508181035f83015261413b81614102565b9050919050565b7f5458204c696d69742045786365656465640000000000000000000000000000005f82015250565b5f61417660118361347a565b915061418182614142565b602082019050919050565b5f6020820190508181035f8301526141a38161416a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f61422761422261421d84614204565b613949565b61343f565b9050919050565b6142378161420d565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61426f81613570565b82525050565b5f6142808383614266565b60208301905092915050565b5f602082019050919050565b5f6142a28261423d565b6142ac8185614247565b93506142b783614257565b805f5b838110156142e75781516142ce8882614275565b97506142d98361428c565b9250506001810190506142ba565b5085935050505092915050565b5f60a0820190506143075f830188613448565b614314602083018761422e565b81810360408301526143268186614298565b905061433560608301856138a5565b6143426080830184613448565b9695505050505050565b5f81905092915050565b50565b5f6143645f8361434c565b915061436f82614356565b5f82019050919050565b5f61438382614359565b9150819050919050565b5f60c0820190506143a05f8301896138a5565b6143ad6020830188613448565b6143ba604083018761422e565b6143c7606083018661422e565b6143d460808301856138a5565b6143e160a0830184613448565b979650505050505050565b5f805f606084860312156144035761440261354d565b5b5f61441086828701613d61565b935050602061442186828701613d61565b925050604061443286828701613d61565b9150509250925092565b5f60408201905061444f5f830185613448565b61445c6020830184613448565b939250505056fea264697066735822122039e146c74ba08c96365b233676820c6e568754cc58e6ba701b893c23ebe67a6d64736f6c63430008150033

Deployed Bytecode Sourcemap

5907:13739:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8440:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9924:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8361:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10346:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18139:572;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15687:490;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9654:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18724:540;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7571:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10864:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11702:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9748:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10570:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11246:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8403:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10094:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2821:148;;;;;;;;;;;;;:::i;:::-;;15187:122;;;;;;;;;;;;;:::i;:::-;;15317:356;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7037:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6970:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10010:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11613:81;;;;;;;;;;;;;:::i;:::-;;2607:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19500:139;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9834:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8335:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10700:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2219:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11502:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10205:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19272:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2977:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8265:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15045:134;;;;;;;;;;;;;:::i;:::-;;8440:58;;;;:::o;9924:80::-;9972:13;9996:5;;;;;;;;;;;;;;;;;9989:12;;9924:80;:::o;8361:30::-;;;;;;;;;;;;;:::o;10346:216::-;10421:4;10473:6;10438:11;:23;10450:10;10438:23;;;;;;;;;;;;;;;:32;10462:7;10438:32;;;;;;;;;;;;;;;:41;;;;10516:7;10495:37;;10504:10;10495:37;;;10525:6;10495:37;;;;;;:::i;:::-;;;;;;;;10550:4;10543:11;;10346:216;;;;:::o;18139:572::-;2744:12;:10;:12::i;:::-;2734:22;;:6;;;;;;;;;;:22;;;2726:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18324:13:::1;18309:12;:28;;;;18358:8;18348:7;:18;;;;18392:13;18377:12;:28;;;;18425:7;18416:6;:16;;;;18453:8;18443:7;:18;;;;18483:73;18547:8;18483:59;18534:7;18483:46;18515:13;18483:27;18501:8;18483:13;:17;;:27;;;;:::i;:::-;:31;;:46;;;;:::i;:::-;:50;;:59;;;;:::i;:::-;:63;;:73;;;;:::i;:::-;18472:8;:84;;;;18584:15;18567:14;:32;;;;18646:1;18629:14;;:18;;;;:::i;:::-;18618:8;;:29;18610:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;18693:10;:8;:10::i;:::-;18139:572:::0;;;;;;:::o;15687:490::-;2744:12;:10;:12::i;:::-;2734:22;;:6;;;;;;;;;;:22;;;2726:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15801:5:::1;15787:11;:19;;;;15830:4;15817:10;:17;;;;15863:6;15845:15;:24;;;;15930:2;15894:33;15923:3;15894:24;15907:10;;15894:8;;:12;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;:38;15886:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;16024:2;15987:34;16017:3;15987:25;16000:11;;15987:8;;:12;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;:39;15979:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;16123:2;16082:38;16116:3;16082:29;16095:15;;16082:8;;:12;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;:43;16074:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;15687:490:::0;;;:::o;9654:88::-;9709:7;9727:12;;9720:19;;9654:88;:::o;18724:540::-;2744:12;:10;:12::i;:::-;2734:22;;:6;;;;;;;;;;:22;;;2726:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18943:22:::1;18919:21;;:46;;;;;;;;;;;;;;;;;;18999:21;18976:20;;:44;;;;;;;;;;;;;;;;;;19048:15;19031:14;;:32;;;;;;;;;;;;;;;;;;19092:16;19074:15;;:34;;;;;;;;;;;;;;;;;;19137:16;19119:15;;:34;;;;;;;;;;;;;;;;;;19171:85;19185:20;;;;;;;;;;;19207:15;;;;;;;;;;;19224;;;;;;;;;;;19241:14;;;;;;;;;;;19171:85;;;;;;;;;:::i;:::-;;;;;;;;18724:540:::0;;;;;:::o;7571:90::-;;;;:::o;10864:370::-;10964:4;11019:17;10984:11;:19;10996:6;10984:19;;;;;;;;;;;;;;;:31;11004:10;10984:31;;;;;;;;;;;;;;;;:52;10981:186;;11086:69;11122:6;11086:69;;;;;;;;;;;;;;;;;:11;:19;11098:6;11086:19;;;;;;;;;;;;;;;:31;11106:10;11086:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;11052:11;:19;11064:6;11052:19;;;;;;;;;;;;;;;:31;11072:10;11052:31;;;;;;;;;;;;;;;:103;;;;10981:186;11186:40;11200:6;11208:9;11219:6;11186:13;:40::i;:::-;11179:47;;10864:370;;;;;:::o;11702:168::-;2744:12;:10;:12::i;:::-;2734:22;;:6;;;;;;;;;;:22;;;2726:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11813:6:::1;11791:11;:19;11803:6;11791:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;11856:6;11830:15;:23;11846:6;11830:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;11702:168:::0;;:::o;9748:80::-;9800:5;6315:1;9809:16;;9748:80;:::o;10570:122::-;10625:4;10649:35;10657:7;10666:17;10649:7;:35::i;:::-;10642:42;;10570:122;;;:::o;11246:246::-;2744:12;:10;:12::i;:::-;2734:22;;:6;;;;;;;;;;:22;;;2726:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11349:1:::1;11331:14;:19;;11323:28;;;::::0;::::1;;11416:4;11397:14;11382:12;;:29;;;;:::i;:::-;11381:39;;;;:::i;:::-;11363:15;:57;;;;11436:30;11450:15;;11436:30;;;;;;:::i;:::-;;;;;;;;11246:246:::0;:::o;8403:30::-;;;;;;;;;;;;;:::o;10094:105::-;10160:7;10178:9;:18;10188:7;10178:18;;;;;;;;;;;;;;;;10171:25;;10094:105;;;:::o;2821:148::-;2744:12;:10;:12::i;:::-;2734:22;;:6;;;;;;;;;;:22;;;2726:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2928:1:::1;2891:40;;2912:6;::::0;::::1;;;;;;;;2891:40;;;;;;;;;;;;2959:1;2942:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2821:148::o:0;15187:122::-;15246:12;;15231;:27;;;;15287:12;;15269:15;:30;;;;15187:122::o;15317:356::-;15406:4;2744:12;:10;:12::i;:::-;2734:22;;:6;;;;;;;;;;:22;;;2726:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15452:4:::1;15428:29;;:12;:29;;::::0;15420:74:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15516:1;15506:6;:11:::0;15503:96:::1;;15549:12;15542:30;;;15581:4;15542:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15533:54;;15503:96;15623:12;15616:29;;;15646:10;15658:6;15616:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15609:56;;15317:356:::0;;;;:::o;7037:62::-;;;;:::o;6970:60::-;;;;:::o;10010:78::-;10062:7;10079;:5;:7::i;:::-;10072:14;;10010:78;:::o;11613:81::-;2744:12;:10;:12::i;:::-;2734:22;;:6;;;;;;;;;;:22;;;2726:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11680:4:::1;11666:11;;:18;;;;;;;;;;;;;;;;;;11613:81::o:0;2607:79::-;2645:7;2672:6;;;;;;;;;;;2665:13;;2607:79;:::o;19500:139::-;19550:7;19577:54;19615:15;6125:42;19615:9;:15::i;:::-;19577:33;19594:15;6052:42;19594:9;:15::i;:::-;19577:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;19570:61;;19500:139;:::o;9834:84::-;9884:13;9908:7;;;;;;;;;;;;;;;;;9901:14;;9834:84;:::o;8335:19::-;;;;;;;;;;;;;:::o;10700:156::-;10780:4;10804:44;10818:10;10830:9;10841:6;10804:13;:44::i;:::-;10797:51;;10700:156;;;;:::o;2219:21::-;;;;;;;;;;;;:::o;11502:94::-;2744:12;:10;:12::i;:::-;2734:22;;:6;;;;;;;;;;:22;;;2726:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11584:4:::1;11562:14:::0;:19:::1;11577:3;11562:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;11502:94:::0;:::o;10205:133::-;10289:7;10307:11;:19;10319:6;10307:19;;;;;;;;;;;;;;;:28;10327:7;10307:28;;;;;;;;;;;;;;;;10300:35;;10205:133;;;;:::o;19272:211::-;2744:12;:10;:12::i;:::-;2734:22;;:6;;;;;;;;;;:22;;;2726:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19377:8:::1;19363:11;;:22;;;;;;;;;;;;;;;;;;19412:7;19396:13;:23;;;;19435:40;19448:13;;19463:11;;;;;;;;;;;19435:40;;;;;;;:::i;:::-;;;;;;;;19272:211:::0;;:::o;2977:244::-;2744:12;:10;:12::i;:::-;2734:22;;:6;;;;;;;;;;:22;;;2726:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3086:1:::1;3066:22;;:8;:22;;::::0;3058:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3176:8;3147:38;;3168:6;::::0;::::1;;;;;;;;3147:38;;;;;;;;;;;;3205:8;3196:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2977:244:::0;:::o;8265:24::-;;;;;;;;;;;;;:::o;15045:134::-;15104:20;;;;;;;;;;;15096:38;;:61;15135:21;15096:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15045:134::o;1940:115::-;1993:15;2036:10;2021:26;;1940:115;:::o;4790:181::-;4848:7;4868:9;4884:1;4880;:5;;;;:::i;:::-;4868:17;;4909:1;4904;:6;;4896:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4962:1;4955:8;;;4790:181;;;;:::o;17886:241::-;17939:180;17954:33;17983:3;17954:24;17967:10;;17954:8;;:12;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;18009:34;18039:3;18009:25;18022:11;;18009:8;;:12;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;18065:38;18099:3;18065:29;18078:15;;18065:8;;:12;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;17939:180;;;;;;;;:::i;:::-;;;;;;;;17886:241::o;5317:250::-;5375:7;5404:1;5399;:6;5395:47;;5429:1;5422:8;;;;5395:47;5454:9;5470:1;5466;:5;;;;:::i;:::-;5454:17;;5499:1;5494;5490;:5;;;;:::i;:::-;:10;5482:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;5558:1;5551:8;;;5317:250;;;;;:::o;5573:132::-;5631:7;5658:39;5662:1;5665;5658:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5651:46;;5573:132;;;;:::o;5119:192::-;5205:7;5238:1;5233;:6;;5241:12;5225:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5265:9;5281:1;5277;:5;;;;:::i;:::-;5265:17;;5302:1;5295:8;;;5119:192;;;;;:::o;11886:1313::-;11978:4;11998:6;;;;;;;;;;;11995:63;;;12014:41;12029:6;12037:9;12048:6;12014:14;:41::i;:::-;12007:48;;;;11995:63;12074:14;:22;12089:6;12074:22;;;;;;;;;;;;;;;;;;;;;;;;;12073:23;:53;;;;;12101:14;:25;12116:9;12101:25;;;;;;;;;;;;;;;;;;;;;;;;;12100:26;12073:53;:89;;;;;12142:20;;;;;;;;;;;12130:32;;:9;:32;;;;12073:89;:122;;;;;12175:20;;;;;;;;;;;12166:29;;:6;:29;;;;12073:122;12070:209;;;12220:11;;;;;;;;;;;12212:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;12070:209;12321:14;:22;12336:6;12321:22;;;;;;;;;;;;;;;;;;;;;;;;;12320:23;:53;;;;;12368:4;12347:26;;:9;:26;;;;12320:53;:84;;;;;6052:42;12378:26;;:9;:26;;;;12320:84;:105;;;;;12421:4;;;;;;;;;;;12408:17;;:9;:17;;;;12320:105;:137;;;;;12442:15;;;;;;;;;;;12429:28;;:9;:28;;;;12320:137;:174;;;;;12474:20;;;;;;;;;;;12461:33;;:9;:33;;;;12320:174;:207;;;;;12499:17;:28;12517:9;12499:28;;;;;;;;;;;;;;;;;;;;;;;;;12498:29;12320:207;12316:399;;;12543:18;12564:20;12574:9;12564;:20::i;:::-;12543:41;;12632:15;;12621:6;12608:10;:19;;;;:::i;:::-;12607:40;;12599:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;12528:187;12316:399;12727:28;12740:6;12748;12727:12;:28::i;:::-;12778:16;:14;:16::i;:::-;12775:35;;;12797:10;:8;:10::i;:::-;12775:35;12840:53;12862:6;12840:53;;;;;;;;;;;;;;;;;:9;:17;12850:6;12840:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;12820:9;:17;12830:6;12820:17;;;;;;;;;;;;;;;:73;;;;12906:22;12932:16;:24;12949:6;12932:24;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;12960:16;:27;12977:9;12960:27;;;;;;;;;;;;;;;;;;;;;;;;;12932:55;12931:103;;13000:34;13008:6;13016;13024:9;13000:7;:34::i;:::-;12931:103;;;12991:6;12931:103;12906:128;;13068:40;13093:14;13068:9;:20;13078:9;13068:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;13045:9;:20;13055:9;13045:20;;;;;;;;;;;;;;;:63;;;;13143:9;13126:43;;13135:6;13126:43;;;13154:14;13126:43;;;;;;:::i;:::-;;;;;;;;13187:4;13180:11;;;11886:1313;;;;;;:::o;4977:136::-;5035:7;5062:43;5066:1;5069;5062:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;5055:50;;4977:136;;;;:::o;5711:189::-;5797:7;5829:1;5825;:5;5832:12;5817:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5856:9;5872:1;5868;:5;;;;:::i;:::-;5856:17;;5891:1;5884:8;;;5711:189;;;;;:::o;13208:330::-;13301:4;13338:53;13360:6;13338:53;;;;;;;;;;;;;;;;;:9;:17;13348:6;13338:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;13318:9;:17;13328:6;13318:17;;;;;;;;;;;;;;;:73;;;;13425:32;13450:6;13425:9;:20;13435:9;13425:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;13402:9;:20;13412:9;13402:20;;;;;;;;;;;;;;;:55;;;;13490:9;13473:35;;13482:6;13473:35;;;13501:6;13473:35;;;;;;:::i;:::-;;;;;;;;13526:4;13519:11;;13208:330;;;;;:::o;13546:164::-;13639:12;;13629:6;:22;;:51;;;;13655:17;:25;13673:6;13655:25;;;;;;;;;;;;;;;;;;;;;;;;;13629:51;13621:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;13546:164;;:::o;14835:197::-;14884:4;14922;;;;;;;;;;;14908:18;;:10;:18;;;;:38;;;;;14940:6;;;;;;;;;;;14939:7;14908:38;:62;;;;;14959:11;;;;;;;;;;;14908:62;:116;;;;;15011:13;;14983:9;:24;15001:4;14983:24;;;;;;;;;;;;;;;;:41;;14908:116;14901:123;;14835:197;:::o;16193:1677::-;8555:4;8546:6;;:13;;;;;;;;;;;;;;;;;;16252:19:::1;16274:8;;16252:30;;16295:23;16367:1;16353:11;:15;;;;:::i;:::-;16338:12;;16322:13;;:28;;;;:::i;:::-;16321:48;;;;:::i;:::-;16295:74;;16380:20;16419:15;16403:13;;:31;;;;:::i;:::-;16380:54;;16447:21;16485:1;16471:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16447:40;;16516:4;16498;16503:1;16498:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;16542:4;;;;;;;;;;;16532;16537:1;16532:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;16559:6;;;;;;;;;;;:57;;;16631:12;16658:1;16674:4;16701;16721:15;16559:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16761:17;16781:21;16761:41;;16860:1;16845:12;;:16;;;;:::i;:::-;16830:11;:32;;;;:::i;:::-;16816:46;;16883:26;16956:1;16942:11;:15;;;;:::i;:::-;16925:12;;16913:9;:24;;;;:::i;:::-;16912:46;;;;:::i;:::-;16883:75;;16969:26;16998:44;17030:11;16998:27;17012:12;;16998:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;16969:73;;17053:21;17077:39;17104:11;17077:22;17091:7;;17077:9;:13;;:22;;;;:::i;:::-;:26;;:39;;;;:::i;:::-;17053:63;;17127:20;17150:38;17176:11;17150:21;17164:6;;17150:9;:13;;:21;;;;:::i;:::-;:25;;:38;;;;:::i;:::-;17127:61;;17202:15;17230:20;;;;;;;;;;;17222:34;;17264:18;17222:65;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17201:86;;;17322:14;;;;;;;;;;;17314:28;;17350:12;17314:53;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17298:69;;;;;17402:15;;;;;;;;;;;17394:29;;17431:13;17394:55;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17378:71;;;;;17483:5;17470:18;;17522:1;17504:15;:19;17501:362;;;17539:6;;;;;;;;;;;:22;;;17569:18;17615:4;17639:15;17673:1;17693::::0;17713:21:::1;;;;;;;;;;;17753:15;17539:244;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17803:48;17815:18;17835:15;17803:48;;;;;;;:::i;:::-;;;;;;;;17501:362;16231:1639;;;;;;;;;;8573:5:::0;8564:6;;:14;;;;;;;;;;;;;;;;;;16193:1677::o;13845:982::-;13931:7;13961:15;13979;;13961:33;;14021:4;;;;;;;;;;;14008:17;;:9;:17;;;14005:142;;14052:11;;14042:21;;14005:142;;;14094:4;;;;;;;;;;;14084:14;;:6;:14;;;14081:66;;14125:10;;14115:20;;14081:66;14005:142;14159:17;14179:59;14234:3;14217:14;;:20;;;;:::i;:::-;14179:33;14204:7;14179:20;14190:8;;14179:6;:10;;:20;;;;:::i;:::-;:24;;:33;;;;:::i;:::-;:37;;:59;;;;:::i;:::-;14159:79;;14249:18;14270:36;14297:8;;14270:22;14284:7;;14270:9;:13;;:22;;;;:::i;:::-;:26;;:36;;;;:::i;:::-;14249:57;;14317:22;14342:25;14356:10;14342:9;:13;;:25;;;;:::i;:::-;14317:50;;14405:44;14434:14;14405:9;:24;14423:4;14405:24;;;;;;;;;;;;;;;;:28;;:44;;;;:::i;:::-;14378:9;:24;14396:4;14378:24;;;;;;;;;;;;;;;:71;;;;14489:42;14520:10;14489:9;:26;14499:15;;;;;;;;;;;14489:26;;;;;;;;;;;;;;;;:30;;:42;;;;:::i;:::-;14460:9;:26;14470:15;;;;;;;;;;;14460:26;;;;;;;;;;;;;;;:71;;;;14572:4;14547:47;;14556:6;14547:47;;;14579:14;14547:47;;;;;;:::i;:::-;;;;;;;;14641:1;14628:10;:14;14625:154;;;14673:28;14690:10;14673:12;;:16;;:28;;;;:::i;:::-;14658:12;:43;;;;6125:42;14721:34;;14730:6;14721:34;;;14744:10;14721:34;;;;;;:::i;:::-;;;;;;;;14625:154;14798:21;14809:9;14798:6;:10;;:21;;;;:::i;:::-;14791:28;;;;;;13845:982;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1784:90::-;1818:7;1861:5;1854:13;1847:21;1836:32;;1784:90;;;:::o;1880:109::-;1961:21;1976:5;1961:21;:::i;:::-;1956:3;1949:34;1880:109;;:::o;1995:210::-;2082:4;2120:2;2109:9;2105:18;2097:26;;2133:65;2195:1;2184:9;2180:17;2171:6;2133:65;:::i;:::-;1995:210;;;;:::o;2292:117::-;2401:1;2398;2391:12;2538:126;2575:7;2615:42;2608:5;2604:54;2593:65;;2538:126;;;:::o;2670:96::-;2707:7;2736:24;2754:5;2736:24;:::i;:::-;2725:35;;2670:96;;;:::o;2772:122::-;2845:24;2863:5;2845:24;:::i;:::-;2838:5;2835:35;2825:63;;2884:1;2881;2874:12;2825:63;2772:122;:::o;2900:139::-;2946:5;2984:6;2971:20;2962:29;;3000:33;3027:5;3000:33;:::i;:::-;2900:139;;;;:::o;3045:122::-;3118:24;3136:5;3118:24;:::i;:::-;3111:5;3108:35;3098:63;;3157:1;3154;3147:12;3098:63;3045:122;:::o;3173:139::-;3219:5;3257:6;3244:20;3235:29;;3273:33;3300:5;3273:33;:::i;:::-;3173:139;;;;:::o;3318:474::-;3386:6;3394;3443:2;3431:9;3422:7;3418:23;3414:32;3411:119;;;3449:79;;:::i;:::-;3411:119;3569:1;3594:53;3639:7;3630:6;3619:9;3615:22;3594:53;:::i;:::-;3584:63;;3540:117;3696:2;3722:53;3767:7;3758:6;3747:9;3743:22;3722:53;:::i;:::-;3712:63;;3667:118;3318:474;;;;;:::o;3798:1057::-;3902:6;3910;3918;3926;3934;3942;3991:3;3979:9;3970:7;3966:23;3962:33;3959:120;;;3998:79;;:::i;:::-;3959:120;4118:1;4143:53;4188:7;4179:6;4168:9;4164:22;4143:53;:::i;:::-;4133:63;;4089:117;4245:2;4271:53;4316:7;4307:6;4296:9;4292:22;4271:53;:::i;:::-;4261:63;;4216:118;4373:2;4399:53;4444:7;4435:6;4424:9;4420:22;4399:53;:::i;:::-;4389:63;;4344:118;4501:2;4527:53;4572:7;4563:6;4552:9;4548:22;4527:53;:::i;:::-;4517:63;;4472:118;4629:3;4656:53;4701:7;4692:6;4681:9;4677:22;4656:53;:::i;:::-;4646:63;;4600:119;4758:3;4785:53;4830:7;4821:6;4810:9;4806:22;4785:53;:::i;:::-;4775:63;;4729:119;3798:1057;;;;;;;;:::o;4861:619::-;4938:6;4946;4954;5003:2;4991:9;4982:7;4978:23;4974:32;4971:119;;;5009:79;;:::i;:::-;4971:119;5129:1;5154:53;5199:7;5190:6;5179:9;5175:22;5154:53;:::i;:::-;5144:63;;5100:117;5256:2;5282:53;5327:7;5318:6;5307:9;5303:22;5282:53;:::i;:::-;5272:63;;5227:118;5384:2;5410:53;5455:7;5446:6;5435:9;5431:22;5410:53;:::i;:::-;5400:63;;5355:118;4861:619;;;;;:::o;5486:911::-;5581:6;5589;5597;5605;5613;5662:3;5650:9;5641:7;5637:23;5633:33;5630:120;;;5669:79;;:::i;:::-;5630:120;5789:1;5814:53;5859:7;5850:6;5839:9;5835:22;5814:53;:::i;:::-;5804:63;;5760:117;5916:2;5942:53;5987:7;5978:6;5967:9;5963:22;5942:53;:::i;:::-;5932:63;;5887:118;6044:2;6070:53;6115:7;6106:6;6095:9;6091:22;6070:53;:::i;:::-;6060:63;;6015:118;6172:2;6198:53;6243:7;6234:6;6223:9;6219:22;6198:53;:::i;:::-;6188:63;;6143:118;6300:3;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6271:119;5486:911;;;;;;;;:::o;6403:619::-;6480:6;6488;6496;6545:2;6533:9;6524:7;6520:23;6516:32;6513:119;;;6551:79;;:::i;:::-;6513:119;6671:1;6696:53;6741:7;6732:6;6721:9;6717:22;6696:53;:::i;:::-;6686:63;;6642:117;6798:2;6824:53;6869:7;6860:6;6849:9;6845:22;6824:53;:::i;:::-;6814:63;;6769:118;6926:2;6952:53;6997:7;6988:6;6977:9;6973:22;6952:53;:::i;:::-;6942:63;;6897:118;6403:619;;;;;:::o;7028:116::-;7098:21;7113:5;7098:21;:::i;:::-;7091:5;7088:32;7078:60;;7134:1;7131;7124:12;7078:60;7028:116;:::o;7150:133::-;7193:5;7231:6;7218:20;7209:29;;7247:30;7271:5;7247:30;:::i;:::-;7150:133;;;;:::o;7289:468::-;7354:6;7362;7411:2;7399:9;7390:7;7386:23;7382:32;7379:119;;;7417:79;;:::i;:::-;7379:119;7537:1;7562:53;7607:7;7598:6;7587:9;7583:22;7562:53;:::i;:::-;7552:63;;7508:117;7664:2;7690:50;7732:7;7723:6;7712:9;7708:22;7690:50;:::i;:::-;7680:60;;7635:115;7289:468;;;;;:::o;7763:86::-;7798:7;7838:4;7831:5;7827:16;7816:27;;7763:86;;;:::o;7855:112::-;7938:22;7954:5;7938:22;:::i;:::-;7933:3;7926:35;7855:112;;:::o;7973:214::-;8062:4;8100:2;8089:9;8085:18;8077:26;;8113:67;8177:1;8166:9;8162:17;8153:6;8113:67;:::i;:::-;7973:214;;;;:::o;8193:329::-;8252:6;8301:2;8289:9;8280:7;8276:23;8272:32;8269:119;;;8307:79;;:::i;:::-;8269:119;8427:1;8452:53;8497:7;8488:6;8477:9;8473:22;8452:53;:::i;:::-;8442:63;;8398:117;8193:329;;;;:::o;8528:::-;8587:6;8636:2;8624:9;8615:7;8611:23;8607:32;8604:119;;;8642:79;;:::i;:::-;8604:119;8762:1;8787:53;8832:7;8823:6;8812:9;8808:22;8787:53;:::i;:::-;8777:63;;8733:117;8528:329;;;;:::o;8863:118::-;8950:24;8968:5;8950:24;:::i;:::-;8945:3;8938:37;8863:118;;:::o;8987:222::-;9080:4;9118:2;9107:9;9103:18;9095:26;;9131:71;9199:1;9188:9;9184:17;9175:6;9131:71;:::i;:::-;8987:222;;;;:::o;9215:474::-;9283:6;9291;9340:2;9328:9;9319:7;9315:23;9311:32;9308:119;;;9346:79;;:::i;:::-;9308:119;9466:1;9491:53;9536:7;9527:6;9516:9;9512:22;9491:53;:::i;:::-;9481:63;;9437:117;9593:2;9619:53;9664:7;9655:6;9644:9;9640:22;9619:53;:::i;:::-;9609:63;;9564:118;9215:474;;;;;:::o;9695:468::-;9760:6;9768;9817:2;9805:9;9796:7;9792:23;9788:32;9785:119;;;9823:79;;:::i;:::-;9785:119;9943:1;9968:50;10010:7;10001:6;9990:9;9986:22;9968:50;:::i;:::-;9958:60;;9914:114;10067:2;10093:53;10138:7;10129:6;10118:9;10114:22;10093:53;:::i;:::-;10083:63;;10038:118;9695:468;;;;;:::o;10169:60::-;10197:3;10218:5;10211:12;;10169:60;;;:::o;10235:142::-;10285:9;10318:53;10336:34;10345:24;10363:5;10345:24;:::i;:::-;10336:34;:::i;:::-;10318:53;:::i;:::-;10305:66;;10235:142;;;:::o;10383:126::-;10433:9;10466:37;10497:5;10466:37;:::i;:::-;10453:50;;10383:126;;;:::o;10515:144::-;10583:9;10616:37;10647:5;10616:37;:::i;:::-;10603:50;;10515:144;;;:::o;10665:167::-;10770:55;10819:5;10770:55;:::i;:::-;10765:3;10758:68;10665:167;;:::o;10838:258::-;10949:4;10987:2;10976:9;10972:18;10964:26;;11000:89;11086:1;11075:9;11071:17;11062:6;11000:89;:::i;:::-;10838:258;;;;:::o;11102:182::-;11242:34;11238:1;11230:6;11226:14;11219:58;11102:182;:::o;11290:366::-;11432:3;11453:67;11517:2;11512:3;11453:67;:::i;:::-;11446:74;;11529:93;11618:3;11529:93;:::i;:::-;11647:2;11642:3;11638:12;11631:19;;11290:366;;;:::o;11662:419::-;11828:4;11866:2;11855:9;11851:18;11843:26;;11915:9;11909:4;11905:20;11901:1;11890:9;11886:17;11879:47;11943:131;12069:4;11943:131;:::i;:::-;11935:139;;11662:419;;;:::o;12087:180::-;12135:77;12132:1;12125:88;12232:4;12229:1;12222:15;12256:4;12253:1;12246:15;12273:180;12321:77;12318:1;12311:88;12418:4;12415:1;12408:15;12442:4;12439:1;12432:15;12459:185;12499:1;12516:20;12534:1;12516:20;:::i;:::-;12511:25;;12550:20;12568:1;12550:20;:::i;:::-;12545:25;;12589:1;12579:35;;12594:18;;:::i;:::-;12579:35;12636:1;12633;12629:9;12624:14;;12459:185;;;;:::o;12650:179::-;12790:31;12786:1;12778:6;12774:14;12767:55;12650:179;:::o;12835:366::-;12977:3;12998:67;13062:2;13057:3;12998:67;:::i;:::-;12991:74;;13074:93;13163:3;13074:93;:::i;:::-;13192:2;13187:3;13183:12;13176:19;;12835:366;;;:::o;13207:419::-;13373:4;13411:2;13400:9;13396:18;13388:26;;13460:9;13454:4;13450:20;13446:1;13435:9;13431:17;13424:47;13488:131;13614:4;13488:131;:::i;:::-;13480:139;;13207:419;;;:::o;13632:181::-;13772:33;13768:1;13760:6;13756:14;13749:57;13632:181;:::o;13819:366::-;13961:3;13982:67;14046:2;14041:3;13982:67;:::i;:::-;13975:74;;14058:93;14147:3;14058:93;:::i;:::-;14176:2;14171:3;14167:12;14160:19;;13819:366;;;:::o;14191:419::-;14357:4;14395:2;14384:9;14380:18;14372:26;;14444:9;14438:4;14434:20;14430:1;14419:9;14415:17;14408:47;14472:131;14598:4;14472:131;:::i;:::-;14464:139;;14191:419;;;:::o;14616:182::-;14756:34;14752:1;14744:6;14740:14;14733:58;14616:182;:::o;14804:366::-;14946:3;14967:67;15031:2;15026:3;14967:67;:::i;:::-;14960:74;;15043:93;15132:3;15043:93;:::i;:::-;15161:2;15156:3;15152:12;15145:19;;14804:366;;;:::o;15176:419::-;15342:4;15380:2;15369:9;15365:18;15357:26;;15429:9;15423:4;15419:20;15415:1;15404:9;15400:17;15393:47;15457:131;15583:4;15457:131;:::i;:::-;15449:139;;15176:419;;;:::o;15601:223::-;15741:34;15737:1;15729:6;15725:14;15718:58;15810:6;15805:2;15797:6;15793:15;15786:31;15601:223;:::o;15830:366::-;15972:3;15993:67;16057:2;16052:3;15993:67;:::i;:::-;15986:74;;16069:93;16158:3;16069:93;:::i;:::-;16187:2;16182:3;16178:12;16171:19;;15830:366;;;:::o;16202:419::-;16368:4;16406:2;16395:9;16391:18;16383:26;;16455:9;16449:4;16445:20;16441:1;16430:9;16426:17;16419:47;16483:131;16609:4;16483:131;:::i;:::-;16475:139;;16202:419;;;:::o;16627:553::-;16804:4;16842:3;16831:9;16827:19;16819:27;;16856:71;16924:1;16913:9;16909:17;16900:6;16856:71;:::i;:::-;16937:72;17005:2;16994:9;16990:18;16981:6;16937:72;:::i;:::-;17019;17087:2;17076:9;17072:18;17063:6;17019:72;:::i;:::-;17101;17169:2;17158:9;17154:18;17145:6;17101:72;:::i;:::-;16627:553;;;;;;;:::o;17186:410::-;17226:7;17249:20;17267:1;17249:20;:::i;:::-;17244:25;;17283:20;17301:1;17283:20;:::i;:::-;17278:25;;17338:1;17335;17331:9;17360:30;17378:11;17360:30;:::i;:::-;17349:41;;17539:1;17530:7;17526:15;17523:1;17520:22;17500:1;17493:9;17473:83;17450:139;;17569:18;;:::i;:::-;17450:139;17234:362;17186:410;;;;:::o;17602:182::-;17742:34;17738:1;17730:6;17726:14;17719:58;17602:182;:::o;17790:366::-;17932:3;17953:67;18017:2;18012:3;17953:67;:::i;:::-;17946:74;;18029:93;18118:3;18029:93;:::i;:::-;18147:2;18142:3;18138:12;18131:19;;17790:366;;;:::o;18162:419::-;18328:4;18366:2;18355:9;18351:18;18343:26;;18415:9;18409:4;18405:20;18401:1;18390:9;18386:17;18379:47;18443:131;18569:4;18443:131;:::i;:::-;18435:139;;18162:419;;;:::o;18587:143::-;18644:5;18675:6;18669:13;18660:22;;18691:33;18718:5;18691:33;:::i;:::-;18587:143;;;;:::o;18736:351::-;18806:6;18855:2;18843:9;18834:7;18830:23;18826:32;18823:119;;;18861:79;;:::i;:::-;18823:119;18981:1;19006:64;19062:7;19053:6;19042:9;19038:22;19006:64;:::i;:::-;18996:74;;18952:128;18736:351;;;;:::o;19093:332::-;19214:4;19252:2;19241:9;19237:18;19229:26;;19265:71;19333:1;19322:9;19318:17;19309:6;19265:71;:::i;:::-;19346:72;19414:2;19403:9;19399:18;19390:6;19346:72;:::i;:::-;19093:332;;;;;:::o;19431:137::-;19485:5;19516:6;19510:13;19501:22;;19532:30;19556:5;19532:30;:::i;:::-;19431:137;;;;:::o;19574:345::-;19641:6;19690:2;19678:9;19669:7;19665:23;19661:32;19658:119;;;19696:79;;:::i;:::-;19658:119;19816:1;19841:61;19894:7;19885:6;19874:9;19870:22;19841:61;:::i;:::-;19831:71;;19787:125;19574:345;;;;:::o;19925:320::-;20040:4;20078:2;20067:9;20063:18;20055:26;;20091:71;20159:1;20148:9;20144:17;20135:6;20091:71;:::i;:::-;20172:66;20234:2;20223:9;20219:18;20210:6;20172:66;:::i;:::-;19925:320;;;;;:::o;20251:225::-;20391:34;20387:1;20379:6;20375:14;20368:58;20460:8;20455:2;20447:6;20443:15;20436:33;20251:225;:::o;20482:366::-;20624:3;20645:67;20709:2;20704:3;20645:67;:::i;:::-;20638:74;;20721:93;20810:3;20721:93;:::i;:::-;20839:2;20834:3;20830:12;20823:19;;20482:366;;;:::o;20854:419::-;21020:4;21058:2;21047:9;21043:18;21035:26;;21107:9;21101:4;21097:20;21093:1;21082:9;21078:17;21071:47;21135:131;21261:4;21135:131;:::i;:::-;21127:139;;20854:419;;;:::o;21279:191::-;21319:3;21338:20;21356:1;21338:20;:::i;:::-;21333:25;;21372:20;21390:1;21372:20;:::i;:::-;21367:25;;21415:1;21412;21408:9;21401:16;;21436:3;21433:1;21430:10;21427:36;;;21443:18;;:::i;:::-;21427:36;21279:191;;;;:::o;21476:177::-;21616:29;21612:1;21604:6;21600:14;21593:53;21476:177;:::o;21659:366::-;21801:3;21822:67;21886:2;21881:3;21822:67;:::i;:::-;21815:74;;21898:93;21987:3;21898:93;:::i;:::-;22016:2;22011:3;22007:12;22000:19;;21659:366;;;:::o;22031:419::-;22197:4;22235:2;22224:9;22220:18;22212:26;;22284:9;22278:4;22274:20;22270:1;22259:9;22255:17;22248:47;22312:131;22438:4;22312:131;:::i;:::-;22304:139;;22031:419;;;:::o;22456:418::-;22593:4;22631:2;22620:9;22616:18;22608:26;;22644:67;22708:1;22697:9;22693:17;22684:6;22644:67;:::i;:::-;22721:68;22785:2;22774:9;22770:18;22761:6;22721:68;:::i;:::-;22799;22863:2;22852:9;22848:18;22839:6;22799:68;:::i;:::-;22456:418;;;;;;:::o;22880:220::-;23020:34;23016:1;23008:6;23004:14;22997:58;23089:3;23084:2;23076:6;23072:15;23065:28;22880:220;:::o;23106:366::-;23248:3;23269:67;23333:2;23328:3;23269:67;:::i;:::-;23262:74;;23345:93;23434:3;23345:93;:::i;:::-;23463:2;23458:3;23454:12;23447:19;;23106:366;;;:::o;23478:419::-;23644:4;23682:2;23671:9;23667:18;23659:26;;23731:9;23725:4;23721:20;23717:1;23706:9;23702:17;23695:47;23759:131;23885:4;23759:131;:::i;:::-;23751:139;;23478:419;;;:::o;23903:194::-;23943:4;23963:20;23981:1;23963:20;:::i;:::-;23958:25;;23997:20;24015:1;23997:20;:::i;:::-;23992:25;;24041:1;24038;24034:9;24026:17;;24065:1;24059:4;24056:11;24053:37;;;24070:18;;:::i;:::-;24053:37;23903:194;;;;:::o;24103:170::-;24243:22;24239:1;24231:6;24227:14;24220:46;24103:170;:::o;24279:366::-;24421:3;24442:67;24506:2;24501:3;24442:67;:::i;:::-;24435:74;;24518:93;24607:3;24518:93;:::i;:::-;24636:2;24631:3;24627:12;24620:19;;24279:366;;;:::o;24651:419::-;24817:4;24855:2;24844:9;24840:18;24832:26;;24904:9;24898:4;24894:20;24890:1;24879:9;24875:17;24868:47;24932:131;25058:4;24932:131;:::i;:::-;24924:139;;24651:419;;;:::o;25076:249::-;25216:34;25212:1;25204:6;25200:14;25193:58;25285:32;25280:2;25272:6;25268:15;25261:57;25076:249;:::o;25331:366::-;25473:3;25494:67;25558:2;25553:3;25494:67;:::i;:::-;25487:74;;25570:93;25659:3;25570:93;:::i;:::-;25688:2;25683:3;25679:12;25672:19;;25331:366;;;:::o;25703:419::-;25869:4;25907:2;25896:9;25892:18;25884:26;;25956:9;25950:4;25946:20;25942:1;25931:9;25927:17;25920:47;25984:131;26110:4;25984:131;:::i;:::-;25976:139;;25703:419;;;:::o;26128:167::-;26268:19;26264:1;26256:6;26252:14;26245:43;26128:167;:::o;26301:366::-;26443:3;26464:67;26528:2;26523:3;26464:67;:::i;:::-;26457:74;;26540:93;26629:3;26540:93;:::i;:::-;26658:2;26653:3;26649:12;26642:19;;26301:366;;;:::o;26673:419::-;26839:4;26877:2;26866:9;26862:18;26854:26;;26926:9;26920:4;26916:20;26912:1;26901:9;26897:17;26890:47;26954:131;27080:4;26954:131;:::i;:::-;26946:139;;26673:419;;;:::o;27098:180::-;27146:77;27143:1;27136:88;27243:4;27240:1;27233:15;27267:4;27264:1;27257:15;27284:180;27332:77;27329:1;27322:88;27429:4;27426:1;27419:15;27453:4;27450:1;27443:15;27470:85;27515:7;27544:5;27533:16;;27470:85;;;:::o;27561:158::-;27619:9;27652:61;27670:42;27679:32;27705:5;27679:32;:::i;:::-;27670:42;:::i;:::-;27652:61;:::i;:::-;27639:74;;27561:158;;;:::o;27725:147::-;27820:45;27859:5;27820:45;:::i;:::-;27815:3;27808:58;27725:147;;:::o;27878:114::-;27945:6;27979:5;27973:12;27963:22;;27878:114;;;:::o;27998:184::-;28097:11;28131:6;28126:3;28119:19;28171:4;28166:3;28162:14;28147:29;;27998:184;;;;:::o;28188:132::-;28255:4;28278:3;28270:11;;28308:4;28303:3;28299:14;28291:22;;28188:132;;;:::o;28326:108::-;28403:24;28421:5;28403:24;:::i;:::-;28398:3;28391:37;28326:108;;:::o;28440:179::-;28509:10;28530:46;28572:3;28564:6;28530:46;:::i;:::-;28608:4;28603:3;28599:14;28585:28;;28440:179;;;;:::o;28625:113::-;28695:4;28727;28722:3;28718:14;28710:22;;28625:113;;;:::o;28774:732::-;28893:3;28922:54;28970:5;28922:54;:::i;:::-;28992:86;29071:6;29066:3;28992:86;:::i;:::-;28985:93;;29102:56;29152:5;29102:56;:::i;:::-;29181:7;29212:1;29197:284;29222:6;29219:1;29216:13;29197:284;;;29298:6;29292:13;29325:63;29384:3;29369:13;29325:63;:::i;:::-;29318:70;;29411:60;29464:6;29411:60;:::i;:::-;29401:70;;29257:224;29244:1;29241;29237:9;29232:14;;29197:284;;;29201:14;29497:3;29490:10;;28898:608;;;28774:732;;;;:::o;29512:831::-;29775:4;29813:3;29802:9;29798:19;29790:27;;29827:71;29895:1;29884:9;29880:17;29871:6;29827:71;:::i;:::-;29908:80;29984:2;29973:9;29969:18;29960:6;29908:80;:::i;:::-;30035:9;30029:4;30025:20;30020:2;30009:9;30005:18;29998:48;30063:108;30166:4;30157:6;30063:108;:::i;:::-;30055:116;;30181:72;30249:2;30238:9;30234:18;30225:6;30181:72;:::i;:::-;30263:73;30331:3;30320:9;30316:19;30307:6;30263:73;:::i;:::-;29512:831;;;;;;;;:::o;30349:147::-;30450:11;30487:3;30472:18;;30349:147;;;;:::o;30502:114::-;;:::o;30622:398::-;30781:3;30802:83;30883:1;30878:3;30802:83;:::i;:::-;30795:90;;30894:93;30983:3;30894:93;:::i;:::-;31012:1;31007:3;31003:11;30996:18;;30622:398;;;:::o;31026:379::-;31210:3;31232:147;31375:3;31232:147;:::i;:::-;31225:154;;31396:3;31389:10;;31026:379;;;:::o;31411:807::-;31660:4;31698:3;31687:9;31683:19;31675:27;;31712:71;31780:1;31769:9;31765:17;31756:6;31712:71;:::i;:::-;31793:72;31861:2;31850:9;31846:18;31837:6;31793:72;:::i;:::-;31875:80;31951:2;31940:9;31936:18;31927:6;31875:80;:::i;:::-;31965;32041:2;32030:9;32026:18;32017:6;31965:80;:::i;:::-;32055:73;32123:3;32112:9;32108:19;32099:6;32055:73;:::i;:::-;32138;32206:3;32195:9;32191:19;32182:6;32138:73;:::i;:::-;31411:807;;;;;;;;;:::o;32224:663::-;32312:6;32320;32328;32377:2;32365:9;32356:7;32352:23;32348:32;32345:119;;;32383:79;;:::i;:::-;32345:119;32503:1;32528:64;32584:7;32575:6;32564:9;32560:22;32528:64;:::i;:::-;32518:74;;32474:128;32641:2;32667:64;32723:7;32714:6;32703:9;32699:22;32667:64;:::i;:::-;32657:74;;32612:129;32780:2;32806:64;32862:7;32853:6;32842:9;32838:22;32806:64;:::i;:::-;32796:74;;32751:129;32224:663;;;;;:::o;32893:332::-;33014:4;33052:2;33041:9;33037:18;33029:26;;33065:71;33133:1;33122:9;33118:17;33109:6;33065:71;:::i;:::-;33146:72;33214:2;33203:9;33199:18;33190:6;33146:72;:::i;:::-;32893:332;;;;;:::o

Swarm Source

ipfs://39e146c74ba08c96365b233676820c6e568754cc58e6ba701b893c23ebe67a6d
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.