ETH Price: $3,104.03 (-1.15%)

Token

Holographic Doge (HODO)
 

Overview

Max Total Supply

1,000,000,000,000,000 HODO

Holders

230

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,013,465,858,928.581870819 HODO

Value
$0.00
0x132db8234171cc9d8a65853cf03d5c0f46c8867e
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:
hodo

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-08-31
*/

/**
 
 * HOLOGRAPHIC DOGE - $HODO
 * TELEGRAM: https://t.me/holographicdoge
 * WEBSITE: https://www.hodotoken.com
 * TWITTER: https://twitter.com/holodoge
 
 * Holographic Doge, the world’s first holographic crypto coin that also happens to be the rarest ;)
 
   TOKENOMICS:
 * 1QUADRILLION / 1,000,000,000,000,000 TOTAL SUPPLY 
 * FIRST TWO MINUTES: 1% max buy 10000000000000 / 15-second buy cooldown (these limitations are lifted automatically two minutes post-launch)
 * 12% Total Tax 
 * 7% Presale
 * 2.5% Tokens for Contests and Prizes 

SPDX-License-Identifier: UNLICENSED 
*/
pragma solidity ^0.8.4;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if(a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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 renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}  

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

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

contract hodo is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    address[] private _excluded;
    mapping (address => bool) private _isBlackListedBot;
    address[] private _blackListedBots;
    
    mapping (address => User) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e15 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private constant _name = unicode"Holographic Doge";
    string private constant _symbol = unicode"HODO";
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 2;
    uint256 private _teamFee = 10;
    uint256 private _launchTime;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    uint256 private _maxBuyAmount;
    address payable private _FeeAddress;
    address payable private _FeeAddress2;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private _cooldownEnabled = true;
    bool private inSwap = false;
    uint256 private buyLimitEnd;
    struct User {
        uint256 buy;
        uint256 sell;
        bool exists;
    }

    event MaxBuyAmountUpdated(uint _maxBuyAmount);
    event CooldownEnabledUpdated(bool _cooldown);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (address payable FeeAddress, address payable FeeAddress2) {
        _FeeAddress = FeeAddress;
        _FeeAddress2 = FeeAddress2;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        
        _isExcludedFromFee[FeeAddress] = true;
        _isExcludedFromFee[FeeAddress2] = true;
        
        _isBlackListedBot[address(0x66f049111958809841Bbe4b81c034Da2D953AA0c)] = true;
        _blackListedBots.push(address(0x66f049111958809841Bbe4b81c034Da2D953AA0c));
        
        _isBlackListedBot[address(0x000000005736775Feb0C8568e7DEe77222a26880)] = true;
        _blackListedBots.push(address(0x000000005736775Feb0C8568e7DEe77222a26880));
        
        _isBlackListedBot[address(0x00000000003b3cc22aF3aE1EAc0440BcEe416B40)] = true;
        _blackListedBots.push(address(0x00000000003b3cc22aF3aE1EAc0440BcEe416B40));
        
        _isBlackListedBot[address(0xD8E83d3d1a91dFefafd8b854511c44685a20fa3D)] = true;
        _blackListedBots.push(address(0xD8E83d3d1a91dFefafd8b854511c44685a20fa3D));

        _isBlackListedBot[address(0xbcC7f6355bc08f6b7d3a41322CE4627118314763)] = true;
        _blackListedBots.push(address(0xbcC7f6355bc08f6b7d3a41322CE4627118314763));

        _isBlackListedBot[address(0x1d6E8BAC6EA3730825bde4B005ed7B2B39A2932d)] = true;
        _blackListedBots.push(address(0x1d6E8BAC6EA3730825bde4B005ed7B2B39A2932d));

        _isBlackListedBot[address(0x000000000035B5e5ad9019092C665357240f594e)] = true;
        _blackListedBots.push(address(0x000000000035B5e5ad9019092C665357240f594e));

        _isBlackListedBot[address(0x1315c6C26123383a2Eb369a53Fb72C4B9f227EeC)] = true;
        _blackListedBots.push(address(0x1315c6C26123383a2Eb369a53Fb72C4B9f227EeC));

        _isBlackListedBot[address(0xD8E83d3d1a91dFefafd8b854511c44685a20fa3D)] = true;
        _blackListedBots.push(address(0xD8E83d3d1a91dFefafd8b854511c44685a20fa3D));
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(!_isBlackListedBot[to], "You have no power here!");
        require(!_isBlackListedBot[msg.sender], "You have no power here!");

        if(from != owner() && to != owner()) {
            if(_cooldownEnabled) {
                if(!cooldown[msg.sender].exists) {
                    cooldown[msg.sender] = User(0,0,true);
                }
            }

            // buy
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(tradingOpen, "Trading not yet enabled.");
                if(_cooldownEnabled) {
                    if(buyLimitEnd > block.timestamp) {
                        require(amount <= _maxBuyAmount);
                        require(cooldown[to].buy < block.timestamp, "Your buy cooldown has not expired.");
                        cooldown[to].buy = block.timestamp + (15 seconds);
                    }
                }
            }
            uint256 contractTokenBalance = balanceOf(address(this));

            // sell
            if(!inSwap && from != uniswapV2Pair && tradingOpen) {
                if(contractTokenBalance > 0) {
                    swapTokensForEth(contractTokenBalance);
                }
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = true;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
        
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 sendETHToFee(uint256 amount) private {
        _FeeAddress.transfer(amount.div(2));
        _FeeAddress2.transfer(amount.div(2));
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
        if(!takeFee)
            restoreAllFee();
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);    
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);

        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function addLiquidity() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _maxBuyAmount = 10000000000000 * 10**9; // 1% TX LIMIT 
        _launchTime = block.timestamp;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function openTrading() public onlyOwner {
        tradingOpen = true;
        buyLimitEnd = block.timestamp + (120 seconds);
    }

    function manualswap() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        _cooldownEnabled = onoff;
        emit CooldownEnabledUpdated(_cooldownEnabled);
    }
    
    function isExcluded(address account) public view returns (bool) {
        return _isExcluded[account];
    }
    
    function excludeAccount(address account) external onlyOwner() {
        require(account != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, 'We can not exclude Uniswap router.');
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeAccount(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }
    
    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }
    
    function isBlackListed(address account) public view returns (bool) {
        return _isBlackListedBot[account];
    }
    
    function addBotToBlackList(address account) external onlyOwner() {
        require(account != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, 'We can not blacklist Uniswap router.');
        require(!_isBlackListedBot[account], "Account is already blacklisted");
        _isBlackListedBot[account] = true;
        _blackListedBots.push(account);
    }
    
    function removeBotFromBlackList(address account) external onlyOwner() {
        require(_isBlackListedBot[account], "Account is not blacklisted");
        for (uint256 i = 0; i < _blackListedBots.length; i++) {
            if (_blackListedBots[i] == account) {
                _blackListedBots[i] = _blackListedBots[_blackListedBots.length - 1];
                _isBlackListedBot[account] = false;
                _blackListedBots.pop();
                break;
            }
        }
    }
    
    function setExcludeFromFee(address account, bool excluded) external onlyOwner() {
        _isExcludedFromFee[account] = excluded;
    }

    function thisBalance() public view returns (uint) {
        return balanceOf(address(this));
    }

    function cooldownEnabled() public view returns (bool) {
        return _cooldownEnabled;
    }

    function timeToBuy(address buyer) public view returns (uint) {
        return block.timestamp - cooldown[buyer].buy;
    }

    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"FeeAddress2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_cooldown","type":"bool"}],"name":"CooldownEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"MaxBuyAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addBotToBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","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":[],"name":"amountInPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeBotFromBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"timeToBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

