ETH Price: $3,250.49 (+4.35%)
Gas: 2 Gwei

Token

June (JUNE)
 

Overview

Max Total Supply

1,000,000,000,000 JUNE

Holders

114

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1.902175243877903213 JUNE

Value
$0.00
0x1703a0b7d4fc8b8bd6312fa30bff7e875b3af92d
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:
June

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-02
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.0;

//website: https://www.buyinjune.com/

//twitter: https://twitter.com/buyinjune

/**
 * 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;
}


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

    address private WETH;

    string private constant  _name = "June";
    string private constant _symbol = "JUNE";
    uint8 public constant _decimals = 18;

    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 isBot;
            
    uint256 public buyFee = 17;
    uint256 public sellFee = 17;
    uint256 private feeDenominator = 100;

    address payable public teamWallet = payable(0x7AA6B1A6B0afD24C6943819881Ee01826bE470b7);
    uint256 public swapThresholdAmount = 10000000000 * (10**_decimals);

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool private tradingOpen;
    bool private buyLimit = true;
    uint256 private maxBuy = 10000000001 * (10 ** _decimals);
    

    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));
        approve(address(router), type(uint).max);
        IERC20(pair).approve(address(router), type(uint).max);  
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[_owner] = true;
        isFeeExempt[teamWallet] = true; 
        isFeeExempt[address(this)] = true;            
        
        isBot[0x6b75d8AF000000e20B7a7DDf000Ba900b4009A80] = 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 (!tradingOpen) {
            require (sender == owner ||  sender == address (this));
            return _basicTransfer(sender, recipient, amount);
        }
        
        if (blacklistEnabled) {
            require (!isBot[sender] && !isBot[recipient], "Bot!");
        }
        if (buyLimit) { 
            require (amount<=maxBuy, "Too much sir");        
        }

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

        uint256 contractTokenBalance = balanceOf(address(this));

        bool overMinTokenBalance = contractTokenBalance >= swapThresholdAmount;
    
        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);

        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 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;
        if(sender != pair) {
            feeAmount = amount.mul(sellFee).div(feeDenominator);
        }
        else {
            feeAmount = amount.mul(buyFee).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 contractTokenBalance = balanceOf(address(this));

        uint256 amountToSwap;

        if (contractTokenBalance >= swapThresholdAmount) {
            amountToSwap = swapThresholdAmount;
        }
            else {
                amountToSwap = contractTokenBalance;
        }
              
        swapTokensForEth(amountToSwap);

        uint256 contractETHBalance = address(this).balance;
             
        payable(teamWallet).transfer(contractETHBalance);          
    }

    

    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 launch() external onlyOwner {
      
        router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner,
            block.timestamp
        );       

        launchedAt = block.number;
        tradingOpen = true;
    }    

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

    function setBuyFee (uint256 _fee) external onlyOwner {
        require(buyFee != 0); //once set to 0, fee can't be increased
        buyFee = _fee;
    }

     function setSellFee (uint256 _fee) external onlyOwner {
        require(sellFee != 0); //once set to 0, fee can't be increased
        sellFee = _fee;
    }   

    function setTeamWallet(address _teamWallet) external onlyOwner {
        teamWallet = payable(_teamWallet);
    } 

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

    function setBlacklistEnabled() external onlyOwner {
        require (blacklistEnabled == false, "can only be called once");
        blacklistEnabled = true;
    }
    
    function setBot(address _address, bool toggle) public onlyOwner {
        isBot[_address] = toggle;
    }

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

    function blacklistArray (address[] calldata bots) external onlyOwner {
        require (bots.length > 0);
        uint i =0;
        while (i < bots.length) {
            setBot(bots[i],  true);
            i++;
        }
    }

    function setSwapThresholdAmount (uint256 amount) external onlyOwner {
        swapThresholdAmount = _totalSupply.mul(amount).div(1000);
    } 
  
    function manualSend() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(teamWallet).transfer(contractETHBalance);
    }
  
}

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":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"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":[{"internalType":"address[]","name":"bots","type":"address[]"}],"name":"blacklistArray","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"blacklistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"checkBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"setBuyFee","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":"uint256","name":"_fee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapThresholdAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_teamWallet","type":"address"}],"name":"setTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThresholdAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526012600a62000014919062000afe565b64e8d4a5100062000026919062000b4f565b600255601160085560116009556064600a55737aa6b1a6b0afd24c6943819881ee01826be470b7600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6200009d919062000afe565b6402540be400620000af919062000b4f565b600c556001601060016101000a81548160ff0219169083151502179055506012600a620000dd919062000afe565b6402540be401620000ef919062000b4f565b6011556000601260006101000a81548160ff0219169083151502179055503480156200011a57600080fd5b5060405162003fed38038062003fed833981810160405281019062000140919062000c04565b80806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050737a250d5630b4cf539739df2c5dacb4c659f2488d600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026b919062000c04565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000319573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033f919062000c04565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200039d92919062000c47565b6020604051808303816000875af1158015620003bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e3919062000c04565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000477600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200087060201b60201c565b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016200051992919062000c85565b6020604051808303816000875af115801562000539573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200055f919062000cef565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000736b75d8af000000e20b7a7ddf000ba900b4009a8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600254600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60025460405162000861919062000d21565b60405180910390a35062000d3e565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405162000952919062000d21565b60405180910390a36001905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620009f257808604811115620009ca57620009c962000964565b5b6001851615620009da5780820291505b8081029050620009ea8562000993565b9450620009aa565b94509492505050565b60008262000a0d576001905062000ae0565b8162000a1d576000905062000ae0565b816001811462000a36576002811462000a415762000a77565b600191505062000ae0565b60ff84111562000a565762000a5562000964565b5b8360020a91508482111562000a705762000a6f62000964565b5b5062000ae0565b5060208310610133831016604e8410600b841016171562000ab15782820a90508381111562000aab5762000aaa62000964565b5b62000ae0565b62000ac08484846001620009a0565b9250905081840481111562000ada5762000ad962000964565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000b0b8262000ae7565b915062000b188362000af1565b925062000b477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009fb565b905092915050565b600062000b5c8262000ae7565b915062000b698362000ae7565b925082820262000b798162000ae7565b9150828204841483151762000b935762000b9262000964565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000bcc8262000b9f565b9050919050565b62000bde8162000bbf565b811462000bea57600080fd5b50565b60008151905062000bfe8162000bd3565b92915050565b60006020828403121562000c1d5762000c1c62000b9a565b5b600062000c2d8482850162000bed565b91505092915050565b62000c418162000bbf565b82525050565b600060408201905062000c5e600083018562000c36565b62000c6d602083018462000c36565b9392505050565b62000c7f8162000ae7565b82525050565b600060408201905062000c9c600083018562000c36565b62000cab602083018462000c74565b9392505050565b60008115159050919050565b62000cc98162000cb2565b811462000cd557600080fd5b50565b60008151905062000ce98162000cbe565b92915050565b60006020828403121562000d085762000d0762000b9a565b5b600062000d188482850162000cd8565b91505092915050565b600060208201905062000d38600083018462000c74565b92915050565b61329f8062000d4e6000396000f3fe6080604052600436106101fd5760003560e01c8063658d4b7f1161010d578063b1a4e0dc116100a0578063d3ee67381161006f578063d3ee67381461071e578063dd62ed3e14610747578063f2fde38b14610784578063f4293890146107ad578063f887ea40146107c457610204565b8063b1a4e0dc14610660578063bf56b3711461069d578063bffb691d146106c8578063d0aa7abe146106f357610204565b80638b4cee08116100dc5780638b4cee08146105a457806395d89b41146105cd578063a8aa1b31146105f8578063a9059cbb1461062357610204565b8063658d4b7f146104fc57806370a0823114610525578063764ca51214610562578063893d20e81461057957610204565b80632b14ca5611610190578063342aa8b51161015f578063342aa8b5146104295780633e07ce5b146104525780634706240214610469578063571ac8b01461049457806359927044146104d157610204565b80632b14ca561461036b5780632f54bf6e14610396578063313ce567146103d357806332424aa3146103fe57610204565b80631525ff7d116101cc5780631525ff7d146102b157806318160ddd146102da57806323b872dd1461030557806329e04b4a1461034257610204565b806301339c211461020957806306fdde0314610220578063095ea7b31461024b5780630cc835a31461028857610204565b3661020457005b600080fd5b34801561021557600080fd5b5061021e6107ef565b005b34801561022c57600080fd5b50610235610930565b60405161024291906126a9565b60405180910390f35b34801561025757600080fd5b50610272600480360381019061026d9190612769565b61096d565b60405161027f91906127c4565b60405180910390f35b34801561029457600080fd5b506102af60048036038101906102aa91906127df565b610a5f565b005b3480156102bd57600080fd5b506102d860048036038101906102d3919061280c565b610ac0565b005b3480156102e657600080fd5b506102ef610b4c565b6040516102fc9190612848565b60405180910390f35b34801561031157600080fd5b5061032c60048036038101906103279190612863565b610b56565b60405161033991906127c4565b60405180910390f35b34801561034e57600080fd5b50610369600480360381019061036491906127df565b610d56565b005b34801561037757600080fd5b50610380610dd0565b60405161038d9190612848565b60405180910390f35b3480156103a257600080fd5b506103bd60048036038101906103b8919061280c565b610dd6565b6040516103ca91906127c4565b60405180910390f35b3480156103df57600080fd5b506103e8610e2f565b6040516103f591906128d2565b60405180910390f35b34801561040a57600080fd5b50610413610e38565b60405161042091906128d2565b60405180910390f35b34801561043557600080fd5b50610450600480360381019061044b9190612919565b610e3d565b005b34801561045e57600080fd5b50610467610ee0565b005b34801561047557600080fd5b5061047e610f45565b60405161048b9190612848565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b6919061280c565b610f4b565b6040516104c891906127c4565b60405180910390f35b3480156104dd57600080fd5b506104e6610f7e565b6040516104f3919061297a565b60405180910390f35b34801561050857600080fd5b50610523600480360381019061051e9190612919565b610fa4565b005b34801561053157600080fd5b5061054c6004803603810190610547919061280c565b611047565b6040516105599190612848565b60405180910390f35b34801561056e57600080fd5b50610577611090565b005b34801561058557600080fd5b5061058e61114b565b60405161059b91906129a4565b60405180910390f35b3480156105b057600080fd5b506105cb60048036038101906105c691906127df565b611174565b005b3480156105d957600080fd5b506105e26111d5565b6040516105ef91906126a9565b60405180910390f35b34801561060457600080fd5b5061060d611212565b60405161061a91906129a4565b60405180910390f35b34801561062f57600080fd5b5061064a60048036038101906106459190612769565b611238565b60405161065791906127c4565b60405180910390f35b34801561066c57600080fd5b506106876004803603810190610682919061280c565b61124d565b60405161069491906127c4565b60405180910390f35b3480156106a957600080fd5b506106b26112a3565b6040516106bf9190612848565b60405180910390f35b3480156106d457600080fd5b506106dd6112a9565b6040516106ea91906127c4565b60405180910390f35b3480156106ff57600080fd5b506107086112bc565b6040516107159190612848565b60405180910390f35b34801561072a57600080fd5b5061074560048036038101906107409190612a24565b6112c2565b005b34801561075357600080fd5b5061076e60048036038101906107699190612a71565b611372565b60405161077b9190612848565b60405180910390f35b34801561079057600080fd5b506107ab60048036038101906107a69190612add565b6113f9565b005b3480156107b957600080fd5b506107c26114bb565b005b3480156107d057600080fd5b506107d9611574565b6040516107e69190612b69565b60405180910390f35b6107f833610dd6565b610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082e90612bd0565b60405180910390fd5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061088030611047565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016108c696959493929190612c2b565b60606040518083038185885af11580156108e4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109099190612ca1565b50505043600f819055506001601060006101000a81548160ff021916908315150217905550565b60606040518060400160405280600481526020017f4a756e6500000000000000000000000000000000000000000000000000000000815250905090565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a4d9190612848565b60405180910390a36001905092915050565b610a6833610dd6565b610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e90612bd0565b60405180910390fd5b600060085403610ab657600080fd5b8060088190555050565b610ac933610dd6565b610b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aff90612bd0565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600254905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d4257610cc1826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159a9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d4d8484846115fe565b90509392505050565b610d5f33610dd6565b610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9590612bd0565b60405180910390fd5b610dc76103e8610db983600254611cd090919063ffffffff16565b611d4a90919063ffffffff16565b600c8190555050565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b601281565b610e4633610dd6565b610e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7c90612bd0565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610ee933610dd6565b610f28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1f90612bd0565b60405180910390fd5b6000601060016101000a81548160ff021916908315150217905550565b60085481565b6000610f77827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61096d565b9050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610fad33610dd6565b610fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe390612bd0565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61109933610dd6565b6110d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cf90612bd0565b60405180910390fd5b60001515601260009054906101000a900460ff1615151461112e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112590612d40565b60405180910390fd5b6001601260006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61117d33610dd6565b6111bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b390612bd0565b60405180910390fd5b6000600954036111cb57600080fd5b8060098190555050565b60606040518060400160405280600481526020017f4a554e4500000000000000000000000000000000000000000000000000000000815250905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112453384846115fe565b905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600f5481565b601260009054906101000a900460ff1681565b600c5481565b6112cb33610dd6565b61130a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130190612bd0565b60405180910390fd5b6000828290501161131a57600080fd5b60005b8282905081101561136d5761135a83838381811061133e5761133d612d60565b5b9050602002016020810190611353919061280c565b6001610e3d565b808061136590612dbe565b91505061131d565b505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61140233610dd6565b611441576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143890612bd0565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516114b09190612e27565b60405180910390a150565b6114c433610dd6565b611503576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fa90612bd0565b60405180910390fd5b6000479050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611570573d6000803e3d6000fd5b5050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008383111582906115e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d991906126a9565b60405180910390fd5b50600083856115f19190612e42565b9050809150509392505050565b6000601060009054906101000a900460ff166116b45760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061169957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b6116a257600080fd5b6116ad848484611d94565b9050611cc9565b601260009054906101000a900460ff16156117ad57600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561176d5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6117ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a390612ec2565b60405180910390fd5b5b601060019054906101000a900460ff161561180857601154821115611807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fe90612f2e565b60405180910390fd5b5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118b35750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119095750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a185742600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061195957600080fd5b603c426119669190612f4e565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600f546119b89190612f4e565b4311611a17576001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b601260019054906101000a900460ff1615611a3f57611a38848484611d94565b9050611cc9565b6000611a4a30611047565b90506000600c5482101590506000818015611ab25750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b8015611ac657506000611ac430611047565b115b90508015611ad757611ad6611f67565b5b611b60856040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159a9092919063ffffffff16565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611baf888861203f565b611bb95785611bc4565b611bc3888761219c565b5b9050611c1881600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236690919063ffffffff16565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cb89190612848565b60405180910390a360019450505050505b9392505050565b6000808303611ce25760009050611d44565b60008284611cf09190612f82565b9050828482611cff9190612ff3565b14611d3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3690613096565b60405180910390fd5b809150505b92915050565b6000611d8c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123c4565b905092915050565b6000611e1f826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159a9092919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eb482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236690919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f549190612848565b60405180910390a3600190509392505050565b6001601260016101000a81548160ff0219169083151502179055506000611f8d30611047565b90506000600c548210611fa457600c549050611fa8565b8190505b611fb181612427565b6000479050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561201e573d6000803e3d6000fd5b505050506000601260016101000a81548160ff021916908315150217905550565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120e25750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1580156121945750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806121935750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b905092915050565b600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146122245761221d600a5461220f60095486611cd090919063ffffffff16565b611d4a90919063ffffffff16565b9050612250565b61224d600a5461223f60085486611cd090919063ffffffff16565b611d4a90919063ffffffff16565b90505b6122a281600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236690919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123429190612848565b60405180910390a361235d81846125cf90919063ffffffff16565b91505092915050565b60008082846123759190612f4e565b9050838110156123ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b190613102565b60405180910390fd5b8091505092915050565b6000808311829061240b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240291906126a9565b60405180910390fd5b506000838561241a9190612ff3565b9050809150509392505050565b6000600267ffffffffffffffff81111561244457612443613122565b5b6040519080825280602002602001820160405280156124725781602001602082028036833780820191505090505b509050308160008151811061248a57612489612d60565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106124fb576124fa612d60565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161259995949392919061320f565b600060405180830381600087803b1580156125b357600080fd5b505af11580156125c7573d6000803e3d6000fd5b505050505050565b600061261183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061159a565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612653578082015181840152602081019050612638565b60008484015250505050565b6000601f19601f8301169050919050565b600061267b82612619565b6126858185612624565b9350612695818560208601612635565b61269e8161265f565b840191505092915050565b600060208201905081810360008301526126c38184612670565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612700826126d5565b9050919050565b612710816126f5565b811461271b57600080fd5b50565b60008135905061272d81612707565b92915050565b6000819050919050565b61274681612733565b811461275157600080fd5b50565b6000813590506127638161273d565b92915050565b600080604083850312156127805761277f6126cb565b5b600061278e8582860161271e565b925050602061279f85828601612754565b9150509250929050565b60008115159050919050565b6127be816127a9565b82525050565b60006020820190506127d960008301846127b5565b92915050565b6000602082840312156127f5576127f46126cb565b5b600061280384828501612754565b91505092915050565b600060208284031215612822576128216126cb565b5b60006128308482850161271e565b91505092915050565b61284281612733565b82525050565b600060208201905061285d6000830184612839565b92915050565b60008060006060848603121561287c5761287b6126cb565b5b600061288a8682870161271e565b935050602061289b8682870161271e565b92505060406128ac86828701612754565b9150509250925092565b600060ff82169050919050565b6128cc816128b6565b82525050565b60006020820190506128e760008301846128c3565b92915050565b6128f6816127a9565b811461290157600080fd5b50565b600081359050612913816128ed565b92915050565b600080604083850312156129305761292f6126cb565b5b600061293e8582860161271e565b925050602061294f85828601612904565b9150509250929050565b6000612964826126d5565b9050919050565b61297481612959565b82525050565b600060208201905061298f600083018461296b565b92915050565b61299e816126f5565b82525050565b60006020820190506129b96000830184612995565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126129e4576129e36129bf565b5b8235905067ffffffffffffffff811115612a0157612a006129c4565b5b602083019150836020820283011115612a1d57612a1c6129c9565b5b9250929050565b60008060208385031215612a3b57612a3a6126cb565b5b600083013567ffffffffffffffff811115612a5957612a586126d0565b5b612a65858286016129ce565b92509250509250929050565b60008060408385031215612a8857612a876126cb565b5b6000612a968582860161271e565b9250506020612aa78582860161271e565b9150509250929050565b612aba81612959565b8114612ac557600080fd5b50565b600081359050612ad781612ab1565b92915050565b600060208284031215612af357612af26126cb565b5b6000612b0184828501612ac8565b91505092915050565b6000819050919050565b6000612b2f612b2a612b25846126d5565b612b0a565b6126d5565b9050919050565b6000612b4182612b14565b9050919050565b6000612b5382612b36565b9050919050565b612b6381612b48565b82525050565b6000602082019050612b7e6000830184612b5a565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000612bba600683612624565b9150612bc582612b84565b602082019050919050565b60006020820190508181036000830152612be981612bad565b9050919050565b6000819050919050565b6000612c15612c10612c0b84612bf0565b612b0a565b612733565b9050919050565b612c2581612bfa565b82525050565b600060c082019050612c406000830189612995565b612c4d6020830188612839565b612c5a6040830187612c1c565b612c676060830186612c1c565b612c746080830185612995565b612c8160a0830184612839565b979650505050505050565b600081519050612c9b8161273d565b92915050565b600080600060608486031215612cba57612cb96126cb565b5b6000612cc886828701612c8c565b9350506020612cd986828701612c8c565b9250506040612cea86828701612c8c565b9150509250925092565b7f63616e206f6e6c792062652063616c6c6564206f6e6365000000000000000000600082015250565b6000612d2a601783612624565b9150612d3582612cf4565b602082019050919050565b60006020820190508181036000830152612d5981612d1d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612dc982612733565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dfb57612dfa612d8f565b5b600182019050919050565b6000612e1182612b36565b9050919050565b612e2181612e06565b82525050565b6000602082019050612e3c6000830184612e18565b92915050565b6000612e4d82612733565b9150612e5883612733565b9250828203905081811115612e7057612e6f612d8f565b5b92915050565b7f426f742100000000000000000000000000000000000000000000000000000000600082015250565b6000612eac600483612624565b9150612eb782612e76565b602082019050919050565b60006020820190508181036000830152612edb81612e9f565b9050919050565b7f546f6f206d756368207369720000000000000000000000000000000000000000600082015250565b6000612f18600c83612624565b9150612f2382612ee2565b602082019050919050565b60006020820190508181036000830152612f4781612f0b565b9050919050565b6000612f5982612733565b9150612f6483612733565b9250828201905080821115612f7c57612f7b612d8f565b5b92915050565b6000612f8d82612733565b9150612f9883612733565b9250828202612fa681612733565b91508282048414831517612fbd57612fbc612d8f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ffe82612733565b915061300983612733565b92508261301957613018612fc4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613080602183612624565b915061308b82613024565b604082019050919050565b600060208201905081810360008301526130af81613073565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006130ec601b83612624565b91506130f7826130b6565b602082019050919050565b6000602082019050818103600083015261311b816130df565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613186816126f5565b82525050565b6000613198838361317d565b60208301905092915050565b6000602082019050919050565b60006131bc82613151565b6131c6818561315c565b93506131d18361316d565b8060005b838110156132025781516131e9888261318c565b97506131f4836131a4565b9250506001810190506131d5565b5085935050505092915050565b600060a0820190506132246000830188612839565b6132316020830187612c1c565b818103604083015261324381866131b1565b90506132526060830185612995565b61325f6080830184612839565b969550505050505056fea26469706673582212205dbd93cf52e28ea1f29499a2d9fffc1d8e979bbf0a9d28a3a4cd5e34600e36f064736f6c63430008110033000000000000000000000000376e753f2c1c3b0d8607bd51975be77d6ac3eb8f

Deployed Bytecode

0x6080604052600436106101fd5760003560e01c8063658d4b7f1161010d578063b1a4e0dc116100a0578063d3ee67381161006f578063d3ee67381461071e578063dd62ed3e14610747578063f2fde38b14610784578063f4293890146107ad578063f887ea40146107c457610204565b8063b1a4e0dc14610660578063bf56b3711461069d578063bffb691d146106c8578063d0aa7abe146106f357610204565b80638b4cee08116100dc5780638b4cee08146105a457806395d89b41146105cd578063a8aa1b31146105f8578063a9059cbb1461062357610204565b8063658d4b7f146104fc57806370a0823114610525578063764ca51214610562578063893d20e81461057957610204565b80632b14ca5611610190578063342aa8b51161015f578063342aa8b5146104295780633e07ce5b146104525780634706240214610469578063571ac8b01461049457806359927044146104d157610204565b80632b14ca561461036b5780632f54bf6e14610396578063313ce567146103d357806332424aa3146103fe57610204565b80631525ff7d116101cc5780631525ff7d146102b157806318160ddd146102da57806323b872dd1461030557806329e04b4a1461034257610204565b806301339c211461020957806306fdde0314610220578063095ea7b31461024b5780630cc835a31461028857610204565b3661020457005b600080fd5b34801561021557600080fd5b5061021e6107ef565b005b34801561022c57600080fd5b50610235610930565b60405161024291906126a9565b60405180910390f35b34801561025757600080fd5b50610272600480360381019061026d9190612769565b61096d565b60405161027f91906127c4565b60405180910390f35b34801561029457600080fd5b506102af60048036038101906102aa91906127df565b610a5f565b005b3480156102bd57600080fd5b506102d860048036038101906102d3919061280c565b610ac0565b005b3480156102e657600080fd5b506102ef610b4c565b6040516102fc9190612848565b60405180910390f35b34801561031157600080fd5b5061032c60048036038101906103279190612863565b610b56565b60405161033991906127c4565b60405180910390f35b34801561034e57600080fd5b50610369600480360381019061036491906127df565b610d56565b005b34801561037757600080fd5b50610380610dd0565b60405161038d9190612848565b60405180910390f35b3480156103a257600080fd5b506103bd60048036038101906103b8919061280c565b610dd6565b6040516103ca91906127c4565b60405180910390f35b3480156103df57600080fd5b506103e8610e2f565b6040516103f591906128d2565b60405180910390f35b34801561040a57600080fd5b50610413610e38565b60405161042091906128d2565b60405180910390f35b34801561043557600080fd5b50610450600480360381019061044b9190612919565b610e3d565b005b34801561045e57600080fd5b50610467610ee0565b005b34801561047557600080fd5b5061047e610f45565b60405161048b9190612848565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b6919061280c565b610f4b565b6040516104c891906127c4565b60405180910390f35b3480156104dd57600080fd5b506104e6610f7e565b6040516104f3919061297a565b60405180910390f35b34801561050857600080fd5b50610523600480360381019061051e9190612919565b610fa4565b005b34801561053157600080fd5b5061054c6004803603810190610547919061280c565b611047565b6040516105599190612848565b60405180910390f35b34801561056e57600080fd5b50610577611090565b005b34801561058557600080fd5b5061058e61114b565b60405161059b91906129a4565b60405180910390f35b3480156105b057600080fd5b506105cb60048036038101906105c691906127df565b611174565b005b3480156105d957600080fd5b506105e26111d5565b6040516105ef91906126a9565b60405180910390f35b34801561060457600080fd5b5061060d611212565b60405161061a91906129a4565b60405180910390f35b34801561062f57600080fd5b5061064a60048036038101906106459190612769565b611238565b60405161065791906127c4565b60405180910390f35b34801561066c57600080fd5b506106876004803603810190610682919061280c565b61124d565b60405161069491906127c4565b60405180910390f35b3480156106a957600080fd5b506106b26112a3565b6040516106bf9190612848565b60405180910390f35b3480156106d457600080fd5b506106dd6112a9565b6040516106ea91906127c4565b60405180910390f35b3480156106ff57600080fd5b506107086112bc565b6040516107159190612848565b60405180910390f35b34801561072a57600080fd5b5061074560048036038101906107409190612a24565b6112c2565b005b34801561075357600080fd5b5061076e60048036038101906107699190612a71565b611372565b60405161077b9190612848565b60405180910390f35b34801561079057600080fd5b506107ab60048036038101906107a69190612add565b6113f9565b005b3480156107b957600080fd5b506107c26114bb565b005b3480156107d057600080fd5b506107d9611574565b6040516107e69190612b69565b60405180910390f35b6107f833610dd6565b610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082e90612bd0565b60405180910390fd5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061088030611047565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016108c696959493929190612c2b565b60606040518083038185885af11580156108e4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109099190612ca1565b50505043600f819055506001601060006101000a81548160ff021916908315150217905550565b60606040518060400160405280600481526020017f4a756e6500000000000000000000000000000000000000000000000000000000815250905090565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a4d9190612848565b60405180910390a36001905092915050565b610a6833610dd6565b610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e90612bd0565b60405180910390fd5b600060085403610ab657600080fd5b8060088190555050565b610ac933610dd6565b610b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aff90612bd0565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600254905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d4257610cc1826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159a9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d4d8484846115fe565b90509392505050565b610d5f33610dd6565b610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9590612bd0565b60405180910390fd5b610dc76103e8610db983600254611cd090919063ffffffff16565b611d4a90919063ffffffff16565b600c8190555050565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b601281565b610e4633610dd6565b610e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7c90612bd0565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610ee933610dd6565b610f28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1f90612bd0565b60405180910390fd5b6000601060016101000a81548160ff021916908315150217905550565b60085481565b6000610f77827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61096d565b9050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610fad33610dd6565b610fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe390612bd0565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61109933610dd6565b6110d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cf90612bd0565b60405180910390fd5b60001515601260009054906101000a900460ff1615151461112e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112590612d40565b60405180910390fd5b6001601260006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61117d33610dd6565b6111bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b390612bd0565b60405180910390fd5b6000600954036111cb57600080fd5b8060098190555050565b60606040518060400160405280600481526020017f4a554e4500000000000000000000000000000000000000000000000000000000815250905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112453384846115fe565b905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600f5481565b601260009054906101000a900460ff1681565b600c5481565b6112cb33610dd6565b61130a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130190612bd0565b60405180910390fd5b6000828290501161131a57600080fd5b60005b8282905081101561136d5761135a83838381811061133e5761133d612d60565b5b9050602002016020810190611353919061280c565b6001610e3d565b808061136590612dbe565b91505061131d565b505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61140233610dd6565b611441576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143890612bd0565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516114b09190612e27565b60405180910390a150565b6114c433610dd6565b611503576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fa90612bd0565b60405180910390fd5b6000479050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611570573d6000803e3d6000fd5b5050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008383111582906115e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d991906126a9565b60405180910390fd5b50600083856115f19190612e42565b9050809150509392505050565b6000601060009054906101000a900460ff166116b45760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061169957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b6116a257600080fd5b6116ad848484611d94565b9050611cc9565b601260009054906101000a900460ff16156117ad57600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561176d5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6117ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a390612ec2565b60405180910390fd5b5b601060019054906101000a900460ff161561180857601154821115611807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fe90612f2e565b60405180910390fd5b5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118b35750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119095750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a185742600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061195957600080fd5b603c426119669190612f4e565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600f546119b89190612f4e565b4311611a17576001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b601260019054906101000a900460ff1615611a3f57611a38848484611d94565b9050611cc9565b6000611a4a30611047565b90506000600c5482101590506000818015611ab25750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b8015611ac657506000611ac430611047565b115b90508015611ad757611ad6611f67565b5b611b60856040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159a9092919063ffffffff16565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611baf888861203f565b611bb95785611bc4565b611bc3888761219c565b5b9050611c1881600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236690919063ffffffff16565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cb89190612848565b60405180910390a360019450505050505b9392505050565b6000808303611ce25760009050611d44565b60008284611cf09190612f82565b9050828482611cff9190612ff3565b14611d3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3690613096565b60405180910390fd5b809150505b92915050565b6000611d8c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123c4565b905092915050565b6000611e1f826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159a9092919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eb482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236690919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f549190612848565b60405180910390a3600190509392505050565b6001601260016101000a81548160ff0219169083151502179055506000611f8d30611047565b90506000600c548210611fa457600c549050611fa8565b8190505b611fb181612427565b6000479050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561201e573d6000803e3d6000fd5b505050506000601260016101000a81548160ff021916908315150217905550565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120e25750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1580156121945750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806121935750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b905092915050565b600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146122245761221d600a5461220f60095486611cd090919063ffffffff16565b611d4a90919063ffffffff16565b9050612250565b61224d600a5461223f60085486611cd090919063ffffffff16565b611d4a90919063ffffffff16565b90505b6122a281600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236690919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123429190612848565b60405180910390a361235d81846125cf90919063ffffffff16565b91505092915050565b60008082846123759190612f4e565b9050838110156123ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b190613102565b60405180910390fd5b8091505092915050565b6000808311829061240b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240291906126a9565b60405180910390fd5b506000838561241a9190612ff3565b9050809150509392505050565b6000600267ffffffffffffffff81111561244457612443613122565b5b6040519080825280602002602001820160405280156124725781602001602082028036833780820191505090505b509050308160008151811061248a57612489612d60565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106124fb576124fa612d60565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161259995949392919061320f565b600060405180830381600087803b1580156125b357600080fd5b505af11580156125c7573d6000803e3d6000fd5b505050505050565b600061261183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061159a565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612653578082015181840152602081019050612638565b60008484015250505050565b6000601f19601f8301169050919050565b600061267b82612619565b6126858185612624565b9350612695818560208601612635565b61269e8161265f565b840191505092915050565b600060208201905081810360008301526126c38184612670565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612700826126d5565b9050919050565b612710816126f5565b811461271b57600080fd5b50565b60008135905061272d81612707565b92915050565b6000819050919050565b61274681612733565b811461275157600080fd5b50565b6000813590506127638161273d565b92915050565b600080604083850312156127805761277f6126cb565b5b600061278e8582860161271e565b925050602061279f85828601612754565b9150509250929050565b60008115159050919050565b6127be816127a9565b82525050565b60006020820190506127d960008301846127b5565b92915050565b6000602082840312156127f5576127f46126cb565b5b600061280384828501612754565b91505092915050565b600060208284031215612822576128216126cb565b5b60006128308482850161271e565b91505092915050565b61284281612733565b82525050565b600060208201905061285d6000830184612839565b92915050565b60008060006060848603121561287c5761287b6126cb565b5b600061288a8682870161271e565b935050602061289b8682870161271e565b92505060406128ac86828701612754565b9150509250925092565b600060ff82169050919050565b6128cc816128b6565b82525050565b60006020820190506128e760008301846128c3565b92915050565b6128f6816127a9565b811461290157600080fd5b50565b600081359050612913816128ed565b92915050565b600080604083850312156129305761292f6126cb565b5b600061293e8582860161271e565b925050602061294f85828601612904565b9150509250929050565b6000612964826126d5565b9050919050565b61297481612959565b82525050565b600060208201905061298f600083018461296b565b92915050565b61299e816126f5565b82525050565b60006020820190506129b96000830184612995565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126129e4576129e36129bf565b5b8235905067ffffffffffffffff811115612a0157612a006129c4565b5b602083019150836020820283011115612a1d57612a1c6129c9565b5b9250929050565b60008060208385031215612a3b57612a3a6126cb565b5b600083013567ffffffffffffffff811115612a5957612a586126d0565b5b612a65858286016129ce565b92509250509250929050565b60008060408385031215612a8857612a876126cb565b5b6000612a968582860161271e565b9250506020612aa78582860161271e565b9150509250929050565b612aba81612959565b8114612ac557600080fd5b50565b600081359050612ad781612ab1565b92915050565b600060208284031215612af357612af26126cb565b5b6000612b0184828501612ac8565b91505092915050565b6000819050919050565b6000612b2f612b2a612b25846126d5565b612b0a565b6126d5565b9050919050565b6000612b4182612b14565b9050919050565b6000612b5382612b36565b9050919050565b612b6381612b48565b82525050565b6000602082019050612b7e6000830184612b5a565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000612bba600683612624565b9150612bc582612b84565b602082019050919050565b60006020820190508181036000830152612be981612bad565b9050919050565b6000819050919050565b6000612c15612c10612c0b84612bf0565b612b0a565b612733565b9050919050565b612c2581612bfa565b82525050565b600060c082019050612c406000830189612995565b612c4d6020830188612839565b612c5a6040830187612c1c565b612c676060830186612c1c565b612c746080830185612995565b612c8160a0830184612839565b979650505050505050565b600081519050612c9b8161273d565b92915050565b600080600060608486031215612cba57612cb96126cb565b5b6000612cc886828701612c8c565b9350506020612cd986828701612c8c565b9250506040612cea86828701612c8c565b9150509250925092565b7f63616e206f6e6c792062652063616c6c6564206f6e6365000000000000000000600082015250565b6000612d2a601783612624565b9150612d3582612cf4565b602082019050919050565b60006020820190508181036000830152612d5981612d1d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612dc982612733565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dfb57612dfa612d8f565b5b600182019050919050565b6000612e1182612b36565b9050919050565b612e2181612e06565b82525050565b6000602082019050612e3c6000830184612e18565b92915050565b6000612e4d82612733565b9150612e5883612733565b9250828203905081811115612e7057612e6f612d8f565b5b92915050565b7f426f742100000000000000000000000000000000000000000000000000000000600082015250565b6000612eac600483612624565b9150612eb782612e76565b602082019050919050565b60006020820190508181036000830152612edb81612e9f565b9050919050565b7f546f6f206d756368207369720000000000000000000000000000000000000000600082015250565b6000612f18600c83612624565b9150612f2382612ee2565b602082019050919050565b60006020820190508181036000830152612f4781612f0b565b9050919050565b6000612f5982612733565b9150612f6483612733565b9250828201905080821115612f7c57612f7b612d8f565b5b92915050565b6000612f8d82612733565b9150612f9883612733565b9250828202612fa681612733565b91508282048414831517612fbd57612fbc612d8f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ffe82612733565b915061300983612733565b92508261301957613018612fc4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613080602183612624565b915061308b82613024565b604082019050919050565b600060208201905081810360008301526130af81613073565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006130ec601b83612624565b91506130f7826130b6565b602082019050919050565b6000602082019050818103600083015261311b816130df565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613186816126f5565b82525050565b6000613198838361317d565b60208301905092915050565b6000602082019050919050565b60006131bc82613151565b6131c6818561315c565b93506131d18361316d565b8060005b838110156132025781516131e9888261318c565b97506131f4836131a4565b9250506001810190506131d5565b5085935050505092915050565b600060a0820190506132246000830188612839565b6132316020830187612c1c565b818103604083015261324381866131b1565b90506132526060830185612995565b61325f6080830184612839565b969550505050505056fea26469706673582212205dbd93cf52e28ea1f29499a2d9fffc1d8e979bbf0a9d28a3a4cd5e34600e36f064736f6c63430008110033

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

000000000000000000000000376e753f2c1c3b0d8607bd51975be77d6ac3eb8f

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000376e753f2c1c3b0d8607bd51975be77d6ac3eb8f


Deployed Bytecode Sourcemap

4814:9487:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12237:404;;;;;;;;;;;;;:::i;:::-;;7178:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7600:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12741:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13076:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6908:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8118:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13971:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5460:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2916:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7002:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5008:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13504:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12653:80;;;;;;;;;;;;;:::i;:::-;;5427:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7824:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5539:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13200:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7348:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13327:165;;;;;;;;;;;;;:::i;:::-;;7264:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12906:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7088:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5739:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7954:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13619:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5767:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5936:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5633:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13729:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7459:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3144:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14125:169;;;;;;;;;;;;;:::i;:::-;;5708:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12237:404;2815:19;2823:10;2815:7;:19::i;:::-;2807:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12293:6:::1;;;;;;;;;;;:22;;;12323:21;12368:4;12388:24;12406:4;12388:9;:24::i;:::-;12427:1;12470::::0;12513:5:::1;::::0;::::1;;;;;;;;12533:15;12293:266;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12592:12;12579:10;:25;;;;12629:4;12615:11;;:18;;;;;;;;;;;;;;;;;;12237:404::o:0;7178:80::-;7226:13;7250:5;;;;;;;;;;;;;;;;;7243:12;;7178:80;:::o;7600:216::-;7675:4;7727:6;7692:11;:23;7704:10;7692:23;;;;;;;;;;;;;;;:32;7716:7;7692:32;;;;;;;;;;;;;;;:41;;;;7770:7;7749:37;;7758:10;7749:37;;;7779:6;7749:37;;;;;;:::i;:::-;;;;;;;;7804:4;7797:11;;7600:216;;;;:::o;12741:156::-;2815:19;2823:10;2815:7;:19::i;:::-;2807:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12823:1:::1;12813:6;;:11:::0;12805:20:::1;;;::::0;::::1;;12885:4;12876:6;:13;;;;12741:156:::0;:::o;13076:115::-;2815:19;2823:10;2815:7;:19::i;:::-;2807:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13171:11:::1;13150:10;;:33;;;;;;;;;;;;;;;;;;13076:115:::0;:::o;6908:88::-;6963:7;6981:12;;6974:19;;6908:88;:::o;8118:370::-;8218:4;8273:17;8238:11;:19;8250:6;8238:19;;;;;;;;;;;;;;;:31;8258:10;8238:31;;;;;;;;;;;;;;;;:52;8235:186;;8340:69;8376:6;8340:69;;;;;;;;;;;;;;;;;:11;:19;8352:6;8340:19;;;;;;;;;;;;;;;:31;8360:10;8340:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8306:11;:19;8318:6;8306:19;;;;;;;;;;;;;;;:31;8326:10;8306:31;;;;;;;;;;;;;;;:103;;;;8235:186;8440:40;8454:6;8462:9;8473:6;8440:13;:40::i;:::-;8433:47;;8118:370;;;;;:::o;13971:143::-;2815:19;2823:10;2815:7;:19::i;:::-;2807:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;14072:34:::1;14101:4;14072:24;14089:6;14072:12;;:16;;:24;;;;:::i;:::-;:28;;:34;;;;:::i;:::-;14050:19;:56;;;;13971:143:::0;:::o;5460:27::-;;;;:::o;2916:103::-;2971:4;3006:5;;;;;;;;;;;2995:16;;:7;:16;;;2988:23;;2916:103;;;:::o;7002:80::-;7054:5;5042:2;7063:16;;7002:80;:::o;5008:36::-;5042:2;5008:36;:::o;13504:107::-;2815:19;2823:10;2815:7;:19::i;:::-;2807:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13597:6:::1;13579:5;:15;13585:8;13579:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;13504:107:::0;;:::o;12653:80::-;2815:19;2823:10;2815:7;:19::i;:::-;2807:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12720:5:::1;12709:8;;:16;;;;;;;;;;;;;;;;;;12653:80::o:0;5427:26::-;;;;:::o;7824:122::-;7879:4;7903:35;7911:7;7920:17;7903:7;:35::i;:::-;7896:42;;7824:122;;;:::o;5539:87::-;;;;;;;;;;;;;:::o;13200:119::-;2815:19;2823:10;2815:7;:19::i;:::-;2807:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13305:6:::1;13283:11;:19;13295:6;13283:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;13200:119:::0;;:::o;7348:105::-;7414:7;7432:9;:18;7442:7;7432:18;;;;;;;;;;;;;;;;7425:25;;7348:105;;;:::o;13327:165::-;2815:19;2823:10;2815:7;:19::i;:::-;2807:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13417:5:::1;13397:25;;:16;;;;;;;;;;;:25;;;13388:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;13480:4;13461:16;;:23;;;;;;;;;;;;;;;;;;13327:165::o:0;7264:78::-;7316:7;7334:5;;;;;;;;;;;7327:12;;7264:78;:::o;12906:159::-;2815:19;2823:10;2815:7;:19::i;:::-;2807:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12990:1:::1;12979:7;;:12:::0;12971:21:::1;;;::::0;::::1;;13053:4;13043:7;:14;;;;12906:159:::0;:::o;7088:84::-;7138:13;7162:7;;;;;;;;;;;;;;;;;7155:14;;7088:84;:::o;5739:19::-;;;;;;;;;;;;;:::o;7954:156::-;8034:4;8058:44;8072:10;8084:9;8095:6;8058:13;:44::i;:::-;8051:51;;7954:156;;;;:::o;13619:102::-;13675:4;13699:5;:14;13705:7;13699:14;;;;;;;;;;;;;;;;;;;;;;;;;13692:21;;13619:102;;;:::o;5767:25::-;;;;:::o;5936:36::-;;;;;;;;;;;;;:::o;5633:66::-;;;;:::o;13729:234::-;2815:19;2823:10;2815:7;:19::i;:::-;2807:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13832:1:::1;13818:4;;:11;;:15;13809:25;;;::::0;::::1;;13845:6;13865:91;13876:4;;:11;;13872:1;:15;13865:91;;;13904:22;13911:4;;13916:1;13911:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;13921:4;13904:6;:22::i;:::-;13941:3;;;;;:::i;:::-;;;;13865:91;;;13798:165;13729:234:::0;;:::o;7459:133::-;7543:7;7561:11;:19;7573:6;7561:19;;;;;;;;;;;;;;;:28;7581:7;7561:28;;;;;;;;;;;;;;;;7554:35;;7459:133;;;;:::o;3144:136::-;2815:19;2823:10;2815:7;:19::i;:::-;2807:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3228:3:::1;3220:5;::::0;:11:::1;;;;;;;;;;;;;;;;;;3247:25;3268:3;3247:25;;;;;;:::i;:::-;;;;;;;;3144:136:::0;:::o;14125:169::-;2815:19;2823:10;2815:7;:19::i;:::-;2807:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;14177:26:::1;14206:21;14177:50;;14246:10;;;;;;;;;;;14238:28;;:48;14267:18;14238:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;14166:128;14125:169::o:0;5708:24::-;;;;;;;;;;;;;:::o;578:192::-;664:7;697:1;692;:6;;700:12;684:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;724:9;740:1;736;:5;;;;:::i;:::-;724:17;;761:1;754:8;;;578:192;;;;;:::o;8496:1600::-;8588:4;8610:11;;;;;;;;;;;8605:162;;8657:5;;;;;;;;;;8647:15;;:6;:15;;;:44;;;;8686:4;8667:24;;:6;:24;;;8647:44;8638:54;;;;;;8714:41;8729:6;8737:9;8748:6;8714:14;:41::i;:::-;8707:48;;;;8605:162;8791:16;;;;;;;;;;;8787:102;;;8834:5;:13;8840:6;8834:13;;;;;;;;;;;;;;;;;;;;;;;;;8833:14;:35;;;;;8852:5;:16;8858:9;8852:16;;;;;;;;;;;;;;;;;;;;;;;;;8851:17;8833:35;8824:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;8787:102;8903:8;;;;;;;;;;;8899:90;;;8946:6;;8938;:14;;8929:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;8899:90;9015:4;;;;;;;;;;;9005:14;;:6;:14;;;:46;;;;;9044:6;;;;;;;;;;;9023:28;;:9;:28;;;;9005:46;:73;;;;;9056:11;:22;9068:9;9056:22;;;;;;;;;;;;;;;;;;;;;;;;;9055:23;9005:73;9001:329;;;9126:15;9104:8;:19;9113:9;9104:19;;;;;;;;;;;;;;;;:37;9095:47;;;;;;9197:10;9179:15;:28;;;;:::i;:::-;9157:8;:19;9166:9;9157:19;;;;;;;;;;;;;;;:50;;;;9256:1;9243:10;;:14;;;;:::i;:::-;9226:12;:32;9222:97;;9299:4;9280:5;:16;9286:9;9280:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;9222:97;9001:329;9360:6;;;;;;;;;;;9357:63;;;9376:41;9391:6;9399:9;9410:6;9376:14;:41::i;:::-;9369:48;;;;9357:63;9436:28;9467:24;9485:4;9467:9;:24::i;:::-;9436:55;;9504:24;9555:19;;9531:20;:43;;9504:70;;9591:19;9614;:38;;;;;9648:4;;;;;;;;;;;9637:15;;:9;:15;;;9614:38;:70;;;;;9683:1;9656:24;9674:4;9656:9;:24::i;:::-;:28;9614:70;9591:94;;9699:14;9696:33;;;9716:10;:8;:10::i;:::-;9696:33;9763:53;9785:6;9763:53;;;;;;;;;;;;;;;;;:9;:17;9773:6;9763:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9743:9;:17;9753:6;9743:17;;;;;;;;;;;;;;;:73;;;;9829:22;9854:32;9868:6;9876:9;9854:13;:32::i;:::-;:67;;9915:6;9854:67;;;9889:23;9897:6;9905;9889:7;:23::i;:::-;9854:67;9829:92;;9965:40;9990:14;9965:9;:20;9975:9;9965:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;9942:9;:20;9952:9;9942:20;;;;;;;;;;;;;;;:63;;;;10040:9;10023:43;;10032:6;10023:43;;;10051:14;10023:43;;;;;;:::i;:::-;;;;;;;;10084:4;10077:11;;;;;;8496:1600;;;;;;:::o;776:250::-;834:7;863:1;858;:6;854:47;;888:1;881:8;;;;854:47;913:9;929:1;925;:5;;;;:::i;:::-;913:17;;958:1;953;949;:5;;;;:::i;:::-;:10;941:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1017:1;1010:8;;;776:250;;;;;:::o;1032:132::-;1090:7;1117:39;1121:1;1124;1117:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1110:46;;1032:132;;;;:::o;10108:330::-;10201:4;10238:53;10260:6;10238:53;;;;;;;;;;;;;;;;;:9;:17;10248:6;10238:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;10218:9;:17;10228:6;10218:17;;;;;;;;;;;;;;;:73;;;;10325:32;10350:6;10325:9;:20;10335:9;10325:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10302:9;:20;10312:9;10302:20;;;;;;;;;;;;;;;:55;;;;10390:9;10373:35;;10382:6;10373:35;;;10401:6;10373:35;;;;;;:::i;:::-;;;;;;;;10426:4;10419:11;;10108:330;;;;;:::o;11162:556::-;6036:4;6027:6;;:13;;;;;;;;;;;;;;;;;;11211:28:::1;11242:24;11260:4;11242:9;:24::i;:::-;11211:55;;11279:20;11340:19;;11316:20;:43;11312:195;;11391:19;;11376:34;;11312:195;;;11475:20;11460:35;;11312:195;11533:30;11550:12;11533:16;:30::i;:::-;11576:26;11605:21;11576:50;;11660:10;;;;;;;;;;;11652:28;;:48;11681:18;11652:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11200:518;;;6054:5:::0;6045:6;;:14;;;;;;;;;;;;;;;;;;11162:556::o;10449:206::-;10530:4;10558:11;:19;10570:6;10558:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;10581:11;:22;10593:9;10581:22;;;;;;;;;;;;;;;;;;;;;;;;;10558:45;10556:48;:90;;;;;10620:4;;;;;;;;;;;10610:14;;:6;:14;;;:35;;;;10641:4;;;;;;;;;;;10628:17;;:9;:17;;;10610:35;10556:90;10547:101;;10449:206;;;;:::o;10663:490::-;10730:7;10750:17;10791:4;;;;;;;;;;;10781:14;;:6;:14;;;10778:189;;10824:39;10848:14;;10824:19;10835:7;;10824:6;:10;;:19;;;;:::i;:::-;:23;;:39;;;;:::i;:::-;10812:51;;10778:189;;;10917:38;10940:14;;10917:18;10928:6;;10917;:10;;:18;;;;:::i;:::-;:22;;:38;;;;:::i;:::-;10905:50;;10778:189;11004:39;11033:9;11004;:24;11022:4;11004:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10977:9;:24;10995:4;10977:24;;;;;;;;;;;;;;;:66;;;;11084:4;11059:42;;11068:6;11059:42;;;11091:9;11059:42;;;;;;:::i;:::-;;;;;;;;11124:21;11135:9;11124:6;:10;;:21;;;;:::i;:::-;11117:28;;;10663:490;;;;:::o;249:181::-;307:7;327:9;343:1;339;:5;;;;:::i;:::-;327:17;;368:1;363;:6;;355:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;421:1;414:8;;;249:181;;;;:::o;1170:345::-;1256:7;1355:1;1351;:5;1358:12;1343:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1382:9;1398:1;1394;:5;;;;:::i;:::-;1382:17;;1506:1;1499:8;;;1170:345;;;;;:::o;11734:489::-;11862:21;11900:1;11886:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11862:40;;11931:4;11913;11918:1;11913:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;11957:4;;;;;;;;;;;11947;11952:1;11947:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;12000:6;;;;;;;;;;;:57;;;12072:11;12098:1;12142:4;12169;12189:15;12000:215;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11789:434;11734:489;:::o;436:136::-;494:7;521:43;525:1;528;521:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;514:50;;436:136;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:::-;3840:6;3889:2;3877:9;3868:7;3864:23;3860:32;3857:119;;;3895:79;;:::i;:::-;3857:119;4015:1;4040:53;4085:7;4076:6;4065:9;4061:22;4040:53;:::i;:::-;4030:63;;3986:117;3781:329;;;;:::o;4116:118::-;4203:24;4221:5;4203:24;:::i;:::-;4198:3;4191:37;4116:118;;:::o;4240:222::-;4333:4;4371:2;4360:9;4356:18;4348:26;;4384:71;4452:1;4441:9;4437:17;4428:6;4384:71;:::i;:::-;4240:222;;;;:::o;4468:619::-;4545:6;4553;4561;4610:2;4598:9;4589:7;4585:23;4581:32;4578:119;;;4616:79;;:::i;:::-;4578:119;4736:1;4761:53;4806:7;4797:6;4786:9;4782:22;4761:53;:::i;:::-;4751:63;;4707:117;4863:2;4889:53;4934:7;4925:6;4914:9;4910:22;4889:53;:::i;:::-;4879:63;;4834:118;4991:2;5017:53;5062:7;5053:6;5042:9;5038:22;5017:53;:::i;:::-;5007:63;;4962:118;4468:619;;;;;:::o;5093:86::-;5128:7;5168:4;5161:5;5157:16;5146:27;;5093:86;;;:::o;5185:112::-;5268:22;5284:5;5268:22;:::i;:::-;5263:3;5256:35;5185:112;;:::o;5303:214::-;5392:4;5430:2;5419:9;5415:18;5407:26;;5443:67;5507:1;5496:9;5492:17;5483:6;5443:67;:::i;:::-;5303:214;;;;:::o;5523:116::-;5593:21;5608:5;5593:21;:::i;:::-;5586:5;5583:32;5573:60;;5629:1;5626;5619:12;5573:60;5523:116;:::o;5645:133::-;5688:5;5726:6;5713:20;5704:29;;5742:30;5766:5;5742:30;:::i;:::-;5645:133;;;;:::o;5784:468::-;5849:6;5857;5906:2;5894:9;5885:7;5881:23;5877:32;5874:119;;;5912:79;;:::i;:::-;5874:119;6032:1;6057:53;6102:7;6093:6;6082:9;6078:22;6057:53;:::i;:::-;6047:63;;6003:117;6159:2;6185:50;6227:7;6218:6;6207:9;6203:22;6185:50;:::i;:::-;6175:60;;6130:115;5784:468;;;;;:::o;6258:104::-;6303:7;6332:24;6350:5;6332:24;:::i;:::-;6321:35;;6258:104;;;:::o;6368:142::-;6471:32;6497:5;6471:32;:::i;:::-;6466:3;6459:45;6368:142;;:::o;6516:254::-;6625:4;6663:2;6652:9;6648:18;6640:26;;6676:87;6760:1;6749:9;6745:17;6736:6;6676:87;:::i;:::-;6516:254;;;;:::o;6776:118::-;6863:24;6881:5;6863:24;:::i;:::-;6858:3;6851:37;6776:118;;:::o;6900:222::-;6993:4;7031:2;7020:9;7016:18;7008:26;;7044:71;7112:1;7101:9;7097:17;7088:6;7044:71;:::i;:::-;6900:222;;;;:::o;7128:117::-;7237:1;7234;7227:12;7251:117;7360:1;7357;7350:12;7374:117;7483:1;7480;7473:12;7514:568;7587:8;7597:6;7647:3;7640:4;7632:6;7628:17;7624:27;7614:122;;7655:79;;:::i;:::-;7614:122;7768:6;7755:20;7745:30;;7798:18;7790:6;7787:30;7784:117;;;7820:79;;:::i;:::-;7784:117;7934:4;7926:6;7922:17;7910:29;;7988:3;7980:4;7972:6;7968:17;7958:8;7954:32;7951:41;7948:128;;;7995:79;;:::i;:::-;7948:128;7514:568;;;;;:::o;8088:559::-;8174:6;8182;8231:2;8219:9;8210:7;8206:23;8202:32;8199:119;;;8237:79;;:::i;:::-;8199:119;8385:1;8374:9;8370:17;8357:31;8415:18;8407:6;8404:30;8401:117;;;8437:79;;:::i;:::-;8401:117;8550:80;8622:7;8613:6;8602:9;8598:22;8550:80;:::i;:::-;8532:98;;;;8328:312;8088:559;;;;;:::o;8653:474::-;8721:6;8729;8778:2;8766:9;8757:7;8753:23;8749:32;8746:119;;;8784:79;;:::i;:::-;8746:119;8904:1;8929:53;8974:7;8965:6;8954:9;8950:22;8929:53;:::i;:::-;8919:63;;8875:117;9031:2;9057:53;9102:7;9093:6;9082:9;9078:22;9057:53;:::i;:::-;9047:63;;9002:118;8653:474;;;;;:::o;9133:138::-;9214:32;9240:5;9214:32;:::i;:::-;9207:5;9204:43;9194:71;;9261:1;9258;9251:12;9194:71;9133:138;:::o;9277:155::-;9331:5;9369:6;9356:20;9347:29;;9385:41;9420:5;9385:41;:::i;:::-;9277:155;;;;:::o;9438:345::-;9505:6;9554:2;9542:9;9533:7;9529:23;9525:32;9522:119;;;9560:79;;:::i;:::-;9522:119;9680:1;9705:61;9758:7;9749:6;9738:9;9734:22;9705:61;:::i;:::-;9695:71;;9651:125;9438:345;;;;:::o;9789:60::-;9817:3;9838:5;9831:12;;9789:60;;;:::o;9855:142::-;9905:9;9938:53;9956:34;9965:24;9983:5;9965:24;:::i;:::-;9956:34;:::i;:::-;9938:53;:::i;:::-;9925:66;;9855:142;;;:::o;10003:126::-;10053:9;10086:37;10117:5;10086:37;:::i;:::-;10073:50;;10003:126;;;:::o;10135:144::-;10203:9;10236:37;10267:5;10236:37;:::i;:::-;10223:50;;10135:144;;;:::o;10285:167::-;10390:55;10439:5;10390:55;:::i;:::-;10385:3;10378:68;10285:167;;:::o;10458:258::-;10569:4;10607:2;10596:9;10592:18;10584:26;;10620:89;10706:1;10695:9;10691:17;10682:6;10620:89;:::i;:::-;10458:258;;;;:::o;10722:156::-;10862:8;10858:1;10850:6;10846:14;10839:32;10722:156;:::o;10884:365::-;11026:3;11047:66;11111:1;11106:3;11047:66;:::i;:::-;11040:73;;11122:93;11211:3;11122:93;:::i;:::-;11240:2;11235:3;11231:12;11224:19;;10884:365;;;:::o;11255:419::-;11421:4;11459:2;11448:9;11444:18;11436:26;;11508:9;11502:4;11498:20;11494:1;11483:9;11479:17;11472:47;11536:131;11662:4;11536:131;:::i;:::-;11528:139;;11255:419;;;:::o;11680:85::-;11725:7;11754:5;11743:16;;11680:85;;;:::o;11771:158::-;11829:9;11862:61;11880:42;11889:32;11915:5;11889:32;:::i;:::-;11880:42;:::i;:::-;11862:61;:::i;:::-;11849:74;;11771:158;;;:::o;11935:147::-;12030:45;12069:5;12030:45;:::i;:::-;12025:3;12018:58;11935:147;;:::o;12088:807::-;12337:4;12375:3;12364:9;12360:19;12352:27;;12389:71;12457:1;12446:9;12442:17;12433:6;12389:71;:::i;:::-;12470:72;12538:2;12527:9;12523:18;12514:6;12470:72;:::i;:::-;12552:80;12628:2;12617:9;12613:18;12604:6;12552:80;:::i;:::-;12642;12718:2;12707:9;12703:18;12694:6;12642:80;:::i;:::-;12732:73;12800:3;12789:9;12785:19;12776:6;12732:73;:::i;:::-;12815;12883:3;12872:9;12868:19;12859:6;12815:73;:::i;:::-;12088:807;;;;;;;;;:::o;12901:143::-;12958:5;12989:6;12983:13;12974:22;;13005:33;13032:5;13005:33;:::i;:::-;12901:143;;;;:::o;13050:663::-;13138:6;13146;13154;13203:2;13191:9;13182:7;13178:23;13174:32;13171:119;;;13209:79;;:::i;:::-;13171:119;13329:1;13354:64;13410:7;13401:6;13390:9;13386:22;13354:64;:::i;:::-;13344:74;;13300:128;13467:2;13493:64;13549:7;13540:6;13529:9;13525:22;13493:64;:::i;:::-;13483:74;;13438:129;13606:2;13632:64;13688:7;13679:6;13668:9;13664:22;13632:64;:::i;:::-;13622:74;;13577:129;13050:663;;;;;:::o;13719:173::-;13859:25;13855:1;13847:6;13843:14;13836:49;13719:173;:::o;13898:366::-;14040:3;14061:67;14125:2;14120:3;14061:67;:::i;:::-;14054:74;;14137:93;14226:3;14137:93;:::i;:::-;14255:2;14250:3;14246:12;14239:19;;13898:366;;;:::o;14270:419::-;14436:4;14474:2;14463:9;14459:18;14451:26;;14523:9;14517:4;14513:20;14509:1;14498:9;14494:17;14487:47;14551:131;14677:4;14551:131;:::i;:::-;14543:139;;14270:419;;;:::o;14695:180::-;14743:77;14740:1;14733:88;14840:4;14837:1;14830:15;14864:4;14861:1;14854:15;14881:180;14929:77;14926:1;14919:88;15026:4;15023:1;15016:15;15050:4;15047:1;15040:15;15067:233;15106:3;15129:24;15147:5;15129:24;:::i;:::-;15120:33;;15175:66;15168:5;15165:77;15162:103;;15245:18;;:::i;:::-;15162:103;15292:1;15285:5;15281:13;15274:20;;15067:233;;;:::o;15306:134::-;15364:9;15397:37;15428:5;15397:37;:::i;:::-;15384:50;;15306:134;;;:::o;15446:147::-;15541:45;15580:5;15541:45;:::i;:::-;15536:3;15529:58;15446:147;;:::o;15599:238::-;15700:4;15738:2;15727:9;15723:18;15715:26;;15751:79;15827:1;15816:9;15812:17;15803:6;15751:79;:::i;:::-;15599:238;;;;:::o;15843:194::-;15883:4;15903:20;15921:1;15903:20;:::i;:::-;15898:25;;15937:20;15955:1;15937:20;:::i;:::-;15932:25;;15981:1;15978;15974:9;15966:17;;16005:1;15999:4;15996:11;15993:37;;;16010:18;;:::i;:::-;15993:37;15843:194;;;;:::o;16043:154::-;16183:6;16179:1;16171:6;16167:14;16160:30;16043:154;:::o;16203:365::-;16345:3;16366:66;16430:1;16425:3;16366:66;:::i;:::-;16359:73;;16441:93;16530:3;16441:93;:::i;:::-;16559:2;16554:3;16550:12;16543:19;;16203:365;;;:::o;16574:419::-;16740:4;16778:2;16767:9;16763:18;16755:26;;16827:9;16821:4;16817:20;16813:1;16802:9;16798:17;16791:47;16855:131;16981:4;16855:131;:::i;:::-;16847:139;;16574:419;;;:::o;16999:162::-;17139:14;17135:1;17127:6;17123:14;17116:38;16999:162;:::o;17167:366::-;17309:3;17330:67;17394:2;17389:3;17330:67;:::i;:::-;17323:74;;17406:93;17495:3;17406:93;:::i;:::-;17524:2;17519:3;17515:12;17508:19;;17167:366;;;:::o;17539:419::-;17705:4;17743:2;17732:9;17728:18;17720:26;;17792:9;17786:4;17782:20;17778:1;17767:9;17763:17;17756:47;17820:131;17946:4;17820:131;:::i;:::-;17812:139;;17539:419;;;:::o;17964:191::-;18004:3;18023:20;18041:1;18023:20;:::i;:::-;18018:25;;18057:20;18075:1;18057:20;:::i;:::-;18052:25;;18100:1;18097;18093:9;18086:16;;18121:3;18118:1;18115:10;18112:36;;;18128:18;;:::i;:::-;18112:36;17964:191;;;;:::o;18161:410::-;18201:7;18224:20;18242:1;18224:20;:::i;:::-;18219:25;;18258:20;18276:1;18258:20;:::i;:::-;18253:25;;18313:1;18310;18306:9;18335:30;18353:11;18335:30;:::i;:::-;18324:41;;18514:1;18505:7;18501:15;18498:1;18495:22;18475:1;18468:9;18448:83;18425:139;;18544:18;;:::i;:::-;18425:139;18209:362;18161:410;;;;:::o;18577:180::-;18625:77;18622:1;18615:88;18722:4;18719:1;18712:15;18746:4;18743:1;18736:15;18763:185;18803:1;18820:20;18838:1;18820:20;:::i;:::-;18815:25;;18854:20;18872:1;18854:20;:::i;:::-;18849:25;;18893:1;18883:35;;18898:18;;:::i;:::-;18883:35;18940:1;18937;18933:9;18928:14;;18763:185;;;;:::o;18954:220::-;19094:34;19090:1;19082:6;19078:14;19071:58;19163:3;19158:2;19150:6;19146:15;19139:28;18954:220;:::o;19180:366::-;19322:3;19343:67;19407:2;19402:3;19343:67;:::i;:::-;19336:74;;19419:93;19508:3;19419:93;:::i;:::-;19537:2;19532:3;19528:12;19521:19;;19180:366;;;:::o;19552:419::-;19718:4;19756:2;19745:9;19741:18;19733:26;;19805:9;19799:4;19795:20;19791:1;19780:9;19776:17;19769:47;19833:131;19959:4;19833:131;:::i;:::-;19825:139;;19552:419;;;:::o;19977:177::-;20117:29;20113:1;20105:6;20101:14;20094:53;19977:177;:::o;20160:366::-;20302:3;20323:67;20387:2;20382:3;20323:67;:::i;:::-;20316:74;;20399:93;20488:3;20399:93;:::i;:::-;20517:2;20512:3;20508:12;20501:19;;20160:366;;;:::o;20532:419::-;20698:4;20736:2;20725:9;20721:18;20713:26;;20785:9;20779:4;20775:20;20771:1;20760:9;20756:17;20749:47;20813:131;20939:4;20813:131;:::i;:::-;20805:139;;20532:419;;;:::o;20957:180::-;21005:77;21002:1;20995:88;21102:4;21099:1;21092:15;21126:4;21123:1;21116:15;21143:114;21210:6;21244:5;21238:12;21228:22;;21143:114;;;:::o;21263:184::-;21362:11;21396:6;21391:3;21384:19;21436:4;21431:3;21427:14;21412:29;;21263:184;;;;:::o;21453:132::-;21520:4;21543:3;21535:11;;21573:4;21568:3;21564:14;21556:22;;21453:132;;;:::o;21591:108::-;21668:24;21686:5;21668:24;:::i;:::-;21663:3;21656:37;21591:108;;:::o;21705:179::-;21774:10;21795:46;21837:3;21829:6;21795:46;:::i;:::-;21873:4;21868:3;21864:14;21850:28;;21705:179;;;;:::o;21890:113::-;21960:4;21992;21987:3;21983:14;21975:22;;21890:113;;;:::o;22039:732::-;22158:3;22187:54;22235:5;22187:54;:::i;:::-;22257:86;22336:6;22331:3;22257:86;:::i;:::-;22250:93;;22367:56;22417:5;22367:56;:::i;:::-;22446:7;22477:1;22462:284;22487:6;22484:1;22481:13;22462:284;;;22563:6;22557:13;22590:63;22649:3;22634:13;22590:63;:::i;:::-;22583:70;;22676:60;22729:6;22676:60;:::i;:::-;22666:70;;22522:224;22509:1;22506;22502:9;22497:14;;22462:284;;;22466:14;22762:3;22755:10;;22163:608;;;22039:732;;;;:::o;22777:831::-;23040:4;23078:3;23067:9;23063:19;23055:27;;23092:71;23160:1;23149:9;23145:17;23136:6;23092:71;:::i;:::-;23173:80;23249:2;23238:9;23234:18;23225:6;23173:80;:::i;:::-;23300:9;23294:4;23290:20;23285:2;23274:9;23270:18;23263:48;23328:108;23431:4;23422:6;23328:108;:::i;:::-;23320:116;;23446:72;23514:2;23503:9;23499:18;23490:6;23446:72;:::i;:::-;23528:73;23596:3;23585:9;23581:19;23572:6;23528:73;:::i;:::-;22777:831;;;;;;;;:::o

Swarm Source

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