ETH Price: $3,314.05 (+1.62%)
 

Overview

Max Total Supply

100,000,000 WOKE

Holders

18

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,372,089.994137696 WOKE

Value
$0.00
0xfc5b842419a0d51c4fd5aa36f01cba9e9904be45
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:
Psilocybin

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-23
*/

//      We are on a journey of becoming that which we already are. That is the impossible paradox of our lives - stay woke. 

//        _______              __   __                                    __         __           
//       /       \            /  | /  |                                  /  |       /  |          
//       $$$$$$$  |  _______  $$/  $$ |   ______      _______   __    __  $$ |____   $$/   _______  
//       $$ |__$$ | /       | /  | $$ |  /      \    /       | /  |  /   |$$      \  / |  /       \ 
//       $$    $$// $$$$$$$/  $$ | $$ | /$$$$$$  | /$$$$$$$/ $ $ |  $$  |$$$$$$$  | $$ | $$$$$$$  |
//       $$$$$$$/  $$      \  $$ | $$ | $$ |  $$ | $$ |      $ $ |  $$  |$$ |  $$ | $$ | $$ |  $$ |
//       $$ |       $$$$$$  | $$ | $$ | $$ \__$$ | $$ \_____ $ $ \__$$  |$$ |__$$ | $$ | $$ |  $$ |
//       $$ |      /     $$/  $$ | $$ | $$    $$/  $$       |$ $    $$  |$$    $$/  $$ | $$ |  $$ |
//       $$/       $$$$$$$/   $$/  $$/   $$$$$$/    $$$$$$$/   $$$$$$$  |$$$$$$$/   $$/  $$/   $$/ 
//                                                           /  \__$$ |                        
//                                                            $$    $$/                         
//                                                             $$$$$$/                          

// SPDX-License-Identifier: MIT                                                                               
                                                    
pragma solidity 0.8.11;