608060405269d3c21bcecceda10000006000196200001e919062000d3c565b6000196200002d919062000cc3565b600b556002600d55600a600e55600d54601055600e546011556001601660156101000a81548160ff02191690831515021790555060006016806101000a81548160ff0219169083151502179055503480156200008857600080fd5b50604051620064b4380380620064b48339818101604052810190620000ae919062000c54565b6000620000c062000c0c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5460026000620001f762000c0c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200024b62000c1460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860007366f049111958809841bbe4b81c034da2d953aa0c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060097366f049111958809841bbe4b81c034da2d953aa0c9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600860006f5736775feb0c8568e7dee77222a2688073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060096f5736775feb0c8568e7dee77222a268809080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600860006e3b3cc22af3ae1eac0440bcee416b4073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060096e3b3cc22af3ae1eac0440bcee416b409080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016008600073d8e83d3d1a91dfefafd8b854511c44685a20fa3d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600973d8e83d3d1a91dfefafd8b854511c44685a20fa3d9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016008600073bcc7f6355bc08f6b7d3a41322ce462711831476373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600973bcc7f6355bc08f6b7d3a41322ce46271183147639080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000731d6e8bac6ea3730825bde4b005ed7b2b39a2932d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009731d6e8bac6ea3730825bde4b005ed7b2b39a2932d9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600860006e35b5e5ad9019092c665357240f594e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060096e35b5e5ad9019092c665357240f594e9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000731315c6c26123383a2eb369a53fb72c4b9f227eec73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009731315c6c26123383a2eb369a53fb72c4b9f227eec9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016008600073d8e83d3d1a91dfefafd8b854511c44685a20fa3d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600973d8e83d3d1a91dfefafd8b854511c44685a20fa3d9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000b9362000c0c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda100000060405162000bfc919062000ca6565b60405180910390a3505062000dec565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008151905062000c4e8162000dd2565b92915050565b6000806040838503121562000c6857600080fd5b600062000c788582860162000c3d565b925050602062000c8b8582860162000c3d565b9150509250929050565b62000ca08162000d32565b82525050565b600060208201905062000cbd600083018462000c95565b92915050565b600062000cd08262000d32565b915062000cdd8362000d32565b92508282101562000cf35762000cf262000d74565b5b828203905092915050565b600062000d0b8262000d12565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000d498262000d32565b915062000d568362000d32565b92508262000d695762000d6862000da3565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b62000ddd8162000cfe565b811462000de957600080fd5b50565b6156b88062000dfc6000396000f3fe6080604052600436106101bb5760003560e01c80638da5cb5b116100ec578063cba0e9961161008a578063e47d606011610064578063e47d606014610607578063e8078d9414610644578063f2cc0c181461065b578063f84354f114610684576101c2565b8063cba0e99614610562578063db92dbb61461059f578063dd62ed3e146105ca576101c2565b8063a985ceef116100c6578063a985ceef146104e0578063af9549e01461050b578063c3c8cd8014610534578063c9567bf91461054b576101c2565b80638da5cb5b1461044d57806395d89b4114610478578063a9059cbb146104a3576101c2565b80635342acb4116101595780636fc3eaec116101335780636fc3eaec146103b957806370a08231146103d0578063715018a61461040d5780637ded4d6a14610424576101c2565b80635342acb4146103165780635932ead11461035357806368a3a6a51461037c576101c2565b806323b872dd1161019557806323b872dd1461025a57806327f3a72a14610297578063313ce567146102c25780634303443d146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106ad565b6040516101e99190614c09565b60405180910390f35b3480156101fe57600080fd5b50610219600480360381019061021491906146c4565b6106ea565b6040516102269190614bee565b60405180910390f35b34801561023b57600080fd5b50610244610708565b6040516102519190614e6b565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c9190614639565b61071a565b60405161028e9190614bee565b60405180910390f35b3480156102a357600080fd5b506102ac6107f3565b6040516102b99190614e6b565b60405180910390f35b3480156102ce57600080fd5b506102d7610803565b6040516102e49190614ee0565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f91906145ab565b61080c565b005b34801561032257600080fd5b5061033d600480360381019061033891906145ab565b610a6f565b60405161034a9190614bee565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190614700565b610ac5565b005b34801561038857600080fd5b506103a3600480360381019061039e91906145ab565b610bbd565b6040516103b09190614e6b565b60405180910390f35b3480156103c557600080fd5b506103ce610c14565b005b3480156103dc57600080fd5b506103f760048036038101906103f291906145ab565b610c86565b6040516104049190614e6b565b60405180910390f35b34801561041957600080fd5b50610422610cd7565b005b34801561043057600080fd5b5061044b600480360381019061044691906145ab565b610e2a565b005b34801561045957600080fd5b506104626111cc565b60405161046f9190614b20565b60405180910390f35b34801561048457600080fd5b5061048d6111f5565b60405161049a9190614c09565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c591906146c4565b611232565b6040516104d79190614bee565b60405180910390f35b3480156104ec57600080fd5b506104f5611250565b6040516105029190614bee565b60405180910390f35b34801561051757600080fd5b50610532600480360381019061052d9190614688565b611267565b005b34801561054057600080fd5b50610549611357565b005b34801561055757600080fd5b506105606113d1565b005b34801561056e57600080fd5b50610589600480360381019061058491906145ab565b611496565b6040516105969190614bee565b60405180910390f35b3480156105ab57600080fd5b506105b46114ec565b6040516105c19190614e6b565b60405180910390f35b3480156105d657600080fd5b506105f160048036038101906105ec91906145fd565b61151e565b6040516105fe9190614e6b565b60405180910390f35b34801561061357600080fd5b5061062e600480360381019061062991906145ab565b6115a5565b60405161063b9190614bee565b60405180910390f35b34801561065057600080fd5b506106596115fb565b005b34801561066757600080fd5b50610682600480360381019061067d91906145ab565b611b10565b005b34801561069057600080fd5b506106ab60048036038101906106a691906145ab565b611e47565b005b60606040518060400160405280601081526020017f486f6c6f6772617068696320446f676500000000000000000000000000000000815250905090565b60006106fe6106f761222e565b8484612236565b6001905092915050565b600069d3c21bcecceda1000000905090565b6000610727848484612401565b6107e88461073361222e565b6107e38560405180606001604052806028815260200161565b60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061079961222e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b9c9092919063ffffffff16565b612236565b600190509392505050565b60006107fe30610c86565b905090565b60006009905090565b61081461222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089890614d2b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b90614d8b565b60405180910390fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890614ceb565b60405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610acd61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5190614d2b565b60405180910390fd5b80601660156101000a81548160ff0219169083151502179055507f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f28706601660159054906101000a900460ff16604051610bb29190614bee565b60405180910390a150565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015442610c0d9190615031565b9050919050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c5561222e565b73ffffffffffffffffffffffffffffffffffffffff1614610c7557600080fd5b6000479050610c8381612c00565b50565b6000610cd0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cfb565b9050919050565b610cdf61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6390614d2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e3261222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb690614d2b565b60405180910390fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4290614d6b565b60405180910390fd5b60005b6009805490508110156111c8578173ffffffffffffffffffffffffffffffffffffffff1660098281548110610fac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111b557600960016009805490506110079190615031565b8154811061103e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600982815481106110a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600980548061117b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556111c8565b80806111c0906150ff565b915050610f4e565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f484f444f00000000000000000000000000000000000000000000000000000000815250905090565b600061124661123f61222e565b8484612401565b6001905092915050565b6000601660159054906101000a900460ff16905090565b61126f61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f390614d2b565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661139861222e565b73ffffffffffffffffffffffffffffffffffffffff16146113b857600080fd5b60006113c330610c86565b90506113ce81612d69565b50565b6113d961222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145d90614d2b565b60405180910390fd5b6001601660146101000a81548160ff02191690831515021790555060784261148e9190614f50565b601781905550565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000611519601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610c86565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61160361222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168790614d2b565b60405180910390fd5b601660149054906101000a900460ff16156116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790614deb565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061177130601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669d3c21bcecceda1000000612236565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b757600080fd5b505afa1580156117cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ef91906145d4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561185157600080fd5b505afa158015611865573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188991906145d4565b6040518363ffffffff1660e01b81526004016118a6929190614b3b565b602060405180830381600087803b1580156118c057600080fd5b505af11580156118d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f891906145d4565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061198130610c86565b60008061198c6111cc565b426040518863ffffffff1660e01b81526004016119ae96959493929190614b8d565b6060604051808303818588803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a009190614752565b50505069021e19e0c9bab240000060128190555042600f81905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611aba929190614b64565b602060405180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0c9190614729565b5050565b611b1861222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9c90614d2b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1f90614e2b565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611cb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cac90614ccb565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611d8957611d45600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cfb565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506007819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611e4f61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed390614d2b565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5f90614ccb565b60405180910390fd5b60005b60078054905081101561222a578173ffffffffffffffffffffffffffffffffffffffff1660078281548110611fc9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561221757600760016007805490506120249190615031565b8154811061205b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600782815481106120c0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060078054806121dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561222a565b8080612222906150ff565b915050611f6b565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229d90614dcb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230d90614c6b565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516123f49190614e6b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612471576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246890614dab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d890614c2b565b60405180910390fd5b60008111612524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251b90614d4b565b60405180910390fd5b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156125b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a890614e4b565b60405180910390fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561263e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263590614e4b565b60405180910390fd5b6126466111cc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156126b457506126846111cc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612ad957601660159054906101000a900460ff16156127ba57600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff166127b9576040518060600160405280600081526020016000815260200160011515815250600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050505b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156128655750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156128bb5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a1757601660149054906101000a900460ff1661290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290690614e0b565b60405180910390fd5b601660159054906101000a900460ff1615612a1657426017541115612a155760125481111561293d57600080fd5b42600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154106129c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b890614c8b565b60405180910390fd5b600f426129ce9190614f50565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b5b5b6000612a2230610c86565b905060168054906101000a900460ff16158015612a8d5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015612aa55750601660149054906101000a900460ff165b15612ad7576000811115612abd57612abc81612d69565b5b60004790506000811115612ad557612ad447612c00565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612b805750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612b8a57600090505b612b9684848484613061565b50505050565b6000838311158290612be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bdb9190614c09565b60405180910390fd5b5060008385612bf39190615031565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612c5060028461337290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612c7b573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612ccc60028461337290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612cf7573d6000803e3d6000fd5b5050565b6000600b54821115612d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3990614c4b565b60405180910390fd5b6000612d4c6133bc565b9050612d61818461337290919063ffffffff16565b915050919050565b60016016806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612dc6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612df45781602001602082028036833780820191505090505b5090503081600081518110612e32577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612ed457600080fd5b505afa158015612ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0c91906145d4565b81600181518110612f46577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612fad30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612236565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613011959493929190614e86565b600060405180830381600087803b15801561302b57600080fd5b505af115801561303f573d6000803e3d6000fd5b505050505060006016806101000a81548160ff02191690831515021790555050565b8061306f5761306e6133e7565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156131125750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156131275761312284848461342a565b61335e565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156131ca5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156131df576131da84848461368a565b61335d565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156132835750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613298576132938484846138ea565b61335c565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561333a5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561334f5761334a848484613ab5565b61335b565b61335a8484846138ea565b5b5b5b5b8061336c5761336b613daa565b5b50505050565b60006133b483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613dbe565b905092915050565b60008060006133c9613e21565b915091506133e0818361337290919063ffffffff16565b9250505090565b6000600d541480156133fb57506000600e54145b1561340557613428565b600d54601081905550600e546011819055506000600d819055506000600e819055505b565b60008060008060008061343c8761418c565b95509550955095509550955061349a87600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061352f86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135c485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136108161429c565b61361a8483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516136779190614e6b565b60405180910390a3505050505050505050565b60008060008060008061369c8761418c565b9550955095509550955095506136fa86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061378f83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061382485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138708161429c565b61387a8483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516138d79190614e6b565b60405180910390a3505050505050505050565b6000806000806000806138fc8761418c565b95509550955095509550955061395a86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506139ef85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a3b8161429c565b613a458483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613aa29190614e6b565b60405180910390a3505050505050505050565b600080600080600080613ac78761418c565b955095509550955095509550613b2587600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613bba86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c4f83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ce485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613d308161429c565b613d3a8483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613d979190614e6b565b60405180910390a3505050505050505050565b601054600d81905550601154600e81905550565b60008083118290613e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dfc9190614c09565b60405180910390fd5b5060008385613e149190614fa6565b9050809150509392505050565b6000806000600b549050600069d3c21bcecceda1000000905060005b60078054905081101561413f57826002600060078481548110613e89577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180613f9d5750816003600060078481548110613f35577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613fbc57600b5469d3c21bcecceda100000094509450505050614188565b6140726002600060078481548110613ffd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846141f490919063ffffffff16565b925061412a60036000600784815481106140b5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836141f490919063ffffffff16565b91508080614137906150ff565b915050613e3d565b5061415f69d3c21bcecceda1000000600b5461337290919063ffffffff16565b82101561417f57600b5469d3c21bcecceda1000000935093505050614188565b81819350935050505b9091565b60008060008060008060008060006141a98a600d54600e54614393565b92509250925060006141b96133bc565b905060008060006141cc8e878787614429565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061423683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612b9c565b905092915050565b600080828461424d9190614f50565b905083811015614292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161428990614cab565b60405180910390fd5b8091505092915050565b60006142a66133bc565b905060006142bd82846144b290919063ffffffff16565b905061431181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61436e82600b546141f490919063ffffffff16565b600b8190555061438981600c5461423e90919063ffffffff16565b600c819055505050565b6000806000806143bf60646143b1888a6144b290919063ffffffff16565b61337290919063ffffffff16565b905060006143e960646143db888b6144b290919063ffffffff16565b61337290919063ffffffff16565b9050600061441282614404858c6141f490919063ffffffff16565b6141f490919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061444285896144b290919063ffffffff16565b9050600061445986896144b290919063ffffffff16565b9050600061447087896144b290919063ffffffff16565b905060006144998261448b85876141f490919063ffffffff16565b6141f490919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156144c55760009050614527565b600082846144d39190614fd7565b90508284826144e29190614fa6565b14614522576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161451990614d0b565b60405180910390fd5b809150505b92915050565b60008135905061453c81615615565b92915050565b60008151905061455181615615565b92915050565b6000813590506145668161562c565b92915050565b60008151905061457b8161562c565b92915050565b60008135905061459081615643565b92915050565b6000815190506145a581615643565b92915050565b6000602082840312156145bd57600080fd5b60006145cb8482850161452d565b91505092915050565b6000602082840312156145e657600080fd5b60006145f484828501614542565b91505092915050565b6000806040838503121561461057600080fd5b600061461e8582860161452d565b925050602061462f8582860161452d565b9150509250929050565b60008060006060848603121561464e57600080fd5b600061465c8682870161452d565b935050602061466d8682870161452d565b925050604061467e86828701614581565b9150509250925092565b6000806040838503121561469b57600080fd5b60006146a98582860161452d565b92505060206146ba85828601614557565b9150509250929050565b600080604083850312156146d757600080fd5b60006146e58582860161452d565b92505060206146f685828601614581565b9150509250929050565b60006020828403121561471257600080fd5b600061472084828501614557565b91505092915050565b60006020828403121561473b57600080fd5b60006147498482850161456c565b91505092915050565b60008060006060848603121561476757600080fd5b600061477586828701614596565b935050602061478686828701614596565b925050604061479786828701614596565b9150509250925092565b60006147ad83836147b9565b60208301905092915050565b6147c281615065565b82525050565b6147d181615065565b82525050565b60006147e282614f0b565b6147ec8185614f2e565b93506147f783614efb565b8060005b8381101561482857815161480f88826147a1565b975061481a83614f21565b9250506001810190506147fb565b5085935050505092915050565b61483e81615077565b82525050565b61484d816150ba565b82525050565b600061485e82614f16565b6148688185614f3f565b93506148788185602086016150cc565b614881816151a6565b840191505092915050565b6000614899602383614f3f565b91506148a4826151b7565b604082019050919050565b60006148bc602a83614f3f565b91506148c782615206565b604082019050919050565b60006148df602283614f3f565b91506148ea82615255565b604082019050919050565b6000614902602283614f3f565b915061490d826152a4565b604082019050919050565b6000614925601b83614f3f565b9150614930826152f3565b602082019050919050565b6000614948601b83614f3f565b91506149538261531c565b602082019050919050565b600061496b601e83614f3f565b915061497682615345565b602082019050919050565b600061498e602183614f3f565b91506149998261536e565b604082019050919050565b60006149b1602083614f3f565b91506149bc826153bd565b602082019050919050565b60006149d4602983614f3f565b91506149df826153e6565b604082019050919050565b60006149f7601a83614f3f565b9150614a0282615435565b602082019050919050565b6000614a1a602483614f3f565b9150614a258261545e565b604082019050919050565b6000614a3d602583614f3f565b9150614a48826154ad565b604082019050919050565b6000614a60602483614f3f565b9150614a6b826154fc565b604082019050919050565b6000614a83601783614f3f565b9150614a8e8261554b565b602082019050919050565b6000614aa6601883614f3f565b9150614ab182615574565b602082019050919050565b6000614ac9602283614f3f565b9150614ad48261559d565b604082019050919050565b6000614aec601783614f3f565b9150614af7826155ec565b602082019050919050565b614b0b816150a3565b82525050565b614b1a816150ad565b82525050565b6000602082019050614b3560008301846147c8565b92915050565b6000604082019050614b5060008301856147c8565b614b5d60208301846147c8565b9392505050565b6000604082019050614b7960008301856147c8565b614b866020830184614b02565b9392505050565b600060c082019050614ba260008301896147c8565b614baf6020830188614b02565b614bbc6040830187614844565b614bc96060830186614844565b614bd660808301856147c8565b614be360a0830184614b02565b979650505050505050565b6000602082019050614c036000830184614835565b92915050565b60006020820190508181036000830152614c238184614853565b905092915050565b60006020820190508181036000830152614c448161488c565b9050919050565b60006020820190508181036000830152614c64816148af565b9050919050565b60006020820190508181036000830152614c84816148d2565b9050919050565b60006020820190508181036000830152614ca4816148f5565b9050919050565b60006020820190508181036000830152614cc481614918565b9050919050565b60006020820190508181036000830152614ce48161493b565b9050919050565b60006020820190508181036000830152614d048161495e565b9050919050565b60006020820190508181036000830152614d2481614981565b9050919050565b60006020820190508181036000830152614d44816149a4565b9050919050565b60006020820190508181036000830152614d64816149c7565b9050919050565b60006020820190508181036000830152614d84816149ea565b9050919050565b60006020820190508181036000830152614da481614a0d565b9050919050565b60006020820190508181036000830152614dc481614a30565b9050919050565b60006020820190508181036000830152614de481614a53565b9050919050565b60006020820190508181036000830152614e0481614a76565b9050919050565b60006020820190508181036000830152614e2481614a99565b9050919050565b60006020820190508181036000830152614e4481614abc565b9050919050565b60006020820190508181036000830152614e6481614adf565b9050919050565b6000602082019050614e806000830184614b02565b92915050565b600060a082019050614e9b6000830188614b02565b614ea86020830187614844565b8181036040830152614eba81866147d7565b9050614ec960608301856147c8565b614ed66080830184614b02565b9695505050505050565b6000602082019050614ef56000830184614b11565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000614f5b826150a3565b9150614f66836150a3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614f9b57614f9a615148565b5b828201905092915050565b6000614fb1826150a3565b9150614fbc836150a3565b925082614fcc57614fcb615177565b5b828204905092915050565b6000614fe2826150a3565b9150614fed836150a3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561502657615025615148565b5b828202905092915050565b600061503c826150a3565b9150615047836150a3565b92508282101561505a57615059615148565b5b828203905092915050565b600061507082615083565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006150c5826150a3565b9050919050565b60005b838110156150ea5780820151818401526020810190506150cf565b838111156150f9576000848401525b50505050565b600061510a826150a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561513d5761513c615148565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f4163636f756e7420697320616c726561647920626c61636b6c69737465640000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4163636f756e74206973206e6f7420626c61636b6c6973746564000000000000600082015250565b7f57652063616e206e6f7420626c61636b6c69737420556e697377617020726f7560008201527f7465722e00000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b7f57652063616e206e6f74206578636c75646520556e697377617020726f75746560008201527f722e000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f752068617665206e6f20706f776572206865726521000000000000000000600082015250565b61561e81615065565b811461562957600080fd5b50565b61563581615077565b811461564057600080fd5b50565b61564c816150a3565b811461565757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c9adcb0288e734f4673849748a7a5b519ce0eba61ee5f44881f8076c49d7e43e64736f6c6343000804003300000000000000000000000090484bb9bc05fd3b5ff1fe412a492676cd81790c000000000000000000000000b66e9277010a1fa6d08edcb702cf3198c3276308

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c80638da5cb5b116100ec578063cba0e9961161008a578063e47d606011610064578063e47d606014610607578063e8078d9414610644578063f2cc0c181461065b578063f84354f114610684576101c2565b8063cba0e99614610562578063db92dbb61461059f578063dd62ed3e146105ca576101c2565b8063a985ceef116100c6578063a985ceef146104e0578063af9549e01461050b578063c3c8cd8014610534578063c9567bf91461054b576101c2565b80638da5cb5b1461044d57806395d89b4114610478578063a9059cbb146104a3576101c2565b80635342acb4116101595780636fc3eaec116101335780636fc3eaec146103b957806370a08231146103d0578063715018a61461040d5780637ded4d6a14610424576101c2565b80635342acb4146103165780635932ead11461035357806368a3a6a51461037c576101c2565b806323b872dd1161019557806323b872dd1461025a57806327f3a72a14610297578063313ce567146102c25780634303443d146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106ad565b6040516101e99190614c09565b60405180910390f35b3480156101fe57600080fd5b50610219600480360381019061021491906146c4565b6106ea565b6040516102269190614bee565b60405180910390f35b34801561023b57600080fd5b50610244610708565b6040516102519190614e6b565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c9190614639565b61071a565b60405161028e9190614bee565b60405180910390f35b3480156102a357600080fd5b506102ac6107f3565b6040516102b99190614e6b565b60405180910390f35b3480156102ce57600080fd5b506102d7610803565b6040516102e49190614ee0565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f91906145ab565b61080c565b005b34801561032257600080fd5b5061033d600480360381019061033891906145ab565b610a6f565b60405161034a9190614bee565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190614700565b610ac5565b005b34801561038857600080fd5b506103a3600480360381019061039e91906145ab565b610bbd565b6040516103b09190614e6b565b60405180910390f35b3480156103c557600080fd5b506103ce610c14565b005b3480156103dc57600080fd5b506103f760048036038101906103f291906145ab565b610c86565b6040516104049190614e6b565b60405180910390f35b34801561041957600080fd5b50610422610cd7565b005b34801561043057600080fd5b5061044b600480360381019061044691906145ab565b610e2a565b005b34801561045957600080fd5b506104626111cc565b60405161046f9190614b20565b60405180910390f35b34801561048457600080fd5b5061048d6111f5565b60405161049a9190614c09565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c591906146c4565b611232565b6040516104d79190614bee565b60405180910390f35b3480156104ec57600080fd5b506104f5611250565b6040516105029190614bee565b60405180910390f35b34801561051757600080fd5b50610532600480360381019061052d9190614688565b611267565b005b34801561054057600080fd5b50610549611357565b005b34801561055757600080fd5b506105606113d1565b005b34801561056e57600080fd5b50610589600480360381019061058491906145ab565b611496565b6040516105969190614bee565b60405180910390f35b3480156105ab57600080fd5b506105b46114ec565b6040516105c19190614e6b565b60405180910390f35b3480156105d657600080fd5b506105f160048036038101906105ec91906145fd565b61151e565b6040516105fe9190614e6b565b60405180910390f35b34801561061357600080fd5b5061062e600480360381019061062991906145ab565b6115a5565b60405161063b9190614bee565b60405180910390f35b34801561065057600080fd5b506106596115fb565b005b34801561066757600080fd5b50610682600480360381019061067d91906145ab565b611b10565b005b34801561069057600080fd5b506106ab60048036038101906106a691906145ab565b611e47565b005b60606040518060400160405280601081526020017f486f6c6f6772617068696320446f676500000000000000000000000000000000815250905090565b60006106fe6106f761222e565b8484612236565b6001905092915050565b600069d3c21bcecceda1000000905090565b6000610727848484612401565b6107e88461073361222e565b6107e38560405180606001604052806028815260200161565b60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061079961222e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b9c9092919063ffffffff16565b612236565b600190509392505050565b60006107fe30610c86565b905090565b60006009905090565b61081461222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089890614d2b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b90614d8b565b60405180910390fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890614ceb565b60405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610acd61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5190614d2b565b60405180910390fd5b80601660156101000a81548160ff0219169083151502179055507f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f28706601660159054906101000a900460ff16604051610bb29190614bee565b60405180910390a150565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015442610c0d9190615031565b9050919050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c5561222e565b73ffffffffffffffffffffffffffffffffffffffff1614610c7557600080fd5b6000479050610c8381612c00565b50565b6000610cd0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cfb565b9050919050565b610cdf61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6390614d2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e3261222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb690614d2b565b60405180910390fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4290614d6b565b60405180910390fd5b60005b6009805490508110156111c8578173ffffffffffffffffffffffffffffffffffffffff1660098281548110610fac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111b557600960016009805490506110079190615031565b8154811061103e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600982815481106110a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600980548061117b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556111c8565b80806111c0906150ff565b915050610f4e565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f484f444f00000000000000000000000000000000000000000000000000000000815250905090565b600061124661123f61222e565b8484612401565b6001905092915050565b6000601660159054906101000a900460ff16905090565b61126f61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f390614d2b565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661139861222e565b73ffffffffffffffffffffffffffffffffffffffff16146113b857600080fd5b60006113c330610c86565b90506113ce81612d69565b50565b6113d961222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145d90614d2b565b60405180910390fd5b6001601660146101000a81548160ff02191690831515021790555060784261148e9190614f50565b601781905550565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000611519601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610c86565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61160361222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168790614d2b565b60405180910390fd5b601660149054906101000a900460ff16156116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790614deb565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061177130601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669d3c21bcecceda1000000612236565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b757600080fd5b505afa1580156117cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ef91906145d4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561185157600080fd5b505afa158015611865573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188991906145d4565b6040518363ffffffff1660e01b81526004016118a6929190614b3b565b602060405180830381600087803b1580156118c057600080fd5b505af11580156118d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f891906145d4565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061198130610c86565b60008061198c6111cc565b426040518863ffffffff1660e01b81526004016119ae96959493929190614b8d565b6060604051808303818588803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a009190614752565b50505069021e19e0c9bab240000060128190555042600f81905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611aba929190614b64565b602060405180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0c9190614729565b5050565b611b1861222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9c90614d2b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1f90614e2b565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611cb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cac90614ccb565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611d8957611d45600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cfb565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506007819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611e4f61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed390614d2b565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5f90614ccb565b60405180910390fd5b60005b60078054905081101561222a578173ffffffffffffffffffffffffffffffffffffffff1660078281548110611fc9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561221757600760016007805490506120249190615031565b8154811061205b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600782815481106120c0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060078054806121dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561222a565b8080612222906150ff565b915050611f6b565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229d90614dcb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230d90614c6b565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516123f49190614e6b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612471576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246890614dab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d890614c2b565b60405180910390fd5b60008111612524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251b90614d4b565b60405180910390fd5b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156125b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a890614e4b565b60405180910390fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561263e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263590614e4b565b60405180910390fd5b6126466111cc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156126b457506126846111cc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612ad957601660159054906101000a900460ff16156127ba57600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff166127b9576040518060600160405280600081526020016000815260200160011515815250600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050505b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156128655750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156128bb5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a1757601660149054906101000a900460ff1661290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290690614e0b565b60405180910390fd5b601660159054906101000a900460ff1615612a1657426017541115612a155760125481111561293d57600080fd5b42600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154106129c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b890614c8b565b60405180910390fd5b600f426129ce9190614f50565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b5b5b6000612a2230610c86565b905060168054906101000a900460ff16158015612a8d5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015612aa55750601660149054906101000a900460ff165b15612ad7576000811115612abd57612abc81612d69565b5b60004790506000811115612ad557612ad447612c00565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612b805750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612b8a57600090505b612b9684848484613061565b50505050565b6000838311158290612be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bdb9190614c09565b60405180910390fd5b5060008385612bf39190615031565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612c5060028461337290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612c7b573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612ccc60028461337290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612cf7573d6000803e3d6000fd5b5050565b6000600b54821115612d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3990614c4b565b60405180910390fd5b6000612d4c6133bc565b9050612d61818461337290919063ffffffff16565b915050919050565b60016016806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612dc6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612df45781602001602082028036833780820191505090505b5090503081600081518110612e32577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612ed457600080fd5b505afa158015612ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0c91906145d4565b81600181518110612f46577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612fad30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612236565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613011959493929190614e86565b600060405180830381600087803b15801561302b57600080fd5b505af115801561303f573d6000803e3d6000fd5b505050505060006016806101000a81548160ff02191690831515021790555050565b8061306f5761306e6133e7565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156131125750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156131275761312284848461342a565b61335e565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156131ca5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156131df576131da84848461368a565b61335d565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156132835750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613298576132938484846138ea565b61335c565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561333a5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561334f5761334a848484613ab5565b61335b565b61335a8484846138ea565b5b5b5b5b8061336c5761336b613daa565b5b50505050565b60006133b483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613dbe565b905092915050565b60008060006133c9613e21565b915091506133e0818361337290919063ffffffff16565b9250505090565b6000600d541480156133fb57506000600e54145b1561340557613428565b600d54601081905550600e546011819055506000600d819055506000600e819055505b565b60008060008060008061343c8761418c565b95509550955095509550955061349a87600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061352f86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135c485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136108161429c565b61361a8483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516136779190614e6b565b60405180910390a3505050505050505050565b60008060008060008061369c8761418c565b9550955095509550955095506136fa86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061378f83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061382485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138708161429c565b61387a8483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516138d79190614e6b565b60405180910390a3505050505050505050565b6000806000806000806138fc8761418c565b95509550955095509550955061395a86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506139ef85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a3b8161429c565b613a458483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613aa29190614e6b565b60405180910390a3505050505050505050565b600080600080600080613ac78761418c565b955095509550955095509550613b2587600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613bba86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c4f83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ce485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613d308161429c565b613d3a8483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613d979190614e6b565b60405180910390a3505050505050505050565b601054600d81905550601154600e81905550565b60008083118290613e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dfc9190614c09565b60405180910390fd5b5060008385613e149190614fa6565b9050809150509392505050565b6000806000600b549050600069d3c21bcecceda1000000905060005b60078054905081101561413f57826002600060078481548110613e89577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180613f9d5750816003600060078481548110613f35577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613fbc57600b5469d3c21bcecceda100000094509450505050614188565b6140726002600060078481548110613ffd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846141f490919063ffffffff16565b925061412a60036000600784815481106140b5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836141f490919063ffffffff16565b91508080614137906150ff565b915050613e3d565b5061415f69d3c21bcecceda1000000600b5461337290919063ffffffff16565b82101561417f57600b5469d3c21bcecceda1000000935093505050614188565b81819350935050505b9091565b60008060008060008060008060006141a98a600d54600e54614393565b92509250925060006141b96133bc565b905060008060006141cc8e878787614429565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061423683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612b9c565b905092915050565b600080828461424d9190614f50565b905083811015614292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161428990614cab565b60405180910390fd5b8091505092915050565b60006142a66133bc565b905060006142bd82846144b290919063ffffffff16565b905061431181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61436e82600b546141f490919063ffffffff16565b600b8190555061438981600c5461423e90919063ffffffff16565b600c819055505050565b6000806000806143bf60646143b1888a6144b290919063ffffffff16565b61337290919063ffffffff16565b905060006143e960646143db888b6144b290919063ffffffff16565b61337290919063ffffffff16565b9050600061441282614404858c6141f490919063ffffffff16565b6141f490919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061444285896144b290919063ffffffff16565b9050600061445986896144b290919063ffffffff16565b9050600061447087896144b290919063ffffffff16565b905060006144998261448b85876141f490919063ffffffff16565b6141f490919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156144c55760009050614527565b600082846144d39190614fd7565b90508284826144e29190614fa6565b14614522576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161451990614d0b565b60405180910390fd5b809150505b92915050565b60008135905061453c81615615565b92915050565b60008151905061455181615615565b92915050565b6000813590506145668161562c565b92915050565b60008151905061457b8161562c565b92915050565b60008135905061459081615643565b92915050565b6000815190506145a581615643565b92915050565b6000602082840312156145bd57600080fd5b60006145cb8482850161452d565b91505092915050565b6000602082840312156145e657600080fd5b60006145f484828501614542565b91505092915050565b6000806040838503121561461057600080fd5b600061461e8582860161452d565b925050602061462f8582860161452d565b9150509250929050565b60008060006060848603121561464e57600080fd5b600061465c8682870161452d565b935050602061466d8682870161452d565b925050604061467e86828701614581565b9150509250925092565b6000806040838503121561469b57600080fd5b60006146a98582860161452d565b92505060206146ba85828601614557565b9150509250929050565b600080604083850312156146d757600080fd5b60006146e58582860161452d565b92505060206146f685828601614581565b9150509250929050565b60006020828403121561471257600080fd5b600061472084828501614557565b91505092915050565b60006020828403121561473b57600080fd5b60006147498482850161456c565b91505092915050565b60008060006060848603121561476757600080fd5b600061477586828701614596565b935050602061478686828701614596565b925050604061479786828701614596565b9150509250925092565b60006147ad83836147b9565b60208301905092915050565b6147c281615065565b82525050565b6147d181615065565b82525050565b60006147e282614f0b565b6147ec8185614f2e565b93506147f783614efb565b8060005b8381101561482857815161480f88826147a1565b975061481a83614f21565b9250506001810190506147fb565b5085935050505092915050565b61483e81615077565b82525050565b61484d816150ba565b82525050565b600061485e82614f16565b6148688185614f3f565b93506148788185602086016150cc565b614881816151a6565b840191505092915050565b6000614899602383614f3f565b91506148a4826151b7565b604082019050919050565b60006148bc602a83614f3f565b91506148c782615206565b604082019050919050565b60006148df602283614f3f565b91506148ea82615255565b604082019050919050565b6000614902602283614f3f565b915061490d826152a4565b604082019050919050565b6000614925601b83614f3f565b9150614930826152f3565b602082019050919050565b6000614948601b83614f3f565b91506149538261531c565b602082019050919050565b600061496b601e83614f3f565b915061497682615345565b602082019050919050565b600061498e602183614f3f565b91506149998261536e565b604082019050919050565b60006149b1602083614f3f565b91506149bc826153bd565b602082019050919050565b60006149d4602983614f3f565b91506149df826153e6565b604082019050919050565b60006149f7601a83614f3f565b9150614a0282615435565b602082019050919050565b6000614a1a602483614f3f565b9150614a258261545e565b604082019050919050565b6000614a3d602583614f3f565b9150614a48826154ad565b604082019050919050565b6000614a60602483614f3f565b9150614a6b826154fc565b604082019050919050565b6000614a83601783614f3f565b9150614a8e8261554b565b602082019050919050565b6000614aa6601883614f3f565b9150614ab182615574565b602082019050919050565b6000614ac9602283614f3f565b9150614ad48261559d565b604082019050919050565b6000614aec601783614f3f565b9150614af7826155ec565b602082019050919050565b614b0b816150a3565b82525050565b614b1a816150ad565b82525050565b6000602082019050614b3560008301846147c8565b92915050565b6000604082019050614b5060008301856147c8565b614b5d60208301846147c8565b9392505050565b6000604082019050614b7960008301856147c8565b614b866020830184614b02565b9392505050565b600060c082019050614ba260008301896147c8565b614baf6020830188614b02565b614bbc6040830187614844565b614bc96060830186614844565b614bd660808301856147c8565b614be360a0830184614b02565b979650505050505050565b6000602082019050614c036000830184614835565b92915050565b60006020820190508181036000830152614c238184614853565b905092915050565b60006020820190508181036000830152614c448161488c565b9050919050565b60006020820190508181036000830152614c64816148af565b9050919050565b60006020820190508181036000830152614c84816148d2565b9050919050565b60006020820190508181036000830152614ca4816148f5565b9050919050565b60006020820190508181036000830152614cc481614918565b9050919050565b60006020820190508181036000830152614ce48161493b565b9050919050565b60006020820190508181036000830152614d048161495e565b9050919050565b60006020820190508181036000830152614d2481614981565b9050919050565b60006020820190508181036000830152614d44816149a4565b9050919050565b60006020820190508181036000830152614d64816149c7565b9050919050565b60006020820190508181036000830152614d84816149ea565b9050919050565b60006020820190508181036000830152614da481614a0d565b9050919050565b60006020820190508181036000830152614dc481614a30565b9050919050565b60006020820190508181036000830152614de481614a53565b9050919050565b60006020820190508181036000830152614e0481614a76565b9050919050565b60006020820190508181036000830152614e2481614a99565b9050919050565b60006020820190508181036000830152614e4481614abc565b9050919050565b60006020820190508181036000830152614e6481614adf565b9050919050565b6000602082019050614e806000830184614b02565b92915050565b600060a082019050614e9b6000830188614b02565b614ea86020830187614844565b8181036040830152614eba81866147d7565b9050614ec960608301856147c8565b614ed66080830184614b02565b9695505050505050565b6000602082019050614ef56000830184614b11565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000614f5b826150a3565b9150614f66836150a3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614f9b57614f9a615148565b5b828201905092915050565b6000614fb1826150a3565b9150614fbc836150a3565b925082614fcc57614fcb615177565b5b828204905092915050565b6000614fe2826150a3565b9150614fed836150a3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561502657615025615148565b5b828202905092915050565b600061503c826150a3565b9150615047836150a3565b92508282101561505a57615059615148565b5b828203905092915050565b600061507082615083565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006150c5826150a3565b9050919050565b60005b838110156150ea5780820151818401526020810190506150cf565b838111156150f9576000848401525b50505050565b600061510a826150a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561513d5761513c615148565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f4163636f756e7420697320616c726561647920626c61636b6c69737465640000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4163636f756e74206973206e6f7420626c61636b6c6973746564000000000000600082015250565b7f57652063616e206e6f7420626c61636b6c69737420556e697377617020726f7560008201527f7465722e00000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b7f57652063616e206e6f74206578636c75646520556e697377617020726f75746560008201527f722e000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f752068617665206e6f20706f776572206865726521000000000000000000600082015250565b61561e81615065565b811461562957600080fd5b50565b61563581615077565b811461564057600080fd5b50565b61564c816150a3565b811461565757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c9adcb0288e734f4673849748a7a5b519ce0eba61ee5f44881f8076c49d7e43e64736f6c63430008040033

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

