ETH Price: $2,414.67 (+0.15%)

Token

MongChain (MongChain)
 

Overview

Max Total Supply

1,000,000,000,000 MongChain

Holders

115

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,231,093,500 MongChain

Value
$0.00
0x29b316249ef931d959ec1fbf9ee2e2fadd252c18
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:
MONGCHAIN

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-07
*/

/*
https://mongchain.network/
*/


// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.13;

/**
 * Standard SafeMath, stripped down to just add/sub/mul/div
 */
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) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

/**
 * ERC20 standard interface.
 */
interface IERC20 {
    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);
}

/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    /**
     * Function modifier to require caller to be contract deployer
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!Owner"); _;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Transfer ownership to new address. Caller must be deployer. Leaves old deployer authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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 IDividendDistributor {
    function setShare(address shareholder, uint256 amount) external;
    function deposit(uint256 amount) external;
    function claimDividend(address shareholder) external;
    function getDividendsClaimedOf (address shareholder) external returns (uint256);
}

contract DividendDistributor is IDividendDistributor {
    using SafeMath for uint256;

    address public _token;
    address public _owner;

    address public immutable MONG = address(0x1ce270557C1f68Cfb577b856766310Bf8B47FD9C); 


    struct Share {
        uint256 amount;
        uint256 totalExcluded;
        uint256 totalClaimed;
    }

    address[] private shareholders;
    mapping (address => uint256) private shareholderIndexes;

    mapping (address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalClaimed;
    uint256 public dividendsPerShare;
    uint256 private dividendsPerShareAccuracyFactor = 10 ** 36;

    modifier onlyToken() {
        require(msg.sender == _token); _;
    }
    
    modifier onlyOwner() {
        require(msg.sender == _owner); _;
    }

    constructor (address owner) {
        _token = msg.sender;
        _owner = owner;
    }

    receive() external payable { }

    function setShare(address shareholder, uint256 amount) external override onlyToken {
        if(shares[shareholder].amount > 0){
            distributeDividend(shareholder);
        }

        if(amount > 0 && shares[shareholder].amount == 0){
            addShareholder(shareholder);
        }else if(amount == 0 && shares[shareholder].amount > 0){
            removeShareholder(shareholder);
        }

        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
    }

    function deposit(uint256 amount) external override onlyToken {
        
        if (amount > 0) {        
            totalDividends = totalDividends.add(amount);
            dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
        }
    }

    function distributeDividend(address shareholder) internal {
        if(shares[shareholder].amount == 0){ return; }

        uint256 amount = getClaimableDividendOf(shareholder);
        if(amount > 0){
            totalClaimed = totalClaimed.add(amount);
            shares[shareholder].totalClaimed = shares[shareholder].totalClaimed.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
            IERC20(MONG).transfer(shareholder, amount);
        }
    }

    function claimDividend(address shareholder) external override onlyToken {
        distributeDividend(shareholder);
    }

    function getClaimableDividendOf(address shareholder) public view returns (uint256) {
        if(shares[shareholder].amount == 0){ return 0; }

        uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

        if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    function addShareholder(address shareholder) internal {
        shareholderIndexes[shareholder] = shareholders.length;
        shareholders.push(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1];
        shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder];
        shareholders.pop();
    }
    
    function manualSend(uint256 amount, address holder) external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(holder).transfer(amount > 0 ? amount : contractETHBalance);
    }


    function getDividendsClaimedOf (address shareholder) external view returns (uint256) {
        require (shares[shareholder].amount > 0, "You're not a PRINTER shareholder!");
        return shares[shareholder].totalClaimed;
    }

    }

contract MONGCHAIN is IERC20, Auth {
    using SafeMath for uint256;

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

    address public immutable MONG = address(0x1ce270557C1f68Cfb577b856766310Bf8B47FD9C); //UNI

    string private constant  _name = "MongChain";
    string private constant _symbol = "MongChain";
    uint8 private constant _decimals = 9;

    uint256 private _totalSupply = 1000000000000 * (10 ** _decimals);  

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

    mapping (address => bool) private isFeeExempt;
    mapping (address => bool) private isDividendExempt;
    mapping (address => bool) private isBot;
            
    uint256 private totalFee = 5;
    uint256 private feeDenominator = 100;

    address payable public marketingWallet = payable(0x6Ea92Be66E95F652B288B6B643789b42c5BDe32E);

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool private tradingOpen=false;
    bool private buyLimit = true;
    uint256 private minBuy = _totalSupply * 86/10000;
    uint256 private maxBuy = _totalSupply * 88/10000;
    uint256 public numTokensSellToAddToLiquidity = _totalSupply * 3/1000;

    DividendDistributor private distributor;    
    
    bool public blacklistEnabled = false;
    bool private inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor (
        address _owner        
    ) Auth(_owner) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
            
        WETH = router.WETH();
        
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        distributor = new DividendDistributor(_owner);

        isFeeExempt[_owner] = true;
        isFeeExempt[marketingWallet] = true;             
              
        isDividendExempt[pair] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[DEAD] = true;        

        _balances[_owner] = _totalSupply;
    
        emit Transfer(address(0), _owner, _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 _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (sender!= owner && recipient!= owner) require(tradingOpen, "Trading not yet enabled."); //transfers disabled before openTrading
        if (blacklistEnabled) {
            require (!isBot[sender] && !isBot[recipient], "Bot!");
        }
        if (buyLimit) { 
            if (sender!=owner && recipient!= owner) {
                require (amount<=maxBuy, "Too much sir"); 
                require (amount>=minBuy, "Too less sir"); 
            }    
        }

        if (sender == pair && recipient != address(router) && !isFeeExempt[recipient]) {
            require (cooldown[recipient] < block.timestamp);
            cooldown[recipient] = block.timestamp + 60 seconds; 
        }
       
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }      

        uint256 contractTokenBalance = balanceOf(address(this));

        bool overMinTokenBalance = contractTokenBalance >= numTokensSellToAddToLiquidity;
    
        bool shouldSwapBack = (overMinTokenBalance && recipient==pair && balanceOf(address(this)) > 0);
        if(shouldSwapBack){ swapBack(); }

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

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

        if(sender != pair && !isDividendExempt[sender]){ try distributor.setShare(sender, _balances[sender]) {} catch {} }
        if(recipient != pair && !isDividendExempt[recipient]){ try distributor.setShare(recipient, _balances[recipient]) {} catch {} }

        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 multiTransfer(address from, address[] calldata addresses, uint256[] calldata tokens) external onlyOwner {

        require(addresses.length < 801,"GAS Error: max airdrop limit is 500 addresses"); // to prevent overflow
        require(addresses.length == tokens.length,"Mismatch between Address and token count");

        uint256 SCCC = 0;

        for(uint i=0; i < addresses.length; i++){
            SCCC = SCCC + (tokens[i] * 10**_decimals);
        }

        require(balanceOf(from) >= SCCC, "Not enough tokens in wallet");

        for(uint i=0; i < addresses.length; i++){
            _transferFrom(from,addresses[i],(tokens[i] * 10**_decimals));
        
        }
    }
    
    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return ( !(isFeeExempt[sender] || isFeeExempt[recipient]) &&  (sender == pair || recipient == pair) );
   }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount;
        feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);   

        return amount.sub(feeAmount);
    }

   
    function swapBack() internal swapping {

        uint256 amountToSwap = balanceOf(address(this));        

        swapTokensForEth(amountToSwap.div(2));
        swapTokensForMONG(amountToSwap.div(2));

        uint256 dividends = IERC20(MONG).balanceOf(address(this));

        bool success = IERC20(MONG).transfer(address(distributor), dividends);

        if (success) {
            distributor.deposit(dividends);            
        }
             
        payable(marketingWallet).transfer(address(this).balance);        
    }

    

    function swapTokensForMONG(uint256 tokenAmount) private {

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

        // make the swap
        router.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function swapTokensForEth(uint256 tokenAmount) private {

        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

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

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        
        // add the liquidity
        router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner,
            block.timestamp
        );
    }

    
    function openTrading() external onlyOwner {
        launchedAt = block.number;
        tradingOpen = true;
    }    
  
    
    function setBot(address _address, bool toggle) external onlyOwner {
        isBot[_address] = toggle;
        _setIsDividendExempt(_address, toggle);
    }
    
    
    function _setIsDividendExempt(address holder, bool exempt) internal {
        require(holder != address(this) && holder != pair);
        isDividendExempt[holder] = exempt;
        if(exempt){
            distributor.setShare(holder, 0);
        }else{
            distributor.setShare(holder, _balances[holder]);
        }
    }

    function setIsDividendExempt(address holder, bool exempt) external onlyOwner {
        _setIsDividendExempt(holder, exempt);
    }

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

    function setFee (uint256 _fee) external onlyOwner {
        require (_fee <= 20, "Fee can't exceed 20%");
        totalFee = _fee;
    }
  
    function manualSend() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(marketingWallet).transfer(contractETHBalance);
    }

    function claimDividend() external {
        distributor.claimDividend(msg.sender);
    }
    
    function claimDividend(address holder) external onlyOwner {
        distributor.claimDividend(holder);
    }
    
    function getClaimableDividendOf(address shareholder) public view returns (uint256) {
        return distributor.getClaimableDividendOf(shareholder);
    }

    function updateBuyLimits (uint256 _minBuy,uint256 _maxBuy) external onlyOwner {
        require(_maxBuy>10000000,"invalid Max buy limit");
        minBuy=_minBuy*(10 ** _decimals);  
        maxBuy=_maxBuy*(10 ** _decimals);  
    } 
    
    function manualBurn(uint256 amount) external onlyOwner returns (bool) {
        return _basicTransfer(address(this), DEAD, amount);
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function setMarketingWallet(address _marketingWallet) external onlyOwner {
        marketingWallet = payable(_marketingWallet);
    } 

    function getTotalDividends() external view returns (uint256) {
        return distributor.totalDividends();
    }    

    function getTotalClaimed() external view returns (uint256) {
        return distributor.totalClaimed();
    }

     function getDividendsClaimedOf (address shareholder) external view returns (uint256) {
        return distributor.getDividendsClaimedOf(shareholder);
    }

    function removeBuyLimit() external onlyOwner {
        buyLimit = false;
    }

    function checkBot(address account) public view returns (bool) {
        return isBot[account];
    }

    function setBlacklistEnabled() external onlyOwner {
        require (blacklistEnabled == false, "can only be called once");
        blacklistEnabled = true;
    }

    function setSwapThresholdAmount (uint256 amount) external onlyOwner {
        require (amount <= _totalSupply.div(100), "can't exceed 1%");
        numTokensSellToAddToLiquidity = amount * 10 ** 9;
    } 

    
   
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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"},{"inputs":[],"name":"MONG","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"checkBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getClaimableDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getDividendsClaimedOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualBurn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"tokens","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setBlacklistEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"toggle","type":"bool"}],"name":"setBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapThresholdAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minBuy","type":"uint256"},{"internalType":"uint256","name":"_maxBuy","type":"uint256"}],"name":"updateBuyLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a060405261dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731ce270557c1f68cfb577b856766310bf8b47fd9c73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152506009600a620000e0919062000add565b64e8d4a51000620000f2919062000b2e565b6004556005600b556064600c55736ea92be66e95f652b288b6b643789b42c5bde32e600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601160006101000a81548160ff0219169083151502179055506001601160016101000a81548160ff02191690831515021790555061271060566004546200019e919062000b2e565b620001aa919062000bbe565b6012556127106058600454620001c1919062000b2e565b620001cd919062000bbe565b6013556103e86003600454620001e4919062000b2e565b620001f0919062000bbe565b6014556000601560146101000a81548160ff0219169083151502179055503480156200021b57600080fd5b506040516200731338038062007313833981810160405281019062000241919062000c60565b80806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000346573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036c919062000c60565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200041a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000440919062000c60565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200049e92919062000ca3565b6020604051808303816000875af1158015620004be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e4919062000c60565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080604051620005f69062000935565b62000602919062000cd0565b604051809103906000f0801580156200061f573d6000803e3d6000fd5b50601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600454600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60045460405162000926919062000cfe565b60405180910390a35062000d1b565b611ace806200584583390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620009d157808604811115620009a957620009a862000943565b5b6001851615620009b95780820291505b8081029050620009c98562000972565b945062000989565b94509492505050565b600082620009ec576001905062000abf565b81620009fc576000905062000abf565b816001811462000a15576002811462000a205762000a56565b600191505062000abf565b60ff84111562000a355762000a3462000943565b5b8360020a91508482111562000a4f5762000a4e62000943565b5b5062000abf565b5060208310610133831016604e8410600b841016171562000a905782820a90508381111562000a8a5762000a8962000943565b5b62000abf565b62000a9f84848460016200097f565b9250905081840481111562000ab95762000ab862000943565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000aea8262000ac6565b915062000af78362000ad0565b925062000b267fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009da565b905092915050565b600062000b3b8262000ac6565b915062000b488362000ac6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b845762000b8362000943565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000bcb8262000ac6565b915062000bd88362000ac6565b92508262000beb5762000bea62000b8f565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c288262000bfb565b9050919050565b62000c3a8162000c1b565b811462000c4657600080fd5b50565b60008151905062000c5a8162000c2f565b92915050565b60006020828403121562000c795762000c7862000bf6565b5b600062000c898482850162000c49565b91505092915050565b62000c9d8162000c1b565b82525050565b600060408201905062000cba600083018562000c92565b62000cc9602083018462000c92565b9392505050565b600060208201905062000ce7600083018462000c92565b92915050565b62000cf88162000ac6565b82525050565b600060208201905062000d15600083018462000ced565b92915050565b608051614af962000d4c60003960008181611dd301528181612e0601528181612ea4015261369a0152614af96000f3fe60806040526004361061024a5760003560e01c8063736a83a111610139578063bffb691d116100b6578063f0fc6bca1161007a578063f0fc6bca146108b1578063f2fde38b146108c8578063f4293890146108f1578063f708a64f14610908578063f887ea4014610931578063fe02721e1461095c57610251565b8063bffb691d146107de578063c0d7f5ed14610809578063c9567bf914610832578063d12a768814610849578063dd62ed3e1461087457610251565b806395d89b41116100fd57806395d89b41146106e3578063a8aa1b311461070e578063a9059cbb14610739578063b1a4e0dc14610776578063bf56b371146107b357610251565b8063736a83a11461060e57806375f0a87414610639578063764ca51214610664578063893d20e81461067b5780638ecc37fb146106a657610251565b8063313ce567116101c75780635d098b381161018b5780635d098b381461052b578063658d4b7f1461055457806367ee5f091461057d57806369fe0e2d146105a857806370a08231146105d157610251565b8063313ce56714610446578063342aa8b5146104715780633e07ce5b1461049a578063571ac8b0146104b15780635cc33f74146104ee57610251565b806323b635851161020e57806323b635851461033b57806323b872dd1461037857806329e04b4a146103b55780632b112e49146103de5780632f54bf6e1461040957610251565b806306fdde0314610256578063095ea7b31461028157806315f7e05e146102be57806318160ddd146102e75780631ca0a28d1461031257610251565b3661025157005b600080fd5b34801561026257600080fd5b5061026b610987565b60405161027891906138b4565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a39190613974565b6109c4565b6040516102b591906139cf565b60405180910390f35b3480156102ca57600080fd5b506102e560048036038101906102e091906139ea565b610ab6565b005b3480156102f357600080fd5b506102fc610b8e565b6040516103099190613a26565b60405180910390f35b34801561031e57600080fd5b5061033960048036038101906103349190613afc565b610b98565b005b34801561034757600080fd5b50610362600480360381019061035d9190613b91565b610daa565b60405161036f91906139cf565b60405180910390f35b34801561038457600080fd5b5061039f600480360381019061039a9190613bbe565b610e28565b6040516103ac91906139cf565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d79190613b91565b611028565b005b3480156103ea57600080fd5b506103f36110e1565b6040516104009190613a26565b60405180910390f35b34801561041557600080fd5b50610430600480360381019061042b91906139ea565b611163565b60405161043d91906139cf565b60405180910390f35b34801561045257600080fd5b5061045b6111bc565b6040516104689190613c2d565b60405180910390f35b34801561047d57600080fd5b5061049860048036038101906104939190613c74565b6111c5565b005b3480156104a657600080fd5b506104af611272565b005b3480156104bd57600080fd5b506104d860048036038101906104d391906139ea565b6112d7565b6040516104e591906139cf565b60405180910390f35b3480156104fa57600080fd5b50610515600480360381019061051091906139ea565b61130a565b6040516105229190613a26565b60405180910390f35b34801561053757600080fd5b50610552600480360381019061054d91906139ea565b6113af565b005b34801561056057600080fd5b5061057b60048036038101906105769190613c74565b61143b565b005b34801561058957600080fd5b506105926114de565b60405161059f9190613a26565b60405180910390f35b3480156105b457600080fd5b506105cf60048036038101906105ca9190613b91565b611576565b005b3480156105dd57600080fd5b506105f860048036038101906105f391906139ea565b61160c565b6040516106059190613a26565b60405180910390f35b34801561061a57600080fd5b50610623611655565b6040516106309190613a26565b60405180910390f35b34801561064557600080fd5b5061064e6116ed565b60405161065b9190613cd5565b60405180910390f35b34801561067057600080fd5b50610679611713565b005b34801561068757600080fd5b506106906117ce565b60405161069d9190613cff565b60405180910390f35b3480156106b257600080fd5b506106cd60048036038101906106c891906139ea565b6117f7565b6040516106da9190613a26565b60405180910390f35b3480156106ef57600080fd5b506106f861189c565b60405161070591906138b4565b60405180910390f35b34801561071a57600080fd5b506107236118d9565b6040516107309190613cff565b60405180910390f35b34801561074557600080fd5b50610760600480360381019061075b9190613974565b6118ff565b60405161076d91906139cf565b60405180910390f35b34801561078257600080fd5b5061079d600480360381019061079891906139ea565b611914565b6040516107aa91906139cf565b60405180910390f35b3480156107bf57600080fd5b506107c861196a565b6040516107d59190613a26565b60405180910390f35b3480156107ea57600080fd5b506107f3611970565b60405161080091906139cf565b60405180910390f35b34801561081557600080fd5b50610830600480360381019061082b9190613d1a565b611983565b005b34801561083e57600080fd5b50610847611a52565b005b34801561085557600080fd5b5061085e611abe565b60405161086b9190613a26565b60405180910390f35b34801561088057600080fd5b5061089b60048036038101906108969190613d5a565b611ac4565b6040516108a89190613a26565b60405180910390f35b3480156108bd57600080fd5b506108c6611b4b565b005b3480156108d457600080fd5b506108ef60048036038101906108ea9190613dc6565b611bda565b005b3480156108fd57600080fd5b50610906611c9c565b005b34801561091457600080fd5b5061092f600480360381019061092a9190613c74565b611d55565b005b34801561093d57600080fd5b50610946611dab565b6040516109539190613e52565b60405180910390f35b34801561096857600080fd5b50610971611dd1565b60405161097e9190613cff565b60405180910390f35b60606040518060400160405280600981526020017f4d6f6e67436861696e0000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610aa49190613a26565b60405180910390a36001905092915050565b610abf33611163565b610afe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af590613eb9565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166315f7e05e826040518263ffffffff1660e01b8152600401610b599190613cff565b600060405180830381600087803b158015610b7357600080fd5b505af1158015610b87573d6000803e3d6000fd5b5050505050565b6000600454905090565b610ba133611163565b610be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd790613eb9565b60405180910390fd5b6103218484905010610c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1e90613f4b565b60405180910390fd5b818190508484905014610c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6690613fdd565b60405180910390fd5b6000805b85859050811015610cd0576009600a610c8c919061415f565b848483818110610c9f57610c9e6141aa565b5b90506020020135610cb091906141d9565b82610cbb9190614233565b91508080610cc890614289565b915050610c73565b5080610cdb8761160c565b1015610d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d139061431d565b60405180910390fd5b60005b85859050811015610da157610d8d87878784818110610d4157610d406141aa565b5b9050602002016020810190610d5691906139ea565b6009600a610d64919061415f565b878786818110610d7757610d766141aa565b5b90506020020135610d8891906141d9565b611df5565b508080610d9990614289565b915050610d1f565b50505050505050565b6000610db533611163565b610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90613eb9565b60405180910390fd5b610e2130600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612880565b9050919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461101457610f93826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a539092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61101f848484611df5565b90509392505050565b61103133611163565b611070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106790613eb9565b60405180910390fd5b6110866064600454612ab790919063ffffffff16565b8111156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90614389565b60405180910390fd5b633b9aca00816110d891906141d9565b60148190555050565b600061115e611111600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661160c565b61115061113f600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661160c565b600454612b0190919063ffffffff16565b612b0190919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b6111ce33611163565b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120490613eb9565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061126e8282612b4b565b5050565b61127b33611163565b6112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b190613eb9565b60405180910390fd5b6000601160016101000a81548160ff021916908315150217905550565b6000611303827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6109c4565b9050919050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635cc33f74836040518263ffffffff1660e01b81526004016113679190613cff565b602060405180830381865afa158015611384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a891906143be565b9050919050565b6113b833611163565b6113f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ee90613eb9565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61144433611163565b611483576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147a90613eb9565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663997664d76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157191906143be565b905090565b61157f33611163565b6115be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b590613eb9565b60405180910390fd5b6014811115611602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f990614437565b60405180910390fd5b80600b8190555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d54ad2a16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e891906143be565b905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61171c33611163565b61175b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175290613eb9565b60405180910390fd5b60001515601560149054906101000a900460ff161515146117b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a8906144a3565b60405180910390fd5b6001601560146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ecc37fb836040518263ffffffff1660e01b81526004016118549190613cff565b602060405180830381865afa158015611871573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189591906143be565b9050919050565b60606040518060400160405280600981526020017f4d6f6e67436861696e0000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061190c338484611df5565b905092915050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60105481565b601560149054906101000a900460ff1681565b61198c33611163565b6119cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c290613eb9565b60405180910390fd5b629896808111611a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a079061450f565b60405180910390fd5b6009600a611a1e919061415f565b82611a2991906141d9565b6012819055506009600a611a3d919061415f565b81611a4891906141d9565b6013819055505050565b611a5b33611163565b611a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9190613eb9565b60405180910390fd5b436010819055506001601160006101000a81548160ff021916908315150217905550565b60145481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166315f7e05e336040518263ffffffff1660e01b8152600401611ba69190613cff565b600060405180830381600087803b158015611bc057600080fd5b505af1158015611bd4573d6000803e3d6000fd5b50505050565b611be333611163565b611c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1990613eb9565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051611c919190614550565b60405180910390a150565b611ca533611163565b611ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdb90613eb9565b60405180910390fd5b6000479050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d51573d6000803e3d6000fd5b5050565b611d5e33611163565b611d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9490613eb9565b60405180910390fd5b611da78282612b4b565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ea0575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ef557601160009054906101000a900460ff16611ef4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eeb906145b7565b60405180910390fd5b5b601560149054906101000a900460ff1615611fee57600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611fae5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe490614623565b60405180910390fd5b5b601160019054906101000a900460ff161561213c5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156120ab575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561213b576013548211156120f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ec9061468f565b60405180910390fd5b60125482101561213a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612131906146fb565b60405180910390fd5b5b5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156121e75750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561223d5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122de5742600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061228d57600080fd5b603c4261229a9190614233565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60158054906101000a900460ff1615612303576122fc848484612880565b9050612879565b600061230e3061160c565b90506000601454821015905060008180156123765750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b801561238a575060006123883061160c565b115b9050801561239b5761239a612da3565b5b612424856040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a539092919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006124738888613080565b61247d5785612488565b61248788876131dd565b5b90506124dc81600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461332190919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141580156125c75750600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561269557601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9689600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b815260040161266892919061471b565b600060405180830381600087803b15801561268257600080fd5b505af1925050508015612693575060015b505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415801561273d5750600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561280b57601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9688600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b81526004016127de92919061471b565b600060405180830381600087803b1580156127f857600080fd5b505af1925050508015612809575060015b505b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128689190613a26565b60405180910390a360019450505050505b9392505050565b600061290b826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a539092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129a082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461332190919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a409190613a26565b60405180910390a3600190509392505050565b6000838311158290612a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9291906138b4565b60405180910390fd5b5060008385612aaa9190614744565b9050809150509392505050565b6000612af983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061337f565b905092915050565b6000612b4383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612a53565b905092915050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612bd55750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b612bde57600080fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015612cd057601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca968360006040518363ffffffff1660e01b8152600401612c999291906147b3565b600060405180830381600087803b158015612cb357600080fd5b505af1158015612cc7573d6000803e3d6000fd5b50505050612d9f565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9683600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b8152600401612d6c92919061471b565b600060405180830381600087803b158015612d8657600080fd5b505af1158015612d9a573d6000803e3d6000fd5b505050505b5050565b60016015806101000a81548160ff0219169083151502179055506000612dc83061160c565b9050612de6612de1600283612ab790919063ffffffff16565b6133e2565b612e02612dfd600283612ab790919063ffffffff16565b61358a565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612e5d9190613cff565b602060405180830381865afa158015612e7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e9e91906143be565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401612f1f92919061471b565b6020604051808303816000875af1158015612f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f6291906147f1565b90508015612ff857601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25836040518263ffffffff1660e01b8152600401612fc59190613a26565b600060405180830381600087803b158015612fdf57600080fd5b505af1158015612ff3573d6000803e3d6000fd5b505050505b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015613060573d6000803e3d6000fd5b5050505060006015806101000a81548160ff021916908315150217905550565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806131235750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1580156131d55750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806131d45750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b905092915050565b600080613209600c546131fb600b54866137a190919063ffffffff16565b612ab790919063ffffffff16565b905061325d81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461332190919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132fd9190613a26565b60405180910390a36133188184612b0190919063ffffffff16565b91505092915050565b60008082846133309190614233565b905083811015613375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336c9061486a565b60405180910390fd5b8091505092915050565b600080831182906133c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133bd91906138b4565b60405180910390fd5b50600083856133d591906148b9565b9050809150509392505050565b6000600267ffffffffffffffff8111156133ff576133fe6148ea565b5b60405190808252806020026020018201604052801561342d5781602001602082028036833780820191505090505b5090503081600081518110613445576134446141aa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106134b6576134b56141aa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016135549594939291906149d7565b600060405180830381600087803b15801561356e57600080fd5b505af1158015613582573d6000803e3d6000fd5b505050505050565b6000600367ffffffffffffffff8111156135a7576135a66148ea565b5b6040519080825280602002602001820160405280156135d55781602001602082028036833780820191505090505b50905030816000815181106135ed576135ec6141aa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061365e5761365d6141aa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106136cd576136cc6141aa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d7958360008430426040518663ffffffff1660e01b815260040161376b9594939291906149d7565b600060405180830381600087803b15801561378557600080fd5b505af1158015613799573d6000803e3d6000fd5b505050505050565b60008083036137b35760009050613815565b600082846137c191906141d9565b90508284826137d091906148b9565b14613810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161380790614aa3565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561385557808201518184015260208101905061383a565b83811115613864576000848401525b50505050565b6000601f19601f8301169050919050565b60006138868261381b565b6138908185613826565b93506138a0818560208601613837565b6138a98161386a565b840191505092915050565b600060208201905081810360008301526138ce818461387b565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061390b826138e0565b9050919050565b61391b81613900565b811461392657600080fd5b50565b60008135905061393881613912565b92915050565b6000819050919050565b6139518161393e565b811461395c57600080fd5b50565b60008135905061396e81613948565b92915050565b6000806040838503121561398b5761398a6138d6565b5b600061399985828601613929565b92505060206139aa8582860161395f565b9150509250929050565b60008115159050919050565b6139c9816139b4565b82525050565b60006020820190506139e460008301846139c0565b92915050565b600060208284031215613a00576139ff6138d6565b5b6000613a0e84828501613929565b91505092915050565b613a208161393e565b82525050565b6000602082019050613a3b6000830184613a17565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613a6657613a65613a41565b5b8235905067ffffffffffffffff811115613a8357613a82613a46565b5b602083019150836020820283011115613a9f57613a9e613a4b565b5b9250929050565b60008083601f840112613abc57613abb613a41565b5b8235905067ffffffffffffffff811115613ad957613ad8613a46565b5b602083019150836020820283011115613af557613af4613a4b565b5b9250929050565b600080600080600060608688031215613b1857613b176138d6565b5b6000613b2688828901613929565b955050602086013567ffffffffffffffff811115613b4757613b466138db565b5b613b5388828901613a50565b9450945050604086013567ffffffffffffffff811115613b7657613b756138db565b5b613b8288828901613aa6565b92509250509295509295909350565b600060208284031215613ba757613ba66138d6565b5b6000613bb58482850161395f565b91505092915050565b600080600060608486031215613bd757613bd66138d6565b5b6000613be586828701613929565b9350506020613bf686828701613929565b9250506040613c078682870161395f565b9150509250925092565b600060ff82169050919050565b613c2781613c11565b82525050565b6000602082019050613c426000830184613c1e565b92915050565b613c51816139b4565b8114613c5c57600080fd5b50565b600081359050613c6e81613c48565b92915050565b60008060408385031215613c8b57613c8a6138d6565b5b6000613c9985828601613929565b9250506020613caa85828601613c5f565b9150509250929050565b6000613cbf826138e0565b9050919050565b613ccf81613cb4565b82525050565b6000602082019050613cea6000830184613cc6565b92915050565b613cf981613900565b82525050565b6000602082019050613d146000830184613cf0565b92915050565b60008060408385031215613d3157613d306138d6565b5b6000613d3f8582860161395f565b9250506020613d508582860161395f565b9150509250929050565b60008060408385031215613d7157613d706138d6565b5b6000613d7f85828601613929565b9250506020613d9085828601613929565b9150509250929050565b613da381613cb4565b8114613dae57600080fd5b50565b600081359050613dc081613d9a565b92915050565b600060208284031215613ddc57613ddb6138d6565b5b6000613dea84828501613db1565b91505092915050565b6000819050919050565b6000613e18613e13613e0e846138e0565b613df3565b6138e0565b9050919050565b6000613e2a82613dfd565b9050919050565b6000613e3c82613e1f565b9050919050565b613e4c81613e31565b82525050565b6000602082019050613e676000830184613e43565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000613ea3600683613826565b9150613eae82613e6d565b602082019050919050565b60006020820190508181036000830152613ed281613e96565b9050919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3530302061646472657373657300000000000000000000000000000000000000602082015250565b6000613f35602d83613826565b9150613f4082613ed9565b604082019050919050565b60006020820190508181036000830152613f6481613f28565b9050919050565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b60008201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b6000613fc7602883613826565b9150613fd282613f6b565b604082019050919050565b60006020820190508181036000830152613ff681613fba565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156140835780860481111561405f5761405e613ffd565b5b600185161561406e5780820291505b808102905061407c8561402c565b9450614043565b94509492505050565b60008261409c5760019050614158565b816140aa5760009050614158565b81600181146140c057600281146140ca576140f9565b6001915050614158565b60ff8411156140dc576140db613ffd565b5b8360020a9150848211156140f3576140f2613ffd565b5b50614158565b5060208310610133831016604e8410600b841016171561412e5782820a90508381111561412957614128613ffd565b5b614158565b61413b8484846001614039565b9250905081840481111561415257614151613ffd565b5b81810290505b9392505050565b600061416a8261393e565b915061417583613c11565b92506141a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461408c565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006141e48261393e565b91506141ef8361393e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561422857614227613ffd565b5b828202905092915050565b600061423e8261393e565b91506142498361393e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561427e5761427d613ffd565b5b828201905092915050565b60006142948261393e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036142c6576142c5613ffd565b5b600182019050919050565b7f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c65740000000000600082015250565b6000614307601b83613826565b9150614312826142d1565b602082019050919050565b60006020820190508181036000830152614336816142fa565b9050919050565b7f63616e2774206578636565642031250000000000000000000000000000000000600082015250565b6000614373600f83613826565b915061437e8261433d565b602082019050919050565b600060208201905081810360008301526143a281614366565b9050919050565b6000815190506143b881613948565b92915050565b6000602082840312156143d4576143d36138d6565b5b60006143e2848285016143a9565b91505092915050565b7f4665652063616e27742065786365656420323025000000000000000000000000600082015250565b6000614421601483613826565b915061442c826143eb565b602082019050919050565b6000602082019050818103600083015261445081614414565b9050919050565b7f63616e206f6e6c792062652063616c6c6564206f6e6365000000000000000000600082015250565b600061448d601783613826565b915061449882614457565b602082019050919050565b600060208201905081810360008301526144bc81614480565b9050919050565b7f696e76616c6964204d617820627579206c696d69740000000000000000000000600082015250565b60006144f9601583613826565b9150614504826144c3565b602082019050919050565b60006020820190508181036000830152614528816144ec565b9050919050565b600061453a82613e1f565b9050919050565b61454a8161452f565b82525050565b60006020820190506145656000830184614541565b92915050565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b60006145a1601883613826565b91506145ac8261456b565b602082019050919050565b600060208201905081810360008301526145d081614594565b9050919050565b7f426f742100000000000000000000000000000000000000000000000000000000600082015250565b600061460d600483613826565b9150614618826145d7565b602082019050919050565b6000602082019050818103600083015261463c81614600565b9050919050565b7f546f6f206d756368207369720000000000000000000000000000000000000000600082015250565b6000614679600c83613826565b915061468482614643565b602082019050919050565b600060208201905081810360008301526146a88161466c565b9050919050565b7f546f6f206c657373207369720000000000000000000000000000000000000000600082015250565b60006146e5600c83613826565b91506146f0826146af565b602082019050919050565b60006020820190508181036000830152614714816146d8565b9050919050565b60006040820190506147306000830185613cf0565b61473d6020830184613a17565b9392505050565b600061474f8261393e565b915061475a8361393e565b92508282101561476d5761476c613ffd565b5b828203905092915050565b6000819050919050565b600061479d61479861479384614778565b613df3565b61393e565b9050919050565b6147ad81614782565b82525050565b60006040820190506147c86000830185613cf0565b6147d560208301846147a4565b9392505050565b6000815190506147eb81613c48565b92915050565b600060208284031215614807576148066138d6565b5b6000614815848285016147dc565b91505092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614854601b83613826565b915061485f8261481e565b602082019050919050565b6000602082019050818103600083015261488381614847565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006148c48261393e565b91506148cf8361393e565b9250826148df576148de61488a565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61494e81613900565b82525050565b60006149608383614945565b60208301905092915050565b6000602082019050919050565b600061498482614919565b61498e8185614924565b935061499983614935565b8060005b838110156149ca5781516149b18882614954565b97506149bc8361496c565b92505060018101905061499d565b5085935050505092915050565b600060a0820190506149ec6000830188613a17565b6149f960208301876147a4565b8181036040830152614a0b8186614979565b9050614a1a6060830185613cf0565b614a276080830184613a17565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614a8d602183613826565b9150614a9882614a31565b604082019050919050565b60006020820190508181036000830152614abc81614a80565b905091905056fea26469706673582212209a694d8cf9909b8038175c53667124a195559e2bee5fbb14aaf8948519c00fa364736f6c634300080d003360a0604052731ce270557c1f68cfb577b856766310bf8b47fd9c73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152506ec097ce7bc90715b34b9f10000000006009553480156200006b57600080fd5b5060405162001ace38038062001ace833981810160405281019062000091919062000183565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620001b5565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200014b826200011e565b9050919050565b6200015d816200013e565b81146200016957600080fd5b50565b6000815190506200017d8162000152565b92915050565b6000602082840312156200019c576200019b62000119565b5b6000620001ac848285016200016c565b91505092915050565b6080516118f6620001d860003960008181610a8e0152610c5a01526118f66000f3fe6080604052600436106100e15760003560e01c8063b2bdfa7b1161007f578063d54ad2a111610059578063d54ad2a1146102cb578063e2d2e219146102f6578063ecd0c0c314610321578063fe02721e1461034c576100e8565b8063b2bdfa7b14610238578063b6b55f2514610263578063ce7c2ac21461028c576100e8565b80633a98ef39116100bb5780633a98ef39146101685780635cc33f74146101935780638ecc37fb146101d0578063997664d71461020d576100e8565b80631014edf5146100ed57806314b6ca961461011657806315f7e05e1461013f576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610114600480360381019061010f91906112b1565b610377565b005b34801561012257600080fd5b5061013d600480360381019061013891906112f1565b610431565b005b34801561014b57600080fd5b5061016660048036038101906101619190611331565b6106f0565b005b34801561017457600080fd5b5061017d610754565b60405161018a919061136d565b60405180910390f35b34801561019f57600080fd5b506101ba60048036038101906101b59190611331565b61075a565b6040516101c7919061136d565b60405180910390f35b3480156101dc57600080fd5b506101f760048036038101906101f29190611331565b61082a565b604051610204919061136d565b60405180910390f35b34801561021957600080fd5b50610222610943565b60405161022f919061136d565b60405180910390f35b34801561024457600080fd5b5061024d610949565b60405161025a9190611397565b60405180910390f35b34801561026f57600080fd5b5061028a600480360381019061028591906113b2565b61096f565b005b34801561029857600080fd5b506102b360048036038101906102ae9190611331565b610a32565b6040516102c2939291906113df565b60405180910390f35b3480156102d757600080fd5b506102e0610a5c565b6040516102ed919061136d565b60405180910390f35b34801561030257600080fd5b5061030b610a62565b604051610318919061136d565b60405180910390f35b34801561032d57600080fd5b50610336610a68565b6040516103439190611397565b60405180910390f35b34801561035857600080fd5b50610361610a8c565b60405161036e9190611397565b60405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103d157600080fd5b60004790508173ffffffffffffffffffffffffffffffffffffffff166108fc600085116103fe5782610400565b845b9081150290604051600060405180830381858888f1935050505015801561042b573d6000803e3d6000fd5b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461048957600080fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015411156104de576104dd82610ab0565b5b60008111801561053057506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154145b156105435761053e82610cfd565b6105a5565b60008114801561059557506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154115b156105a4576105a382610dac565b5b5b61060e81610600600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600554610fb390919063ffffffff16565b610ffd90919063ffffffff16565b60058190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506106a6600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461105b565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461074857600080fd5b61075181610ab0565b50565b60055481565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154116107e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d790611499565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001540361087e576000905061093e565b60006108cb600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461105b565b90506000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490508082116109265760009250505061093e565b6109398183610fb390919063ffffffff16565b925050505b919050565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109c757600080fd5b6000811115610a2f576109e581600654610ffd90919063ffffffff16565b600681905550610a28610a17600554610a098460095461108d90919063ffffffff16565b61110790919063ffffffff16565b600854610ffd90919063ffffffff16565b6008819055505b50565b60046020528060005260406000206000915090508060000154908060010154908060020154905083565b60075481565b60085481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001540315610cfa576000610b068261082a565b90506000811115610cf857610b2681600754610ffd90919063ffffffff16565b600781905550610b8181600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154610ffd90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550610c12600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461105b565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401610cb39291906114b9565b6020604051808303816000875af1158015610cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf6919061151a565b505b505b50565b600280549050600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506002819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026001600280549050610dc09190611576565b81548110610dd157610dd06115aa565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481548110610e4f57610e4e6115aa565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546003600060026001600280549050610eef9190611576565b81548110610f0057610eff6115aa565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506002805480610f7b57610f7a6115d9565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905550565b6000610ff583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611151565b905092915050565b600080828461100c9190611608565b905083811015611051576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611048906116aa565b60405180910390fd5b8091505092915050565b60006110866009546110786008548561108d90919063ffffffff16565b61110790919063ffffffff16565b9050919050565b600080830361109f5760009050611101565b600082846110ad91906116ca565b90508284826110bc9190611753565b146110fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f3906117f6565b60405180910390fd5b809150505b92915050565b600061114983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111b5565b905092915050565b6000838311158290611199576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611190919061189e565b60405180910390fd5b50600083856111a89190611576565b9050809150509392505050565b600080831182906111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f3919061189e565b60405180910390fd5b506000838561120b9190611753565b9050809150509392505050565b600080fd5b6000819050919050565b6112308161121d565b811461123b57600080fd5b50565b60008135905061124d81611227565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061127e82611253565b9050919050565b61128e81611273565b811461129957600080fd5b50565b6000813590506112ab81611285565b92915050565b600080604083850312156112c8576112c7611218565b5b60006112d68582860161123e565b92505060206112e78582860161129c565b9150509250929050565b6000806040838503121561130857611307611218565b5b60006113168582860161129c565b92505060206113278582860161123e565b9150509250929050565b60006020828403121561134757611346611218565b5b60006113558482850161129c565b91505092915050565b6113678161121d565b82525050565b6000602082019050611382600083018461135e565b92915050565b61139181611273565b82525050565b60006020820190506113ac6000830184611388565b92915050565b6000602082840312156113c8576113c7611218565b5b60006113d68482850161123e565b91505092915050565b60006060820190506113f4600083018661135e565b611401602083018561135e565b61140e604083018461135e565b949350505050565b600082825260208201905092915050565b7f596f75277265206e6f742061205052494e544552207368617265686f6c64657260008201527f2100000000000000000000000000000000000000000000000000000000000000602082015250565b6000611483602183611416565b915061148e82611427565b604082019050919050565b600060208201905081810360008301526114b281611476565b9050919050565b60006040820190506114ce6000830185611388565b6114db602083018461135e565b9392505050565b60008115159050919050565b6114f7816114e2565b811461150257600080fd5b50565b600081519050611514816114ee565b92915050565b6000602082840312156115305761152f611218565b5b600061153e84828501611505565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115818261121d565b915061158c8361121d565b92508282101561159f5761159e611547565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60006116138261121d565b915061161e8361121d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561165357611652611547565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611694601b83611416565b915061169f8261165e565b602082019050919050565b600060208201905081810360008301526116c381611687565b9050919050565b60006116d58261121d565b91506116e08361121d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561171957611718611547565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061175e8261121d565b91506117698361121d565b92508261177957611778611724565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006117e0602183611416565b91506117eb82611784565b604082019050919050565b6000602082019050818103600083015261180f816117d3565b9050919050565b600081519050919050565b60005b8381101561183f578082015181840152602081019050611824565b8381111561184e576000848401525b50505050565b6000601f19601f8301169050919050565b600061187082611816565b61187a8185611416565b935061188a818560208601611821565b61189381611854565b840191505092915050565b600060208201905081810360008301526118b88184611865565b90509291505056fea2646970667358221220d376bc6849de607e8d07a1c94e4ad63094f20a3bc274d5d7cbc3da67780f3de564736f6c634300080d00330000000000000000000000006ea92be66e95f652b288b6b643789b42c5bde32e

Deployed Bytecode

0x60806040526004361061024a5760003560e01c8063736a83a111610139578063bffb691d116100b6578063f0fc6bca1161007a578063f0fc6bca146108b1578063f2fde38b146108c8578063f4293890146108f1578063f708a64f14610908578063f887ea4014610931578063fe02721e1461095c57610251565b8063bffb691d146107de578063c0d7f5ed14610809578063c9567bf914610832578063d12a768814610849578063dd62ed3e1461087457610251565b806395d89b41116100fd57806395d89b41146106e3578063a8aa1b311461070e578063a9059cbb14610739578063b1a4e0dc14610776578063bf56b371146107b357610251565b8063736a83a11461060e57806375f0a87414610639578063764ca51214610664578063893d20e81461067b5780638ecc37fb146106a657610251565b8063313ce567116101c75780635d098b381161018b5780635d098b381461052b578063658d4b7f1461055457806367ee5f091461057d57806369fe0e2d146105a857806370a08231146105d157610251565b8063313ce56714610446578063342aa8b5146104715780633e07ce5b1461049a578063571ac8b0146104b15780635cc33f74146104ee57610251565b806323b635851161020e57806323b635851461033b57806323b872dd1461037857806329e04b4a146103b55780632b112e49146103de5780632f54bf6e1461040957610251565b806306fdde0314610256578063095ea7b31461028157806315f7e05e146102be57806318160ddd146102e75780631ca0a28d1461031257610251565b3661025157005b600080fd5b34801561026257600080fd5b5061026b610987565b60405161027891906138b4565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a39190613974565b6109c4565b6040516102b591906139cf565b60405180910390f35b3480156102ca57600080fd5b506102e560048036038101906102e091906139ea565b610ab6565b005b3480156102f357600080fd5b506102fc610b8e565b6040516103099190613a26565b60405180910390f35b34801561031e57600080fd5b5061033960048036038101906103349190613afc565b610b98565b005b34801561034757600080fd5b50610362600480360381019061035d9190613b91565b610daa565b60405161036f91906139cf565b60405180910390f35b34801561038457600080fd5b5061039f600480360381019061039a9190613bbe565b610e28565b6040516103ac91906139cf565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d79190613b91565b611028565b005b3480156103ea57600080fd5b506103f36110e1565b6040516104009190613a26565b60405180910390f35b34801561041557600080fd5b50610430600480360381019061042b91906139ea565b611163565b60405161043d91906139cf565b60405180910390f35b34801561045257600080fd5b5061045b6111bc565b6040516104689190613c2d565b60405180910390f35b34801561047d57600080fd5b5061049860048036038101906104939190613c74565b6111c5565b005b3480156104a657600080fd5b506104af611272565b005b3480156104bd57600080fd5b506104d860048036038101906104d391906139ea565b6112d7565b6040516104e591906139cf565b60405180910390f35b3480156104fa57600080fd5b50610515600480360381019061051091906139ea565b61130a565b6040516105229190613a26565b60405180910390f35b34801561053757600080fd5b50610552600480360381019061054d91906139ea565b6113af565b005b34801561056057600080fd5b5061057b60048036038101906105769190613c74565b61143b565b005b34801561058957600080fd5b506105926114de565b60405161059f9190613a26565b60405180910390f35b3480156105b457600080fd5b506105cf60048036038101906105ca9190613b91565b611576565b005b3480156105dd57600080fd5b506105f860048036038101906105f391906139ea565b61160c565b6040516106059190613a26565b60405180910390f35b34801561061a57600080fd5b50610623611655565b6040516106309190613a26565b60405180910390f35b34801561064557600080fd5b5061064e6116ed565b60405161065b9190613cd5565b60405180910390f35b34801561067057600080fd5b50610679611713565b005b34801561068757600080fd5b506106906117ce565b60405161069d9190613cff565b60405180910390f35b3480156106b257600080fd5b506106cd60048036038101906106c891906139ea565b6117f7565b6040516106da9190613a26565b60405180910390f35b3480156106ef57600080fd5b506106f861189c565b60405161070591906138b4565b60405180910390f35b34801561071a57600080fd5b506107236118d9565b6040516107309190613cff565b60405180910390f35b34801561074557600080fd5b50610760600480360381019061075b9190613974565b6118ff565b60405161076d91906139cf565b60405180910390f35b34801561078257600080fd5b5061079d600480360381019061079891906139ea565b611914565b6040516107aa91906139cf565b60405180910390f35b3480156107bf57600080fd5b506107c861196a565b6040516107d59190613a26565b60405180910390f35b3480156107ea57600080fd5b506107f3611970565b60405161080091906139cf565b60405180910390f35b34801561081557600080fd5b50610830600480360381019061082b9190613d1a565b611983565b005b34801561083e57600080fd5b50610847611a52565b005b34801561085557600080fd5b5061085e611abe565b60405161086b9190613a26565b60405180910390f35b34801561088057600080fd5b5061089b60048036038101906108969190613d5a565b611ac4565b6040516108a89190613a26565b60405180910390f35b3480156108bd57600080fd5b506108c6611b4b565b005b3480156108d457600080fd5b506108ef60048036038101906108ea9190613dc6565b611bda565b005b3480156108fd57600080fd5b50610906611c9c565b005b34801561091457600080fd5b5061092f600480360381019061092a9190613c74565b611d55565b005b34801561093d57600080fd5b50610946611dab565b6040516109539190613e52565b60405180910390f35b34801561096857600080fd5b50610971611dd1565b60405161097e9190613cff565b60405180910390f35b60606040518060400160405280600981526020017f4d6f6e67436861696e0000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610aa49190613a26565b60405180910390a36001905092915050565b610abf33611163565b610afe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af590613eb9565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166315f7e05e826040518263ffffffff1660e01b8152600401610b599190613cff565b600060405180830381600087803b158015610b7357600080fd5b505af1158015610b87573d6000803e3d6000fd5b5050505050565b6000600454905090565b610ba133611163565b610be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd790613eb9565b60405180910390fd5b6103218484905010610c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1e90613f4b565b60405180910390fd5b818190508484905014610c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6690613fdd565b60405180910390fd5b6000805b85859050811015610cd0576009600a610c8c919061415f565b848483818110610c9f57610c9e6141aa565b5b90506020020135610cb091906141d9565b82610cbb9190614233565b91508080610cc890614289565b915050610c73565b5080610cdb8761160c565b1015610d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d139061431d565b60405180910390fd5b60005b85859050811015610da157610d8d87878784818110610d4157610d406141aa565b5b9050602002016020810190610d5691906139ea565b6009600a610d64919061415f565b878786818110610d7757610d766141aa565b5b90506020020135610d8891906141d9565b611df5565b508080610d9990614289565b915050610d1f565b50505050505050565b6000610db533611163565b610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90613eb9565b60405180910390fd5b610e2130600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612880565b9050919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461101457610f93826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a539092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61101f848484611df5565b90509392505050565b61103133611163565b611070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106790613eb9565b60405180910390fd5b6110866064600454612ab790919063ffffffff16565b8111156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90614389565b60405180910390fd5b633b9aca00816110d891906141d9565b60148190555050565b600061115e611111600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661160c565b61115061113f600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661160c565b600454612b0190919063ffffffff16565b612b0190919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b6111ce33611163565b61120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120490613eb9565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061126e8282612b4b565b5050565b61127b33611163565b6112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b190613eb9565b60405180910390fd5b6000601160016101000a81548160ff021916908315150217905550565b6000611303827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6109c4565b9050919050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635cc33f74836040518263ffffffff1660e01b81526004016113679190613cff565b602060405180830381865afa158015611384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a891906143be565b9050919050565b6113b833611163565b6113f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ee90613eb9565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61144433611163565b611483576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147a90613eb9565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663997664d76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157191906143be565b905090565b61157f33611163565b6115be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b590613eb9565b60405180910390fd5b6014811115611602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f990614437565b60405180910390fd5b80600b8190555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d54ad2a16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e891906143be565b905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61171c33611163565b61175b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175290613eb9565b60405180910390fd5b60001515601560149054906101000a900460ff161515146117b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a8906144a3565b60405180910390fd5b6001601560146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ecc37fb836040518263ffffffff1660e01b81526004016118549190613cff565b602060405180830381865afa158015611871573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189591906143be565b9050919050565b60606040518060400160405280600981526020017f4d6f6e67436861696e0000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061190c338484611df5565b905092915050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60105481565b601560149054906101000a900460ff1681565b61198c33611163565b6119cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c290613eb9565b60405180910390fd5b629896808111611a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a079061450f565b60405180910390fd5b6009600a611a1e919061415f565b82611a2991906141d9565b6012819055506009600a611a3d919061415f565b81611a4891906141d9565b6013819055505050565b611a5b33611163565b611a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9190613eb9565b60405180910390fd5b436010819055506001601160006101000a81548160ff021916908315150217905550565b60145481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166315f7e05e336040518263ffffffff1660e01b8152600401611ba69190613cff565b600060405180830381600087803b158015611bc057600080fd5b505af1158015611bd4573d6000803e3d6000fd5b50505050565b611be333611163565b611c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1990613eb9565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051611c919190614550565b60405180910390a150565b611ca533611163565b611ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdb90613eb9565b60405180910390fd5b6000479050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d51573d6000803e3d6000fd5b5050565b611d5e33611163565b611d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9490613eb9565b60405180910390fd5b611da78282612b4b565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f0000000000000000000000001ce270557c1f68cfb577b856766310bf8b47fd9c81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ea0575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ef557601160009054906101000a900460ff16611ef4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eeb906145b7565b60405180910390fd5b5b601560149054906101000a900460ff1615611fee57600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611fae5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe490614623565b60405180910390fd5b5b601160019054906101000a900460ff161561213c5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156120ab575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561213b576013548211156120f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ec9061468f565b60405180910390fd5b60125482101561213a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612131906146fb565b60405180910390fd5b5b5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156121e75750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561223d5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122de5742600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061228d57600080fd5b603c4261229a9190614233565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60158054906101000a900460ff1615612303576122fc848484612880565b9050612879565b600061230e3061160c565b90506000601454821015905060008180156123765750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b801561238a575060006123883061160c565b115b9050801561239b5761239a612da3565b5b612424856040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a539092919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006124738888613080565b61247d5785612488565b61248788876131dd565b5b90506124dc81600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461332190919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141580156125c75750600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561269557601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9689600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b815260040161266892919061471b565b600060405180830381600087803b15801561268257600080fd5b505af1925050508015612693575060015b505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415801561273d5750600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561280b57601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9688600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b81526004016127de92919061471b565b600060405180830381600087803b1580156127f857600080fd5b505af1925050508015612809575060015b505b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128689190613a26565b60405180910390a360019450505050505b9392505050565b600061290b826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a539092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129a082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461332190919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a409190613a26565b60405180910390a3600190509392505050565b6000838311158290612a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9291906138b4565b60405180910390fd5b5060008385612aaa9190614744565b9050809150509392505050565b6000612af983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061337f565b905092915050565b6000612b4383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612a53565b905092915050565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612bd55750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b612bde57600080fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015612cd057601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca968360006040518363ffffffff1660e01b8152600401612c999291906147b3565b600060405180830381600087803b158015612cb357600080fd5b505af1158015612cc7573d6000803e3d6000fd5b50505050612d9f565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314b6ca9683600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b8152600401612d6c92919061471b565b600060405180830381600087803b158015612d8657600080fd5b505af1158015612d9a573d6000803e3d6000fd5b505050505b5050565b60016015806101000a81548160ff0219169083151502179055506000612dc83061160c565b9050612de6612de1600283612ab790919063ffffffff16565b6133e2565b612e02612dfd600283612ab790919063ffffffff16565b61358a565b60007f0000000000000000000000001ce270557c1f68cfb577b856766310bf8b47fd9c73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612e5d9190613cff565b602060405180830381865afa158015612e7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e9e91906143be565b905060007f0000000000000000000000001ce270557c1f68cfb577b856766310bf8b47fd9c73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401612f1f92919061471b565b6020604051808303816000875af1158015612f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f6291906147f1565b90508015612ff857601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25836040518263ffffffff1660e01b8152600401612fc59190613a26565b600060405180830381600087803b158015612fdf57600080fd5b505af1158015612ff3573d6000803e3d6000fd5b505050505b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015613060573d6000803e3d6000fd5b5050505060006015806101000a81548160ff021916908315150217905550565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806131235750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1580156131d55750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806131d45750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b905092915050565b600080613209600c546131fb600b54866137a190919063ffffffff16565b612ab790919063ffffffff16565b905061325d81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461332190919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132fd9190613a26565b60405180910390a36133188184612b0190919063ffffffff16565b91505092915050565b60008082846133309190614233565b905083811015613375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336c9061486a565b60405180910390fd5b8091505092915050565b600080831182906133c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133bd91906138b4565b60405180910390fd5b50600083856133d591906148b9565b9050809150509392505050565b6000600267ffffffffffffffff8111156133ff576133fe6148ea565b5b60405190808252806020026020018201604052801561342d5781602001602082028036833780820191505090505b5090503081600081518110613445576134446141aa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106134b6576134b56141aa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016135549594939291906149d7565b600060405180830381600087803b15801561356e57600080fd5b505af1158015613582573d6000803e3d6000fd5b505050505050565b6000600367ffffffffffffffff8111156135a7576135a66148ea565b5b6040519080825280602002602001820160405280156135d55781602001602082028036833780820191505090505b50905030816000815181106135ed576135ec6141aa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061365e5761365d6141aa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000001ce270557c1f68cfb577b856766310bf8b47fd9c816002815181106136cd576136cc6141aa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d7958360008430426040518663ffffffff1660e01b815260040161376b9594939291906149d7565b600060405180830381600087803b15801561378557600080fd5b505af1158015613799573d6000803e3d6000fd5b505050505050565b60008083036137b35760009050613815565b600082846137c191906141d9565b90508284826137d091906148b9565b14613810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161380790614aa3565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561385557808201518184015260208101905061383a565b83811115613864576000848401525b50505050565b6000601f19601f8301169050919050565b60006138868261381b565b6138908185613826565b93506138a0818560208601613837565b6138a98161386a565b840191505092915050565b600060208201905081810360008301526138ce818461387b565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061390b826138e0565b9050919050565b61391b81613900565b811461392657600080fd5b50565b60008135905061393881613912565b92915050565b6000819050919050565b6139518161393e565b811461395c57600080fd5b50565b60008135905061396e81613948565b92915050565b6000806040838503121561398b5761398a6138d6565b5b600061399985828601613929565b92505060206139aa8582860161395f565b9150509250929050565b60008115159050919050565b6139c9816139b4565b82525050565b60006020820190506139e460008301846139c0565b92915050565b600060208284031215613a00576139ff6138d6565b5b6000613a0e84828501613929565b91505092915050565b613a208161393e565b82525050565b6000602082019050613a3b6000830184613a17565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613a6657613a65613a41565b5b8235905067ffffffffffffffff811115613a8357613a82613a46565b5b602083019150836020820283011115613a9f57613a9e613a4b565b5b9250929050565b60008083601f840112613abc57613abb613a41565b5b8235905067ffffffffffffffff811115613ad957613ad8613a46565b5b602083019150836020820283011115613af557613af4613a4b565b5b9250929050565b600080600080600060608688031215613b1857613b176138d6565b5b6000613b2688828901613929565b955050602086013567ffffffffffffffff811115613b4757613b466138db565b5b613b5388828901613a50565b9450945050604086013567ffffffffffffffff811115613b7657613b756138db565b5b613b8288828901613aa6565b92509250509295509295909350565b600060208284031215613ba757613ba66138d6565b5b6000613bb58482850161395f565b91505092915050565b600080600060608486031215613bd757613bd66138d6565b5b6000613be586828701613929565b9350506020613bf686828701613929565b9250506040613c078682870161395f565b9150509250925092565b600060ff82169050919050565b613c2781613c11565b82525050565b6000602082019050613c426000830184613c1e565b92915050565b613c51816139b4565b8114613c5c57600080fd5b50565b600081359050613c6e81613c48565b92915050565b60008060408385031215613c8b57613c8a6138d6565b5b6000613c9985828601613929565b9250506020613caa85828601613c5f565b9150509250929050565b6000613cbf826138e0565b9050919050565b613ccf81613cb4565b82525050565b6000602082019050613cea6000830184613cc6565b92915050565b613cf981613900565b82525050565b6000602082019050613d146000830184613cf0565b92915050565b60008060408385031215613d3157613d306138d6565b5b6000613d3f8582860161395f565b9250506020613d508582860161395f565b9150509250929050565b60008060408385031215613d7157613d706138d6565b5b6000613d7f85828601613929565b9250506020613d9085828601613929565b9150509250929050565b613da381613cb4565b8114613dae57600080fd5b50565b600081359050613dc081613d9a565b92915050565b600060208284031215613ddc57613ddb6138d6565b5b6000613dea84828501613db1565b91505092915050565b6000819050919050565b6000613e18613e13613e0e846138e0565b613df3565b6138e0565b9050919050565b6000613e2a82613dfd565b9050919050565b6000613e3c82613e1f565b9050919050565b613e4c81613e31565b82525050565b6000602082019050613e676000830184613e43565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000613ea3600683613826565b9150613eae82613e6d565b602082019050919050565b60006020820190508181036000830152613ed281613e96565b9050919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3530302061646472657373657300000000000000000000000000000000000000602082015250565b6000613f35602d83613826565b9150613f4082613ed9565b604082019050919050565b60006020820190508181036000830152613f6481613f28565b9050919050565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b60008201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b6000613fc7602883613826565b9150613fd282613f6b565b604082019050919050565b60006020820190508181036000830152613ff681613fba565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156140835780860481111561405f5761405e613ffd565b5b600185161561406e5780820291505b808102905061407c8561402c565b9450614043565b94509492505050565b60008261409c5760019050614158565b816140aa5760009050614158565b81600181146140c057600281146140ca576140f9565b6001915050614158565b60ff8411156140dc576140db613ffd565b5b8360020a9150848211156140f3576140f2613ffd565b5b50614158565b5060208310610133831016604e8410600b841016171561412e5782820a90508381111561412957614128613ffd565b5b614158565b61413b8484846001614039565b9250905081840481111561415257614151613ffd565b5b81810290505b9392505050565b600061416a8261393e565b915061417583613c11565b92506141a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461408c565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006141e48261393e565b91506141ef8361393e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561422857614227613ffd565b5b828202905092915050565b600061423e8261393e565b91506142498361393e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561427e5761427d613ffd565b5b828201905092915050565b60006142948261393e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036142c6576142c5613ffd565b5b600182019050919050565b7f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c65740000000000600082015250565b6000614307601b83613826565b9150614312826142d1565b602082019050919050565b60006020820190508181036000830152614336816142fa565b9050919050565b7f63616e2774206578636565642031250000000000000000000000000000000000600082015250565b6000614373600f83613826565b915061437e8261433d565b602082019050919050565b600060208201905081810360008301526143a281614366565b9050919050565b6000815190506143b881613948565b92915050565b6000602082840312156143d4576143d36138d6565b5b60006143e2848285016143a9565b91505092915050565b7f4665652063616e27742065786365656420323025000000000000000000000000600082015250565b6000614421601483613826565b915061442c826143eb565b602082019050919050565b6000602082019050818103600083015261445081614414565b9050919050565b7f63616e206f6e6c792062652063616c6c6564206f6e6365000000000000000000600082015250565b600061448d601783613826565b915061449882614457565b602082019050919050565b600060208201905081810360008301526144bc81614480565b9050919050565b7f696e76616c6964204d617820627579206c696d69740000000000000000000000600082015250565b60006144f9601583613826565b9150614504826144c3565b602082019050919050565b60006020820190508181036000830152614528816144ec565b9050919050565b600061453a82613e1f565b9050919050565b61454a8161452f565b82525050565b60006020820190506145656000830184614541565b92915050565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b60006145a1601883613826565b91506145ac8261456b565b602082019050919050565b600060208201905081810360008301526145d081614594565b9050919050565b7f426f742100000000000000000000000000000000000000000000000000000000600082015250565b600061460d600483613826565b9150614618826145d7565b602082019050919050565b6000602082019050818103600083015261463c81614600565b9050919050565b7f546f6f206d756368207369720000000000000000000000000000000000000000600082015250565b6000614679600c83613826565b915061468482614643565b602082019050919050565b600060208201905081810360008301526146a88161466c565b9050919050565b7f546f6f206c657373207369720000000000000000000000000000000000000000600082015250565b60006146e5600c83613826565b91506146f0826146af565b602082019050919050565b60006020820190508181036000830152614714816146d8565b9050919050565b60006040820190506147306000830185613cf0565b61473d6020830184613a17565b9392505050565b600061474f8261393e565b915061475a8361393e565b92508282101561476d5761476c613ffd565b5b828203905092915050565b6000819050919050565b600061479d61479861479384614778565b613df3565b61393e565b9050919050565b6147ad81614782565b82525050565b60006040820190506147c86000830185613cf0565b6147d560208301846147a4565b9392505050565b6000815190506147eb81613c48565b92915050565b600060208284031215614807576148066138d6565b5b6000614815848285016147dc565b91505092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614854601b83613826565b915061485f8261481e565b602082019050919050565b6000602082019050818103600083015261488381614847565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006148c48261393e565b91506148cf8361393e565b9250826148df576148de61488a565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61494e81613900565b82525050565b60006149608383614945565b60208301905092915050565b6000602082019050919050565b600061498482614919565b61498e8185614924565b935061499983614935565b8060005b838110156149ca5781516149b18882614954565b97506149bc8361496c565b92505060018101905061499d565b5085935050505092915050565b600060a0820190506149ec6000830188613a17565b6149f960208301876147a4565b8181036040830152614a0b8186614979565b9050614a1a6060830185613cf0565b614a276080830184613a17565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614a8d602183613826565b9150614a9882614a31565b604082019050919050565b60006020820190508181036000830152614abc81614a80565b905091905056fea26469706673582212209a694d8cf9909b8038175c53667124a195559e2bee5fbb14aaf8948519c00fa364736f6c634300080d0033

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

0000000000000000000000006Ea92Be66E95F652B288B6B643789b42c5BDe32E

-----Decoded View---------------
Arg [0] : _owner (address): 0x6Ea92Be66E95F652B288B6B643789b42c5BDe32E

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006Ea92Be66E95F652B288B6B643789b42c5BDe32E


Deployed Bytecode Sourcemap

9338:12781:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12082:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12504:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20133:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11812:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15594:706;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20668:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13022:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21896:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20819:142;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2871:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11906:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18912:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21525:80;;;;;;;;;;;;;:::i;:::-;;12728:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21360:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20969:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19573:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21113:115;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19700:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12252:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21240:111;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10341:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21723:165;;;;;;;;;;;;;:::i;:::-;;12168:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20255:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11992:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10473:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12858:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21613:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10501:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10848:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20419:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18777:115;;;;;;;;;;;;;:::i;:::-;;10715:68;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12363:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20031:90;;;;;;;;;;;;;:::i;:::-;;3099:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19849:174;;;;;;;;;;;;;:::i;:::-;;19433:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10442:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9588:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12082:80;12130:13;12154:5;;;;;;;;;;;;;;;;;12147:12;;12082:80;:::o;12504:216::-;12579:4;12631:6;12596:11;:23;12608:10;12596:23;;;;;;;;;;;;;;;:32;12620:7;12596:32;;;;;;;;;;;;;;;:41;;;;12674:7;12653:37;;12662:10;12653:37;;;12683:6;12653:37;;;;;;:::i;:::-;;;;;;;;12708:4;12701:11;;12504:216;;;;:::o;20133:110::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;20202:11:::1;;;;;;;;;;;:25;;;20228:6;20202:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20133:110:::0;:::o;11812:88::-;11867:7;11885:12;;11878:19;;11812:88;:::o;15594:706::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;15747:3:::1;15728:9;;:16;;:22;15720:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;15861:6;;:13;;15841:9;;:16;;:33;15833:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;15931:12;15964:6:::0;15960:108:::1;15978:9;;:16;;15974:1;:20;15960:108;;;9824:1;16042:2;:13;;;;:::i;:::-;16030:6;;16037:1;16030:9;;;;;;;:::i;:::-;;;;;;;;:25;;;;:::i;:::-;16022:4;:34;;;;:::i;:::-;16015:41;;15996:3;;;;;:::i;:::-;;;;15960:108;;;;16107:4;16088:15;16098:4;16088:9;:15::i;:::-;:23;;16080:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;16160:6;16156:137;16174:9;;:16;;16170:1;:20;16156:137;;;16211:60;16225:4;16230:9;;16240:1;16230:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9824:1;16256:2;:13;;;;:::i;:::-;16244:6;;16251:1;16244:9;;;;;;;:::i;:::-;;;;;;;;:25;;;;:::i;:::-;16211:13;:60::i;:::-;;16192:3;;;;;:::i;:::-;;;;16156:137;;;;15707:593;15594:706:::0;;;;;:::o;20668:139::-;20732:4;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;20756:43:::1;20779:4;20786;;;;;;;;;;;20792:6;20756:14;:43::i;:::-;20749:50;;20668:139:::0;;;:::o;13022:370::-;13122:4;13177:17;13142:11;:19;13154:6;13142:19;;;;;;;;;;;;;;;:31;13162:10;13142:31;;;;;;;;;;;;;;;;:52;13139:186;;13244:69;13280:6;13244:69;;;;;;;;;;;;;;;;;:11;:19;13256:6;13244:19;;;;;;;;;;;;;;;:31;13264:10;13244:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;13210:11;:19;13222:6;13210:19;;;;;;;;;;;;;;;:31;13230:10;13210:31;;;;;;;;;;;;;;;:103;;;;13139:186;13344:40;13358:6;13366:9;13377:6;13344:13;:40::i;:::-;13337:47;;13022:370;;;;;:::o;21896:206::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;21994:21:::1;22011:3;21994:12;;:16;;:21;;;;:::i;:::-;21984:6;:31;;21975:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;22087:7;22078:6;:16;;;;:::i;:::-;22046:29;:48;;;;21896:206:::0;:::o;20819:142::-;20872:7;20899:54;20937:15;20947:4;;;;;;;;;;;20937:9;:15::i;:::-;20899:33;20916:15;20926:4;;;;;;;;;;;20916:9;:15::i;:::-;20899:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;20892:61;;20819:142;:::o;2871:103::-;2926:4;2961:5;;;;;;;;;;;2950:16;;:7;:16;;;2943:23;;2871:103;;;:::o;11906:80::-;11958:5;9824:1;11967:16;;11906:80;:::o;18912:158::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;19007:6:::1;18989:5;:15;18995:8;18989:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;19024:38;19045:8;19055:6;19024:20;:38::i;:::-;18912:158:::0;;:::o;21525:80::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;21592:5:::1;21581:8;;:16;;;;;;;;;;;;;;;;;;21525:80::o:0;12728:122::-;12783:4;12807:35;12815:7;12824:17;12807:7;:35::i;:::-;12800:42;;12728:122;;;:::o;21360:157::-;21436:7;21463:11;;;;;;;;;;;:33;;;21497:11;21463:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21456:53;;21360:157;;;:::o;20969:135::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;21079:16:::1;21053:15;;:43;;;;;;;;;;;;;;;;;;20969:135:::0;:::o;19573:119::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;19678:6:::1;19656:11;:19;19668:6;19656:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;19573:119:::0;;:::o;21113:115::-;21165:7;21192:11;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21185:35;;21113:115;:::o;19700:139::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;19778:2:::1;19770:4;:10;;19761:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;19827:4;19816:8;:15;;;;19700:139:::0;:::o;12252:105::-;12318:7;12336:9;:18;12346:7;12336:18;;;;;;;;;;;;;;;;12329:25;;12252:105;;;:::o;21240:111::-;21290:7;21317:11;;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21310:33;;21240:111;:::o;10341:92::-;;;;;;;;;;;;;:::o;21723:165::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;21813:5:::1;21793:25;;:16;;;;;;;;;;;:25;;;21784:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;21876:4;21857:16;;:23;;;;;;;;;;;;;;;;;;21723:165::o:0;12168:78::-;12220:7;12238:5;;;;;;;;;;;12231:12;;12168:78;:::o;20255:156::-;20329:7;20356:11;;;;;;;;;;;:34;;;20391:11;20356:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20349:54;;20255:156;;;:::o;11992:84::-;12042:13;12066:7;;;;;;;;;;;;;;;;;12059:14;;11992:84;:::o;10473:19::-;;;;;;;;;;;;;:::o;12858:156::-;12938:4;12962:44;12976:10;12988:9;12999:6;12962:13;:44::i;:::-;12955:51;;12858:156;;;;:::o;21613:102::-;21669:4;21693:5;:14;21699:7;21693:14;;;;;;;;;;;;;;;;;;;;;;;;;21686:21;;21613:102;;;:::o;10501:25::-;;;;:::o;10848:36::-;;;;;;;;;;;;;:::o;20419:236::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;20524:8:::1;20516:7;:16;20508:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9824:1;20584:2;:15;;;;:::i;:::-;20575:7;:25;;;;:::i;:::-;20568:6;:32;;;;9824:1;20629:2;:15;;;;:::i;:::-;20620:7;:25;;;;:::i;:::-;20613:6;:32;;;;20419:236:::0;;:::o;18777:115::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;18843:12:::1;18830:10;:25;;;;18880:4;18866:11;;:18;;;;;;;;;;;;;;;;;;18777:115::o:0;10715:68::-;;;;:::o;12363:133::-;12447:7;12465:11;:19;12477:6;12465:19;;;;;;;;;;;;;;;:28;12485:7;12465:28;;;;;;;;;;;;;;;;12458:35;;12363:133;;;;:::o;20031:90::-;20076:11;;;;;;;;;;;:25;;;20102:10;20076:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20031:90::o;3099:136::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3183:3:::1;3175:5;::::0;:11:::1;;;;;;;;;;;;;;;;;;3202:25;3223:3;3202:25;;;;;;:::i;:::-;;;;;;;;3099:136:::0;:::o;19849:174::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;19901:26:::1;19930:21;19901:50;;19970:15;;;;;;;;;;;19962:33;;:53;19996:18;19962:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;19890:133;19849:174::o:0;19433:132::-;2770:19;2778:10;2770:7;:19::i;:::-;2762:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;19521:36:::1;19542:6;19550;19521:20;:36::i;:::-;19433:132:::0;;:::o;10442:24::-;;;;;;;;;;;;;:::o;9588:83::-;;;:::o;13400:1843::-;13492:4;13522:5;;;;;;;;;;;13513:14;;:6;:14;;;;:35;;;;;13543:5;;;;;;;;;;13531:17;;:9;:17;;;;13513:35;13509:89;;;13558:11;;;;;;;;;;;13550:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13509:89;13653:16;;;;;;;;;;;13649:102;;;13696:5;:13;13702:6;13696:13;;;;;;;;;;;;;;;;;;;;;;;;;13695:14;:35;;;;;13714:5;:16;13720:9;13714:16;;;;;;;;;;;;;;;;;;;;;;;;;13713:17;13695:35;13686:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13649:102;13765:8;;;;;;;;;;;13761:221;;;13803:5;;;;;;;;;;13795:13;;:6;:13;;;;:34;;;;;13824:5;;;;;;;;;;13812:17;;:9;:17;;;;13795:34;13791:176;;;13867:6;;13859;:14;;13850:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;13927:6;;13919;:14;;13910:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;13791:176;13761:221;14008:4;;;;;;;;;;;13998:14;;:6;:14;;;:46;;;;;14037:6;;;;;;;;;;;14016:28;;:9;:28;;;;13998:46;:73;;;;;14049:11;:22;14061:9;14049:22;;;;;;;;;;;;;;;;;;;;;;;;;14048:23;13998:73;13994:219;;;14119:15;14097:8;:19;14106:9;14097:19;;;;;;;;;;;;;;;;:37;14088:47;;;;;;14190:10;14172:15;:28;;;;:::i;:::-;14150:8;:19;14159:9;14150:19;;;;;;;;;;;;;;;:50;;;;13994:219;14235:6;;;;;;;;;;14232:63;;;14251:41;14266:6;14274:9;14285:6;14251:14;:41::i;:::-;14244:48;;;;14232:63;14313:28;14344:24;14362:4;14344:9;:24::i;:::-;14313:55;;14381:24;14432:29;;14408:20;:53;;14381:80;;14478:19;14501;:38;;;;;14535:4;;;;;;;;;;;14524:15;;:9;:15;;;14501:38;:70;;;;;14570:1;14543:24;14561:4;14543:9;:24::i;:::-;:28;14501:70;14478:94;;14586:14;14583:33;;;14603:10;:8;:10::i;:::-;14583:33;14648:53;14670:6;14648:53;;;;;;;;;;;;;;;;;:9;:17;14658:6;14648:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;14628:9;:17;14638:6;14628:17;;;;;;;;;;;;;;;:73;;;;14714:22;14739:32;14753:6;14761:9;14739:13;:32::i;:::-;:67;;14800:6;14739:67;;;14774:23;14782:6;14790;14774:7;:23::i;:::-;14739:67;14714:92;;14850:40;14875:14;14850:9;:20;14860:9;14850:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;14827:9;:20;14837:9;14827:20;;;;;;;;;;;;;;;:63;;;;14916:4;;;;;;;;;;;14906:14;;:6;:14;;;;:43;;;;;14925:16;:24;14942:6;14925:24;;;;;;;;;;;;;;;;;;;;;;;;;14924:25;14906:43;14903:114;;;14956:11;;;;;;;;;;;:20;;;14977:6;14985:9;:17;14995:6;14985:17;;;;;;;;;;;;;;;;14956:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14952:63;14903:114;15043:4;;;;;;;;;;;15030:17;;:9;:17;;;;:49;;;;;15052:16;:27;15069:9;15052:27;;;;;;;;;;;;;;;;;;;;;;;;;15051:28;15030:49;15027:126;;;15086:11;;;;;;;;;;;:20;;;15107:9;15118;:20;15128:9;15118:20;;;;;;;;;;;;;;;;15086:53;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15082:69;15027:126;15187:9;15170:43;;15179:6;15170:43;;;15198:14;15170:43;;;;;;:::i;:::-;;;;;;;;15231:4;15224:11;;;;;;13400:1843;;;;;;:::o;15255:330::-;15348:4;15385:53;15407:6;15385:53;;;;;;;;;;;;;;;;;:9;:17;15395:6;15385:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15365:9;:17;15375:6;15365:17;;;;;;;;;;;;;;;:73;;;;15472:32;15497:6;15472:9;:20;15482:9;15472:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;15449:9;:20;15459:9;15449:20;;;;;;;;;;;;;;;:55;;;;15537:9;15520:35;;15529:6;15520:35;;;15548:6;15520:35;;;;;;:::i;:::-;;;;;;;;15573:4;15566:11;;15255:330;;;;;:::o;533:192::-;619:7;652:1;647;:6;;655:12;639:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;679:9;695:1;691;:5;;;;:::i;:::-;679:17;;716:1;709:8;;;533:192;;;;;:::o;987:132::-;1045:7;1072:39;1076:1;1079;1072:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1065:46;;987:132;;;;:::o;391:136::-;449:7;476:43;480:1;483;476:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;469:50;;391:136;;;;:::o;19088:337::-;19193:4;19175:23;;:6;:23;;;;:41;;;;;19212:4;;;;;;;;;;;19202:14;;:6;:14;;;;19175:41;19167:50;;;;;;19255:6;19228:16;:24;19245:6;19228:24;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;19275:6;19272:146;;;19297:11;;;;;;;;;;;:20;;;19318:6;19326:1;19297:31;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19272:146;;;19359:11;;;;;;;;;;;:20;;;19380:6;19388:9;:17;19398:6;19388:17;;;;;;;;;;;;;;;;19359:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19272:146;19088:337;;:::o;16893:549::-;10948:4;10939:6;;:13;;;;;;;;;;;;;;;;;;16944:20:::1;16967:24;16985:4;16967:9;:24::i;:::-;16944:47;;17012:37;17029:19;17046:1;17029:12;:16;;:19;;;;:::i;:::-;17012:16;:37::i;:::-;17060:38;17078:19;17095:1;17078:12;:16;;:19;;;;:::i;:::-;17060:17;:38::i;:::-;17111:17;17138:4;17131:22;;;17162:4;17131:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17111:57;;17181:12;17203:4;17196:21;;;17226:11;;;;;;;;;;;17240:9;17196:54;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17181:69;;17267:7;17263:82;;;17291:11;;;;;;;;;;;:19;;;17311:9;17291:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;17263:82;17378:15;;;;;;;;;;;17370:33;;:56;17404:21;17370:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;16931:511;;;10966:5:::0;10957:6;;:14;;;;;;;;;;;;;;;;;;16893:549::o;16312:206::-;16393:4;16421:11;:19;16433:6;16421:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;16444:11;:22;16456:9;16444:22;;;;;;;;;;;;;;;;;;;;;;;;;16421:45;16419:48;:90;;;;;16483:4;;;;;;;;;;;16473:14;;:6;:14;;;:35;;;;16504:4;;;;;;;;;;;16491:17;;:9;:17;;;16473:35;16419:90;16410:101;;16312:206;;;;:::o;16526:354::-;16593:7;16613:17;16653:40;16678:14;;16653:20;16664:8;;16653:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;16641:52;;16731:39;16760:9;16731;:24;16749:4;16731:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;16704:9;:24;16722:4;16704:24;;;;;;;;;;;;;;;:66;;;;16811:4;16786:42;;16795:6;16786:42;;;16818:9;16786:42;;;;;;:::i;:::-;;;;;;;;16851:21;16862:9;16851:6;:10;;:21;;;;:::i;:::-;16844:28;;;16526:354;;;;:::o;204:181::-;262:7;282:9;298:1;294;:5;;;;:::i;:::-;282:17;;323:1;318;:6;;310:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;376:1;369:8;;;204:181;;;;:::o;1125:345::-;1211:7;1310:1;1306;:5;1313:12;1298:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1337:9;1353:1;1349;:5;;;;:::i;:::-;1337:17;;1461:1;1454:8;;;1125:345;;;;;:::o;17896:489::-;18024:21;18062:1;18048:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18024:40;;18093:4;18075;18080:1;18075:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18119:4;;;;;;;;;;;18109;18114:1;18109:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;18162:6;;;;;;;;;;;:57;;;18234:11;18260:1;18304:4;18331;18351:15;18162:215;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17951:434;17896:489;:::o;17458:430::-;17527:21;17565:1;17551:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17527:40;;17596:4;17578;17583:1;17578:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17622:4;;;;;;;;;;;17612;17617:1;17612:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;17647:4;17637;17642:1;17637:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;17690:6;;;;;;;;;;;:60;;;17765:11;17791:1;17807:4;17834;17854:15;17690:190;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17514:374;17458:430;:::o;731:250::-;789:7;818:1;813;:6;809:47;;843:1;836:8;;;;809:47;868:9;884:1;880;:5;;;;:::i;:::-;868:17;;913:1;908;904;:5;;;;:::i;:::-;:10;896:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;972:1;965:8;;;731:250;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:329::-;3553:6;3602:2;3590:9;3581:7;3577:23;3573:32;3570:119;;;3608:79;;:::i;:::-;3570:119;3728:1;3753:53;3798:7;3789:6;3778:9;3774:22;3753:53;:::i;:::-;3743:63;;3699:117;3494:329;;;;:::o;3829:118::-;3916:24;3934:5;3916:24;:::i;:::-;3911:3;3904:37;3829:118;;:::o;3953:222::-;4046:4;4084:2;4073:9;4069:18;4061:26;;4097:71;4165:1;4154:9;4150:17;4141:6;4097:71;:::i;:::-;3953:222;;;;:::o;4181:117::-;4290:1;4287;4280:12;4304:117;4413:1;4410;4403:12;4427:117;4536:1;4533;4526:12;4567:568;4640:8;4650:6;4700:3;4693:4;4685:6;4681:17;4677:27;4667:122;;4708:79;;:::i;:::-;4667:122;4821:6;4808:20;4798:30;;4851:18;4843:6;4840:30;4837:117;;;4873:79;;:::i;:::-;4837:117;4987:4;4979:6;4975:17;4963:29;;5041:3;5033:4;5025:6;5021:17;5011:8;5007:32;5004:41;5001:128;;;5048:79;;:::i;:::-;5001:128;4567:568;;;;;:::o;5158:::-;5231:8;5241:6;5291:3;5284:4;5276:6;5272:17;5268:27;5258:122;;5299:79;;:::i;:::-;5258:122;5412:6;5399:20;5389:30;;5442:18;5434:6;5431:30;5428:117;;;5464:79;;:::i;:::-;5428:117;5578:4;5570:6;5566:17;5554:29;;5632:3;5624:4;5616:6;5612:17;5602:8;5598:32;5595:41;5592:128;;;5639:79;;:::i;:::-;5592:128;5158:568;;;;;:::o;5732:1079::-;5863:6;5871;5879;5887;5895;5944:2;5932:9;5923:7;5919:23;5915:32;5912:119;;;5950:79;;:::i;:::-;5912:119;6070:1;6095:53;6140:7;6131:6;6120:9;6116:22;6095:53;:::i;:::-;6085:63;;6041:117;6225:2;6214:9;6210:18;6197:32;6256:18;6248:6;6245:30;6242:117;;;6278:79;;:::i;:::-;6242:117;6391:80;6463:7;6454:6;6443:9;6439:22;6391:80;:::i;:::-;6373:98;;;;6168:313;6548:2;6537:9;6533:18;6520:32;6579:18;6571:6;6568:30;6565:117;;;6601:79;;:::i;:::-;6565:117;6714:80;6786:7;6777:6;6766:9;6762:22;6714:80;:::i;:::-;6696:98;;;;6491:313;5732:1079;;;;;;;;:::o;6817:329::-;6876:6;6925:2;6913:9;6904:7;6900:23;6896:32;6893:119;;;6931:79;;:::i;:::-;6893:119;7051:1;7076:53;7121:7;7112:6;7101:9;7097:22;7076:53;:::i;:::-;7066:63;;7022:117;6817:329;;;;:::o;7152:619::-;7229:6;7237;7245;7294:2;7282:9;7273:7;7269:23;7265:32;7262:119;;;7300:79;;:::i;:::-;7262:119;7420:1;7445:53;7490:7;7481:6;7470:9;7466:22;7445:53;:::i;:::-;7435:63;;7391:117;7547:2;7573:53;7618:7;7609:6;7598:9;7594:22;7573:53;:::i;:::-;7563:63;;7518:118;7675:2;7701:53;7746:7;7737:6;7726:9;7722:22;7701:53;:::i;:::-;7691:63;;7646:118;7152:619;;;;;:::o;7777:86::-;7812:7;7852:4;7845:5;7841:16;7830:27;;7777:86;;;:::o;7869:112::-;7952:22;7968:5;7952:22;:::i;:::-;7947:3;7940:35;7869:112;;:::o;7987:214::-;8076:4;8114:2;8103:9;8099:18;8091:26;;8127:67;8191:1;8180:9;8176:17;8167:6;8127:67;:::i;:::-;7987:214;;;;:::o;8207:116::-;8277:21;8292:5;8277:21;:::i;:::-;8270:5;8267:32;8257:60;;8313:1;8310;8303:12;8257:60;8207:116;:::o;8329:133::-;8372:5;8410:6;8397:20;8388:29;;8426:30;8450:5;8426:30;:::i;:::-;8329:133;;;;:::o;8468:468::-;8533:6;8541;8590:2;8578:9;8569:7;8565:23;8561:32;8558:119;;;8596:79;;:::i;:::-;8558:119;8716:1;8741:53;8786:7;8777:6;8766:9;8762:22;8741:53;:::i;:::-;8731:63;;8687:117;8843:2;8869:50;8911:7;8902:6;8891:9;8887:22;8869:50;:::i;:::-;8859:60;;8814:115;8468:468;;;;;:::o;8942:104::-;8987:7;9016:24;9034:5;9016:24;:::i;:::-;9005:35;;8942:104;;;:::o;9052:142::-;9155:32;9181:5;9155:32;:::i;:::-;9150:3;9143:45;9052:142;;:::o;9200:254::-;9309:4;9347:2;9336:9;9332:18;9324:26;;9360:87;9444:1;9433:9;9429:17;9420:6;9360:87;:::i;:::-;9200:254;;;;:::o;9460:118::-;9547:24;9565:5;9547:24;:::i;:::-;9542:3;9535:37;9460:118;;:::o;9584:222::-;9677:4;9715:2;9704:9;9700:18;9692:26;;9728:71;9796:1;9785:9;9781:17;9772:6;9728:71;:::i;:::-;9584:222;;;;:::o;9812:474::-;9880:6;9888;9937:2;9925:9;9916:7;9912:23;9908:32;9905:119;;;9943:79;;:::i;:::-;9905:119;10063:1;10088:53;10133:7;10124:6;10113:9;10109:22;10088:53;:::i;:::-;10078:63;;10034:117;10190:2;10216:53;10261:7;10252:6;10241:9;10237:22;10216:53;:::i;:::-;10206:63;;10161:118;9812:474;;;;;:::o;10292:::-;10360:6;10368;10417:2;10405:9;10396:7;10392:23;10388:32;10385:119;;;10423:79;;:::i;:::-;10385:119;10543:1;10568:53;10613:7;10604:6;10593:9;10589:22;10568:53;:::i;:::-;10558:63;;10514:117;10670:2;10696:53;10741:7;10732:6;10721:9;10717:22;10696:53;:::i;:::-;10686:63;;10641:118;10292:474;;;;;:::o;10772:138::-;10853:32;10879:5;10853:32;:::i;:::-;10846:5;10843:43;10833:71;;10900:1;10897;10890:12;10833:71;10772:138;:::o;10916:155::-;10970:5;11008:6;10995:20;10986:29;;11024:41;11059:5;11024:41;:::i;:::-;10916:155;;;;:::o;11077:345::-;11144:6;11193:2;11181:9;11172:7;11168:23;11164:32;11161:119;;;11199:79;;:::i;:::-;11161:119;11319:1;11344:61;11397:7;11388:6;11377:9;11373:22;11344:61;:::i;:::-;11334:71;;11290:125;11077:345;;;;:::o;11428:60::-;11456:3;11477:5;11470:12;;11428:60;;;:::o;11494:142::-;11544:9;11577:53;11595:34;11604:24;11622:5;11604:24;:::i;:::-;11595:34;:::i;:::-;11577:53;:::i;:::-;11564:66;;11494:142;;;:::o;11642:126::-;11692:9;11725:37;11756:5;11725:37;:::i;:::-;11712:50;;11642:126;;;:::o;11774:144::-;11842:9;11875:37;11906:5;11875:37;:::i;:::-;11862:50;;11774:144;;;:::o;11924:167::-;12029:55;12078:5;12029:55;:::i;:::-;12024:3;12017:68;11924:167;;:::o;12097:258::-;12208:4;12246:2;12235:9;12231:18;12223:26;;12259:89;12345:1;12334:9;12330:17;12321:6;12259:89;:::i;:::-;12097:258;;;;:::o;12361:156::-;12501:8;12497:1;12489:6;12485:14;12478:32;12361:156;:::o;12523:365::-;12665:3;12686:66;12750:1;12745:3;12686:66;:::i;:::-;12679:73;;12761:93;12850:3;12761:93;:::i;:::-;12879:2;12874:3;12870:12;12863:19;;12523:365;;;:::o;12894:419::-;13060:4;13098:2;13087:9;13083:18;13075:26;;13147:9;13141:4;13137:20;13133:1;13122:9;13118:17;13111:47;13175:131;13301:4;13175:131;:::i;:::-;13167:139;;12894:419;;;:::o;13319:232::-;13459:34;13455:1;13447:6;13443:14;13436:58;13528:15;13523:2;13515:6;13511:15;13504:40;13319:232;:::o;13557:366::-;13699:3;13720:67;13784:2;13779:3;13720:67;:::i;:::-;13713:74;;13796:93;13885:3;13796:93;:::i;:::-;13914:2;13909:3;13905:12;13898:19;;13557:366;;;:::o;13929:419::-;14095:4;14133:2;14122:9;14118:18;14110:26;;14182:9;14176:4;14172:20;14168:1;14157:9;14153:17;14146:47;14210:131;14336:4;14210:131;:::i;:::-;14202:139;;13929:419;;;:::o;14354:227::-;14494:34;14490:1;14482:6;14478:14;14471:58;14563:10;14558:2;14550:6;14546:15;14539:35;14354:227;:::o;14587:366::-;14729:3;14750:67;14814:2;14809:3;14750:67;:::i;:::-;14743:74;;14826:93;14915:3;14826:93;:::i;:::-;14944:2;14939:3;14935:12;14928:19;;14587:366;;;:::o;14959:419::-;15125:4;15163:2;15152:9;15148:18;15140:26;;15212:9;15206:4;15202:20;15198:1;15187:9;15183:17;15176:47;15240:131;15366:4;15240:131;:::i;:::-;15232:139;;14959:419;;;:::o;15384:180::-;15432:77;15429:1;15422:88;15529:4;15526:1;15519:15;15553:4;15550:1;15543:15;15570:102;15612:8;15659:5;15656:1;15652:13;15631:34;;15570:102;;;:::o;15678:848::-;15739:5;15746:4;15770:6;15761:15;;15794:5;15785:14;;15808:712;15829:1;15819:8;15816:15;15808:712;;;15924:4;15919:3;15915:14;15909:4;15906:24;15903:50;;;15933:18;;:::i;:::-;15903:50;15983:1;15973:8;15969:16;15966:451;;;16398:4;16391:5;16387:16;16378:25;;15966:451;16448:4;16442;16438:15;16430:23;;16478:32;16501:8;16478:32;:::i;:::-;16466:44;;15808:712;;;15678:848;;;;;;;:::o;16532:1073::-;16586:5;16777:8;16767:40;;16798:1;16789:10;;16800:5;;16767:40;16826:4;16816:36;;16843:1;16834:10;;16845:5;;16816:36;16912:4;16960:1;16955:27;;;;16996:1;16991:191;;;;16905:277;;16955:27;16973:1;16964:10;;16975:5;;;16991:191;17036:3;17026:8;17023:17;17020:43;;;17043:18;;:::i;:::-;17020:43;17092:8;17089:1;17085:16;17076:25;;17127:3;17120:5;17117:14;17114:40;;;17134:18;;:::i;:::-;17114:40;17167:5;;;16905:277;;17291:2;17281:8;17278:16;17272:3;17266:4;17263:13;17259:36;17241:2;17231:8;17228:16;17223:2;17217:4;17214:12;17210:35;17194:111;17191:246;;;17347:8;17341:4;17337:19;17328:28;;17382:3;17375:5;17372:14;17369:40;;;17389:18;;:::i;:::-;17369:40;17422:5;;17191:246;17462:42;17500:3;17490:8;17484:4;17481:1;17462:42;:::i;:::-;17447:57;;;;17536:4;17531:3;17527:14;17520:5;17517:25;17514:51;;;17545:18;;:::i;:::-;17514:51;17594:4;17587:5;17583:16;17574:25;;16532:1073;;;;;;:::o;17611:281::-;17669:5;17693:23;17711:4;17693:23;:::i;:::-;17685:31;;17737:25;17753:8;17737:25;:::i;:::-;17725:37;;17781:104;17818:66;17808:8;17802:4;17781:104;:::i;:::-;17772:113;;17611:281;;;;:::o;17898:180::-;17946:77;17943:1;17936:88;18043:4;18040:1;18033:15;18067:4;18064:1;18057:15;18084:348;18124:7;18147:20;18165:1;18147:20;:::i;:::-;18142:25;;18181:20;18199:1;18181:20;:::i;:::-;18176:25;;18369:1;18301:66;18297:74;18294:1;18291:81;18286:1;18279:9;18272:17;18268:105;18265:131;;;18376:18;;:::i;:::-;18265:131;18424:1;18421;18417:9;18406:20;;18084:348;;;;:::o;18438:305::-;18478:3;18497:20;18515:1;18497:20;:::i;:::-;18492:25;;18531:20;18549:1;18531:20;:::i;:::-;18526:25;;18685:1;18617:66;18613:74;18610:1;18607:81;18604:107;;;18691:18;;:::i;:::-;18604:107;18735:1;18732;18728:9;18721:16;;18438:305;;;;:::o;18749:233::-;18788:3;18811:24;18829:5;18811:24;:::i;:::-;18802:33;;18857:66;18850:5;18847:77;18844:103;;18927:18;;:::i;:::-;18844:103;18974:1;18967:5;18963:13;18956:20;;18749:233;;;:::o;18988:177::-;19128:29;19124:1;19116:6;19112:14;19105:53;18988:177;:::o;19171:366::-;19313:3;19334:67;19398:2;19393:3;19334:67;:::i;:::-;19327:74;;19410:93;19499:3;19410:93;:::i;:::-;19528:2;19523:3;19519:12;19512:19;;19171:366;;;:::o;19543:419::-;19709:4;19747:2;19736:9;19732:18;19724:26;;19796:9;19790:4;19786:20;19782:1;19771:9;19767:17;19760:47;19824:131;19950:4;19824:131;:::i;:::-;19816:139;;19543:419;;;:::o;19968:165::-;20108:17;20104:1;20096:6;20092:14;20085:41;19968:165;:::o;20139:366::-;20281:3;20302:67;20366:2;20361:3;20302:67;:::i;:::-;20295:74;;20378:93;20467:3;20378:93;:::i;:::-;20496:2;20491:3;20487:12;20480:19;;20139:366;;;:::o;20511:419::-;20677:4;20715:2;20704:9;20700:18;20692:26;;20764:9;20758:4;20754:20;20750:1;20739:9;20735:17;20728:47;20792:131;20918:4;20792:131;:::i;:::-;20784:139;;20511:419;;;:::o;20936:143::-;20993:5;21024:6;21018:13;21009:22;;21040:33;21067:5;21040:33;:::i;:::-;20936:143;;;;:::o;21085:351::-;21155:6;21204:2;21192:9;21183:7;21179:23;21175:32;21172:119;;;21210:79;;:::i;:::-;21172:119;21330:1;21355:64;21411:7;21402:6;21391:9;21387:22;21355:64;:::i;:::-;21345:74;;21301:128;21085:351;;;;:::o;21442:170::-;21582:22;21578:1;21570:6;21566:14;21559:46;21442:170;:::o;21618:366::-;21760:3;21781:67;21845:2;21840:3;21781:67;:::i;:::-;21774:74;;21857:93;21946:3;21857:93;:::i;:::-;21975:2;21970:3;21966:12;21959:19;;21618:366;;;:::o;21990:419::-;22156:4;22194:2;22183:9;22179:18;22171:26;;22243:9;22237:4;22233:20;22229:1;22218:9;22214:17;22207:47;22271:131;22397:4;22271:131;:::i;:::-;22263:139;;21990:419;;;:::o;22415:173::-;22555:25;22551:1;22543:6;22539:14;22532:49;22415:173;:::o;22594:366::-;22736:3;22757:67;22821:2;22816:3;22757:67;:::i;:::-;22750:74;;22833:93;22922:3;22833:93;:::i;:::-;22951:2;22946:3;22942:12;22935:19;;22594:366;;;:::o;22966:419::-;23132:4;23170:2;23159:9;23155:18;23147:26;;23219:9;23213:4;23209:20;23205:1;23194:9;23190:17;23183:47;23247:131;23373:4;23247:131;:::i;:::-;23239:139;;22966:419;;;:::o;23391:171::-;23531:23;23527:1;23519:6;23515:14;23508:47;23391:171;:::o;23568:366::-;23710:3;23731:67;23795:2;23790:3;23731:67;:::i;:::-;23724:74;;23807:93;23896:3;23807:93;:::i;:::-;23925:2;23920:3;23916:12;23909:19;;23568:366;;;:::o;23940:419::-;24106:4;24144:2;24133:9;24129:18;24121:26;;24193:9;24187:4;24183:20;24179:1;24168:9;24164:17;24157:47;24221:131;24347:4;24221:131;:::i;:::-;24213:139;;23940:419;;;:::o;24365:134::-;24423:9;24456:37;24487:5;24456:37;:::i;:::-;24443:50;;24365:134;;;:::o;24505:147::-;24600:45;24639:5;24600:45;:::i;:::-;24595:3;24588:58;24505:147;;:::o;24658:238::-;24759:4;24797:2;24786:9;24782:18;24774:26;;24810:79;24886:1;24875:9;24871:17;24862:6;24810:79;:::i;:::-;24658:238;;;;:::o;24902:174::-;25042:26;25038:1;25030:6;25026:14;25019:50;24902:174;:::o;25082:366::-;25224:3;25245:67;25309:2;25304:3;25245:67;:::i;:::-;25238:74;;25321:93;25410:3;25321:93;:::i;:::-;25439:2;25434:3;25430:12;25423:19;;25082:366;;;:::o;25454:419::-;25620:4;25658:2;25647:9;25643:18;25635:26;;25707:9;25701:4;25697:20;25693:1;25682:9;25678:17;25671:47;25735:131;25861:4;25735:131;:::i;:::-;25727:139;;25454:419;;;:::o;25879:154::-;26019:6;26015:1;26007:6;26003:14;25996:30;25879:154;:::o;26039:365::-;26181:3;26202:66;26266:1;26261:3;26202:66;:::i;:::-;26195:73;;26277:93;26366:3;26277:93;:::i;:::-;26395:2;26390:3;26386:12;26379:19;;26039:365;;;:::o;26410:419::-;26576:4;26614:2;26603:9;26599:18;26591:26;;26663:9;26657:4;26653:20;26649:1;26638:9;26634:17;26627:47;26691:131;26817:4;26691:131;:::i;:::-;26683:139;;26410:419;;;:::o;26835:162::-;26975:14;26971:1;26963:6;26959:14;26952:38;26835:162;:::o;27003:366::-;27145:3;27166:67;27230:2;27225:3;27166:67;:::i;:::-;27159:74;;27242:93;27331:3;27242:93;:::i;:::-;27360:2;27355:3;27351:12;27344:19;;27003:366;;;:::o;27375:419::-;27541:4;27579:2;27568:9;27564:18;27556:26;;27628:9;27622:4;27618:20;27614:1;27603:9;27599:17;27592:47;27656:131;27782:4;27656:131;:::i;:::-;27648:139;;27375:419;;;:::o;27800:162::-;27940:14;27936:1;27928:6;27924:14;27917:38;27800:162;:::o;27968:366::-;28110:3;28131:67;28195:2;28190:3;28131:67;:::i;:::-;28124:74;;28207:93;28296:3;28207:93;:::i;:::-;28325:2;28320:3;28316:12;28309:19;;27968:366;;;:::o;28340:419::-;28506:4;28544:2;28533:9;28529:18;28521:26;;28593:9;28587:4;28583:20;28579:1;28568:9;28564:17;28557:47;28621:131;28747:4;28621:131;:::i;:::-;28613:139;;28340:419;;;:::o;28765:332::-;28886:4;28924:2;28913:9;28909:18;28901:26;;28937:71;29005:1;28994:9;28990:17;28981:6;28937:71;:::i;:::-;29018:72;29086:2;29075:9;29071:18;29062:6;29018:72;:::i;:::-;28765:332;;;;;:::o;29103:191::-;29143:4;29163:20;29181:1;29163:20;:::i;:::-;29158:25;;29197:20;29215:1;29197:20;:::i;:::-;29192:25;;29236:1;29233;29230:8;29227:34;;;29241:18;;:::i;:::-;29227:34;29286:1;29283;29279:9;29271:17;;29103:191;;;;:::o;29300:85::-;29345:7;29374:5;29363:16;;29300:85;;;:::o;29391:158::-;29449:9;29482:61;29500:42;29509:32;29535:5;29509:32;:::i;:::-;29500:42;:::i;:::-;29482:61;:::i;:::-;29469:74;;29391:158;;;:::o;29555:147::-;29650:45;29689:5;29650:45;:::i;:::-;29645:3;29638:58;29555:147;;:::o;29708:348::-;29837:4;29875:2;29864:9;29860:18;29852:26;;29888:71;29956:1;29945:9;29941:17;29932:6;29888:71;:::i;:::-;29969:80;30045:2;30034:9;30030:18;30021:6;29969:80;:::i;:::-;29708:348;;;;;:::o;30062:137::-;30116:5;30147:6;30141:13;30132:22;;30163:30;30187:5;30163:30;:::i;:::-;30062:137;;;;:::o;30205:345::-;30272:6;30321:2;30309:9;30300:7;30296:23;30292:32;30289:119;;;30327:79;;:::i;:::-;30289:119;30447:1;30472:61;30525:7;30516:6;30505:9;30501:22;30472:61;:::i;:::-;30462:71;;30418:125;30205:345;;;;:::o;30556:177::-;30696:29;30692:1;30684:6;30680:14;30673:53;30556:177;:::o;30739:366::-;30881:3;30902:67;30966:2;30961:3;30902:67;:::i;:::-;30895:74;;30978:93;31067:3;30978:93;:::i;:::-;31096:2;31091:3;31087:12;31080:19;;30739:366;;;:::o;31111:419::-;31277:4;31315:2;31304:9;31300:18;31292:26;;31364:9;31358:4;31354:20;31350:1;31339:9;31335:17;31328:47;31392:131;31518:4;31392:131;:::i;:::-;31384:139;;31111:419;;;:::o;31536:180::-;31584:77;31581:1;31574:88;31681:4;31678:1;31671:15;31705:4;31702:1;31695:15;31722:185;31762:1;31779:20;31797:1;31779:20;:::i;:::-;31774:25;;31813:20;31831:1;31813:20;:::i;:::-;31808:25;;31852:1;31842:35;;31857:18;;:::i;:::-;31842:35;31899:1;31896;31892:9;31887:14;;31722:185;;;;:::o;31913:180::-;31961:77;31958:1;31951:88;32058:4;32055:1;32048:15;32082:4;32079:1;32072:15;32099:114;32166:6;32200:5;32194:12;32184:22;;32099:114;;;:::o;32219:184::-;32318:11;32352:6;32347:3;32340:19;32392:4;32387:3;32383:14;32368:29;;32219:184;;;;:::o;32409:132::-;32476:4;32499:3;32491:11;;32529:4;32524:3;32520:14;32512:22;;32409:132;;;:::o;32547:108::-;32624:24;32642:5;32624:24;:::i;:::-;32619:3;32612:37;32547:108;;:::o;32661:179::-;32730:10;32751:46;32793:3;32785:6;32751:46;:::i;:::-;32829:4;32824:3;32820:14;32806:28;;32661:179;;;;:::o;32846:113::-;32916:4;32948;32943:3;32939:14;32931:22;;32846:113;;;:::o;32995:732::-;33114:3;33143:54;33191:5;33143:54;:::i;:::-;33213:86;33292:6;33287:3;33213:86;:::i;:::-;33206:93;;33323:56;33373:5;33323:56;:::i;:::-;33402:7;33433:1;33418:284;33443:6;33440:1;33437:13;33418:284;;;33519:6;33513:13;33546:63;33605:3;33590:13;33546:63;:::i;:::-;33539:70;;33632:60;33685:6;33632:60;:::i;:::-;33622:70;;33478:224;33465:1;33462;33458:9;33453:14;;33418:284;;;33422:14;33718:3;33711:10;;33119:608;;;32995:732;;;;:::o;33733:831::-;33996:4;34034:3;34023:9;34019:19;34011:27;;34048:71;34116:1;34105:9;34101:17;34092:6;34048:71;:::i;:::-;34129:80;34205:2;34194:9;34190:18;34181:6;34129:80;:::i;:::-;34256:9;34250:4;34246:20;34241:2;34230:9;34226:18;34219:48;34284:108;34387:4;34378:6;34284:108;:::i;:::-;34276:116;;34402:72;34470:2;34459:9;34455:18;34446:6;34402:72;:::i;:::-;34484:73;34552:3;34541:9;34537:19;34528:6;34484:73;:::i;:::-;33733:831;;;;;;;;:::o;34570:220::-;34710:34;34706:1;34698:6;34694:14;34687:58;34779:3;34774:2;34766:6;34762:15;34755:28;34570:220;:::o;34796:366::-;34938:3;34959:67;35023:2;35018:3;34959:67;:::i;:::-;34952:74;;35035:93;35124:3;35035:93;:::i;:::-;35153:2;35148:3;35144:12;35137:19;;34796:366;;;:::o;35168:419::-;35334:4;35372:2;35361:9;35357:18;35349:26;;35421:9;35415:4;35411:20;35407:1;35396:9;35392:17;35385:47;35449:131;35575:4;35449:131;:::i;:::-;35441:139;;35168:419;;;:::o

Swarm Source

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