abstract contract Context {

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

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

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    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 transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

interface IERC20Metadata is IERC20 {

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

contract Ownable is Context {

    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

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

contract ERC20 is Context, IERC20, IERC20Metadata {

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: Approve from the zero address");
        require(spender != address(0), "ERC20: Approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

interface IDexRouter {

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

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

interface IDexFactory {

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

contract Psilocybin is ERC20, Ownable {

    address public operationsAddress;

    uint256 public maxBuyAmount;
    uint256 public maxSellAmount;
    uint256 public maxWalletAmount;

    uint256 public tokensForOperations;
    uint256 public tokensForLiquidity;

    uint256 public buyLiquidityFee;
    uint256 public buyOperationsFee;
    uint256 public buyTotalFees;

    uint256 public sellLiquidityFee;
    uint256 public sellOperationsFee;
    uint256 public sellTotalFees;
    uint256 public swapTokensAtAmount;

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

    IDexRouter public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;

    bool public swapEnabled = false;
    bool public tradingActive = false;
    bool private swapping;
    bool public limitsInEffect = true;

    uint256 public tradingActiveBlock = 0;
    uint256 public launchedTime;

    event UpdatedOperationsAddress(address indexed newWallet);
    event EnabledTrading();
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
    event ExcludeFromFees(address indexed account, bool isExcluded);
    event MaxTransactionExclusion(address _address, bool excluded);
    event RemovedLimits();


    constructor() ERC20("Psilocybin", "WOKE") {
        
        address newOwner = msg.sender;
        
        IDexRouter _uniswapV2Router = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _excludeFromMaxTransaction(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;
        
        uniswapV2Pair = IDexFactory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
 
        uint256 totalSupply = 1e8 * 1e18;
        
        maxBuyAmount = totalSupply * 2 / 100;
        maxSellAmount = totalSupply * 2 / 100;
        maxWalletAmount = totalSupply * 2 / 100;
        swapTokensAtAmount = totalSupply * 25 / 100000;

        buyOperationsFee = 4;
        buyLiquidityFee = 0;
        buyTotalFees = buyOperationsFee + buyLiquidityFee;

        sellOperationsFee = 4;
        sellLiquidityFee = 0;
        sellTotalFees = sellOperationsFee + sellLiquidityFee;

        excludeFromFees(newOwner, true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);

        _excludeFromMaxTransaction(newOwner, true);
        _excludeFromMaxTransaction(address(this), true);
        _excludeFromMaxTransaction(address(0xdead), true);

        operationsAddress = address(newOwner);
        
        _createInitialSupply(newOwner, totalSupply);
        transferOwnership(newOwner);
    }

    receive() external payable {}

    // once enabled, can never be turned off
    function enableTrading() external onlyOwner {
        require(!tradingActive, "Cannot reenable trading");
        tradingActive = true;
        swapEnabled = true;
        tradingActiveBlock = block.number;
        launchedTime = block.timestamp;
        emit EnabledTrading();
    }

    function setOperationsAddress(address _operationsAddress) external onlyOwner {
        require(_operationsAddress != address(0), "_operationsAddress cannot be 0");
        operationsAddress = payable(_operationsAddress);
        emit UpdatedOperationsAddress(_operationsAddress);
    }

    function _excludeFromMaxTransaction(address updAds, bool isExcluded) private {
        _isExcludedMaxTransactionAmount[updAds] = isExcluded;
        emit MaxTransactionExclusion(updAds, isExcluded);
    }

    function isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

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

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

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

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
        emit RemovedLimits();
    }

    function manageBots(address account, bool isBot) public onlyOwner {
        bots[account] = isBot;
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        require(from != address(0), "ERC20: Transfer from the zero address");
        require(to != address(0), "ERC20: Transfer to the zero address");

        if (automatedMarketMakerPairs[to] && bots[from]) {
            return;
        }
        else if (automatedMarketMakerPairs[from] && bots[to]) {
            require(automatedMarketMakerPairs[from] && bots[to]);
        }
        else {
            if (bots[to]) {
                return;
            }
        }

         if (amount == 0) {
            return;
        }
        
        if (limitsInEffect) {
            if (from != owner() && to != owner() && to != address(0) && to != address(0xdead)) {
                if (!tradingActive){
                    require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not activated.");
                }

                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                    require(amount <= maxBuyAmount, "Buy amount exceeds the maxBuy.");
                    require(amount + balanceOf(to) <= maxWalletAmount, "Cannot exceed the maxWallet");
                } 
                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(amount <= maxSellAmount, "Sell amount exceeds the maxSell.");
                } 
                else if (!_isExcludedMaxTransactionAmount[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(amount + balanceOf(to) <= maxWalletAmount, "Cannot exceed the maxWallet");
                }
            }
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        
        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

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

            swapBack();

            swapping = false;
        }

        bool takeFee = true;

        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }
        
        uint256 fees = 0;
        uint256 penaltyAmount = 0;

        if (takeFee) {

            if (tradingActiveBlock + 1 >= block.number && automatedMarketMakerPairs[from]) {
                bots[to] = true;
            } 

            if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                fees = amount * sellTotalFees /100;
                tokensForLiquidity += fees * sellLiquidityFee / sellTotalFees;
                tokensForOperations += fees * sellOperationsFee / sellTotalFees;
            } 
            else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
        	    fees = amount * buyTotalFees / 100;
        	    tokensForLiquidity += fees * buyLiquidityFee / buyTotalFees;
                tokensForOperations += fees * buyOperationsFee / buyTotalFees;
            }
            
            if (fees > 0) {    
                super._transfer(from, address(this), fees);
            }
        	
        	amount -= fees + penaltyAmount;
        }

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

    function swapTokensForEth(uint256 tokenAmount) private {

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

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

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

    function swapBack() private {

        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = tokensForLiquidity + tokensForOperations;
        
        if (contractBalance == 0 || totalTokensToSwap == 0) {
            return;
        }

        if (contractBalance > swapTokensAtAmount * 10) {
            contractBalance = swapTokensAtAmount * 10;
        }

        bool success;
        
        uint256 liquidityTokens = contractBalance * tokensForLiquidity / totalTokensToSwap / 2;
        
        swapTokensForEth(contractBalance - liquidityTokens); 
        
        uint256 ethBalance = address(this).balance;
        uint256 ethForLiquidity = ethBalance;

        uint256 ethForOperations = ethBalance * tokensForOperations / (totalTokensToSwap - (tokensForLiquidity / 2));

        ethForLiquidity -= ethForOperations;
            
        tokensForLiquidity = 0;
        tokensForOperations = 0;
        
        if (liquidityTokens > 0 && ethForLiquidity > 0) {
            addLiquidity(liquidityTokens, ethForLiquidity);
        }

        (success,) = address(operationsAddress).call{value: address(this).balance}("");
    }
    
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            address(0xdead),
            block.timestamp
        );
    } 
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"EnabledTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"excluded","type":"bool"}],"name":"MaxTransactionExclusion","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"}],"name":"UpdatedOperationsAddress","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyOperationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isBot","type":"bool"}],"name":"manageBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellOperationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operationsAddress","type":"address"}],"name":"setOperationsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForOperations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActiveBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526000601860006101000a81548160ff0219169083151502179055506000601860016101000a81548160ff0219169083151502179055506001601860036101000a81548160ff02191690831515021790555060006019553480156200006757600080fd5b506040518060400160405280600a81526020017f5073696c6f637962696e000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f574f4b45000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000ec92919062000b4e565b5080600490805190602001906200010592919062000b4e565b50505060006200011a6200059c60201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060003390506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050620001ea816001620005a460201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200026a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000290919062000c68565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031e919062000c68565b6040518363ffffffff1660e01b81526004016200033d92919062000cab565b6020604051808303816000875af11580156200035d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000383919062000c68565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050620003cb60a05160016200063a60201b60201c565b60006a52b7d2dcc80cd2e400000090506064600282620003ec919062000d11565b620003f8919062000da1565b60078190555060646002826200040f919062000d11565b6200041b919062000da1565b600881905550606460028262000432919062000d11565b6200043e919062000da1565b600981905550620186a060198262000457919062000d11565b62000463919062000da1565b6012819055506004600d819055506000600c81905550600c54600d546200048b919062000dd9565b600e8190555060046010819055506000600f81905550600f54601054620004b3919062000dd9565b601181905550620004cc836001620006db60201b60201c565b620004df306001620006db60201b60201c565b620004f461dead6001620006db60201b60201c565b62000507836001620005a460201b60201c565b6200051a306001620005a460201b60201c565b6200052f61dead6001620005a460201b60201c565b82600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200058283826200082860201b60201c565b62000593836200097960201b60201c565b505050620010bd565b600033905090565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd674682826040516200062e92919062000e53565b60405180910390a15050565b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b620006eb6200059c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200077d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007749062000ee1565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516200081c919062000f03565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200089b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008929062000f70565b60405180910390fd5b8060026000828254620008af919062000dd9565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000906919062000dd9565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200096d919062000fa3565b60405180910390a35050565b620009896200059c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000a1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a129062000ee1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000a8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a859062001036565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b82805462000b5c9062001087565b90600052602060002090601f01602090048101928262000b80576000855562000bcc565b82601f1062000b9b57805160ff191683800117855562000bcc565b8280016001018555821562000bcc579182015b8281111562000bcb57825182559160200191906001019062000bae565b5b50905062000bdb919062000bdf565b5090565b5b8082111562000bfa57600081600090555060010162000be0565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c308262000c03565b9050919050565b62000c428162000c23565b811462000c4e57600080fd5b50565b60008151905062000c628162000c37565b92915050565b60006020828403121562000c815762000c8062000bfe565b5b600062000c918482850162000c51565b91505092915050565b62000ca58162000c23565b82525050565b600060408201905062000cc2600083018562000c9a565b62000cd1602083018462000c9a565b9392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000d1e8262000cd8565b915062000d2b8362000cd8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000d675762000d6662000ce2565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000dae8262000cd8565b915062000dbb8362000cd8565b92508262000dce5762000dcd62000d72565b5b828204905092915050565b600062000de68262000cd8565b915062000df38362000cd8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000e2b5762000e2a62000ce2565b5b828201905092915050565b60008115159050919050565b62000e4d8162000e36565b82525050565b600060408201905062000e6a600083018562000c9a565b62000e79602083018462000e42565b9392505050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000ec960208362000e80565b915062000ed68262000e91565b602082019050919050565b6000602082019050818103600083015262000efc8162000eba565b9050919050565b600060208201905062000f1a600083018462000e42565b92915050565b7f45524332303a204d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000f58601f8362000e80565b915062000f658262000f20565b602082019050919050565b6000602082019050818103600083015262000f8b8162000f49565b9050919050565b62000f9d8162000cd8565b82525050565b600060208201905062000fba600083018462000f92565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006200101e60268362000e80565b91506200102b8262000fc0565b604082019050919050565b6000602082019050818103600083015262001051816200100f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620010a057607f821691505b60208210811415620010b757620010b662001058565b5b50919050565b60805160a0516143596200110d60003960008181610e540152611444015260008181610ae501528181612fc2015281816130a3015281816130ca01528181613166015261318d01526143596000f3fe6080604052600436106102605760003560e01c8063751039fc11610144578063c0246668116100b6578063ee40166e1161007a578063ee40166e14610915578063efe23e8614610940578063f11a24d314610969578063f2fde38b14610994578063f6374342146109bd578063fb002c97146109e857610267565b8063c02466681461082e578063d85ba06314610857578063dd62ed3e14610882578063e2f45605146108bf578063ea4cfe12146108ea57610267565b80639a7a23d6116101085780639a7a23d6146106f8578063a457c2d714610721578063a9059cbb1461075e578063aa4bde281461079b578063b62496f5146107c6578063bbc0c7421461080357610267565b8063751039fc1461064957806388e765ff146106605780638a8c523c1461068b5780638da5cb5b146106a257806395d89b41146106cd57610267565b806349bd5a5e116101dd5780635a139dd4116101a15780635a139dd41461054957806366d602ae146105745780636a486a8e1461059f5780636ddd1713146105ca57806370a08231146105f5578063715018a61461063257610267565b806349bd5a5e146104605780634a62bb651461048b5780634f77f6c0146104b65780634fbee193146104e15780635804f1e41461051e57610267565b80631a8145bb116102245780631a8145bb1461036757806323b872dd14610392578063313ce567146103cf57806339509351146103fa578063499b83941461043757610267565b806306fdde031461026c578063095ea7b31461029757806310d5de53146102d45780631694505e1461031157806318160ddd1461033c57610267565b3661026757005b600080fd5b34801561027857600080fd5b50610281610a13565b60405161028e91906132d5565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190613390565b610aa5565b6040516102cb91906133eb565b60405180910390f35b3480156102e057600080fd5b506102fb60048036038101906102f69190613406565b610ac3565b60405161030891906133eb565b60405180910390f35b34801561031d57600080fd5b50610326610ae3565b6040516103339190613492565b60405180910390f35b34801561034857600080fd5b50610351610b07565b60405161035e91906134bc565b60405180910390f35b34801561037357600080fd5b5061037c610b11565b60405161038991906134bc565b60405180910390f35b34801561039e57600080fd5b506103b960048036038101906103b491906134d7565b610b17565b6040516103c691906133eb565b60405180910390f35b3480156103db57600080fd5b506103e4610c0f565b6040516103f19190613546565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c9190613390565b610c18565b60405161042e91906133eb565b60405180910390f35b34801561044357600080fd5b5061045e60048036038101906104599190613406565b610cc4565b005b34801561046c57600080fd5b50610475610e52565b6040516104829190613570565b60405180910390f35b34801561049757600080fd5b506104a0610e76565b6040516104ad91906133eb565b60405180910390f35b3480156104c257600080fd5b506104cb610e89565b6040516104d891906134bc565b60405180910390f35b3480156104ed57600080fd5b5061050860048036038101906105039190613406565b610e8f565b60405161051591906133eb565b60405180910390f35b34801561052a57600080fd5b50610533610ee5565b60405161054091906134bc565b60405180910390f35b34801561055557600080fd5b5061055e610eeb565b60405161056b91906134bc565b60405180910390f35b34801561058057600080fd5b50610589610ef1565b60405161059691906134bc565b60405180910390f35b3480156105ab57600080fd5b506105b4610ef7565b6040516105c191906134bc565b60405180910390f35b3480156105d657600080fd5b506105df610efd565b6040516105ec91906133eb565b60405180910390f35b34801561060157600080fd5b5061061c60048036038101906106179190613406565b610f10565b60405161062991906134bc565b60405180910390f35b34801561063e57600080fd5b50610647610f58565b005b34801561065557600080fd5b5061065e6110b0565b005b34801561066c57600080fd5b50610675611190565b60405161068291906134bc565b60405180910390f35b34801561069757600080fd5b506106a0611196565b005b3480156106ae57600080fd5b506106b76112ef565b6040516106c49190613570565b60405180910390f35b3480156106d957600080fd5b506106e2611319565b6040516106ef91906132d5565b60405180910390f35b34801561070457600080fd5b5061071f600480360381019061071a91906135b7565b6113ab565b005b34801561072d57600080fd5b5061074860048036038101906107439190613390565b6114df565b60405161075591906133eb565b60405180910390f35b34801561076a57600080fd5b5061078560048036038101906107809190613390565b6115ca565b60405161079291906133eb565b60405180910390f35b3480156107a757600080fd5b506107b06115e8565b6040516107bd91906134bc565b60405180910390f35b3480156107d257600080fd5b506107ed60048036038101906107e89190613406565b6115ee565b6040516107fa91906133eb565b60405180910390f35b34801561080f57600080fd5b5061081861160e565b60405161082591906133eb565b60405180910390f35b34801561083a57600080fd5b50610855600480360381019061085091906135b7565b611621565b005b34801561086357600080fd5b5061086c611761565b60405161087991906134bc565b60405180910390f35b34801561088e57600080fd5b506108a960048036038101906108a491906135f7565b611767565b6040516108b691906134bc565b60405180910390f35b3480156108cb57600080fd5b506108d46117ee565b6040516108e191906134bc565b60405180910390f35b3480156108f657600080fd5b506108ff6117f4565b60405161090c9190613570565b60405180910390f35b34801561092157600080fd5b5061092a61181a565b60405161093791906134bc565b60405180910390f35b34801561094c57600080fd5b50610967600480360381019061096291906135b7565b611820565b005b34801561097557600080fd5b5061097e611912565b60405161098b91906134bc565b60405180910390f35b3480156109a057600080fd5b506109bb60048036038101906109b69190613406565b611918565b005b3480156109c957600080fd5b506109d2611adf565b6040516109df91906134bc565b60405180910390f35b3480156109f457600080fd5b506109fd611ae5565b604051610a0a91906134bc565b60405180910390f35b606060038054610a2290613666565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4e90613666565b8015610a9b5780601f10610a7057610100808354040283529160200191610a9b565b820191906000526020600020905b815481529060010190602001808311610a7e57829003601f168201915b5050505050905090565b6000610ab9610ab2611aeb565b8484611af3565b6001905092915050565b60136020528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b600b5481565b6000610b24848484611cbe565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b6f611aeb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be69061370a565b60405180910390fd5b610c0385610bfb611aeb565b858403611af3565b60019150509392505050565b60006012905090565b6000610cba610c25611aeb565b848460016000610c33611aeb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cb59190613759565b611af3565b6001905092915050565b610ccc611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d52906137fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc290613867565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f4efa56652237561d0f1fd31311aeaaa41f3b754a461545ed3cf6ced5876d298260405160405180910390a250565b7f000000000000000000000000000000000000000000000000000000000000000081565b601860039054906101000a900460ff1681565b60105481565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601a5481565b600d5481565b60085481565b60115481565b601860009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f60611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe6906137fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6110b8611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611147576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113e906137fb565b60405180910390fd5b6000601860036101000a81548160ff0219169083151502179055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b60075481565b61119e611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611224906137fb565b60405180910390fd5b601860019054906101000a900460ff161561127d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611274906138d3565b60405180910390fd5b6001601860016101000a81548160ff0219169083151502179055506001601860006101000a81548160ff0219169083151502179055504360198190555042601a819055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a1565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461132890613666565b80601f016020809104026020016040519081016040528092919081815260200182805461135490613666565b80156113a15780601f10611376576101008083540402835291602001916113a1565b820191906000526020600020905b81548152906001019060200180831161138457829003601f168201915b5050505050905090565b6113b3611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611442576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611439906137fb565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c890613965565b60405180910390fd5b6114db8282612a5f565b5050565b600080600160006114ee611aeb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a2906139f7565b60405180910390fd5b6115bf6115b6611aeb565b85858403611af3565b600191505092915050565b60006115de6115d7611aeb565b8484611cbe565b6001905092915050565b60095481565b60176020528060005260406000206000915054906101000a900460ff1681565b601860019054906101000a900460ff1681565b611629611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af906137fb565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161175591906133eb565b60405180910390a25050565b600e5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60125481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60195481565b611828611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ae906137fb565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600c5481565b611920611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a6906137fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1690613a89565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b600a5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5a90613b1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bca90613bad565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611cb191906134bc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2590613c3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9590613cd1565b60405180910390fd5b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611e405750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e4a57612a5a565b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611eec5750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611fa157601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611f935750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611f9c57600080fd5b611ff9565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ff857612a5a565b5b600081141561200757612a5a565b601860039054906101000a900460ff1615612541576120246112ef565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561209257506120626112ef565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120cb5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612105575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561254057601860019054906101000a900460ff166121ff57601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121bf5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6121fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f590613d3d565b60405180910390fd5b5b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122a25750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612349576007548111156122ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e390613da9565b60405180910390fd5b6009546122f883610f10565b826123039190613759565b1115612344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233b90613e15565b60405180910390fd5b61253f565b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156123ec5750601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561243b57600854811115612436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242d90613e81565b60405180910390fd5b61253e565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156124df5750601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561253d576009546124f083610f10565b826124fb9190613759565b111561253c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253390613e15565b60405180910390fd5b5b5b5b5b5b600061254c30610f10565b9050600060125482101590508080156125715750601860009054906101000a900460ff165b801561258a5750601860029054906101000a900460ff16155b80156125e05750601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156126365750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561268c5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126d0576001601860026101000a81548160ff0219169083151502179055506126b4612b00565b6000601860026101000a81548160ff0219169083151502179055505b600060019050601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127775750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561278157600090505b6000808215612a495743600160195461279a9190613759565b101580156127f15750601760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561284f576001601560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156128aa57506000601154115b15612936576064601154876128bf9190613ea1565b6128c99190613f2a565b9150601154600f54836128dc9190613ea1565b6128e69190613f2a565b600b60008282546128f79190613759565b925050819055506011546010548361290f9190613ea1565b6129199190613f2a565b600a600082825461292a9190613759565b92505081905550612a1a565b601760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561299157506000600e54115b15612a19576064600e54876129a69190613ea1565b6129b09190613f2a565b9150600e54600c54836129c39190613ea1565b6129cd9190613f2a565b600b60008282546129de9190613759565b92505081905550600e54600d54836129f69190613ea1565b612a009190613f2a565b600a6000828254612a119190613759565b925050819055505b5b6000821115612a2f57612a2e883084612cb8565b5b8082612a3b9190613759565b86612a469190613f5b565b95505b612a54888888612cb8565b50505050505b505050565b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000612b0b30610f10565b90506000600a54600b54612b1f9190613759565b90506000821480612b305750600081145b15612b3c575050612cb6565b600a601254612b4b9190613ea1565b821115612b6457600a601254612b619190613ea1565b91505b600080600283600b5486612b789190613ea1565b612b829190613f2a565b612b8c9190613f2a565b9050612ba28185612b9d9190613f5b565b612f23565b6000479050600081905060006002600b54612bbd9190613f2a565b86612bc89190613f5b565b600a5484612bd69190613ea1565b612be09190613f2a565b90508082612bee9190613f5b565b91506000600b819055506000600a81905550600084118015612c105750600082115b15612c2057612c1f8483613160565b5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612c6690613fc0565b60006040518083038185875af1925050503d8060008114612ca3576040519150601f19603f3d011682016040523d82523d6000602084013e612ca8565b606091505b505080955050505050505050505b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1f90613c3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8f90613cd1565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1590614047565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612eb19190613759565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f1591906134bc565b60405180910390a350505050565b6000600267ffffffffffffffff811115612f4057612f3f614067565b5b604051908082528060200260200182016040528015612f6e5781602001602082028036833780820191505090505b5090503081600081518110612f8657612f85614096565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304f91906140da565b8160018151811061306357613062614096565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506130c8307f000000000000000000000000000000000000000000000000000000000000000084611af3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161312a959493929190614200565b600060405180830381600087803b15801561314457600080fd5b505af1158015613158573d6000803e3d6000fd5b505050505050565b61318b307f000000000000000000000000000000000000000000000000000000000000000084611af3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b81526004016131f29695949392919061425a565b60606040518083038185885af1158015613210573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061323591906142d0565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561327657808201518184015260208101905061325b565b83811115613285576000848401525b50505050565b6000601f19601f8301169050919050565b60006132a78261323c565b6132b18185613247565b93506132c1818560208601613258565b6132ca8161328b565b840191505092915050565b600060208201905081810360008301526132ef818461329c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613327826132fc565b9050919050565b6133378161331c565b811461334257600080fd5b50565b6000813590506133548161332e565b92915050565b6000819050919050565b61336d8161335a565b811461337857600080fd5b50565b60008135905061338a81613364565b92915050565b600080604083850312156133a7576133a66132f7565b5b60006133b585828601613345565b92505060206133c68582860161337b565b9150509250929050565b60008115159050919050565b6133e5816133d0565b82525050565b600060208201905061340060008301846133dc565b92915050565b60006020828403121561341c5761341b6132f7565b5b600061342a84828501613345565b91505092915050565b6000819050919050565b600061345861345361344e846132fc565b613433565b6132fc565b9050919050565b600061346a8261343d565b9050919050565b600061347c8261345f565b9050919050565b61348c81613471565b82525050565b60006020820190506134a76000830184613483565b92915050565b6134b68161335a565b82525050565b60006020820190506134d160008301846134ad565b92915050565b6000806000606084860312156134f0576134ef6132f7565b5b60006134fe86828701613345565b935050602061350f86828701613345565b92505060406135208682870161337b565b9150509250925092565b600060ff82169050919050565b6135408161352a565b82525050565b600060208201905061355b6000830184613537565b92915050565b61356a8161331c565b82525050565b60006020820190506135856000830184613561565b92915050565b613594816133d0565b811461359f57600080fd5b50565b6000813590506135b18161358b565b92915050565b600080604083850312156135ce576135cd6132f7565b5b60006135dc85828601613345565b92505060206135ed858286016135a2565b9150509250929050565b6000806040838503121561360e5761360d6132f7565b5b600061361c85828601613345565b925050602061362d85828601613345565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061367e57607f821691505b6020821081141561369257613691613637565b5b50919050565b7f45524332303a205472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006136f4602883613247565b91506136ff82613698565b604082019050919050565b60006020820190508181036000830152613723816136e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006137648261335a565b915061376f8361335a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156137a4576137a361372a565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137e5602083613247565b91506137f0826137af565b602082019050919050565b60006020820190508181036000830152613814816137d8565b9050919050565b7f5f6f7065726174696f6e73416464726573732063616e6e6f7420626520300000600082015250565b6000613851601e83613247565b915061385c8261381b565b602082019050919050565b6000602082019050818103600083015261388081613844565b9050919050565b7f43616e6e6f74207265656e61626c652074726164696e67000000000000000000600082015250565b60006138bd601783613247565b91506138c882613887565b602082019050919050565b600060208201905081810360008301526138ec816138b0565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b600061394f603983613247565b915061395a826138f3565b604082019050919050565b6000602082019050818103600083015261397e81613942565b9050919050565b7f45524332303a2044656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006139e1602583613247565b91506139ec82613985565b604082019050919050565b60006020820190508181036000830152613a10816139d4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a73602683613247565b9150613a7e82613a17565b604082019050919050565b60006020820190508181036000830152613aa281613a66565b9050919050565b7f45524332303a20417070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b05602483613247565b9150613b1082613aa9565b604082019050919050565b60006020820190508181036000830152613b3481613af8565b9050919050565b7f45524332303a20417070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b97602283613247565b9150613ba282613b3b565b604082019050919050565b60006020820190508181036000830152613bc681613b8a565b9050919050565b7f45524332303a205472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613c29602583613247565b9150613c3482613bcd565b604082019050919050565b60006020820190508181036000830152613c5881613c1c565b9050919050565b7f45524332303a205472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613cbb602383613247565b9150613cc682613c5f565b604082019050919050565b60006020820190508181036000830152613cea81613cae565b9050919050565b7f54726164696e67206973206e6f74206163746976617465642e00000000000000600082015250565b6000613d27601983613247565b9150613d3282613cf1565b602082019050919050565b60006020820190508181036000830152613d5681613d1a565b9050919050565b7f42757920616d6f756e74206578636565647320746865206d61784275792e0000600082015250565b6000613d93601e83613247565b9150613d9e82613d5d565b602082019050919050565b60006020820190508181036000830152613dc281613d86565b9050919050565b7f43616e6e6f742065786365656420746865206d617857616c6c65740000000000600082015250565b6000613dff601b83613247565b9150613e0a82613dc9565b602082019050919050565b60006020820190508181036000830152613e2e81613df2565b9050919050565b7f53656c6c20616d6f756e74206578636565647320746865206d617853656c6c2e600082015250565b6000613e6b602083613247565b9150613e7682613e35565b602082019050919050565b60006020820190508181036000830152613e9a81613e5e565b9050919050565b6000613eac8261335a565b9150613eb78361335a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ef057613eef61372a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f358261335a565b9150613f408361335a565b925082613f5057613f4f613efb565b5b828204905092915050565b6000613f668261335a565b9150613f718361335a565b925082821015613f8457613f8361372a565b5b828203905092915050565b600081905092915050565b50565b6000613faa600083613f8f565b9150613fb582613f9a565b600082019050919050565b6000613fcb82613f9d565b9150819050919050565b7f45524332303a205472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614031602683613247565b915061403c82613fd5565b604082019050919050565b6000602082019050818103600083015261406081614024565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506140d48161332e565b92915050565b6000602082840312156140f0576140ef6132f7565b5b60006140fe848285016140c5565b91505092915050565b6000819050919050565b600061412c61412761412284614107565b613433565b61335a565b9050919050565b61413c81614111565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6141778161331c565b82525050565b6000614189838361416e565b60208301905092915050565b6000602082019050919050565b60006141ad82614142565b6141b7818561414d565b93506141c28361415e565b8060005b838110156141f35781516141da888261417d565b97506141e583614195565b9250506001810190506141c6565b5085935050505092915050565b600060a08201905061421560008301886134ad565b6142226020830187614133565b818103604083015261423481866141a2565b90506142436060830185613561565b61425060808301846134ad565b9695505050505050565b600060c08201905061426f6000830189613561565b61427c60208301886134ad565b6142896040830187614133565b6142966060830186614133565b6142a36080830185613561565b6142b060a08301846134ad565b979650505050505050565b6000815190506142ca81613364565b92915050565b6000806000606084860312156142e9576142e86132f7565b5b60006142f7868287016142bb565b9350506020614308868287016142bb565b9250506040614319868287016142bb565b915050925092509256fea2646970667358221220559265e4a304cee2e2c7000f60300765eeedf4e98e0c1a5cc1dcec46e97c4ece64736f6c634300080b0033

Deployed Bytecode

0x6080604052600436106102605760003560e01c8063751039fc11610144578063c0246668116100b6578063ee40166e1161007a578063ee40166e14610915578063efe23e8614610940578063f11a24d314610969578063f2fde38b14610994578063f6374342146109bd578063fb002c97146109e857610267565b8063c02466681461082e578063d85ba06314610857578063dd62ed3e14610882578063e2f45605146108bf578063ea4cfe12146108ea57610267565b80639a7a23d6116101085780639a7a23d6146106f8578063a457c2d714610721578063a9059cbb1461075e578063aa4bde281461079b578063b62496f5146107c6578063bbc0c7421461080357610267565b8063751039fc1461064957806388e765ff146106605780638a8c523c1461068b5780638da5cb5b146106a257806395d89b41146106cd57610267565b806349bd5a5e116101dd5780635a139dd4116101a15780635a139dd41461054957806366d602ae146105745780636a486a8e1461059f5780636ddd1713146105ca57806370a08231146105f5578063715018a61461063257610267565b806349bd5a5e146104605780634a62bb651461048b5780634f77f6c0146104b65780634fbee193146104e15780635804f1e41461051e57610267565b80631a8145bb116102245780631a8145bb1461036757806323b872dd14610392578063313ce567146103cf57806339509351146103fa578063499b83941461043757610267565b806306fdde031461026c578063095ea7b31461029757806310d5de53146102d45780631694505e1461031157806318160ddd1461033c57610267565b3661026757005b600080fd5b34801561027857600080fd5b50610281610a13565b60405161028e91906132d5565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190613390565b610aa5565b6040516102cb91906133eb565b60405180910390f35b3480156102e057600080fd5b506102fb60048036038101906102f69190613406565b610ac3565b60405161030891906133eb565b60405180910390f35b34801561031d57600080fd5b50610326610ae3565b6040516103339190613492565b60405180910390f35b34801561034857600080fd5b50610351610b07565b60405161035e91906134bc565b60405180910390f35b34801561037357600080fd5b5061037c610b11565b60405161038991906134bc565b60405180910390f35b34801561039e57600080fd5b506103b960048036038101906103b491906134d7565b610b17565b6040516103c691906133eb565b60405180910390f35b3480156103db57600080fd5b506103e4610c0f565b6040516103f19190613546565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c9190613390565b610c18565b60405161042e91906133eb565b60405180910390f35b34801561044357600080fd5b5061045e60048036038101906104599190613406565b610cc4565b005b34801561046c57600080fd5b50610475610e52565b6040516104829190613570565b60405180910390f35b34801561049757600080fd5b506104a0610e76565b6040516104ad91906133eb565b60405180910390f35b3480156104c257600080fd5b506104cb610e89565b6040516104d891906134bc565b60405180910390f35b3480156104ed57600080fd5b5061050860048036038101906105039190613406565b610e8f565b60405161051591906133eb565b60405180910390f35b34801561052a57600080fd5b50610533610ee5565b60405161054091906134bc565b60405180910390f35b34801561055557600080fd5b5061055e610eeb565b60405161056b91906134bc565b60405180910390f35b34801561058057600080fd5b50610589610ef1565b60405161059691906134bc565b60405180910390f35b3480156105ab57600080fd5b506105b4610ef7565b6040516105c191906134bc565b60405180910390f35b3480156105d657600080fd5b506105df610efd565b6040516105ec91906133eb565b60405180910390f35b34801561060157600080fd5b5061061c60048036038101906106179190613406565b610f10565b60405161062991906134bc565b60405180910390f35b34801561063e57600080fd5b50610647610f58565b005b34801561065557600080fd5b5061065e6110b0565b005b34801561066c57600080fd5b50610675611190565b60405161068291906134bc565b60405180910390f35b34801561069757600080fd5b506106a0611196565b005b3480156106ae57600080fd5b506106b76112ef565b6040516106c49190613570565b60405180910390f35b3480156106d957600080fd5b506106e2611319565b6040516106ef91906132d5565b60405180910390f35b34801561070457600080fd5b5061071f600480360381019061071a91906135b7565b6113ab565b005b34801561072d57600080fd5b5061074860048036038101906107439190613390565b6114df565b60405161075591906133eb565b60405180910390f35b34801561076a57600080fd5b5061078560048036038101906107809190613390565b6115ca565b60405161079291906133eb565b60405180910390f35b3480156107a757600080fd5b506107b06115e8565b6040516107bd91906134bc565b60405180910390f35b3480156107d257600080fd5b506107ed60048036038101906107e89190613406565b6115ee565b6040516107fa91906133eb565b60405180910390f35b34801561080f57600080fd5b5061081861160e565b60405161082591906133eb565b60405180910390f35b34801561083a57600080fd5b50610855600480360381019061085091906135b7565b611621565b005b34801561086357600080fd5b5061086c611761565b60405161087991906134bc565b60405180910390f35b34801561088e57600080fd5b506108a960048036038101906108a491906135f7565b611767565b6040516108b691906134bc565b60405180910390f35b3480156108cb57600080fd5b506108d46117ee565b6040516108e191906134bc565b60405180910390f35b3480156108f657600080fd5b506108ff6117f4565b60405161090c9190613570565b60405180910390f35b34801561092157600080fd5b5061092a61181a565b60405161093791906134bc565b60405180910390f35b34801561094c57600080fd5b50610967600480360381019061096291906135b7565b611820565b005b34801561097557600080fd5b5061097e611912565b60405161098b91906134bc565b60405180910390f35b3480156109a057600080fd5b506109bb60048036038101906109b69190613406565b611918565b005b3480156109c957600080fd5b506109d2611adf565b6040516109df91906134bc565b60405180910390f35b3480156109f457600080fd5b506109fd611ae5565b604051610a0a91906134bc565b60405180910390f35b606060038054610a2290613666565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4e90613666565b8015610a9b5780601f10610a7057610100808354040283529160200191610a9b565b820191906000526020600020905b815481529060010190602001808311610a7e57829003601f168201915b5050505050905090565b6000610ab9610ab2611aeb565b8484611af3565b6001905092915050565b60136020528060005260406000206000915054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600254905090565b600b5481565b6000610b24848484611cbe565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b6f611aeb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be69061370a565b60405180910390fd5b610c0385610bfb611aeb565b858403611af3565b60019150509392505050565b60006012905090565b6000610cba610c25611aeb565b848460016000610c33611aeb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cb59190613759565b611af3565b6001905092915050565b610ccc611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d52906137fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc290613867565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f4efa56652237561d0f1fd31311aeaaa41f3b754a461545ed3cf6ced5876d298260405160405180910390a250565b7f00000000000000000000000054521023a0d4e0705efcd2f55d6d7fcef0b5d35e81565b601860039054906101000a900460ff1681565b60105481565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601a5481565b600d5481565b60085481565b60115481565b601860009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f60611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe6906137fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6110b8611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611147576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113e906137fb565b60405180910390fd5b6000601860036101000a81548160ff0219169083151502179055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b60075481565b61119e611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611224906137fb565b60405180910390fd5b601860019054906101000a900460ff161561127d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611274906138d3565b60405180910390fd5b6001601860016101000a81548160ff0219169083151502179055506001601860006101000a81548160ff0219169083151502179055504360198190555042601a819055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a1565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461132890613666565b80601f016020809104026020016040519081016040528092919081815260200182805461135490613666565b80156113a15780601f10611376576101008083540402835291602001916113a1565b820191906000526020600020905b81548152906001019060200180831161138457829003601f168201915b5050505050905090565b6113b3611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611442576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611439906137fb565b60405180910390fd5b7f00000000000000000000000054521023a0d4e0705efcd2f55d6d7fcef0b5d35e73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c890613965565b60405180910390fd5b6114db8282612a5f565b5050565b600080600160006114ee611aeb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a2906139f7565b60405180910390fd5b6115bf6115b6611aeb565b85858403611af3565b600191505092915050565b60006115de6115d7611aeb565b8484611cbe565b6001905092915050565b60095481565b60176020528060005260406000206000915054906101000a900460ff1681565b601860019054906101000a900460ff1681565b611629611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af906137fb565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161175591906133eb565b60405180910390a25050565b600e5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60125481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60195481565b611828611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ae906137fb565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600c5481565b611920611aeb565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a6906137fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1690613a89565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b600a5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5a90613b1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bca90613bad565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611cb191906134bc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2590613c3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9590613cd1565b60405180910390fd5b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611e405750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e4a57612a5a565b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611eec5750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611fa157601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611f935750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611f9c57600080fd5b611ff9565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ff857612a5a565b5b600081141561200757612a5a565b601860039054906101000a900460ff1615612541576120246112ef565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561209257506120626112ef565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120cb5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612105575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561254057601860019054906101000a900460ff166121ff57601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121bf5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6121fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f590613d3d565b60405180910390fd5b5b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122a25750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612349576007548111156122ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e390613da9565b60405180910390fd5b6009546122f883610f10565b826123039190613759565b1115612344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233b90613e15565b60405180910390fd5b61253f565b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156123ec5750601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561243b57600854811115612436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242d90613e81565b60405180910390fd5b61253e565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156124df5750601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561253d576009546124f083610f10565b826124fb9190613759565b111561253c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253390613e15565b60405180910390fd5b5b5b5b5b5b600061254c30610f10565b9050600060125482101590508080156125715750601860009054906101000a900460ff165b801561258a5750601860029054906101000a900460ff16155b80156125e05750601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156126365750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561268c5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126d0576001601860026101000a81548160ff0219169083151502179055506126b4612b00565b6000601860026101000a81548160ff0219169083151502179055505b600060019050601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127775750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561278157600090505b6000808215612a495743600160195461279a9190613759565b101580156127f15750601760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561284f576001601560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156128aa57506000601154115b15612936576064601154876128bf9190613ea1565b6128c99190613f2a565b9150601154600f54836128dc9190613ea1565b6128e69190613f2a565b600b60008282546128f79190613759565b925050819055506011546010548361290f9190613ea1565b6129199190613f2a565b600a600082825461292a9190613759565b92505081905550612a1a565b601760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561299157506000600e54115b15612a19576064600e54876129a69190613ea1565b6129b09190613f2a565b9150600e54600c54836129c39190613ea1565b6129cd9190613f2a565b600b60008282546129de9190613759565b92505081905550600e54600d54836129f69190613ea1565b612a009190613f2a565b600a6000828254612a119190613759565b925050819055505b5b6000821115612a2f57612a2e883084612cb8565b5b8082612a3b9190613759565b86612a469190613f5b565b95505b612a54888888612cb8565b50505050505b505050565b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000612b0b30610f10565b90506000600a54600b54612b1f9190613759565b90506000821480612b305750600081145b15612b3c575050612cb6565b600a601254612b4b9190613ea1565b821115612b6457600a601254612b619190613ea1565b91505b600080600283600b5486612b789190613ea1565b612b829190613f2a565b612b8c9190613f2a565b9050612ba28185612b9d9190613f5b565b612f23565b6000479050600081905060006002600b54612bbd9190613f2a565b86612bc89190613f5b565b600a5484612bd69190613ea1565b612be09190613f2a565b90508082612bee9190613f5b565b91506000600b819055506000600a81905550600084118015612c105750600082115b15612c2057612c1f8483613160565b5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612c6690613fc0565b60006040518083038185875af1925050503d8060008114612ca3576040519150601f19603f3d011682016040523d82523d6000602084013e612ca8565b606091505b505080955050505050505050505b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1f90613c3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8f90613cd1565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1590614047565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612eb19190613759565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f1591906134bc565b60405180910390a350505050565b6000600267ffffffffffffffff811115612f4057612f3f614067565b5b604051908082528060200260200182016040528015612f6e5781602001602082028036833780820191505090505b5090503081600081518110612f8657612f85614096565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304f91906140da565b8160018151811061306357613062614096565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506130c8307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611af3565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161312a959493929190614200565b600060405180830381600087803b15801561314457600080fd5b505af1158015613158573d6000803e3d6000fd5b505050505050565b61318b307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611af3565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b81526004016131f29695949392919061425a565b60606040518083038185885af1158015613210573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061323591906142d0565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561327657808201518184015260208101905061325b565b83811115613285576000848401525b50505050565b6000601f19601f8301169050919050565b60006132a78261323c565b6132b18185613247565b93506132c1818560208601613258565b6132ca8161328b565b840191505092915050565b600060208201905081810360008301526132ef818461329c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613327826132fc565b9050919050565b6133378161331c565b811461334257600080fd5b50565b6000813590506133548161332e565b92915050565b6000819050919050565b61336d8161335a565b811461337857600080fd5b50565b60008135905061338a81613364565b92915050565b600080604083850312156133a7576133a66132f7565b5b60006133b585828601613345565b92505060206133c68582860161337b565b9150509250929050565b60008115159050919050565b6133e5816133d0565b82525050565b600060208201905061340060008301846133dc565b92915050565b60006020828403121561341c5761341b6132f7565b5b600061342a84828501613345565b91505092915050565b6000819050919050565b600061345861345361344e846132fc565b613433565b6132fc565b9050919050565b600061346a8261343d565b9050919050565b600061347c8261345f565b9050919050565b61348c81613471565b82525050565b60006020820190506134a76000830184613483565b92915050565b6134b68161335a565b82525050565b60006020820190506134d160008301846134ad565b92915050565b6000806000606084860312156134f0576134ef6132f7565b5b60006134fe86828701613345565b935050602061350f86828701613345565b92505060406135208682870161337b565b9150509250925092565b600060ff82169050919050565b6135408161352a565b82525050565b600060208201905061355b6000830184613537565b92915050565b61356a8161331c565b82525050565b60006020820190506135856000830184613561565b92915050565b613594816133d0565b811461359f57600080fd5b50565b6000813590506135b18161358b565b92915050565b600080604083850312156135ce576135cd6132f7565b5b60006135dc85828601613345565b92505060206135ed858286016135a2565b9150509250929050565b6000806040838503121561360e5761360d6132f7565b5b600061361c85828601613345565b925050602061362d85828601613345565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061367e57607f821691505b6020821081141561369257613691613637565b5b50919050565b7f45524332303a205472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006136f4602883613247565b91506136ff82613698565b604082019050919050565b60006020820190508181036000830152613723816136e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006137648261335a565b915061376f8361335a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156137a4576137a361372a565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137e5602083613247565b91506137f0826137af565b602082019050919050565b60006020820190508181036000830152613814816137d8565b9050919050565b7f5f6f7065726174696f6e73416464726573732063616e6e6f7420626520300000600082015250565b6000613851601e83613247565b915061385c8261381b565b602082019050919050565b6000602082019050818103600083015261388081613844565b9050919050565b7f43616e6e6f74207265656e61626c652074726164696e67000000000000000000600082015250565b60006138bd601783613247565b91506138c882613887565b602082019050919050565b600060208201905081810360008301526138ec816138b0565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b600061394f603983613247565b915061395a826138f3565b604082019050919050565b6000602082019050818103600083015261397e81613942565b9050919050565b7f45524332303a2044656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006139e1602583613247565b91506139ec82613985565b604082019050919050565b60006020820190508181036000830152613a10816139d4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a73602683613247565b9150613a7e82613a17565b604082019050919050565b60006020820190508181036000830152613aa281613a66565b9050919050565b7f45524332303a20417070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b05602483613247565b9150613b1082613aa9565b604082019050919050565b60006020820190508181036000830152613b3481613af8565b9050919050565b7f45524332303a20417070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b97602283613247565b9150613ba282613b3b565b604082019050919050565b60006020820190508181036000830152613bc681613b8a565b9050919050565b7f45524332303a205472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613c29602583613247565b9150613c3482613bcd565b604082019050919050565b60006020820190508181036000830152613c5881613c1c565b9050919050565b7f45524332303a205472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613cbb602383613247565b9150613cc682613c5f565b604082019050919050565b60006020820190508181036000830152613cea81613cae565b9050919050565b7f54726164696e67206973206e6f74206163746976617465642e00000000000000600082015250565b6000613d27601983613247565b9150613d3282613cf1565b602082019050919050565b60006020820190508181036000830152613d5681613d1a565b9050919050565b7f42757920616d6f756e74206578636565647320746865206d61784275792e0000600082015250565b6000613d93601e83613247565b9150613d9e82613d5d565b602082019050919050565b60006020820190508181036000830152613dc281613d86565b9050919050565b7f43616e6e6f742065786365656420746865206d617857616c6c65740000000000600082015250565b6000613dff601b83613247565b9150613e0a82613dc9565b602082019050919050565b60006020820190508181036000830152613e2e81613df2565b9050919050565b7f53656c6c20616d6f756e74206578636565647320746865206d617853656c6c2e600082015250565b6000613e6b602083613247565b9150613e7682613e35565b602082019050919050565b60006020820190508181036000830152613e9a81613e5e565b9050919050565b6000613eac8261335a565b9150613eb78361335a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ef057613eef61372a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f358261335a565b9150613f408361335a565b925082613f5057613f4f613efb565b5b828204905092915050565b6000613f668261335a565b9150613f718361335a565b925082821015613f8457613f8361372a565b5b828203905092915050565b600081905092915050565b50565b6000613faa600083613f8f565b9150613fb582613f9a565b600082019050919050565b6000613fcb82613f9d565b9150819050919050565b7f45524332303a205472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614031602683613247565b915061403c82613fd5565b604082019050919050565b6000602082019050818103600083015261406081614024565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506140d48161332e565b92915050565b6000602082840312156140f0576140ef6132f7565b5b60006140fe848285016140c5565b91505092915050565b6000819050919050565b600061412c61412761412284614107565b613433565b61335a565b9050919050565b61413c81614111565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6141778161331c565b82525050565b6000614189838361416e565b60208301905092915050565b6000602082019050919050565b60006141ad82614142565b6141b7818561414d565b93506141c28361415e565b8060005b838110156141f35781516141da888261417d565b97506141e583614195565b9250506001810190506141c6565b5085935050505092915050565b600060a08201905061421560008301886134ad565b6142226020830187614133565b818103604083015261423481866141a2565b90506142436060830185613561565b61425060808301846134ad565b9695505050505050565b600060c08201905061426f6000830189613561565b61427c60208301886134ad565b6142896040830187614133565b6142966060830186614133565b6142a36080830185613561565b6142b060a08301846134ad565b979650505050505050565b6000815190506142ca81613364565b92915050565b6000806000606084860312156142e9576142e86132f7565b5b60006142f7868287016142bb565b9350506020614308868287016142bb565b9250506040614319868287016142bb565b915050925092509256fea2646970667358221220559265e4a304cee2e2c7000f60300765eeedf4e98e0c1a5cc1dcec46e97c4ece64736f6c634300080b0033

Deployed Bytecode Sourcemap

8478:10369:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4084:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4998:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9022:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9337:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4304:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8715:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5175:490;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4738:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5673:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11889:289;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9387:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9540:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8906:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12401:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9626:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8794:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8600:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8945;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9434:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4603:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3521:150;;;;;;;;;;;;;:::i;:::-;;13171:115;;;;;;;;;;;;;:::i;:::-;;8566:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11591:290;;;;;;;;;;;;;:::i;:::-;;3055:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4192:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12919:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5896:411;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4420:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8635:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9270:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9472:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12535:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8832:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4839:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8980:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8525:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9582:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13294:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8757:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3269:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8868:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8674:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4084:100;4138:13;4171:5;4164:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4084:100;:::o;4998:169::-;5081:4;5098:39;5107:12;:10;:12::i;:::-;5121:7;5130:6;5098:8;:39::i;:::-;5155:4;5148:11;;4998:169;;;;:::o;9022:64::-;;;;;;;;;;;;;;;;;;;;;;:::o;9337:43::-;;;:::o;4304:108::-;4365:7;4392:12;;4385:19;;4304:108;:::o;8715:33::-;;;;:::o;5175:490::-;5315:4;5332:36;5342:6;5350:9;5361:6;5332:9;:36::i;:::-;5381:24;5408:11;:19;5420:6;5408:19;;;;;;;;;;;;;;;:33;5428:12;:10;:12::i;:::-;5408:33;;;;;;;;;;;;;;;;5381:60;;5480:6;5460:16;:26;;5452:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5567:57;5576:6;5584:12;:10;:12::i;:::-;5617:6;5598:16;:25;5567:8;:57::i;:::-;5653:4;5646:11;;;5175:490;;;;;:::o;4738:93::-;4796:5;4821:2;4814:9;;4738:93;:::o;5673:215::-;5761:4;5778:80;5787:12;:10;:12::i;:::-;5801:7;5847:10;5810:11;:25;5822:12;:10;:12::i;:::-;5810:25;;;;;;;;;;;;;;;:34;5836:7;5810:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5778:8;:80::i;:::-;5876:4;5869:11;;5673:215;;;;:::o;11889:289::-;3192:12;:10;:12::i;:::-;3182:22;;:6;;;;;;;;;;;:22;;;3174:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12015:1:::1;11985:32;;:18;:32;;;;11977:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;12091:18;12063:17;;:47;;;;;;;;;;;;;;;;;;12151:18;12126:44;;;;;;;;;;;;11889:289:::0;:::o;9387:38::-;;;:::o;9540:33::-;;;;;;;;;;;;;:::o;8906:32::-;;;;:::o;12401:126::-;12467:4;12491:19;:28;12511:7;12491:28;;;;;;;;;;;;;;;;;;;;;;;;;12484:35;;12401:126;;;:::o;9626:27::-;;;;:::o;8794:31::-;;;;:::o;8600:28::-;;;;:::o;8945:::-;;;;:::o;9434:31::-;;;;;;;;;;;;;:::o;4603:127::-;4677:7;4704:9;:18;4714:7;4704:18;;;;;;;;;;;;;;;;4697:25;;4603:127;;;:::o;3521:150::-;3192:12;:10;:12::i;:::-;3182:22;;:6;;;;;;;;;;;:22;;;3174:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3630:1:::1;3593:40;;3614:6;;;;;;;;;;;3593:40;;;;;;;;;;;;3661:1;3644:6;;:19;;;;;;;;;;;;;;;;;;3521:150::o:0;13171:115::-;3192:12;:10;:12::i;:::-;3182:22;;:6;;;;;;;;;;;:22;;;3174:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13242:5:::1;13225:14;;:22;;;;;;;;;;;;;;;;;;13263:15;;;;;;;;;;13171:115::o:0;8566:27::-;;;;:::o;11591:290::-;3192:12;:10;:12::i;:::-;3182:22;;:6;;;;;;;;;;;:22;;;3174:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11655:13:::1;;;;;;;;;;;11654:14;11646:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;11723:4;11707:13;;:20;;;;;;;;;;;;;;;;;;11752:4;11738:11;;:18;;;;;;;;;;;;;;;;;;11788:12;11767:18;:33;;;;11826:15;11811:12;:30;;;;11857:16;;;;;;;;;;11591:290::o:0;3055:79::-;3093:7;3120:6;;;;;;;;;;;3113:13;;3055:79;:::o;4192:104::-;4248:13;4281:7;4274:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4192:104;:::o;12919:244::-;3192:12;:10;:12::i;:::-;3182:22;;:6;;;;;;;;;;;:22;;;3174:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13028:13:::1;13020:21;;:4;:21;;;;13012:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;13114:41;13143:4;13149:5;13114:28;:41::i;:::-;12919:244:::0;;:::o;5896:411::-;5989:4;6006:24;6033:11;:25;6045:12;:10;:12::i;:::-;6033:25;;;;;;;;;;;;;;;:34;6059:7;6033:34;;;;;;;;;;;;;;;;6006:61;;6106:15;6086:16;:35;;6078:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6199:67;6208:12;:10;:12::i;:::-;6222:7;6250:15;6231:16;:34;6199:8;:67::i;:::-;6295:4;6288:11;;;5896:411;;;;:::o;4420:175::-;4506:4;4523:42;4533:12;:10;:12::i;:::-;4547:9;4558:6;4523:9;:42::i;:::-;4583:4;4576:11;;4420:175;;;;:::o;8635:30::-;;;;:::o;9270:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;9472:33::-;;;;;;;;;;;;;:::o;12535:182::-;3192:12;:10;:12::i;:::-;3182:22;;:6;;;;;;;;;;;:22;;;3174:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12651:8:::1;12620:19;:28;12640:7;12620:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;12691:7;12675:34;;;12700:8;12675:34;;;;;;:::i;:::-;;;;;;;;12535:182:::0;;:::o;8832:27::-;;;;:::o;4839:151::-;4928:7;4955:11;:18;4967:5;4955:18;;;;;;;;;;;;;;;:27;4974:7;4955:27;;;;;;;;;;;;;;;;4948:34;;4839:151;;;;:::o;8980:33::-;;;;:::o;8525:32::-;;;;;;;;;;;;;:::o;9582:37::-;;;;:::o;13294:106::-;3192:12;:10;:12::i;:::-;3182:22;;:6;;;;;;;;;;;:22;;;3174:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13387:5:::1;13371:4;:13;13376:7;13371:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13294:106:::0;;:::o;8757:30::-;;;;:::o;3269:244::-;3192:12;:10;:12::i;:::-;3182:22;;:6;;;;;;;;;;;:22;;;3174:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3378:1:::1;3358:22;;:8;:22;;;;3350:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3468:8;3439:38;;3460:6;;;;;;;;;;;3439:38;;;;;;;;;;;;3497:8;3488:6;;:17;;;;;;;;;;;;;;;;;;3269:244:::0;:::o;8868:31::-;;;;:::o;8674:34::-;;;;:::o;1560:98::-;1613:7;1640:10;1633:17;;1560:98;:::o;7234:380::-;7387:1;7370:19;;:5;:19;;;;7362:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7468:1;7449:21;;:7;:21;;;;7441:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7552:6;7522:11;:18;7534:5;7522:18;;;;;;;;;;;;;;;:27;7541:7;7522:27;;;;;;;;;;;;;;;:36;;;;7590:7;7574:32;;7583:5;7574:32;;;7599:6;7574:32;;;;;;:::i;:::-;;;;;;;;7234:380;;;:::o;13408:3353::-;13522:1;13506:18;;:4;:18;;;;13498:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13599:1;13585:16;;:2;:16;;;;13577:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13658:25;:29;13684:2;13658:29;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;;;13691:4;:10;13696:4;13691:10;;;;;;;;;;;;;;;;;;;;;;;;;13658:43;13654:321;;;13718:7;;13654:321;13755:25;:31;13781:4;13755:31;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;;;13790:4;:8;13795:2;13790:8;;;;;;;;;;;;;;;;;;;;;;;;;13755:43;13751:224;;;13823:25;:31;13849:4;13823:31;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;;;13858:4;:8;13863:2;13858:8;;;;;;;;;;;;;;;;;;;;;;;;;13823:43;13815:52;;;;;;13751:224;;;13913:4;:8;13918:2;13913:8;;;;;;;;;;;;;;;;;;;;;;;;;13909:55;;;13942:7;;13909:55;13751:224;14002:1;13992:6;:11;13988:50;;;14020:7;;13988:50;14062:14;;;;;;;;;;;14058:1068;;;14105:7;:5;:7::i;:::-;14097:15;;:4;:15;;;;:32;;;;;14122:7;:5;:7::i;:::-;14116:13;;:2;:13;;;;14097:32;:52;;;;;14147:1;14133:16;;:2;:16;;;;14097:52;:77;;;;;14167:6;14153:21;;:2;:21;;;;14097:77;14093:1022;;;14200:13;;;;;;;;;;;14195:152;;14245:19;:25;14265:4;14245:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;14274:19;:23;14294:2;14274:23;;;;;;;;;;;;;;;;;;;;;;;;;14245:52;14237:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;14195:152;14371:25;:31;14397:4;14371:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;14407:31;:35;14439:2;14407:35;;;;;;;;;;;;;;;;;;;;;;;;;14406:36;14371:71;14367:733;;;14485:12;;14475:6;:22;;14467:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;14589:15;;14572:13;14582:2;14572:9;:13::i;:::-;14563:6;:22;;;;:::i;:::-;:41;;14555:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;14367:733;;;14684:25;:29;14710:2;14684:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;14718:31;:37;14750:4;14718:37;;;;;;;;;;;;;;;;;;;;;;;;;14717:38;14684:71;14680:420;;;14798:13;;14788:6;:23;;14780:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14680:420;;;14897:31;:35;14929:2;14897:35;;;;;;;;;;;;;;;;;;;;;;;;;14896:36;:78;;;;;14937:31;:37;14969:4;14937:37;;;;;;;;;;;;;;;;;;;;;;;;;14936:38;14896:78;14892:208;;;15033:15;;15016:13;15026:2;15016:9;:13::i;:::-;15007:6;:22;;;;:::i;:::-;:41;;14999:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;14892:208;14680:420;14367:733;14093:1022;14058:1068;15138:28;15169:24;15187:4;15169:9;:24::i;:::-;15138:55;;15214:12;15253:18;;15229:20;:42;;15214:57;;15288:7;:22;;;;;15299:11;;;;;;;;;;;15288:22;:35;;;;;15315:8;;;;;;;;;;;15314:9;15288:35;:71;;;;;15328:25;:31;15354:4;15328:31;;;;;;;;;;;;;;;;;;;;;;;;;15327:32;15288:71;:111;;;;;15374:19;:25;15394:4;15374:25;;;;;;;;;;;;;;;;;;;;;;;;;15373:26;15288:111;:139;;;;;15404:19;:23;15424:2;15404:23;;;;;;;;;;;;;;;;;;;;;;;;;15403:24;15288:139;15284:247;;;15455:4;15444:8;;:15;;;;;;;;;;;;;;;;;;15476:10;:8;:10::i;:::-;15514:5;15503:8;;:16;;;;;;;;;;;;;;;;;;15284:247;15543:12;15558:4;15543:19;;15579;:25;15599:4;15579:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;15608:19;:23;15628:2;15608:23;;;;;;;;;;;;;;;;;;;;;;;;;15579:52;15575:100;;;15658:5;15648:15;;15575:100;15695:12;15722:21;15764:7;15760:948;;;15820:12;15815:1;15794:18;;:22;;;;:::i;:::-;:38;;:73;;;;;15836:25;:31;15862:4;15836:31;;;;;;;;;;;;;;;;;;;;;;;;;15794:73;15790:129;;;15899:4;15888;:8;15893:2;15888:8;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;;;;;;;15790:129;15940:25;:29;15966:2;15940:29;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;15989:1;15973:13;;:17;15940:50;15936:585;;;16042:3;16027:13;;16018:6;:22;;;;:::i;:::-;:27;;;;:::i;:::-;16011:34;;16112:13;;16093:16;;16086:4;:23;;;;:::i;:::-;:39;;;;:::i;:::-;16064:18;;:61;;;;;;;:::i;:::-;;;;;;;;16194:13;;16174:17;;16167:4;:24;;;;:::i;:::-;:40;;;;:::i;:::-;16144:19;;:63;;;;;;;:::i;:::-;;;;;;;;15936:585;;;16247:25;:31;16273:4;16247:31;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;;16297:1;16282:12;;:16;16247:51;16243:278;;;16347:3;16332:12;;16323:6;:21;;;;:::i;:::-;:27;;;;:::i;:::-;16316:34;;16413:12;;16395:15;;16388:4;:22;;;;:::i;:::-;:37;;;;:::i;:::-;16366:18;;:59;;;;;;;:::i;:::-;;;;;;;;16493:12;;16474:16;;16467:4;:23;;;;:::i;:::-;:38;;;;:::i;:::-;16444:19;;:61;;;;;;;:::i;:::-;;;;;;;;16243:278;15936:585;16560:1;16553:4;:8;16549:95;;;16586:42;16602:4;16616;16623;16586:15;:42::i;:::-;16549:95;16683:13;16676:4;:20;;;;:::i;:::-;16666:30;;;;;:::i;:::-;;;15760:948;16720:33;16736:4;16742:2;16746:6;16720:15;:33::i;:::-;13487:3274;;;;;13408:3353;;;;:::o;12725:186::-;12842:5;12808:25;:31;12834:4;12808:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;12897:5;12863:40;;12891:4;12863:40;;;;;;;;;;;;12725:186;;:::o;17254:1207::-;17295:23;17321:24;17339:4;17321:9;:24::i;:::-;17295:50;;17356:25;17405:19;;17384:18;;:40;;;;:::i;:::-;17356:68;;17468:1;17449:15;:20;:46;;;;17494:1;17473:17;:22;17449:46;17445:85;;;17512:7;;;;17445:85;17585:2;17564:18;;:23;;;;:::i;:::-;17546:15;:41;17542:115;;;17643:2;17622:18;;:23;;;;:::i;:::-;17604:41;;17542:115;17669:12;17702:23;17787:1;17767:17;17746:18;;17728:15;:36;;;;:::i;:::-;:56;;;;:::i;:::-;:60;;;;:::i;:::-;17702:86;;17809:51;17844:15;17826;:33;;;;:::i;:::-;17809:16;:51::i;:::-;17882:18;17903:21;17882:42;;17935:23;17961:10;17935:36;;17984:24;18089:1;18068:18;;:22;;;;:::i;:::-;18047:17;:44;;;;:::i;:::-;18024:19;;18011:10;:32;;;;:::i;:::-;:81;;;;:::i;:::-;17984:108;;18124:16;18105:35;;;;;:::i;:::-;;;18186:1;18165:18;:22;;;;18220:1;18198:19;:23;;;;18264:1;18246:15;:19;:42;;;;;18287:1;18269:15;:19;18246:42;18242:121;;;18305:46;18318:15;18335;18305:12;:46::i;:::-;18242:121;18396:17;;;;;;;;;;;18388:31;;18427:21;18388:65;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18375:78;;;;;17282:1179;;;;;;;17254:1207;:::o;6315:612::-;6473:1;6455:20;;:6;:20;;;;6447:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;6557:1;6536:23;;:9;:23;;;;6528:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6612:21;6636:9;:17;6646:6;6636:17;;;;;;;;;;;;;;;;6612:41;;6689:6;6672:13;:23;;6664:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;6810:6;6794:13;:22;6774:9;:17;6784:6;6774:17;;;;;;;;;;;;;;;:42;;;;6862:6;6838:9;:20;6848:9;6838:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;6901:9;6884:35;;6893:6;6884:35;;;6912:6;6884:35;;;;;;:::i;:::-;;;;;;;;6436:491;6315:612;;;:::o;16769:477::-;16837:21;16875:1;16861:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16837:40;;16906:4;16888;16893:1;16888:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16932:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16922:4;16927:1;16922:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;16967:62;16984:4;16999:15;17017:11;16967:8;:62::i;:::-;17042:15;:66;;;17123:11;17149:1;17165:4;17192;17212:15;17042:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16824:422;16769:477;:::o;18473:370::-;18554:62;18571:4;18586:15;18604:11;18554:8;:62::i;:::-;18629:15;:31;;;18668:9;18701:4;18721:11;18747:1;18763;18787:6;18809:15;18629:206;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18473:370;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:329::-;3553:6;3602:2;3590:9;3581:7;3577:23;3573:32;3570:119;;;3608:79;;:::i;:::-;3570:119;3728:1;3753:53;3798:7;3789:6;3778:9;3774:22;3753:53;:::i;:::-;3743:63;;3699:117;3494:329;;;;:::o;3829:60::-;3857:3;3878:5;3871:12;;3829:60;;;:::o;3895:142::-;3945:9;3978:53;3996:34;4005:24;4023:5;4005:24;:::i;:::-;3996:34;:::i;:::-;3978:53;:::i;:::-;3965:66;;3895:142;;;:::o;4043:126::-;4093:9;4126:37;4157:5;4126:37;:::i;:::-;4113:50;;4043:126;;;:::o;4175:144::-;4243:9;4276:37;4307:5;4276:37;:::i;:::-;4263:50;;4175:144;;;:::o;4325:167::-;4430:55;4479:5;4430:55;:::i;:::-;4425:3;4418:68;4325:167;;:::o;4498:258::-;4609:4;4647:2;4636:9;4632:18;4624:26;;4660:89;4746:1;4735:9;4731:17;4722:6;4660:89;:::i;:::-;4498:258;;;;:::o;4762:118::-;4849:24;4867:5;4849:24;:::i;:::-;4844:3;4837:37;4762:118;;:::o;4886:222::-;4979:4;5017:2;5006:9;5002:18;4994:26;;5030:71;5098:1;5087:9;5083:17;5074:6;5030:71;:::i;:::-;4886:222;;;;:::o;5114:619::-;5191:6;5199;5207;5256:2;5244:9;5235:7;5231:23;5227:32;5224:119;;;5262:79;;:::i;:::-;5224:119;5382:1;5407:53;5452:7;5443:6;5432:9;5428:22;5407:53;:::i;:::-;5397:63;;5353:117;5509:2;5535:53;5580:7;5571:6;5560:9;5556:22;5535:53;:::i;:::-;5525:63;;5480:118;5637:2;5663:53;5708:7;5699:6;5688:9;5684:22;5663:53;:::i;:::-;5653:63;;5608:118;5114:619;;;;;:::o;5739:86::-;5774:7;5814:4;5807:5;5803:16;5792:27;;5739:86;;;:::o;5831:112::-;5914:22;5930:5;5914:22;:::i;:::-;5909:3;5902:35;5831:112;;:::o;5949:214::-;6038:4;6076:2;6065:9;6061:18;6053:26;;6089:67;6153:1;6142:9;6138:17;6129:6;6089:67;:::i;:::-;5949:214;;;;:::o;6169:118::-;6256:24;6274:5;6256:24;:::i;:::-;6251:3;6244:37;6169:118;;:::o;6293:222::-;6386:4;6424:2;6413:9;6409:18;6401:26;;6437:71;6505:1;6494:9;6490:17;6481:6;6437:71;:::i;:::-;6293:222;;;;:::o;6521:116::-;6591:21;6606:5;6591:21;:::i;:::-;6584:5;6581:32;6571:60;;6627:1;6624;6617:12;6571:60;6521:116;:::o;6643:133::-;6686:5;6724:6;6711:20;6702:29;;6740:30;6764:5;6740:30;:::i;:::-;6643:133;;;;:::o;6782:468::-;6847:6;6855;6904:2;6892:9;6883:7;6879:23;6875:32;6872:119;;;6910:79;;:::i;:::-;6872:119;7030:1;7055:53;7100:7;7091:6;7080:9;7076:22;7055:53;:::i;:::-;7045:63;;7001:117;7157:2;7183:50;7225:7;7216:6;7205:9;7201:22;7183:50;:::i;:::-;7173:60;;7128:115;6782:468;;;;;:::o;7256:474::-;7324:6;7332;7381:2;7369:9;7360:7;7356:23;7352:32;7349:119;;;7387:79;;:::i;:::-;7349:119;7507:1;7532:53;7577:7;7568:6;7557:9;7553:22;7532:53;:::i;:::-;7522:63;;7478:117;7634:2;7660:53;7705:7;7696:6;7685:9;7681:22;7660:53;:::i;:::-;7650:63;;7605:118;7256:474;;;;;:::o;7736:180::-;7784:77;7781:1;7774:88;7881:4;7878:1;7871:15;7905:4;7902:1;7895:15;7922:320;7966:6;8003:1;7997:4;7993:12;7983:22;;8050:1;8044:4;8040:12;8071:18;8061:81;;8127:4;8119:6;8115:17;8105:27;;8061:81;8189:2;8181:6;8178:14;8158:18;8155:38;8152:84;;;8208:18;;:::i;:::-;8152:84;7973:269;7922:320;;;:::o;8248:227::-;8388:34;8384:1;8376:6;8372:14;8365:58;8457:10;8452:2;8444:6;8440:15;8433:35;8248:227;:::o;8481:366::-;8623:3;8644:67;8708:2;8703:3;8644:67;:::i;:::-;8637:74;;8720:93;8809:3;8720:93;:::i;:::-;8838:2;8833:3;8829:12;8822:19;;8481:366;;;:::o;8853:419::-;9019:4;9057:2;9046:9;9042:18;9034:26;;9106:9;9100:4;9096:20;9092:1;9081:9;9077:17;9070:47;9134:131;9260:4;9134:131;:::i;:::-;9126:139;;8853:419;;;:::o;9278:180::-;9326:77;9323:1;9316:88;9423:4;9420:1;9413:15;9447:4;9444:1;9437:15;9464:305;9504:3;9523:20;9541:1;9523:20;:::i;:::-;9518:25;;9557:20;9575:1;9557:20;:::i;:::-;9552:25;;9711:1;9643:66;9639:74;9636:1;9633:81;9630:107;;;9717:18;;:::i;:::-;9630:107;9761:1;9758;9754:9;9747:16;;9464:305;;;;:::o;9775:182::-;9915:34;9911:1;9903:6;9899:14;9892:58;9775:182;:::o;9963:366::-;10105:3;10126:67;10190:2;10185:3;10126:67;:::i;:::-;10119:74;;10202:93;10291:3;10202:93;:::i;:::-;10320:2;10315:3;10311:12;10304:19;;9963:366;;;:::o;10335:419::-;10501:4;10539:2;10528:9;10524:18;10516:26;;10588:9;10582:4;10578:20;10574:1;10563:9;10559:17;10552:47;10616:131;10742:4;10616:131;:::i;:::-;10608:139;;10335:419;;;:::o;10760:180::-;10900:32;10896:1;10888:6;10884:14;10877:56;10760:180;:::o;10946:366::-;11088:3;11109:67;11173:2;11168:3;11109:67;:::i;:::-;11102:74;;11185:93;11274:3;11185:93;:::i;:::-;11303:2;11298:3;11294:12;11287:19;;10946:366;;;:::o;11318:419::-;11484:4;11522:2;11511:9;11507:18;11499:26;;11571:9;11565:4;11561:20;11557:1;11546:9;11542:17;11535:47;11599:131;11725:4;11599:131;:::i;:::-;11591:139;;11318:419;;;:::o;11743:173::-;11883:25;11879:1;11871:6;11867:14;11860:49;11743:173;:::o;11922:366::-;12064:3;12085:67;12149:2;12144:3;12085:67;:::i;:::-;12078:74;;12161:93;12250:3;12161:93;:::i;:::-;12279:2;12274:3;12270:12;12263:19;;11922:366;;;:::o;12294:419::-;12460:4;12498:2;12487:9;12483:18;12475:26;;12547:9;12541:4;12537:20;12533:1;12522:9;12518:17;12511:47;12575:131;12701:4;12575:131;:::i;:::-;12567:139;;12294:419;;;:::o;12719:244::-;12859:34;12855:1;12847:6;12843:14;12836:58;12928:27;12923:2;12915:6;12911:15;12904:52;12719:244;:::o;12969:366::-;13111:3;13132:67;13196:2;13191:3;13132:67;:::i;:::-;13125:74;;13208:93;13297:3;13208:93;:::i;:::-;13326:2;13321:3;13317:12;13310:19;;12969:366;;;:::o;13341:419::-;13507:4;13545:2;13534:9;13530:18;13522:26;;13594:9;13588:4;13584:20;13580:1;13569:9;13565:17;13558:47;13622:131;13748:4;13622:131;:::i;:::-;13614:139;;13341:419;;;:::o;13766:224::-;13906:34;13902:1;13894:6;13890:14;13883:58;13975:7;13970:2;13962:6;13958:15;13951:32;13766:224;:::o;13996:366::-;14138:3;14159:67;14223:2;14218:3;14159:67;:::i;:::-;14152:74;;14235:93;14324:3;14235:93;:::i;:::-;14353:2;14348:3;14344:12;14337:19;;13996:366;;;:::o;14368:419::-;14534:4;14572:2;14561:9;14557:18;14549:26;;14621:9;14615:4;14611:20;14607:1;14596:9;14592:17;14585:47;14649:131;14775:4;14649:131;:::i;:::-;14641:139;;14368:419;;;:::o;14793:225::-;14933:34;14929:1;14921:6;14917:14;14910:58;15002:8;14997:2;14989:6;14985:15;14978:33;14793:225;:::o;15024:366::-;15166:3;15187:67;15251:2;15246:3;15187:67;:::i;:::-;15180:74;;15263:93;15352:3;15263:93;:::i;:::-;15381:2;15376:3;15372:12;15365:19;;15024:366;;;:::o;15396:419::-;15562:4;15600:2;15589:9;15585:18;15577:26;;15649:9;15643:4;15639:20;15635:1;15624:9;15620:17;15613:47;15677:131;15803:4;15677:131;:::i;:::-;15669:139;;15396:419;;;:::o;15821:223::-;15961:34;15957:1;15949:6;15945:14;15938:58;16030:6;16025:2;16017:6;16013:15;16006:31;15821:223;:::o;16050:366::-;16192:3;16213:67;16277:2;16272:3;16213:67;:::i;:::-;16206:74;;16289:93;16378:3;16289:93;:::i;:::-;16407:2;16402:3;16398:12;16391:19;;16050:366;;;:::o;16422:419::-;16588:4;16626:2;16615:9;16611:18;16603:26;;16675:9;16669:4;16665:20;16661:1;16650:9;16646:17;16639:47;16703:131;16829:4;16703:131;:::i;:::-;16695:139;;16422:419;;;:::o;16847:221::-;16987:34;16983:1;16975:6;16971:14;16964:58;17056:4;17051:2;17043:6;17039:15;17032:29;16847:221;:::o;17074:366::-;17216:3;17237:67;17301:2;17296:3;17237:67;:::i;:::-;17230:74;;17313:93;17402:3;17313:93;:::i;:::-;17431:2;17426:3;17422:12;17415:19;;17074:366;;;:::o;17446:419::-;17612:4;17650:2;17639:9;17635:18;17627:26;;17699:9;17693:4;17689:20;17685:1;17674:9;17670:17;17663:47;17727:131;17853:4;17727:131;:::i;:::-;17719:139;;17446:419;;;:::o;17871:224::-;18011:34;18007:1;17999:6;17995:14;17988:58;18080:7;18075:2;18067:6;18063:15;18056:32;17871:224;:::o;18101:366::-;18243:3;18264:67;18328:2;18323:3;18264:67;:::i;:::-;18257:74;;18340:93;18429:3;18340:93;:::i;:::-;18458:2;18453:3;18449:12;18442:19;;18101:366;;;:::o;18473:419::-;18639:4;18677:2;18666:9;18662:18;18654:26;;18726:9;18720:4;18716:20;18712:1;18701:9;18697:17;18690:47;18754:131;18880:4;18754:131;:::i;:::-;18746:139;;18473:419;;;:::o;18898:222::-;19038:34;19034:1;19026:6;19022:14;19015:58;19107:5;19102:2;19094:6;19090:15;19083:30;18898:222;:::o;19126:366::-;19268:3;19289:67;19353:2;19348:3;19289:67;:::i;:::-;19282:74;;19365:93;19454:3;19365:93;:::i;:::-;19483:2;19478:3;19474:12;19467:19;;19126:366;;;:::o;19498:419::-;19664:4;19702:2;19691:9;19687:18;19679:26;;19751:9;19745:4;19741:20;19737:1;19726:9;19722:17;19715:47;19779:131;19905:4;19779:131;:::i;:::-;19771:139;;19498:419;;;:::o;19923:175::-;20063:27;20059:1;20051:6;20047:14;20040:51;19923:175;:::o;20104:366::-;20246:3;20267:67;20331:2;20326:3;20267:67;:::i;:::-;20260:74;;20343:93;20432:3;20343:93;:::i;:::-;20461:2;20456:3;20452:12;20445:19;;20104:366;;;:::o;20476:419::-;20642:4;20680:2;20669:9;20665:18;20657:26;;20729:9;20723:4;20719:20;20715:1;20704:9;20700:17;20693:47;20757:131;20883:4;20757:131;:::i;:::-;20749:139;;20476:419;;;:::o;20901:180::-;21041:32;21037:1;21029:6;21025:14;21018:56;20901:180;:::o;21087:366::-;21229:3;21250:67;21314:2;21309:3;21250:67;:::i;:::-;21243:74;;21326:93;21415:3;21326:93;:::i;:::-;21444:2;21439:3;21435:12;21428:19;;21087:366;;;:::o;21459:419::-;21625:4;21663:2;21652:9;21648:18;21640:26;;21712:9;21706:4;21702:20;21698:1;21687:9;21683:17;21676:47;21740:131;21866:4;21740:131;:::i;:::-;21732:139;;21459:419;;;:::o;21884:177::-;22024:29;22020:1;22012:6;22008:14;22001:53;21884:177;:::o;22067:366::-;22209:3;22230:67;22294:2;22289:3;22230:67;:::i;:::-;22223:74;;22306:93;22395:3;22306:93;:::i;:::-;22424:2;22419:3;22415:12;22408:19;;22067:366;;;:::o;22439:419::-;22605:4;22643:2;22632:9;22628:18;22620:26;;22692:9;22686:4;22682:20;22678:1;22667:9;22663:17;22656:47;22720:131;22846:4;22720:131;:::i;:::-;22712:139;;22439:419;;;:::o;22864:182::-;23004:34;23000:1;22992:6;22988:14;22981:58;22864:182;:::o;23052:366::-;23194:3;23215:67;23279:2;23274:3;23215:67;:::i;:::-;23208:74;;23291:93;23380:3;23291:93;:::i;:::-;23409:2;23404:3;23400:12;23393:19;;23052:366;;;:::o;23424:419::-;23590:4;23628:2;23617:9;23613:18;23605:26;;23677:9;23671:4;23667:20;23663:1;23652:9;23648:17;23641:47;23705:131;23831:4;23705:131;:::i;:::-;23697:139;;23424:419;;;:::o;23849:348::-;23889:7;23912:20;23930:1;23912:20;:::i;:::-;23907:25;;23946:20;23964:1;23946:20;:::i;:::-;23941:25;;24134:1;24066:66;24062:74;24059:1;24056:81;24051:1;24044:9;24037:17;24033:105;24030:131;;;24141:18;;:::i;:::-;24030:131;24189:1;24186;24182:9;24171:20;;23849:348;;;;:::o;24203:180::-;24251:77;24248:1;24241:88;24348:4;24345:1;24338:15;24372:4;24369:1;24362:15;24389:185;24429:1;24446:20;24464:1;24446:20;:::i;:::-;24441:25;;24480:20;24498:1;24480:20;:::i;:::-;24475:25;;24519:1;24509:35;;24524:18;;:::i;:::-;24509:35;24566:1;24563;24559:9;24554:14;;24389:185;;;;:::o;24580:191::-;24620:4;24640:20;24658:1;24640:20;:::i;:::-;24635:25;;24674:20;24692:1;24674:20;:::i;:::-;24669:25;;24713:1;24710;24707:8;24704:34;;;24718:18;;:::i;:::-;24704:34;24763:1;24760;24756:9;24748:17;;24580:191;;;;:::o;24777:147::-;24878:11;24915:3;24900:18;;24777:147;;;;:::o;24930:114::-;;:::o;25050:398::-;25209:3;25230:83;25311:1;25306:3;25230:83;:::i;:::-;25223:90;;25322:93;25411:3;25322:93;:::i;:::-;25440:1;25435:3;25431:11;25424:18;;25050:398;;;:::o;25454:379::-;25638:3;25660:147;25803:3;25660:147;:::i;:::-;25653:154;;25824:3;25817:10;;25454:379;;;:::o;25839:225::-;25979:34;25975:1;25967:6;25963:14;25956:58;26048:8;26043:2;26035:6;26031:15;26024:33;25839:225;:::o;26070:366::-;26212:3;26233:67;26297:2;26292:3;26233:67;:::i;:::-;26226:74;;26309:93;26398:3;26309:93;:::i;:::-;26427:2;26422:3;26418:12;26411:19;;26070:366;;;:::o;26442:419::-;26608:4;26646:2;26635:9;26631:18;26623:26;;26695:9;26689:4;26685:20;26681:1;26670:9;26666:17;26659:47;26723:131;26849:4;26723:131;:::i;:::-;26715:139;;26442:419;;;:::o;26867:180::-;26915:77;26912:1;26905:88;27012:4;27009:1;27002:15;27036:4;27033:1;27026:15;27053:180;27101:77;27098:1;27091:88;27198:4;27195:1;27188:15;27222:4;27219:1;27212:15;27239:143;27296:5;27327:6;27321:13;27312:22;;27343:33;27370:5;27343:33;:::i;:::-;27239:143;;;;:::o;27388:351::-;27458:6;27507:2;27495:9;27486:7;27482:23;27478:32;27475:119;;;27513:79;;:::i;:::-;27475:119;27633:1;27658:64;27714:7;27705:6;27694:9;27690:22;27658:64;:::i;:::-;27648:74;;27604:128;27388:351;;;;:::o;27745:85::-;27790:7;27819:5;27808:16;;27745:85;;;:::o;27836:158::-;27894:9;27927:61;27945:42;27954:32;27980:5;27954:32;:::i;:::-;27945:42;:::i;:::-;27927:61;:::i;:::-;27914:74;;27836:158;;;:::o;28000:147::-;28095:45;28134:5;28095:45;:::i;:::-;28090:3;28083:58;28000:147;;:::o;28153:114::-;28220:6;28254:5;28248:12;28238:22;;28153:114;;;:::o;28273:184::-;28372:11;28406:6;28401:3;28394:19;28446:4;28441:3;28437:14;28422:29;;28273:184;;;;:::o;28463:132::-;28530:4;28553:3;28545:11;;28583:4;28578:3;28574:14;28566:22;;28463:132;;;:::o;28601:108::-;28678:24;28696:5;28678:24;:::i;:::-;28673:3;28666:37;28601:108;;:::o;28715:179::-;28784:10;28805:46;28847:3;28839:6;28805:46;:::i;:::-;28883:4;28878:3;28874:14;28860:28;;28715:179;;;;:::o;28900:113::-;28970:4;29002;28997:3;28993:14;28985:22;;28900:113;;;:::o;29049:732::-;29168:3;29197:54;29245:5;29197:54;:::i;:::-;29267:86;29346:6;29341:3;29267:86;:::i;:::-;29260:93;;29377:56;29427:5;29377:56;:::i;:::-;29456:7;29487:1;29472:284;29497:6;29494:1;29491:13;29472:284;;;29573:6;29567:13;29600:63;29659:3;29644:13;29600:63;:::i;:::-;29593:70;;29686:60;29739:6;29686:60;:::i;:::-;29676:70;;29532:224;29519:1;29516;29512:9;29507:14;;29472:284;;;29476:14;29772:3;29765:10;;29173:608;;;29049:732;;;;:::o;29787:831::-;30050:4;30088:3;30077:9;30073:19;30065:27;;30102:71;30170:1;30159:9;30155:17;30146:6;30102:71;:::i;:::-;30183:80;30259:2;30248:9;30244:18;30235:6;30183:80;:::i;:::-;30310:9;30304:4;30300:20;30295:2;30284:9;30280:18;30273:48;30338:108;30441:4;30432:6;30338:108;:::i;:::-;30330:116;;30456:72;30524:2;30513:9;30509:18;30500:6;30456:72;:::i;:::-;30538:73;30606:3;30595:9;30591:19;30582:6;30538:73;:::i;:::-;29787:831;;;;;;;;:::o;30624:807::-;30873:4;30911:3;30900:9;30896:19;30888:27;;30925:71;30993:1;30982:9;30978:17;30969:6;30925:71;:::i;:::-;31006:72;31074:2;31063:9;31059:18;31050:6;31006:72;:::i;:::-;31088:80;31164:2;31153:9;31149:18;31140:6;31088:80;:::i;:::-;31178;31254:2;31243:9;31239:18;31230:6;31178:80;:::i;:::-;31268:73;31336:3;31325:9;31321:19;31312:6;31268:73;:::i;:::-;31351;31419:3;31408:9;31404:19;31395:6;31351:73;:::i;:::-;30624:807;;;;;;;;;:::o;31437:143::-;31494:5;31525:6;31519:13;31510:22;;31541:33;31568:5;31541:33;:::i;:::-;31437:143;;;;:::o;31586:663::-;31674:6;31682;31690;31739:2;31727:9;31718:7;31714:23;31710:32;31707:119;;;31745:79;;:::i;:::-;31707:119;31865:1;31890:64;31946:7;31937:6;31926:9;31922:22;31890:64;:::i;:::-;31880:74;;31836:128;32003:2;32029:64;32085:7;32076:6;32065:9;32061:22;32029:64;:::i;:::-;32019:74;;31974:129;32142:2;32168:64;32224:7;32215:6;32204:9;32200:22;32168:64;:::i;:::-;32158:74;;32113:129;31586:663;;;;;:::o

Swarm Source

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