00000000000000000000000090484bb9bc05fd3b5ff1fe412a492676cd81790c000000000000000000000000b66e9277010a1fa6d08edcb702cf3198c3276308

-----Decoded View---------------
Arg [0] : FeeAddress (address): 0x90484Bb9bc05fD3B5FF1fe412A492676cd81790C
Arg [1] : FeeAddress2 (address): 0xB66e9277010a1Fa6D08EDCB702cF3198c3276308

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000090484bb9bc05fd3b5ff1fe412a492676cd81790c
Arg [1] : 000000000000000000000000b66e9277010a1fa6d08edcb702cf3198c3276308


Deployed Bytecode Sourcemap

4390:18551:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8227:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9079:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8504:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9248:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22493:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8413:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21472:352;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21206:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19971:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22705:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19773:190;;;;;;;;;;;;;:::i;:::-;;8607:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3469:148;;;;;;;;;;;;;:::i;:::-;;21836:500;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3255:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8318:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8753:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22601:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22348:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19570:191;;;;;;;;;;;;;:::i;:::-;;19429:133;;;;;;;;;;;;;:::i;:::-;;20143:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22837:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8928:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21341:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18635:786;;;;;;;;;;;;;:::i;:::-;;20265:443;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20716:478;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8227:83;8264:13;8297:5;;;;;;;;;;;;;;;;;8290:12;;8227:83;:::o;9079:161::-;9154:4;9171:39;9180:12;:10;:12::i;:::-;9194:7;9203:6;9171:8;:39::i;:::-;9228:4;9221:11;;9079:161;;;;:::o;8504:95::-;8557:7;5033:12;8577:14;;8504:95;:::o;9248:313::-;9346:4;9363:36;9373:6;9381:9;9392:6;9363:9;:36::i;:::-;9410:121;9419:6;9427:12;:10;:12::i;:::-;9441:89;9479:6;9441:89;;;;;;;;;;;;;;;;;:11;:19;9453:6;9441:19;;;;;;;;;;;;;;;:33;9461:12;:10;:12::i;:::-;9441:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9410:8;:121::i;:::-;9549:4;9542:11;;9248:313;;;;;:::o;22493:100::-;22537:4;22561:24;22579:4;22561:9;:24::i;:::-;22554:31;;22493:100;:::o;8413:83::-;8454:5;5294:1;8472:16;;8413:83;:::o;21472:352::-;3392:12;:10;:12::i;:::-;3382:22;;:6;;;;;;;;;;:22;;;3374:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21567:42:::1;21556:53;;:7;:53;;;;21548:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;21670:17;:26;21688:7;21670:26;;;;;;;;;;;;;;;;;;;;;;;;;21669:27;21661:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;21771:4;21742:17;:26;21760:7;21742:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;21786:16;21808:7;21786:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21472:352:::0;:::o;21206:123::-;21270:4;21294:18;:27;21313:7;21294:27;;;;;;;;;;;;;;;;;;;;;;;;;21287:34;;21206:123;;;:::o;19971:160::-;3392:12;:10;:12::i;:::-;3382:22;;:6;;;;;;;;;;:22;;;3374:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20062:5:::1;20043:16;;:24;;;;;;;;;;;;;;;;;;20083:40;20106:16;;;;;;;;;;;20083:40;;;;;;:::i;:::-;;;;;;;;19971:160:::0;:::o;22705:124::-;22760:4;22802:8;:15;22811:5;22802:15;;;;;;;;;;;;;;;:19;;;22784:15;:37;;;;:::i;:::-;22777:44;;22705:124;;;:::o;19773:190::-;19839:11;;;;;;;;;;;19823:27;;:12;:10;:12::i;:::-;:27;;;19815:36;;;;;;19862:26;19891:21;19862:50;;19923:32;19936:18;19923:12;:32::i;:::-;19773:190;:::o;8607:138::-;8673:7;8700:37;8720:7;:16;8728:7;8720:16;;;;;;;;;;;;;;;;8700:19;:37::i;:::-;8693:44;;8607:138;;;:::o;3469:148::-;3392:12;:10;:12::i;:::-;3382:22;;:6;;;;;;;;;;:22;;;3374:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3576:1:::1;3539:40;;3560:6;::::0;::::1;;;;;;;;3539:40;;;;;;;;;;;;3607:1;3590:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3469:148::o:0;21836:500::-;3392:12;:10;:12::i;:::-;3382:22;;:6;;;;;;;;;;:22;;;3374:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21925:17:::1;:26;21943:7;21925:26;;;;;;;;;;;;;;;;;;;;;;;;;21917:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;21998:9;21993:336;22017:16;:23;;;;22013:1;:27;21993:336;;;22089:7;22066:30;;:16;22083:1;22066:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;22062:256;;;22139:16;22182:1;22156:16;:23;;;;:27;;;;:::i;:::-;22139:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22117:16;22134:1;22117:19;;;;;;;;;;;;;;;;;;;;;;;;:67;;;;;;;;;;;;;;;;;;22232:5;22203:17;:26;22221:7;22203:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;22256:16;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22297:5;;22062:256;22042:3;;;;;:::i;:::-;;;;21993:336;;;;21836:500:::0;:::o;3255:79::-;3293:7;3320:6;;;;;;;;;;;3313:13;;3255:79;:::o;8318:87::-;8357:13;8390:7;;;;;;;;;;;;;;;;;8383:14;;8318:87;:::o;8753:167::-;8831:4;8848:42;8858:12;:10;:12::i;:::-;8872:9;8883:6;8848:9;:42::i;:::-;8908:4;8901:11;;8753:167;;;;:::o;22601:96::-;22649:4;22673:16;;;;;;;;;;;22666:23;;22601:96;:::o;22348:137::-;3392:12;:10;:12::i;:::-;3382:22;;:6;;;;;;;;;;:22;;;3374:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22469:8:::1;22439:18;:27;22458:7;22439:27;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;22348:137:::0;;:::o;19570:191::-;19636:11;;;;;;;;;;;19620:27;;:12;:10;:12::i;:::-;:27;;;19612:36;;;;;;19659:23;19685:24;19703:4;19685:9;:24::i;:::-;19659:50;;19720:33;19737:15;19720:16;:33::i;:::-;19570:191;:::o;19429:133::-;3392:12;:10;:12::i;:::-;3382:22;;:6;;;;;;;;;;:22;;;3374:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19494:4:::1;19480:11;;:18;;;;;;;;;;;;;;;;;;19542:11;19523:15;:31;;;;:::i;:::-;19509:11;:45;;;;19429:133::o:0;20143:110::-;20201:4;20225:11;:20;20237:7;20225:20;;;;;;;;;;;;;;;;;;;;;;;;;20218:27;;20143:110;;;:::o;22837:101::-;22882:4;22906:24;22916:13;;;;;;;;;;;22906:9;:24::i;:::-;22899:31;;22837:101;:::o;8928:143::-;9009:7;9036:11;:18;9048:5;9036:18;;;;;;;;;;;;;;;:27;9055:7;9036:27;;;;;;;;;;;;;;;;9029:34;;8928:143;;;;:::o;21341:119::-;21402:4;21426:17;:26;21444:7;21426:26;;;;;;;;;;;;;;;;;;;;;;;;;21419:33;;21341:119;;;:::o;18635:786::-;3392:12;:10;:12::i;:::-;3382:22;;:6;;;;;;;;;;:22;;;3374:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18700:11:::1;;;;;;;;;;;18699:12;18691:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;18749:35;18806:42;18749:100;;18878:16;18860:15;;:34;;;;;;;;;;;;;;;;;;18905:58;18922:4;18937:15;;;;;;;;;;;5033:12;18905:8;:58::i;:::-;19008:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18990:56;;;19055:4;19062:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18990:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18974:13;;:112;;;;;;;;;;;;;;;;;;19097:15;;;;;;;;;;;:31;;;19136:21;19167:4;19173:24;19191:4;19173:9;:24::i;:::-;19198:1;19200::::0;19202:7:::1;:5;:7::i;:::-;19210:15;19097:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19253:22;19237:13;:38;;;;19316:15;19302:11;:29;;;;19349:13;;;;;;;;;;;19342:29;;;19380:15;;;;;;;;;;;19398:14;19342:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3452:1;18635:786::o:0;20265:443::-;3392:12;:10;:12::i;:::-;3382:22;;:6;;;;;;;;;;:22;;;3374:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20357:42:::1;20346:53;;:7;:53;;;;20338:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;20458:11;:20;20470:7;20458:20;;;;;;;;;;;;;;;;;;;;;;;;;20457:21;20449:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;20543:1;20524:7;:16;20532:7;20524:16;;;;;;;;;;;;;;;;:20;20521:108;;;20580:37;20600:7;:16;20608:7;20600:16;;;;;;;;;;;;;;;;20580:19;:37::i;:::-;20561:7;:16;20569:7;20561:16;;;;;;;;;;;;;;;:56;;;;20521:108;20662:4;20639:11;:20;20651:7;20639:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;20677:9;20692:7;20677:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20265:443:::0;:::o;20716:478::-;3392:12;:10;:12::i;:::-;3382:22;;:6;;;;;;;;;;:22;;;3374:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20797:11:::1;:20;20809:7;20797:20;;;;;;;;;;;;;;;;;;;;;;;;;20789:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;20865:9;20860:327;20884:9;:16;;;;20880:1;:20;20860:327;;;20942:7;20926:23;;:9;20936:1;20926:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;20922:254;;;20985:9;21014:1;20995:9;:16;;;;:20;;;;:::i;:::-;20985:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20970:9;20980:1;20970:12;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;21054:1;21035:7;:16;21043:7;21035:16;;;;;;;;;;;;;;;:20;;;;21097:5;21074:11;:20;21086:7;21074:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;21121:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21155:5;;20922:254;20902:3;;;;;:::i;:::-;;;;20860:327;;;;20716:478:::0;:::o;664:98::-;717:7;744:10;737:17;;664:98;:::o;10176:335::-;10286:1;10269:19;;:5;:19;;;;10261:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10367:1;10348:21;;:7;:21;;;;10340:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10449:6;10419:11;:18;10431:5;10419:18;;;;;;;;;;;;;;;:27;10438:7;10419:27;;;;;;;;;;;;;;;:36;;;;10487:7;10471:32;;10480:5;10471:32;;;10496:6;10471:32;;;;;;:::i;:::-;;;;;;;;10176:335;;;:::o;10519:1975::-;10623:1;10607:18;;:4;:18;;;;10599:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10700:1;10686:16;;:2;:16;;;;10678:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10770:1;10761:6;:10;10753:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10837:17;:21;10855:2;10837:21;;;;;;;;;;;;;;;;;;;;;;;;;10836:22;10828:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;10906:17;:29;10924:10;10906:29;;;;;;;;;;;;;;;;;;;;;;;;;10905:30;10897:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;10987:7;:5;:7::i;:::-;10979:15;;:4;:15;;;;:32;;;;;11004:7;:5;:7::i;:::-;10998:13;;:2;:13;;;;10979:32;10976:1314;;;11031:16;;;;;;;;;;;11028:168;;;11072:8;:20;11081:10;11072:20;;;;;;;;;;;;;;;:27;;;;;;;;;;;;11068:113;;11147:14;;;;;;;;11152:1;11147:14;;;;11154:1;11147:14;;;;11156:4;11147:14;;;;;11124:8;:20;11133:10;11124:20;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11068:113;11028:168;11243:13;;;;;;;;;;;11235:21;;:4;:21;;;:55;;;;;11274:15;;;;;;;;;;;11260:30;;:2;:30;;;;11235:55;:82;;;;;11295:18;:22;11314:2;11295:22;;;;;;;;;;;;;;;;;;;;;;;;;11294:23;11235:82;11232:552;;;11346:11;;;;;;;;;;;11338:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11408:16;;;;;;;;;;;11405:364;;;11466:15;11452:11;;:29;11449:301;;;11528:13;;11518:6;:23;;11510:32;;;;;;11596:15;11577:8;:12;11586:2;11577:12;;;;;;;;;;;;;;;:16;;;:34;11569:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11715:10;11696:15;:30;;;;:::i;:::-;11677:8;:12;11686:2;11677:12;;;;;;;;;;;;;;;:16;;:49;;;;11449:301;11405:364;11232:552;11798:28;11829:24;11847:4;11829:9;:24::i;:::-;11798:55;;11895:6;;;;;;;;;;11894:7;:32;;;;;11913:13;;;;;;;;;;;11905:21;;:4;:21;;;;11894:32;:47;;;;;11930:11;;;;;;;;;;;11894:47;11891:388;;;11988:1;11965:20;:24;11962:110;;;12014:38;12031:20;12014:16;:38::i;:::-;11962:110;12090:26;12119:21;12090:50;;12183:1;12162:18;:22;12159:105;;;12209:35;12222:21;12209:12;:35::i;:::-;12159:105;11891:388;;10976:1314;;12300:12;12315:4;12300:19;;12335:18;:24;12354:4;12335:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12363:18;:22;12382:2;12363:22;;;;;;;;;;;;;;;;;;;;;;;;;12335:50;12332:96;;;12411:5;12401:15;;12332:96;12448:38;12463:4;12468:2;12471:6;12478:7;12448:14;:38::i;:::-;10519:1975;;;;:::o;1801:190::-;1887:7;1920:1;1915;:6;;1923:12;1907:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1947:9;1963:1;1959;:5;;;;:::i;:::-;1947:17;;1982:1;1975:8;;;1801:190;;;;;:::o;13001:147::-;13058:11;;;;;;;;;;;:20;;:35;13079:13;13090:1;13079:6;:10;;:13;;;;:::i;:::-;13058:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13104:12;;;;;;;;;;;:21;;:36;13126:13;13137:1;13126:6;:10;;:13;;;;:::i;:::-;13104:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13001:147;:::o;9569:254::-;9636:7;9675;;9664;:18;;9656:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9740:19;9763:10;:8;:10::i;:::-;9740:33;;9791:24;9803:11;9791:7;:11;;:24;;;;:::i;:::-;9784:31;;;9569:254;;;:::o;12502:483::-;6093:4;6084:6;;:13;;;;;;;;;;;;;;;;;;12580:21:::1;12618:1;12604:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12580:40;;12649:4;12631;12636:1;12631:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;12675:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12665:4;12670:1;12665:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;12708:62;12725:4;12740:15;;;;;;;;;;;12758:11;12708:8;:62::i;:::-;12781:15;;;;;;;;;;;:66;;;12862:11;12888:1;12904:4;12931;12951:15;12781:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6108:1;6129:5:::0;6120:6;;:14;;;;;;;;;;;;;;;;;;12502:483;:::o;13160:815::-;13272:7;13268:40;;13294:14;:12;:14::i;:::-;13268:40;13323:11;:19;13335:6;13323:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;13347:11;:22;13359:9;13347:22;;;;;;;;;;;;;;;;;;;;;;;;;13346:23;13323:46;13319:597;;;13386:48;13408:6;13416:9;13427:6;13386:21;:48::i;:::-;13319:597;;;13457:11;:19;13469:6;13457:19;;;;;;;;;;;;;;;;;;;;;;;;;13456:20;:46;;;;;13480:11;:22;13492:9;13480:22;;;;;;;;;;;;;;;;;;;;;;;;;13456:46;13452:464;;;13519:46;13539:6;13547:9;13558:6;13519:19;:46::i;:::-;13452:464;;;13588:11;:19;13600:6;13588:19;;;;;;;;;;;;;;;;;;;;;;;;;13587:20;:47;;;;;13612:11;:22;13624:9;13612:22;;;;;;;;;;;;;;;;;;;;;;;;;13611:23;13587:47;13583:333;;;13651:44;13669:6;13677:9;13688:6;13651:17;:44::i;:::-;13583:333;;;13717:11;:19;13729:6;13717:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;13740:11;:22;13752:9;13740:22;;;;;;;;;;;;;;;;;;;;;;;;;13717:45;13713:203;;;13779:48;13801:6;13809:9;13820:6;13779:21;:48::i;:::-;13713:203;;;13860:44;13878:6;13886:9;13897:6;13860:17;:44::i;:::-;13713:203;13583:333;13452:464;13319:597;13930:7;13926:41;;13952:15;:13;:15::i;:::-;13926:41;13160:815;;;;:::o;2252:132::-;2310:7;2337:39;2341:1;2344;2337:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2330:46;;2252:132;;;;:::o;17067:163::-;17108:7;17129:15;17146;17165:19;:17;:19::i;:::-;17128:56;;;;17202:20;17214:7;17202;:11;;:20;;;;:::i;:::-;17195:27;;;;17067:163;:::o;9831:210::-;9888:1;9877:7;;:12;:29;;;;;9905:1;9893:8;;:13;9877:29;9874:41;;;9908:7;;9874:41;9943:7;;9925:15;:25;;;;9980:8;;9961:16;:27;;;;10009:1;9999:7;:11;;;;10032:1;10021:8;:12;;;;9831:210;:::o;15047:549::-;15150:15;15167:23;15192:12;15206:23;15231:12;15245:13;15262:19;15273:7;15262:10;:19::i;:::-;15149:132;;;;;;;;;;;;15310:28;15330:7;15310;:15;15318:6;15310:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15292:7;:15;15300:6;15292:15;;;;;;;;;;;;;;;:46;;;;15367:28;15387:7;15367;:15;15375:6;15367:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15349:7;:15;15357:6;15349:15;;;;;;;;;;;;;;;:46;;;;15427:39;15450:15;15427:7;:18;15435:9;15427:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15406:7;:18;15414:9;15406:18;;;;;;;;;;;;;;;:60;;;;15478:16;15488:5;15478:9;:16::i;:::-;15505:23;15517:4;15523;15505:11;:23::i;:::-;15561:9;15544:44;;15553:6;15544:44;;;15572:15;15544:44;;;;;;:::i;:::-;;;;;;;;15047:549;;;;;;;;;:::o;14477:564::-;14578:15;14595:23;14620:12;14634:23;14659:12;14673:13;14690:19;14701:7;14690:10;:19::i;:::-;14577:132;;;;;;;;;;;;14738:28;14758:7;14738;:15;14746:6;14738:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14720:7;:15;14728:6;14720:15;;;;;;;;;;;;;;;:46;;;;14798:39;14821:15;14798:7;:18;14806:9;14798:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14777:7;:18;14785:9;14777:18;;;;;;;;;;;;;;;:60;;;;14869:39;14892:15;14869:7;:18;14877:9;14869:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14848:7;:18;14856:9;14848:18;;;;;;;;;;;;;;;:60;;;;14923:16;14933:5;14923:9;:16::i;:::-;14950:23;14962:4;14968;14950:11;:23::i;:::-;15006:9;14989:44;;14998:6;14989:44;;;15017:15;14989:44;;;;;;:::i;:::-;;;;;;;;14477:564;;;;;;;;;:::o;13983:488::-;14082:15;14099:23;14124:12;14138:23;14163:12;14177:13;14194:19;14205:7;14194:10;:19::i;:::-;14081:132;;;;;;;;;;;;14242:28;14262:7;14242;:15;14250:6;14242:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14224:7;:15;14232:6;14224:15;;;;;;;;;;;;;;;:46;;;;14302:39;14325:15;14302:7;:18;14310:9;14302:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14281:7;:18;14289:9;14281:18;;;;;;;;;;;;;;;:60;;;;14353:16;14363:5;14353:9;:16::i;:::-;14380:23;14392:4;14398;14380:11;:23::i;:::-;14436:9;14419:44;;14428:6;14419:44;;;14447:15;14419:44;;;;;;:::i;:::-;;;;;;;;13983:488;;;;;;;;;:::o;15602:622::-;15705:15;15722:23;15747:12;15761:23;15786:12;15800:13;15817:19;15828:7;15817:10;:19::i;:::-;15704:132;;;;;;;;;;;;15865:28;15885:7;15865;:15;15873:6;15865:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15847:7;:15;15855:6;15847:15;;;;;;;;;;;;;;;:46;;;;15922:28;15942:7;15922;:15;15930:6;15922:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15904:7;:15;15912:6;15904:15;;;;;;;;;;;;;;;:46;;;;15982:39;16005:15;15982:7;:18;15990:9;15982:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15961:7;:18;15969:9;15961:18;;;;;;;;;;;;;;;:60;;;;16053:39;16076:15;16053:7;:18;16061:9;16053:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;16032:7;:18;16040:9;16032:18;;;;;;;;;;;;;;;:60;;;;16106:16;16116:5;16106:9;:16::i;:::-;16133:23;16145:4;16151;16133:11;:23::i;:::-;16189:9;16172:44;;16181:6;16172:44;;;16200:15;16172:44;;;;;;:::i;:::-;;;;;;;;15602:622;;;;;;;;;:::o;10053:115::-;10107:15;;10097:7;:25;;;;10144:16;;10133:8;:27;;;;10053:115::o;2392:189::-;2478:7;2510:1;2506;:5;2513:12;2498:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2537:9;2553:1;2549;:5;;;;:::i;:::-;2537:17;;2572:1;2565:8;;;2392:189;;;;;:::o;17238:554::-;17288:7;17297;17317:15;17335:7;;17317:25;;17353:15;5033:12;17353:25;;17394:9;17389:289;17413:9;:16;;;;17409:1;:20;17389:289;;;17479:7;17455;:21;17463:9;17473:1;17463:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17455:21;;;;;;;;;;;;;;;;:31;:66;;;;17514:7;17490;:21;17498:9;17508:1;17498:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17490:21;;;;;;;;;;;;;;;;:31;17455:66;17451:97;;;17531:7;;5033:12;17523:25;;;;;;;;;17451:97;17573:34;17585:7;:21;17593:9;17603:1;17593:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17585:21;;;;;;;;;;;;;;;;17573:7;:11;;:34;;;;:::i;:::-;17563:44;;17632:34;17644:7;:21;17652:9;17662:1;17652:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17644:21;;;;;;;;;;;;;;;;17632:7;:11;;:34;;;;:::i;:::-;17622:44;;17431:3;;;;;:::i;:::-;;;;17389:289;;;;17701:20;5033:12;17701:7;;:11;;:20;;;;:::i;:::-;17691:7;:30;17688:60;;;17731:7;;5033:12;17723:25;;;;;;;;17688:60;17767:7;17776;17759:25;;;;;;17238:554;;;:::o;16232:468::-;16291:7;16300;16309;16318;16327;16336;16357:23;16382:12;16396:13;16413:39;16425:7;16434;;16443:8;;16413:11;:39::i;:::-;16356:96;;;;;;16463:19;16486:10;:8;:10::i;:::-;16463:33;;16508:15;16525:23;16550:12;16566:46;16578:7;16587:4;16593:5;16600:11;16566;:46::i;:::-;16507:105;;;;;;16631:7;16640:15;16657:4;16663:15;16680:4;16686:5;16623:69;;;;;;;;;;;;;;;;;;;16232:468;;;;;;;:::o;1657:136::-;1715:7;1742:43;1746:1;1749;1742:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1735:50;;1657:136;;;;:::o;1470:179::-;1528:7;1548:9;1564:1;1560;:5;;;;:::i;:::-;1548:17;;1589:1;1584;:6;;1576:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1640:1;1633:8;;;1470:179;;;;:::o;18217:214::-;18270:19;18293:10;:8;:10::i;:::-;18270:33;;18314:13;18330:22;18340:11;18330:5;:9;;:22;;;;:::i;:::-;18314:38;;18390:33;18417:5;18390:7;:22;18406:4;18390:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;18365:7;:22;18381:4;18365:22;;;;;;;;;;;;;;;:58;;;;18217:214;;;:::o;18439:147::-;18517:17;18529:4;18517:7;;:11;;:17;;;;:::i;:::-;18507:7;:27;;;;18558:20;18573:4;18558:10;;:14;;:20;;;;:::i;:::-;18545:10;:33;;;;18439:147;;:::o;16708:351::-;16801:7;16810;16819;16839:12;16854:28;16878:3;16854:19;16866:6;16854:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16839:43;;16893:13;16909:29;16934:3;16909:20;16921:7;16909;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;16893:45;;16949:23;16975:28;16997:5;16975:17;16987:4;16975:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16949:54;;17022:15;17039:4;17045:5;17014:37;;;;;;;;;16708:351;;;;;;;:::o;17800:409::-;17910:7;17919;17928;17948:15;17966:24;17978:11;17966:7;:11;;:24;;;;:::i;:::-;17948:42;;18001:12;18016:21;18025:11;18016:4;:8;;:21;;;;:::i;:::-;18001:36;;18048:13;18064:22;18074:11;18064:5;:9;;:22;;;;:::i;:::-;18048:38;;18097:23;18123:28;18145:5;18123:17;18135:4;18123:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;18097:54;;18170:7;18179:15;18196:4;18162:39;;;;;;;;;;17800:409;;;;;;;;:::o;1999:245::-;2057:7;2085:1;2080;:6;2077:46;;;2110:1;2103:8;;;;2077:46;2133:9;2149:1;2145;:5;;;;:::i;:::-;2133:17;;2178:1;2173;2169;:5;;;;:::i;:::-;:10;2161:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2235:1;2228:8;;;1999:245;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:262::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;1001:1;998;991:12;953:2;1044:1;1069:53;1114:7;1105:6;1094:9;1090:22;1069:53;:::i;:::-;1059:63;;1015:117;943:196;;;;:::o;1145:284::-;1215:6;1264:2;1252:9;1243:7;1239:23;1235:32;1232:2;;;1280:1;1277;1270:12;1232:2;1323:1;1348:64;1404:7;1395:6;1384:9;1380:22;1348:64;:::i;:::-;1338:74;;1294:128;1222:207;;;;:::o;1435:407::-;1503:6;1511;1560:2;1548:9;1539:7;1535:23;1531:32;1528:2;;;1576:1;1573;1566:12;1528:2;1619:1;1644:53;1689:7;1680:6;1669:9;1665:22;1644:53;:::i;:::-;1634:63;;1590:117;1746:2;1772:53;1817:7;1808:6;1797:9;1793:22;1772:53;:::i;:::-;1762:63;;1717:118;1518:324;;;;;:::o;1848:552::-;1925:6;1933;1941;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2049:1;2074:53;2119:7;2110:6;2099:9;2095:22;2074:53;:::i;:::-;2064:63;;2020:117;2176:2;2202:53;2247:7;2238:6;2227:9;2223:22;2202:53;:::i;:::-;2192:63;;2147:118;2304:2;2330:53;2375:7;2366:6;2355:9;2351:22;2330:53;:::i;:::-;2320:63;;2275:118;1948:452;;;;;:::o;2406:401::-;2471:6;2479;2528:2;2516:9;2507:7;2503:23;2499:32;2496:2;;;2544:1;2541;2534:12;2496:2;2587:1;2612:53;2657:7;2648:6;2637:9;2633:22;2612:53;:::i;:::-;2602:63;;2558:117;2714:2;2740:50;2782:7;2773:6;2762:9;2758:22;2740:50;:::i;:::-;2730:60;;2685:115;2486:321;;;;;:::o;2813:407::-;2881:6;2889;2938:2;2926:9;2917:7;2913:23;2909:32;2906:2;;;2954:1;2951;2944:12;2906:2;2997:1;3022:53;3067:7;3058:6;3047:9;3043:22;3022:53;:::i;:::-;3012:63;;2968:117;3124:2;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3095:118;2896:324;;;;;:::o;3226:256::-;3282:6;3331:2;3319:9;3310:7;3306:23;3302:32;3299:2;;;3347:1;3344;3337:12;3299:2;3390:1;3415:50;3457:7;3448:6;3437:9;3433:22;3415:50;:::i;:::-;3405:60;;3361:114;3289:193;;;;:::o;3488:278::-;3555:6;3604:2;3592:9;3583:7;3579:23;3575:32;3572:2;;;3620:1;3617;3610:12;3572:2;3663:1;3688:61;3741:7;3732:6;3721:9;3717:22;3688:61;:::i;:::-;3678:71;;3634:125;3562:204;;;;:::o;3772:596::-;3860:6;3868;3876;3925:2;3913:9;3904:7;3900:23;3896:32;3893:2;;;3941:1;3938;3931:12;3893:2;3984:1;4009:64;4065:7;4056:6;4045:9;4041:22;4009:64;:::i;:::-;3999:74;;3955:128;4122:2;4148:64;4204:7;4195:6;4184:9;4180:22;4148:64;:::i;:::-;4138:74;;4093:129;4261:2;4287:64;4343:7;4334:6;4323:9;4319:22;4287:64;:::i;:::-;4277:74;;4232:129;3883:485;;;;;:::o;4374:179::-;4443:10;4464:46;4506:3;4498:6;4464:46;:::i;:::-;4542:4;4537:3;4533:14;4519:28;;4454:99;;;;:::o;4559:108::-;4636:24;4654:5;4636:24;:::i;:::-;4631:3;4624:37;4614:53;;:::o;4673:118::-;4760:24;4778:5;4760:24;:::i;:::-;4755:3;4748:37;4738:53;;:::o;4827:732::-;4946:3;4975:54;5023:5;4975:54;:::i;:::-;5045:86;5124:6;5119:3;5045:86;:::i;:::-;5038:93;;5155:56;5205:5;5155:56;:::i;:::-;5234:7;5265:1;5250:284;5275:6;5272:1;5269:13;5250:284;;;5351:6;5345:13;5378:63;5437:3;5422:13;5378:63;:::i;:::-;5371:70;;5464:60;5517:6;5464:60;:::i;:::-;5454:70;;5310:224;5297:1;5294;5290:9;5285:14;;5250:284;;;5254:14;5550:3;5543:10;;4951:608;;;;;;;:::o;5565:109::-;5646:21;5661:5;5646:21;:::i;:::-;5641:3;5634:34;5624:50;;:::o;5680:147::-;5775:45;5814:5;5775:45;:::i;:::-;5770:3;5763:58;5753:74;;:::o;5833:364::-;5921:3;5949:39;5982:5;5949:39;:::i;:::-;6004:71;6068:6;6063:3;6004:71;:::i;:::-;5997:78;;6084:52;6129:6;6124:3;6117:4;6110:5;6106:16;6084:52;:::i;:::-;6161:29;6183:6;6161:29;:::i;:::-;6156:3;6152:39;6145:46;;5925:272;;;;;:::o;6203:366::-;6345:3;6366:67;6430:2;6425:3;6366:67;:::i;:::-;6359:74;;6442:93;6531:3;6442:93;:::i;:::-;6560:2;6555:3;6551:12;6544:19;;6349:220;;;:::o;6575:366::-;6717:3;6738:67;6802:2;6797:3;6738:67;:::i;:::-;6731:74;;6814:93;6903:3;6814:93;:::i;:::-;6932:2;6927:3;6923:12;6916:19;;6721:220;;;:::o;6947:366::-;7089:3;7110:67;7174:2;7169:3;7110:67;:::i;:::-;7103:74;;7186:93;7275:3;7186:93;:::i;:::-;7304:2;7299:3;7295:12;7288:19;;7093:220;;;:::o;7319:366::-;7461:3;7482:67;7546:2;7541:3;7482:67;:::i;:::-;7475:74;;7558:93;7647:3;7558:93;:::i;:::-;7676:2;7671:3;7667:12;7660:19;;7465:220;;;:::o;7691:366::-;7833:3;7854:67;7918:2;7913:3;7854:67;:::i;:::-;7847:74;;7930:93;8019:3;7930:93;:::i;:::-;8048:2;8043:3;8039:12;8032:19;;7837:220;;;:::o;8063:366::-;8205:3;8226:67;8290:2;8285:3;8226:67;:::i;:::-;8219:74;;8302:93;8391:3;8302:93;:::i;:::-;8420:2;8415:3;8411:12;8404:19;;8209:220;;;:::o;8435:366::-;8577:3;8598:67;8662:2;8657:3;8598:67;:::i;:::-;8591:74;;8674:93;8763:3;8674:93;:::i;:::-;8792:2;8787:3;8783:12;8776:19;;8581:220;;;:::o;8807:366::-;8949:3;8970:67;9034:2;9029:3;8970:67;:::i;:::-;8963:74;;9046:93;9135:3;9046:93;:::i;:::-;9164:2;9159:3;9155:12;9148:19;;8953:220;;;:::o;9179:366::-;9321:3;9342:67;9406:2;9401:3;9342:67;:::i;:::-;9335:74;;9418:93;9507:3;9418:93;:::i;:::-;9536:2;9531:3;9527:12;9520:19;;9325:220;;;:::o;9551:366::-;9693:3;9714:67;9778:2;9773:3;9714:67;:::i;:::-;9707:74;;9790:93;9879:3;9790:93;:::i;:::-;9908:2;9903:3;9899:12;9892:19;;9697:220;;;:::o;9923:366::-;10065:3;10086:67;10150:2;10145:3;10086:67;:::i;:::-;10079:74;;10162:93;10251:3;10162:93;:::i;:::-;10280:2;10275:3;10271:12;10264:19;;10069:220;;;:::o;10295:366::-;10437:3;10458:67;10522:2;10517:3;10458:67;:::i;:::-;10451:74;;10534:93;10623:3;10534:93;:::i;:::-;10652:2;10647:3;10643:12;10636:19;;10441:220;;;:::o;10667:366::-;10809:3;10830:67;10894:2;10889:3;10830:67;:::i;:::-;10823:74;;10906:93;10995:3;10906:93;:::i;:::-;11024:2;11019:3;11015:12;11008:19;;10813:220;;;:::o;11039:366::-;11181:3;11202:67;11266:2;11261:3;11202:67;:::i;:::-;11195:74;;11278:93;11367:3;11278:93;:::i;:::-;11396:2;11391:3;11387:12;11380:19;;11185:220;;;:::o;11411:366::-;11553:3;11574:67;11638:2;11633:3;11574:67;:::i;:::-;11567:74;;11650:93;11739:3;11650:93;:::i;:::-;11768:2;11763:3;11759:12;11752:19;;11557:220;;;:::o;11783:366::-;11925:3;11946:67;12010:2;12005:3;11946:67;:::i;:::-;11939:74;;12022:93;12111:3;12022:93;:::i;:::-;12140:2;12135:3;12131:12;12124:19;;11929:220;;;:::o;12155:366::-;12297:3;12318:67;12382:2;12377:3;12318:67;:::i;:::-;12311:74;;12394:93;12483:3;12394:93;:::i;:::-;12512:2;12507:3;12503:12;12496:19;;12301:220;;;:::o;12527:366::-;12669:3;12690:67;12754:2;12749:3;12690:67;:::i;:::-;12683:74;;12766:93;12855:3;12766:93;:::i;:::-;12884:2;12879:3;12875:12;12868:19;;12673:220;;;:::o;12899:118::-;12986:24;13004:5;12986:24;:::i;:::-;12981:3;12974:37;12964:53;;:::o;13023:112::-;13106:22;13122:5;13106:22;:::i;:::-;13101:3;13094:35;13084:51;;:::o;13141:222::-;13234:4;13272:2;13261:9;13257:18;13249:26;;13285:71;13353:1;13342:9;13338:17;13329:6;13285:71;:::i;:::-;13239:124;;;;:::o;13369:332::-;13490:4;13528:2;13517:9;13513:18;13505:26;;13541:71;13609:1;13598:9;13594:17;13585:6;13541:71;:::i;:::-;13622:72;13690:2;13679:9;13675:18;13666:6;13622:72;:::i;:::-;13495:206;;;;;:::o;13707:332::-;13828:4;13866:2;13855:9;13851:18;13843:26;;13879:71;13947:1;13936:9;13932:17;13923:6;13879:71;:::i;:::-;13960:72;14028:2;14017:9;14013:18;14004:6;13960:72;:::i;:::-;13833:206;;;;;:::o;14045:807::-;14294:4;14332:3;14321:9;14317:19;14309:27;;14346:71;14414:1;14403:9;14399:17;14390:6;14346:71;:::i;:::-;14427:72;14495:2;14484:9;14480:18;14471:6;14427:72;:::i;:::-;14509:80;14585:2;14574:9;14570:18;14561:6;14509:80;:::i;:::-;14599;14675:2;14664:9;14660:18;14651:6;14599:80;:::i;:::-;14689:73;14757:3;14746:9;14742:19;14733:6;14689:73;:::i;:::-;14772;14840:3;14829:9;14825:19;14816:6;14772:73;:::i;:::-;14299:553;;;;;;;;;:::o;14858:210::-;14945:4;14983:2;14972:9;14968:18;14960:26;;14996:65;15058:1;15047:9;15043:17;15034:6;14996:65;:::i;:::-;14950:118;;;;:::o;15074:313::-;15187:4;15225:2;15214:9;15210:18;15202:26;;15274:9;15268:4;15264:20;15260:1;15249:9;15245:17;15238:47;15302:78;15375:4;15366:6;15302:78;:::i;:::-;15294:86;;15192:195;;;;:::o;15393:419::-;15559:4;15597:2;15586:9;15582:18;15574:26;;15646:9;15640:4;15636:20;15632:1;15621:9;15617:17;15610:47;15674:131;15800:4;15674:131;:::i;:::-;15666:139;;15564:248;;;:::o;15818:419::-;15984:4;16022:2;16011:9;16007:18;15999:26;;16071:9;16065:4;16061:20;16057:1;16046:9;16042:17;16035:47;16099:131;16225:4;16099:131;:::i;:::-;16091:139;;15989:248;;;:::o;16243:419::-;16409:4;16447:2;16436:9;16432:18;16424:26;;16496:9;16490:4;16486:20;16482:1;16471:9;16467:17;16460:47;16524:131;16650:4;16524:131;:::i;:::-;16516:139;;16414:248;;;:::o;16668:419::-;16834:4;16872:2;16861:9;16857:18;16849:26;;16921:9;16915:4;16911:20;16907:1;16896:9;16892:17;16885:47;16949:131;17075:4;16949:131;:::i;:::-;16941:139;;16839:248;;;:::o;17093:419::-;17259:4;17297:2;17286:9;17282:18;17274:26;;17346:9;17340:4;17336:20;17332:1;17321:9;17317:17;17310:47;17374:131;17500:4;17374:131;:::i;:::-;17366:139;;17264:248;;;:::o;17518:419::-;17684:4;17722:2;17711:9;17707:18;17699:26;;17771:9;17765:4;17761:20;17757:1;17746:9;17742:17;17735:47;17799:131;17925:4;17799:131;:::i;:::-;17791:139;;17689:248;;;:::o;17943:419::-;18109:4;18147:2;18136:9;18132:18;18124:26;;18196:9;18190:4;18186:20;18182:1;18171:9;18167:17;18160:47;18224:131;18350:4;18224:131;:::i;:::-;18216:139;;18114:248;;;:::o;18368:419::-;18534:4;18572:2;18561:9;18557:18;18549:26;;18621:9;18615:4;18611:20;18607:1;18596:9;18592:17;18585:47;18649:131;18775:4;18649:131;:::i;:::-;18641:139;;18539:248;;;:::o;18793:419::-;18959:4;18997:2;18986:9;18982:18;18974:26;;19046:9;19040:4;19036:20;19032:1;19021:9;19017:17;19010:47;19074:131;19200:4;19074:131;:::i;:::-;19066:139;;18964:248;;;:::o;19218:419::-;19384:4;19422:2;19411:9;19407:18;19399:26;;19471:9;19465:4;19461:20;19457:1;19446:9;19442:17;19435:47;19499:131;19625:4;19499:131;:::i;:::-;19491:139;;19389:248;;;:::o;19643:419::-;19809:4;19847:2;19836:9;19832:18;19824:26;;19896:9;19890:4;19886:20;19882:1;19871:9;19867:17;19860:47;19924:131;20050:4;19924:131;:::i;:::-;19916:139;;19814:248;;;:::o;20068:419::-;20234:4;20272:2;20261:9;20257:18;20249:26;;20321:9;20315:4;20311:20;20307:1;20296:9;20292:17;20285:47;20349:131;20475:4;20349:131;:::i;:::-;20341:139;;20239:248;;;:::o;20493:419::-;20659:4;20697:2;20686:9;20682:18;20674:26;;20746:9;20740:4;20736:20;20732:1;20721:9;20717:17;20710:47;20774:131;20900:4;20774:131;:::i;:::-;20766:139;;20664:248;;;:::o;20918:419::-;21084:4;21122:2;21111:9;21107:18;21099:26;;21171:9;21165:4;21161:20;21157:1;21146:9;21142:17;21135:47;21199:131;21325:4;21199:131;:::i;:::-;21191:139;;21089:248;;;:::o;21343:419::-;21509:4;21547:2;21536:9;21532:18;21524:26;;21596:9;21590:4;21586:20;21582:1;21571:9;21567:17;21560:47;21624:131;21750:4;21624:131;:::i;:::-;21616:139;;21514:248;;;:::o;21768:419::-;21934:4;21972:2;21961:9;21957:18;21949:26;;22021:9;22015:4;22011:20;22007:1;21996:9;21992:17;21985:47;22049:131;22175:4;22049:131;:::i;:::-;22041:139;;21939:248;;;:::o;22193:419::-;22359:4;22397:2;22386:9;22382:18;22374:26;;22446:9;22440:4;22436:20;22432:1;22421:9;22417:17;22410:47;22474:131;22600:4;22474:131;:::i;:::-;22466:139;;22364:248;;;:::o;22618:419::-;22784:4;22822:2;22811:9;22807:18;22799:26;;22871:9;22865:4;22861:20;22857:1;22846:9;22842:17;22835:47;22899:131;23025:4;22899:131;:::i;:::-;22891:139;;22789:248;;;:::o;23043:222::-;23136:4;23174:2;23163:9;23159:18;23151:26;;23187:71;23255:1;23244:9;23240:17;23231:6;23187:71;:::i;:::-;23141:124;;;;:::o;23271:831::-;23534:4;23572:3;23561:9;23557:19;23549:27;;23586:71;23654:1;23643:9;23639:17;23630:6;23586:71;:::i;:::-;23667:80;23743:2;23732:9;23728:18;23719:6;23667:80;:::i;:::-;23794:9;23788:4;23784:20;23779:2;23768:9;23764:18;23757:48;23822:108;23925:4;23916:6;23822:108;:::i;:::-;23814:116;;23940:72;24008:2;23997:9;23993:18;23984:6;23940:72;:::i;:::-;24022:73;24090:3;24079:9;24075:19;24066:6;24022:73;:::i;:::-;23539:563;;;;;;;;:::o;24108:214::-;24197:4;24235:2;24224:9;24220:18;24212:26;;24248:67;24312:1;24301:9;24297:17;24288:6;24248:67;:::i;:::-;24202:120;;;;:::o;24328:132::-;24395:4;24418:3;24410:11;;24448:4;24443:3;24439:14;24431:22;;24400:60;;;:::o;24466:114::-;24533:6;24567:5;24561:12;24551:22;;24540:40;;;:::o;24586:99::-;24638:6;24672:5;24666:12;24656:22;;24645:40;;;:::o;24691:113::-;24761:4;24793;24788:3;24784:14;24776:22;;24766:38;;;:::o;24810:184::-;24909:11;24943:6;24938:3;24931:19;24983:4;24978:3;24974:14;24959:29;;24921:73;;;;:::o;25000:169::-;25084:11;25118:6;25113:3;25106:19;25158:4;25153:3;25149:14;25134:29;;25096:73;;;;:::o;25175:305::-;25215:3;25234:20;25252:1;25234:20;:::i;:::-;25229:25;;25268:20;25286:1;25268:20;:::i;:::-;25263:25;;25422:1;25354:66;25350:74;25347:1;25344:81;25341:2;;;25428:18;;:::i;:::-;25341:2;25472:1;25469;25465:9;25458:16;;25219:261;;;;:::o;25486:185::-;25526:1;25543:20;25561:1;25543:20;:::i;:::-;25538:25;;25577:20;25595:1;25577:20;:::i;:::-;25572:25;;25616:1;25606:2;;25621:18;;:::i;:::-;25606:2;25663:1;25660;25656:9;25651:14;;25528:143;;;;:::o;25677:348::-;25717:7;25740:20;25758:1;25740:20;:::i;:::-;25735:25;;25774:20;25792:1;25774:20;:::i;:::-;25769:25;;25962:1;25894:66;25890:74;25887:1;25884:81;25879:1;25872:9;25865:17;25861:105;25858:2;;;25969:18;;:::i;:::-;25858:2;26017:1;26014;26010:9;25999:20;;25725:300;;;;:::o;26031:191::-;26071:4;26091:20;26109:1;26091:20;:::i;:::-;26086:25;;26125:20;26143:1;26125:20;:::i;:::-;26120:25;;26164:1;26161;26158:8;26155:2;;;26169:18;;:::i;:::-;26155:2;26214:1;26211;26207:9;26199:17;;26076:146;;;;:::o;26228:96::-;26265:7;26294:24;26312:5;26294:24;:::i;:::-;26283:35;;26273:51;;;:::o;26330:90::-;26364:7;26407:5;26400:13;26393:21;26382:32;;26372:48;;;:::o;26426:126::-;26463:7;26503:42;26496:5;26492:54;26481:65;;26471:81;;;:::o;26558:77::-;26595:7;26624:5;26613:16;;26603:32;;;:::o;26641:86::-;26676:7;26716:4;26709:5;26705:16;26694:27;;26684:43;;;:::o;26733:121::-;26791:9;26824:24;26842:5;26824:24;:::i;:::-;26811:37;;26801:53;;;:::o;26860:307::-;26928:1;26938:113;26952:6;26949:1;26946:13;26938:113;;;27037:1;27032:3;27028:11;27022:18;27018:1;27013:3;27009:11;27002:39;26974:2;26971:1;26967:10;26962:15;;26938:113;;;27069:6;27066:1;27063:13;27060:2;;;27149:1;27140:6;27135:3;27131:16;27124:27;27060:2;26909:258;;;;:::o;27173:233::-;27212:3;27235:24;27253:5;27235:24;:::i;:::-;27226:33;;27281:66;27274:5;27271:77;27268:2;;;27351:18;;:::i;:::-;27268:2;27398:1;27391:5;27387:13;27380:20;;27216:190;;;:::o;27412:180::-;27460:77;27457:1;27450:88;27557:4;27554:1;27547:15;27581:4;27578:1;27571:15;27598:180;27646:77;27643:1;27636:88;27743:4;27740:1;27733:15;27767:4;27764:1;27757:15;27784:102;27825:6;27876:2;27872:7;27867:2;27860:5;27856:14;27852:28;27842:38;;27832:54;;;:::o;27892:222::-;28032:34;28028:1;28020:6;28016:14;28009:58;28101:5;28096:2;28088:6;28084:15;28077:30;27998:116;:::o;28120:229::-;28260:34;28256:1;28248:6;28244:14;28237:58;28329:12;28324:2;28316:6;28312:15;28305:37;28226:123;:::o;28355:221::-;28495:34;28491:1;28483:6;28479:14;28472:58;28564:4;28559:2;28551:6;28547:15;28540:29;28461:115;:::o;28582:221::-;28722:34;28718:1;28710:6;28706:14;28699:58;28791:4;28786:2;28778:6;28774:15;28767:29;28688:115;:::o;28809:177::-;28949:29;28945:1;28937:6;28933:14;28926:53;28915:71;:::o;28992:177::-;29132:29;29128:1;29120:6;29116:14;29109:53;29098:71;:::o;29175:180::-;29315:32;29311:1;29303:6;29299:14;29292:56;29281:74;:::o;29361:220::-;29501:34;29497:1;29489:6;29485:14;29478:58;29570:3;29565:2;29557:6;29553:15;29546:28;29467:114;:::o;29587:182::-;29727:34;29723:1;29715:6;29711:14;29704:58;29693:76;:::o;29775:228::-;29915:34;29911:1;29903:6;29899:14;29892:58;29984:11;29979:2;29971:6;29967:15;29960:36;29881:122;:::o;30009:176::-;30149:28;30145:1;30137:6;30133:14;30126:52;30115:70;:::o;30191:223::-;30331:34;30327:1;30319:6;30315:14;30308:58;30400:6;30395:2;30387:6;30383:15;30376:31;30297:117;:::o;30420:224::-;30560:34;30556:1;30548:6;30544:14;30537:58;30629:7;30624:2;30616:6;30612:15;30605:32;30526:118;:::o;30650:223::-;30790:34;30786:1;30778:6;30774:14;30767:58;30859:6;30854:2;30846:6;30842:15;30835:31;30756:117;:::o;30879:173::-;31019:25;31015:1;31007:6;31003:14;30996:49;30985:67;:::o;31058:174::-;31198:26;31194:1;31186:6;31182:14;31175:50;31164:68;:::o;31238:221::-;31378:34;31374:1;31366:6;31362:14;31355:58;31447:4;31442:2;31434:6;31430:15;31423:29;31344:115;:::o;31465:173::-;31605:25;31601:1;31593:6;31589:14;31582:49;31571:67;:::o;31644:122::-;31717:24;31735:5;31717:24;:::i;:::-;31710:5;31707:35;31697:2;;31756:1;31753;31746:12;31697:2;31687:79;:::o;31772:116::-;31842:21;31857:5;31842:21;:::i;:::-;31835:5;31832:32;31822:2;;31878:1;31875;31868:12;31822:2;31812:76;:::o;31894:122::-;31967:24;31985:5;31967:24;:::i;:::-;31960:5;31957:35;31947:2;;32006:1;32003;31996:12;31947:2;31937:79;:::o

Swarm Source

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