ETH Price: $3,239.33 (-0.45%)

Token

Bear Trap (BEAR)
 

Overview

Max Total Supply

1,000,000,000,000 BEAR

Holders

45

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: BEAR 47
Balance
0.00001469 BEAR

Value
$0.00
0xe1f505734d1640fd74dbff6bbc5d10b84d363955
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:
BEARTRAP

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-17
*/

/**
 * 
 * 
 * 
 * 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 BEARTRAP 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 _isExcludedFromMaxWallet;
    mapping (address => bool) private _bots;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e12 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    string private constant _name = "Bear Trap";
    string private constant _symbol = "BEAR";
    
    uint256 private minContractTokensToSwap = 1e9 * 10**9;
    uint256 private _impactMultiplier = 1000;
    uint256 private _bearTrapDuration = 0;
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 0;
    uint256 private _teamFee = 5;
    uint256 private _maxWalletSize = 1e7 * 10**9;

    uint256 private _buyFee = 5;
    uint256 private _sellFee = 5;
    uint256 private _transferFee = 0;

    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;

    address payable private _devWallet;
    address payable private _marketingWallet;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private _useImpact = true;
    bool private tradingOpen = false;
    bool private _swapAll = false;
    bool private _takeFeeFromTransfer = false;
    bool private inSwap = false;

    mapping(address => bool) private automatedMarketMakerPairs;

    event Response(bool feeSent, bool marketingSent);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
        constructor (address payable devWallet, address payable marketingWallet) {
        _devWallet = devWallet;
        _marketingWallet = marketingWallet;
        
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;

        _isExcludedFromFee[devWallet] = true;
        _isExcludedFromFee[marketingWallet] = true;

        _isExcludedFromMaxWallet[owner()] = true;
        _isExcludedFromMaxWallet[address(this)] = true;
        _isExcludedFromMaxWallet[devWallet] = true;
        _isExcludedFromMaxWallet[marketingWallet] = true;

        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");

        if(from != owner() && to != owner()) {
            
            require(!_bots[from] && !_bots[to]);

            if(to != uniswapV2Pair && !_isExcludedFromMaxWallet[to]) {
                require(balanceOf(address(to)) + amount <= _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
            
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(tradingOpen, "Trading not yet enabled.");

                uint256 impact = amount.mul(_impactMultiplier);
                impact = impact.div(balanceOf(uniswapV2Pair).add(amount));

                if (!_useImpact || impact <= 0) {
                    _teamFee = _buyFee;
                } else if(impact >= _buyFee) {

                    _teamFee = 0;
                    _bearTrapDuration = block.timestamp + 10 minutes;

                } else {
                    _teamFee = _buyFee - impact;
                }
            }
            

            if(!inSwap && from != uniswapV2Pair && tradingOpen) {

                uint256 contractTokenBalance = balanceOf(address(this));
                _teamFee = _sellFee;

                if (_bearTrapDuration > block.timestamp) {
                    _teamFee = _sellFee.mul(2);
                }

                if(contractTokenBalance > minContractTokensToSwap) {
                    if(!_swapAll) {
                        contractTokenBalance = minContractTokensToSwap;
                    }

                    swapBack(contractTokenBalance);
                }
            }
        }
        bool takeFee = true;

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

        if(!automatedMarketMakerPairs[from] && !automatedMarketMakerPairs[to]) {
            if (_takeFeeFromTransfer) {
                _teamFee = _transferFee;
            } else {
                takeFee = false;
            }
        }
        
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapBack(uint256 contractTokenBalance) private lockTheSwap {
        
        swapTokensForEth(contractTokenBalance);

        uint256 contractETHBalance = address(this).balance;
        if(contractETHBalance > 0) {
            sendETHToFee(address(this).balance);
        }
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function manualSwapTokensForEth(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 {
        (bool dev, ) = _devWallet.call{value: amount.div(2)}("");
        (bool marketing, ) = _marketingWallet.call{value: amount.div(2)}("");

        emit Response(dev, marketing);
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        _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 _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;
        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 openTrading() 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);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        tradingOpen = true;
        automatedMarketMakerPairs[uniswapV2Pair] = true;
    }
    
    function setMarketingWallet (address payable marketing) external onlyOwner {
        _isExcludedFromFee[_marketingWallet] = false;
        _marketingWallet = marketing;
        _isExcludedFromFee[marketing] = true;
    }

    function setDevWallet (address payable dev) external onlyOwner() {
        _isExcludedFromFee[_devWallet] = false;
        _devWallet = dev;
        _isExcludedFromFee[dev] = true;
    }

    function excludeFromFee (address payable ad) external onlyOwner {
        _isExcludedFromFee[ad] = true;
    }
    
    function includeToFee (address payable ad) external onlyOwner {
        _isExcludedFromFee[ad] = false;
    }

    function isExcludedToFee(address ad) public view returns (bool) {
        return _isExcludedFromFee[ad];
    }

    function excludeFromMaxWallet(address[] calldata ads, bool onoff) public onlyOwner {
        for (uint i = 0; i < ads.length; i++) {
            _isExcludedFromMaxWallet[ads[i]] = onoff;
        }
    }
    
    function isExcludedMaxWallet(address ad) public view returns (bool) {
        return _isExcludedFromMaxWallet[ad];
    }

    function setTakeFeeFromTransfer(bool onoff) external onlyOwner {
        _takeFeeFromTransfer = onoff;
    }
    
    function setBuyFee(uint256 buy) external onlyOwner {
        require(buy <= 5, "Buy fee must be less than 5");
        _buyFee = buy;
    }

    function setSellFee(uint256 sell) external onlyOwner {
        require(sell <= 5, "Sell fee must be less than 5");
        _sellFee = sell;
    }

    function setImpactMultiplier(uint256 impactMul) external onlyOwner {
        _impactMultiplier = impactMul;
    }

    function setUseImpact(bool onoff) external onlyOwner {
        _useImpact = onoff;
    }

    function setTransferFee(uint256 fee) external onlyOwner {
        require(fee <= 5, "Transfer fee must be less than 5");
        _transferFee = fee;
    }
        
    function setTaxFee(uint256 tax) external onlyOwner {
        require(tax <= 5, "tax must be less than 5");
        _taxFee = tax;
    }

    function setMinContractTokensToSwap(uint256 numToken) external onlyOwner {
        minContractTokensToSwap = numToken * 10**9;
    }

    function setMaxWallet(uint256 amt) external onlyOwner {
        _maxWalletSize = amt * 10**9;
    }

    function setSwapAll(bool onoff) external onlyOwner {
        _swapAll = onoff;
    }
    
    function setBots(address[] calldata bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) {
                _bots[bots_[i]] = true;
            }
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        _bots[notbot] = false;
    }
    
    function isBot(address ad) public view returns (bool) {
        return _bots[ad];
    }

    function isBearTrapActive() public view returns (bool) {
        return _bearTrapDuration > block.timestamp;
    }

    function manualswap() external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        manualSwapTokensForEth(contractBalance);
    }
    
    function manualsend() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

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

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"devWallet","type":"address"},{"internalType":"address payable","name":"marketingWallet","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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"feeSent","type":"bool"},{"indexed":false,"internalType":"bool","name":"marketingSent","type":"bool"}],"name":"Response","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":"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"ads","type":"address[]"},{"internalType":"bool","name":"onoff","type":"bool"}],"name":"excludeFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"includeToFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isBearTrapActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isExcludedMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isExcludedToFee","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"dev","type":"address"}],"name":"setDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"impactMul","type":"uint256"}],"name":"setImpactMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"marketing","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numToken","type":"uint256"}],"name":"setMinContractTokensToSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setSwapAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setTakeFeeFromTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"setTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setTransferFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setUseImpact","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":[],"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"}]

6080604052683635c9adc5dea000006000196200001d919062000752565b6000196200002c9190620006d9565b600855670de0b6b3a7640000600a556103e8600b556000600c556000600d556005600e55662386f26fc10000600f55600560105560056011556000601255600d54601355600e546014556001601860146101000a81548160ff0219169083151502179055506000601860156101000a81548160ff0219169083151502179055506000601860166101000a81548160ff0219169083151502179055506000601860176101000a81548160ff02191690831515021790555060006018806101000a81548160ff0219169083151502179055503480156200010957600080fd5b5060405162005beb38038062005beb83398181016040528101906200012f919062000664565b6000620001416200061c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620002786200061c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002cc6200062460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660006200043b6200062460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005a46200061c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200060c9190620006bc565b60405180910390a3505062000807565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000815190506200065e81620007ed565b92915050565b600080604083850312156200067e576200067d620007e8565b5b60006200068e858286016200064d565b9250506020620006a1858286016200064d565b9150509250929050565b620006b68162000748565b82525050565b6000602082019050620006d36000830184620006ab565b92915050565b6000620006e68262000748565b9150620006f38362000748565b9250828210156200070957620007086200078a565b5b828203905092915050565b6000620007218262000728565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200075f8262000748565b91506200076c8362000748565b9250826200077f576200077e620007b9565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b620007f88162000714565b81146200080457600080fd5b50565b6153d480620008176000396000f3fe6080604052600436106102295760003560e01c806372ca042d11610123578063c1187569116100ab578063db8aeab11161006f578063db8aeab1146107bc578063db92dbb6146107e5578063dd62ed3e14610810578063de30aad11461084d578063e1ab04c91461087657610230565b8063c118756914610713578063c3c8cd801461073c578063c4081a4c14610753578063c9567bf91461077c578063cf0848f71461079357610230565b80638f02bb5b116100f25780638f02bb5b1461063057806395d89b41146106595780639a7a23d614610684578063a9059cbb146106ad578063b515566a146106ea57610230565b806372ca042d14610574578063844f30fb1461059f5780638b4cee08146105dc5780638da5cb5b1461060557610230565b806327f3a72a116101b15780635d098b38116101755780635d098b38146104b757806368465454146104e05780636fc3eaec1461050957806370a0823114610520578063715018a61461055d57610230565b806327f3a72a146103d2578063313ce567146103fd5780633bbac57914610428578063437823ec146104655780635d0044ca1461048e57610230565b806316c3c458116101f857806316c3c458146102ef57806318160ddd146103185780631f53ac021461034357806323b872dd1461036c578063273123b7146103a957610230565b806306fdde0314610235578063095ea7b3146102605780630cc835a31461029d57806312dfbd33146102c657610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a6108b3565b60405161025791906148e6565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190614279565b6108f0565b60405161029491906148a2565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf91906143c0565b61090e565b005b3480156102d257600080fd5b506102ed60048036038101906102e891906143c0565b6109f1565b005b3480156102fb57600080fd5b5061031660048036038101906103119190614366565b610a9f565b005b34801561032457600080fd5b5061032d610b51565b60405161033a9190614b28565b60405180910390f35b34801561034f57600080fd5b5061036a60048036038101906103659190614179565b610b62565b005b34801561037857600080fd5b50610393600480360381019061038e91906141e6565b610d0d565b6040516103a091906148a2565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb919061411f565b610de6565b005b3480156103de57600080fd5b506103e7610ed6565b6040516103f49190614b28565b60405180910390f35b34801561040957600080fd5b50610412610ee6565b60405161041f9190614b9d565b60405180910390f35b34801561043457600080fd5b5061044f600480360381019061044a919061411f565b610eef565b60405161045c91906148a2565b60405180910390f35b34801561047157600080fd5b5061048c60048036038101906104879190614179565b610f45565b005b34801561049a57600080fd5b506104b560048036038101906104b091906143c0565b611035565b005b3480156104c357600080fd5b506104de60048036038101906104d99190614179565b6110e3565b005b3480156104ec57600080fd5b50610507600480360381019061050291906143c0565b61128e565b005b34801561051557600080fd5b5061051e61132d565b005b34801561052c57600080fd5b506105476004803603810190610542919061411f565b6113d3565b6040516105549190614b28565b60405180910390f35b34801561056957600080fd5b50610572611424565b005b34801561058057600080fd5b50610589611577565b60405161059691906148a2565b60405180910390f35b3480156105ab57600080fd5b506105c660048036038101906105c1919061411f565b611583565b6040516105d391906148a2565b60405180910390f35b3480156105e857600080fd5b5061060360048036038101906105fe91906143c0565b6115d9565b005b34801561061157600080fd5b5061061a6116bc565b60405161062791906147d4565b60405180910390f35b34801561063c57600080fd5b50610657600480360381019061065291906143c0565b6116e5565b005b34801561066557600080fd5b5061066e6117c8565b60405161067b91906148e6565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a69190614239565b611805565b005b3480156106b957600080fd5b506106d460048036038101906106cf9190614279565b611939565b6040516106e191906148a2565b60405180910390f35b3480156106f657600080fd5b50610711600480360381019061070c91906142b9565b611957565b005b34801561071f57600080fd5b5061073a60048036038101906107359190614366565b611b91565b005b34801561074857600080fd5b50610751611c43565b005b34801561075f57600080fd5b5061077a600480360381019061077591906143c0565b611cf1565b005b34801561078857600080fd5b50610791611dd4565b005b34801561079f57600080fd5b506107ba60048036038101906107b59190614179565b612365565b005b3480156107c857600080fd5b506107e360048036038101906107de9190614306565b612455565b005b3480156107f157600080fd5b506107fa61258f565b6040516108079190614b28565b60405180910390f35b34801561081c57600080fd5b50610837600480360381019061083291906141a6565b6125c1565b6040516108449190614b28565b60405180910390f35b34801561085957600080fd5b50610874600480360381019061086f9190614366565b612648565b005b34801561088257600080fd5b5061089d6004803603810190610898919061411f565b6126fa565b6040516108aa91906148a2565b60405180910390f35b60606040518060400160405280600981526020017f4265617220547261700000000000000000000000000000000000000000000000815250905090565b60006109046108fd612750565b8484612758565b6001905092915050565b610916612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099a90614a28565b60405180910390fd5b60058111156109e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109de90614ae8565b60405180910390fd5b8060108190555050565b6109f9612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d90614a28565b60405180910390fd5b633b9aca0081610a969190614c9f565b600a8190555050565b610aa7612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2b90614a28565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555050565b6000683635c9adc5dea00000905090565b610b6a612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bee90614a28565b60405180910390fd5b600060056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610d1a848484612923565b610ddb84610d26612750565b610dd68560405180606001604052806028815260200161537760289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d8c612750565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312e9092919063ffffffff16565b612758565b600190509392505050565b610dee612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7290614a28565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610ee1306113d3565b905090565b60006009905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610f4d612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd190614a28565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61103d612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c190614a28565b60405180910390fd5b633b9aca00816110da9190614c9f565b600f8190555050565b6110eb612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116f90614a28565b60405180910390fd5b600060056000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611296612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131a90614a28565b60405180910390fd5b80600b8190555050565b611335612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b990614a28565b60405180910390fd5b60004790506113d081613192565b50565b600061141d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613312565b9050919050565b61142c612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b090614a28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600042600c5411905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6115e1612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461166e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166590614a28565b60405180910390fd5b60058111156116b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a990614988565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6116ed612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461177a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177190614a28565b60405180910390fd5b60058111156117be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b5906149e8565b60405180910390fd5b8060128190555050565b60606040518060400160405280600481526020017f4245415200000000000000000000000000000000000000000000000000000000815250905090565b61180d612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461189a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189190614a28565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561192b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611922906149a8565b60405180910390fd5b6119358282613380565b5050565b600061194d611946612750565b8484612923565b6001905092915050565b61195f612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e390614a28565b60405180910390fd5b60005b82829050811015611b8c57601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16838383818110611a4657611a45614e80565b5b9050602002016020810190611a5b919061411f565b73ffffffffffffffffffffffffffffffffffffffff1614158015611af45750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16838383818110611ac657611ac5614e80565b5b9050602002016020810190611adb919061411f565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611b7957600160076000858585818110611b1257611b11614e80565b5b9050602002016020810190611b27919061411f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8080611b8490614dd9565b9150506119ef565b505050565b611b99612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1d90614a28565b60405180910390fd5b80601860176101000a81548160ff02191690831515021790555050565b611c4b612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccf90614a28565b60405180910390fd5b6000611ce3306113d3565b9050611cee816133db565b50565b611cf9612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7d90614a28565b60405180910390fd5b6005811115611dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc1906149c8565b60405180910390fd5b80600d8190555050565b611ddc612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6090614a28565b60405180910390fd5b601860159054906101000a900460ff1615611eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb090614ac8565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f4930601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000612758565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8f57600080fd5b505afa158015611fa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc7919061414c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561202957600080fd5b505afa15801561203d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612061919061414c565b6040518363ffffffff1660e01b815260040161207e9291906147ef565b602060405180830381600087803b15801561209857600080fd5b505af11580156120ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d0919061414c565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730612159306113d3565b6000806121646116bc565b426040518863ffffffff1660e01b815260040161218696959493929190614841565b6060604051808303818588803b15801561219f57600080fd5b505af11580156121b3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121d891906143ed565b505050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161227a929190614818565b602060405180830381600087803b15801561229457600080fd5b505af11580156122a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cc9190614393565b506001601860156101000a81548160ff021916908315150217905550600160196000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61236d612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f190614a28565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61245d612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e190614a28565b60405180910390fd5b60005b838390508110156125895781600660008686858181106125105761250f614e80565b5b9050602002016020810190612525919061411f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061258190614dd9565b9150506124ed565b50505050565b60006125bc601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166113d3565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b612650612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d490614a28565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156127c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127bf90614aa8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282f90614948565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516129169190614b28565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298a90614a68565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129fa90614908565b60405180910390fd5b60008111612a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3d90614a48565b60405180910390fd5b612a4e6116bc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612abc5750612a8c6116bc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612f9957600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612b655750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612b6e57600080fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612c165750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c7457600f5481612c28846113d3565b612c329190614c18565b1115612c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c6a90614a88565b60405180910390fd5b5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612d1f5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612d755750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ea557601860159054906101000a900460ff16612dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dc090614b08565b60405180910390fd5b6000612de0600b548361366190919063ffffffff16565b9050612e31612e2283612e14601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166113d3565b6136dc90919063ffffffff16565b8261373a90919063ffffffff16565b9050601860149054906101000a900460ff161580612e50575060008111155b15612e6357601054600e81905550612ea3565b6010548110612e8d576000600e8190555061025842612e829190614c18565b600c81905550612ea2565b80601054612e9b9190614cf9565b600e819055505b5b505b60188054906101000a900460ff16158015612f0e5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612f265750601860159054906101000a900460ff165b15612f98576000612f36306113d3565b9050601154600e8190555042600c541115612f6857612f61600260115461366190919063ffffffff16565b600e819055505b600a54811115612f9657601860169054906101000a900460ff16612f8c57600a5490505b612f9581613784565b5b505b5b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806130405750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561304a57600090505b601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156130ee5750601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561311c57601860179054906101000a900460ff161561311657601254600e8190555061311b565b600090505b5b613128848484846137dd565b50505050565b6000838311158290613176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161316d91906148e6565b60405180910390fd5b50600083856131859190614cf9565b9050809150509392505050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166131e160028461373a90919063ffffffff16565b6040516131ed906147bf565b60006040518083038185875af1925050503d806000811461322a576040519150601f19603f3d011682016040523d82523d6000602084013e61322f565b606091505b505090506000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661328260028561373a90919063ffffffff16565b60405161328e906147bf565b60006040518083038185875af1925050503d80600081146132cb576040519150601f19603f3d011682016040523d82523d6000602084013e6132d0565b606091505b505090507fc45e9b3ac19bf635feaed560109cb8931031fbbc86809d50d65d41a2cf2fe8b982826040516133059291906148bd565b60405180910390a1505050565b6000600854821115613359576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161335090614928565b60405180910390fd5b600061336361380a565b9050613378818461373a90919063ffffffff16565b915050919050565b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60016018806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561341257613411614eaf565b5b6040519080825280602002602001820160405280156134405781602001602082028036833780820191505090505b509050308160008151811061345857613457614e80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156134fa57600080fd5b505afa15801561350e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613532919061414c565b8160018151811061354657613545614e80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506135ad30601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612758565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613611959493929190614b43565b600060405180830381600087803b15801561362b57600080fd5b505af115801561363f573d6000803e3d6000fd5b505050505060006018806101000a81548160ff02191690831515021790555050565b60008083141561367457600090506136d6565b600082846136829190614c9f565b90508284826136919190614c6e565b146136d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136c890614a08565b60405180910390fd5b809150505b92915050565b60008082846136eb9190614c18565b905083811015613730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161372790614968565b60405180910390fd5b8091505092915050565b600061377c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613835565b905092915050565b60016018806101000a81548160ff0219169083151502179055506137a781613898565b600047905060008111156137bf576137be47613192565b5b5060006018806101000a81548160ff02191690831515021790555050565b806137eb576137ea613aea565b5b6137f6848484613b2d565b8061380457613803613cf8565b5b50505050565b6000806000613817613d0c565b9150915061382e818361373a90919063ffffffff16565b9250505090565b6000808311829061387c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161387391906148e6565b60405180910390fd5b506000838561388b9190614c6e565b9050809150509392505050565b6000600267ffffffffffffffff8111156138b5576138b4614eaf565b5b6040519080825280602002602001820160405280156138e35781602001602082028036833780820191505090505b50905030816000815181106138fb576138fa614e80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561399d57600080fd5b505afa1580156139b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139d5919061414c565b816001815181106139e9576139e8614e80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613a5030601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612758565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613ab4959493929190614b43565b600060405180830381600087803b158015613ace57600080fd5b505af1158015613ae2573d6000803e3d6000fd5b505050505050565b6000600d54148015613afe57506000600e54145b15613b0857613b2b565b600d54601381905550600e546014819055506000600d819055506000600e819055505b565b600080600080600080613b3f87613d6e565b955095509550955095509550613b9d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613dd690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c3285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136dc90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c7e81613e20565b613c888483613edd565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613ce59190614b28565b60405180910390a3505050505050505050565b601354600d81905550601454600e81905550565b600080600060085490506000683635c9adc5dea000009050613d42683635c9adc5dea0000060085461373a90919063ffffffff16565b821015613d6157600854683635c9adc5dea00000935093505050613d6a565b81819350935050505b9091565b6000806000806000806000806000613d8b8a600d54600e54613f17565b9250925092506000613d9b61380a565b90506000806000613dae8e878787613fad565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000613e1883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061312e565b905092915050565b6000613e2a61380a565b90506000613e41828461366190919063ffffffff16565b9050613e9581600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136dc90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b613ef282600854613dd690919063ffffffff16565b600881905550613f0d816009546136dc90919063ffffffff16565b6009819055505050565b600080600080613f436064613f35888a61366190919063ffffffff16565b61373a90919063ffffffff16565b90506000613f6d6064613f5f888b61366190919063ffffffff16565b61373a90919063ffffffff16565b90506000613f9682613f88858c613dd690919063ffffffff16565b613dd690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080613fc6858961366190919063ffffffff16565b90506000613fdd868961366190919063ffffffff16565b90506000613ff4878961366190919063ffffffff16565b9050600061401d8261400f8587613dd690919063ffffffff16565b613dd690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506140458161531a565b92915050565b60008151905061405a8161531a565b92915050565b60008135905061406f81615331565b92915050565b60008083601f84011261408b5761408a614ee3565b5b8235905067ffffffffffffffff8111156140a8576140a7614ede565b5b6020830191508360208202830111156140c4576140c3614ee8565b5b9250929050565b6000813590506140da81615348565b92915050565b6000815190506140ef81615348565b92915050565b6000813590506141048161535f565b92915050565b6000815190506141198161535f565b92915050565b60006020828403121561413557614134614ef2565b5b600061414384828501614036565b91505092915050565b60006020828403121561416257614161614ef2565b5b60006141708482850161404b565b91505092915050565b60006020828403121561418f5761418e614ef2565b5b600061419d84828501614060565b91505092915050565b600080604083850312156141bd576141bc614ef2565b5b60006141cb85828601614036565b92505060206141dc85828601614036565b9150509250929050565b6000806000606084860312156141ff576141fe614ef2565b5b600061420d86828701614036565b935050602061421e86828701614036565b925050604061422f868287016140f5565b9150509250925092565b600080604083850312156142505761424f614ef2565b5b600061425e85828601614036565b925050602061426f858286016140cb565b9150509250929050565b600080604083850312156142905761428f614ef2565b5b600061429e85828601614036565b92505060206142af858286016140f5565b9150509250929050565b600080602083850312156142d0576142cf614ef2565b5b600083013567ffffffffffffffff8111156142ee576142ed614eed565b5b6142fa85828601614075565b92509250509250929050565b60008060006040848603121561431f5761431e614ef2565b5b600084013567ffffffffffffffff81111561433d5761433c614eed565b5b61434986828701614075565b9350935050602061435c868287016140cb565b9150509250925092565b60006020828403121561437c5761437b614ef2565b5b600061438a848285016140cb565b91505092915050565b6000602082840312156143a9576143a8614ef2565b5b60006143b7848285016140e0565b91505092915050565b6000602082840312156143d6576143d5614ef2565b5b60006143e4848285016140f5565b91505092915050565b60008060006060848603121561440657614405614ef2565b5b60006144148682870161410a565b93505060206144258682870161410a565b92505060406144368682870161410a565b9150509250925092565b600061444c8383614458565b60208301905092915050565b61446181614d2d565b82525050565b61447081614d2d565b82525050565b600061448182614bc8565b61448b8185614beb565b935061449683614bb8565b8060005b838110156144c75781516144ae8882614440565b97506144b983614bde565b92505060018101905061449a565b5085935050505092915050565b6144dd81614d51565b82525050565b6144ec81614d94565b82525050565b60006144fd82614bd3565b6145078185614c07565b9350614517818560208601614da6565b61452081614ef7565b840191505092915050565b6000614538602383614c07565b915061454382614f08565b604082019050919050565b600061455b602a83614c07565b915061456682614f57565b604082019050919050565b600061457e602283614c07565b915061458982614fa6565b604082019050919050565b60006145a1601b83614c07565b91506145ac82614ff5565b602082019050919050565b60006145c4601c83614c07565b91506145cf8261501e565b602082019050919050565b60006145e7603983614c07565b91506145f282615047565b604082019050919050565b600061460a601783614c07565b915061461582615096565b602082019050919050565b600061462d602083614c07565b9150614638826150bf565b602082019050919050565b6000614650602183614c07565b915061465b826150e8565b604082019050919050565b6000614673602083614c07565b915061467e82615137565b602082019050919050565b6000614696602983614c07565b91506146a182615160565b604082019050919050565b60006146b9602583614c07565b91506146c4826151af565b604082019050919050565b60006146dc602383614c07565b91506146e7826151fe565b604082019050919050565b60006146ff600083614bfc565b915061470a8261524d565b600082019050919050565b6000614722602483614c07565b915061472d82615250565b604082019050919050565b6000614745601783614c07565b91506147508261529f565b602082019050919050565b6000614768601b83614c07565b9150614773826152c8565b602082019050919050565b600061478b601883614c07565b9150614796826152f1565b602082019050919050565b6147aa81614d7d565b82525050565b6147b981614d87565b82525050565b60006147ca826146f2565b9150819050919050565b60006020820190506147e96000830184614467565b92915050565b60006040820190506148046000830185614467565b6148116020830184614467565b9392505050565b600060408201905061482d6000830185614467565b61483a60208301846147a1565b9392505050565b600060c0820190506148566000830189614467565b61486360208301886147a1565b61487060408301876144e3565b61487d60608301866144e3565b61488a6080830185614467565b61489760a08301846147a1565b979650505050505050565b60006020820190506148b760008301846144d4565b92915050565b60006040820190506148d260008301856144d4565b6148df60208301846144d4565b9392505050565b6000602082019050818103600083015261490081846144f2565b905092915050565b600060208201905081810360008301526149218161452b565b9050919050565b600060208201905081810360008301526149418161454e565b9050919050565b6000602082019050818103600083015261496181614571565b9050919050565b6000602082019050818103600083015261498181614594565b9050919050565b600060208201905081810360008301526149a1816145b7565b9050919050565b600060208201905081810360008301526149c1816145da565b9050919050565b600060208201905081810360008301526149e1816145fd565b9050919050565b60006020820190508181036000830152614a0181614620565b9050919050565b60006020820190508181036000830152614a2181614643565b9050919050565b60006020820190508181036000830152614a4181614666565b9050919050565b60006020820190508181036000830152614a6181614689565b9050919050565b60006020820190508181036000830152614a81816146ac565b9050919050565b60006020820190508181036000830152614aa1816146cf565b9050919050565b60006020820190508181036000830152614ac181614715565b9050919050565b60006020820190508181036000830152614ae181614738565b9050919050565b60006020820190508181036000830152614b018161475b565b9050919050565b60006020820190508181036000830152614b218161477e565b9050919050565b6000602082019050614b3d60008301846147a1565b92915050565b600060a082019050614b5860008301886147a1565b614b6560208301876144e3565b8181036040830152614b778186614476565b9050614b866060830185614467565b614b9360808301846147a1565b9695505050505050565b6000602082019050614bb260008301846147b0565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000614c2382614d7d565b9150614c2e83614d7d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614c6357614c62614e22565b5b828201905092915050565b6000614c7982614d7d565b9150614c8483614d7d565b925082614c9457614c93614e51565b5b828204905092915050565b6000614caa82614d7d565b9150614cb583614d7d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614cee57614ced614e22565b5b828202905092915050565b6000614d0482614d7d565b9150614d0f83614d7d565b925082821015614d2257614d21614e22565b5b828203905092915050565b6000614d3882614d5d565b9050919050565b6000614d4a82614d5d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000614d9f82614d7d565b9050919050565b60005b83811015614dc4578082015181840152602081019050614da9565b83811115614dd3576000848401525b50505050565b6000614de482614d7d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614e1757614e16614e22565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f53656c6c20666565206d757374206265206c657373207468616e203500000000600082015250565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b7f746178206d757374206265206c657373207468616e2035000000000000000000600082015250565b7f5472616e7366657220666565206d757374206265206c657373207468616e2035600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f42757920666565206d757374206265206c657373207468616e20350000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b61532381614d2d565b811461532e57600080fd5b50565b61533a81614d3f565b811461534557600080fd5b50565b61535181614d51565b811461535c57600080fd5b50565b61536881614d7d565b811461537357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d156c61fe7b533fb6209cfc1e92d7d505c6c0a44469253c80eb926e6144f858764736f6c63430008070033000000000000000000000000c20e2047719785e0c7c8b86a4915a0a525ae720d0000000000000000000000004c771bc999ff61219c5045f885eb59ca78112c90

Deployed Bytecode

0x6080604052600436106102295760003560e01c806372ca042d11610123578063c1187569116100ab578063db8aeab11161006f578063db8aeab1146107bc578063db92dbb6146107e5578063dd62ed3e14610810578063de30aad11461084d578063e1ab04c91461087657610230565b8063c118756914610713578063c3c8cd801461073c578063c4081a4c14610753578063c9567bf91461077c578063cf0848f71461079357610230565b80638f02bb5b116100f25780638f02bb5b1461063057806395d89b41146106595780639a7a23d614610684578063a9059cbb146106ad578063b515566a146106ea57610230565b806372ca042d14610574578063844f30fb1461059f5780638b4cee08146105dc5780638da5cb5b1461060557610230565b806327f3a72a116101b15780635d098b38116101755780635d098b38146104b757806368465454146104e05780636fc3eaec1461050957806370a0823114610520578063715018a61461055d57610230565b806327f3a72a146103d2578063313ce567146103fd5780633bbac57914610428578063437823ec146104655780635d0044ca1461048e57610230565b806316c3c458116101f857806316c3c458146102ef57806318160ddd146103185780631f53ac021461034357806323b872dd1461036c578063273123b7146103a957610230565b806306fdde0314610235578063095ea7b3146102605780630cc835a31461029d57806312dfbd33146102c657610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a6108b3565b60405161025791906148e6565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190614279565b6108f0565b60405161029491906148a2565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf91906143c0565b61090e565b005b3480156102d257600080fd5b506102ed60048036038101906102e891906143c0565b6109f1565b005b3480156102fb57600080fd5b5061031660048036038101906103119190614366565b610a9f565b005b34801561032457600080fd5b5061032d610b51565b60405161033a9190614b28565b60405180910390f35b34801561034f57600080fd5b5061036a60048036038101906103659190614179565b610b62565b005b34801561037857600080fd5b50610393600480360381019061038e91906141e6565b610d0d565b6040516103a091906148a2565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb919061411f565b610de6565b005b3480156103de57600080fd5b506103e7610ed6565b6040516103f49190614b28565b60405180910390f35b34801561040957600080fd5b50610412610ee6565b60405161041f9190614b9d565b60405180910390f35b34801561043457600080fd5b5061044f600480360381019061044a919061411f565b610eef565b60405161045c91906148a2565b60405180910390f35b34801561047157600080fd5b5061048c60048036038101906104879190614179565b610f45565b005b34801561049a57600080fd5b506104b560048036038101906104b091906143c0565b611035565b005b3480156104c357600080fd5b506104de60048036038101906104d99190614179565b6110e3565b005b3480156104ec57600080fd5b50610507600480360381019061050291906143c0565b61128e565b005b34801561051557600080fd5b5061051e61132d565b005b34801561052c57600080fd5b506105476004803603810190610542919061411f565b6113d3565b6040516105549190614b28565b60405180910390f35b34801561056957600080fd5b50610572611424565b005b34801561058057600080fd5b50610589611577565b60405161059691906148a2565b60405180910390f35b3480156105ab57600080fd5b506105c660048036038101906105c1919061411f565b611583565b6040516105d391906148a2565b60405180910390f35b3480156105e857600080fd5b5061060360048036038101906105fe91906143c0565b6115d9565b005b34801561061157600080fd5b5061061a6116bc565b60405161062791906147d4565b60405180910390f35b34801561063c57600080fd5b50610657600480360381019061065291906143c0565b6116e5565b005b34801561066557600080fd5b5061066e6117c8565b60405161067b91906148e6565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a69190614239565b611805565b005b3480156106b957600080fd5b506106d460048036038101906106cf9190614279565b611939565b6040516106e191906148a2565b60405180910390f35b3480156106f657600080fd5b50610711600480360381019061070c91906142b9565b611957565b005b34801561071f57600080fd5b5061073a60048036038101906107359190614366565b611b91565b005b34801561074857600080fd5b50610751611c43565b005b34801561075f57600080fd5b5061077a600480360381019061077591906143c0565b611cf1565b005b34801561078857600080fd5b50610791611dd4565b005b34801561079f57600080fd5b506107ba60048036038101906107b59190614179565b612365565b005b3480156107c857600080fd5b506107e360048036038101906107de9190614306565b612455565b005b3480156107f157600080fd5b506107fa61258f565b6040516108079190614b28565b60405180910390f35b34801561081c57600080fd5b50610837600480360381019061083291906141a6565b6125c1565b6040516108449190614b28565b60405180910390f35b34801561085957600080fd5b50610874600480360381019061086f9190614366565b612648565b005b34801561088257600080fd5b5061089d6004803603810190610898919061411f565b6126fa565b6040516108aa91906148a2565b60405180910390f35b60606040518060400160405280600981526020017f4265617220547261700000000000000000000000000000000000000000000000815250905090565b60006109046108fd612750565b8484612758565b6001905092915050565b610916612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099a90614a28565b60405180910390fd5b60058111156109e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109de90614ae8565b60405180910390fd5b8060108190555050565b6109f9612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d90614a28565b60405180910390fd5b633b9aca0081610a969190614c9f565b600a8190555050565b610aa7612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2b90614a28565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555050565b6000683635c9adc5dea00000905090565b610b6a612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bee90614a28565b60405180910390fd5b600060056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610d1a848484612923565b610ddb84610d26612750565b610dd68560405180606001604052806028815260200161537760289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d8c612750565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312e9092919063ffffffff16565b612758565b600190509392505050565b610dee612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7290614a28565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610ee1306113d3565b905090565b60006009905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610f4d612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd190614a28565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61103d612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c190614a28565b60405180910390fd5b633b9aca00816110da9190614c9f565b600f8190555050565b6110eb612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116f90614a28565b60405180910390fd5b600060056000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611296612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131a90614a28565b60405180910390fd5b80600b8190555050565b611335612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b990614a28565b60405180910390fd5b60004790506113d081613192565b50565b600061141d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613312565b9050919050565b61142c612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b090614a28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600042600c5411905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6115e1612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461166e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166590614a28565b60405180910390fd5b60058111156116b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a990614988565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6116ed612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461177a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177190614a28565b60405180910390fd5b60058111156117be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b5906149e8565b60405180910390fd5b8060128190555050565b60606040518060400160405280600481526020017f4245415200000000000000000000000000000000000000000000000000000000815250905090565b61180d612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461189a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189190614a28565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561192b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611922906149a8565b60405180910390fd5b6119358282613380565b5050565b600061194d611946612750565b8484612923565b6001905092915050565b61195f612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e390614a28565b60405180910390fd5b60005b82829050811015611b8c57601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16838383818110611a4657611a45614e80565b5b9050602002016020810190611a5b919061411f565b73ffffffffffffffffffffffffffffffffffffffff1614158015611af45750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16838383818110611ac657611ac5614e80565b5b9050602002016020810190611adb919061411f565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611b7957600160076000858585818110611b1257611b11614e80565b5b9050602002016020810190611b27919061411f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8080611b8490614dd9565b9150506119ef565b505050565b611b99612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1d90614a28565b60405180910390fd5b80601860176101000a81548160ff02191690831515021790555050565b611c4b612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccf90614a28565b60405180910390fd5b6000611ce3306113d3565b9050611cee816133db565b50565b611cf9612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7d90614a28565b60405180910390fd5b6005811115611dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc1906149c8565b60405180910390fd5b80600d8190555050565b611ddc612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6090614a28565b60405180910390fd5b601860159054906101000a900460ff1615611eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb090614ac8565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f4930601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000612758565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8f57600080fd5b505afa158015611fa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc7919061414c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561202957600080fd5b505afa15801561203d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612061919061414c565b6040518363ffffffff1660e01b815260040161207e9291906147ef565b602060405180830381600087803b15801561209857600080fd5b505af11580156120ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d0919061414c565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730612159306113d3565b6000806121646116bc565b426040518863ffffffff1660e01b815260040161218696959493929190614841565b6060604051808303818588803b15801561219f57600080fd5b505af11580156121b3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121d891906143ed565b505050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161227a929190614818565b602060405180830381600087803b15801561229457600080fd5b505af11580156122a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cc9190614393565b506001601860156101000a81548160ff021916908315150217905550600160196000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61236d612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f190614a28565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61245d612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e190614a28565b60405180910390fd5b60005b838390508110156125895781600660008686858181106125105761250f614e80565b5b9050602002016020810190612525919061411f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061258190614dd9565b9150506124ed565b50505050565b60006125bc601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166113d3565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b612650612750565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d490614a28565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156127c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127bf90614aa8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282f90614948565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516129169190614b28565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298a90614a68565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129fa90614908565b60405180910390fd5b60008111612a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3d90614a48565b60405180910390fd5b612a4e6116bc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612abc5750612a8c6116bc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612f9957600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612b655750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612b6e57600080fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612c165750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c7457600f5481612c28846113d3565b612c329190614c18565b1115612c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c6a90614a88565b60405180910390fd5b5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612d1f5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612d755750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ea557601860159054906101000a900460ff16612dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dc090614b08565b60405180910390fd5b6000612de0600b548361366190919063ffffffff16565b9050612e31612e2283612e14601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166113d3565b6136dc90919063ffffffff16565b8261373a90919063ffffffff16565b9050601860149054906101000a900460ff161580612e50575060008111155b15612e6357601054600e81905550612ea3565b6010548110612e8d576000600e8190555061025842612e829190614c18565b600c81905550612ea2565b80601054612e9b9190614cf9565b600e819055505b5b505b60188054906101000a900460ff16158015612f0e5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612f265750601860159054906101000a900460ff165b15612f98576000612f36306113d3565b9050601154600e8190555042600c541115612f6857612f61600260115461366190919063ffffffff16565b600e819055505b600a54811115612f9657601860169054906101000a900460ff16612f8c57600a5490505b612f9581613784565b5b505b5b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806130405750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561304a57600090505b601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156130ee5750601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561311c57601860179054906101000a900460ff161561311657601254600e8190555061311b565b600090505b5b613128848484846137dd565b50505050565b6000838311158290613176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161316d91906148e6565b60405180910390fd5b50600083856131859190614cf9565b9050809150509392505050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166131e160028461373a90919063ffffffff16565b6040516131ed906147bf565b60006040518083038185875af1925050503d806000811461322a576040519150601f19603f3d011682016040523d82523d6000602084013e61322f565b606091505b505090506000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661328260028561373a90919063ffffffff16565b60405161328e906147bf565b60006040518083038185875af1925050503d80600081146132cb576040519150601f19603f3d011682016040523d82523d6000602084013e6132d0565b606091505b505090507fc45e9b3ac19bf635feaed560109cb8931031fbbc86809d50d65d41a2cf2fe8b982826040516133059291906148bd565b60405180910390a1505050565b6000600854821115613359576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161335090614928565b60405180910390fd5b600061336361380a565b9050613378818461373a90919063ffffffff16565b915050919050565b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60016018806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561341257613411614eaf565b5b6040519080825280602002602001820160405280156134405781602001602082028036833780820191505090505b509050308160008151811061345857613457614e80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156134fa57600080fd5b505afa15801561350e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613532919061414c565b8160018151811061354657613545614e80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506135ad30601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612758565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613611959493929190614b43565b600060405180830381600087803b15801561362b57600080fd5b505af115801561363f573d6000803e3d6000fd5b505050505060006018806101000a81548160ff02191690831515021790555050565b60008083141561367457600090506136d6565b600082846136829190614c9f565b90508284826136919190614c6e565b146136d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136c890614a08565b60405180910390fd5b809150505b92915050565b60008082846136eb9190614c18565b905083811015613730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161372790614968565b60405180910390fd5b8091505092915050565b600061377c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613835565b905092915050565b60016018806101000a81548160ff0219169083151502179055506137a781613898565b600047905060008111156137bf576137be47613192565b5b5060006018806101000a81548160ff02191690831515021790555050565b806137eb576137ea613aea565b5b6137f6848484613b2d565b8061380457613803613cf8565b5b50505050565b6000806000613817613d0c565b9150915061382e818361373a90919063ffffffff16565b9250505090565b6000808311829061387c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161387391906148e6565b60405180910390fd5b506000838561388b9190614c6e565b9050809150509392505050565b6000600267ffffffffffffffff8111156138b5576138b4614eaf565b5b6040519080825280602002602001820160405280156138e35781602001602082028036833780820191505090505b50905030816000815181106138fb576138fa614e80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561399d57600080fd5b505afa1580156139b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139d5919061414c565b816001815181106139e9576139e8614e80565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613a5030601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612758565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613ab4959493929190614b43565b600060405180830381600087803b158015613ace57600080fd5b505af1158015613ae2573d6000803e3d6000fd5b505050505050565b6000600d54148015613afe57506000600e54145b15613b0857613b2b565b600d54601381905550600e546014819055506000600d819055506000600e819055505b565b600080600080600080613b3f87613d6e565b955095509550955095509550613b9d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613dd690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c3285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136dc90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c7e81613e20565b613c888483613edd565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613ce59190614b28565b60405180910390a3505050505050505050565b601354600d81905550601454600e81905550565b600080600060085490506000683635c9adc5dea000009050613d42683635c9adc5dea0000060085461373a90919063ffffffff16565b821015613d6157600854683635c9adc5dea00000935093505050613d6a565b81819350935050505b9091565b6000806000806000806000806000613d8b8a600d54600e54613f17565b9250925092506000613d9b61380a565b90506000806000613dae8e878787613fad565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000613e1883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061312e565b905092915050565b6000613e2a61380a565b90506000613e41828461366190919063ffffffff16565b9050613e9581600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136dc90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b613ef282600854613dd690919063ffffffff16565b600881905550613f0d816009546136dc90919063ffffffff16565b6009819055505050565b600080600080613f436064613f35888a61366190919063ffffffff16565b61373a90919063ffffffff16565b90506000613f6d6064613f5f888b61366190919063ffffffff16565b61373a90919063ffffffff16565b90506000613f9682613f88858c613dd690919063ffffffff16565b613dd690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080613fc6858961366190919063ffffffff16565b90506000613fdd868961366190919063ffffffff16565b90506000613ff4878961366190919063ffffffff16565b9050600061401d8261400f8587613dd690919063ffffffff16565b613dd690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506140458161531a565b92915050565b60008151905061405a8161531a565b92915050565b60008135905061406f81615331565b92915050565b60008083601f84011261408b5761408a614ee3565b5b8235905067ffffffffffffffff8111156140a8576140a7614ede565b5b6020830191508360208202830111156140c4576140c3614ee8565b5b9250929050565b6000813590506140da81615348565b92915050565b6000815190506140ef81615348565b92915050565b6000813590506141048161535f565b92915050565b6000815190506141198161535f565b92915050565b60006020828403121561413557614134614ef2565b5b600061414384828501614036565b91505092915050565b60006020828403121561416257614161614ef2565b5b60006141708482850161404b565b91505092915050565b60006020828403121561418f5761418e614ef2565b5b600061419d84828501614060565b91505092915050565b600080604083850312156141bd576141bc614ef2565b5b60006141cb85828601614036565b92505060206141dc85828601614036565b9150509250929050565b6000806000606084860312156141ff576141fe614ef2565b5b600061420d86828701614036565b935050602061421e86828701614036565b925050604061422f868287016140f5565b9150509250925092565b600080604083850312156142505761424f614ef2565b5b600061425e85828601614036565b925050602061426f858286016140cb565b9150509250929050565b600080604083850312156142905761428f614ef2565b5b600061429e85828601614036565b92505060206142af858286016140f5565b9150509250929050565b600080602083850312156142d0576142cf614ef2565b5b600083013567ffffffffffffffff8111156142ee576142ed614eed565b5b6142fa85828601614075565b92509250509250929050565b60008060006040848603121561431f5761431e614ef2565b5b600084013567ffffffffffffffff81111561433d5761433c614eed565b5b61434986828701614075565b9350935050602061435c868287016140cb565b9150509250925092565b60006020828403121561437c5761437b614ef2565b5b600061438a848285016140cb565b91505092915050565b6000602082840312156143a9576143a8614ef2565b5b60006143b7848285016140e0565b91505092915050565b6000602082840312156143d6576143d5614ef2565b5b60006143e4848285016140f5565b91505092915050565b60008060006060848603121561440657614405614ef2565b5b60006144148682870161410a565b93505060206144258682870161410a565b92505060406144368682870161410a565b9150509250925092565b600061444c8383614458565b60208301905092915050565b61446181614d2d565b82525050565b61447081614d2d565b82525050565b600061448182614bc8565b61448b8185614beb565b935061449683614bb8565b8060005b838110156144c75781516144ae8882614440565b97506144b983614bde565b92505060018101905061449a565b5085935050505092915050565b6144dd81614d51565b82525050565b6144ec81614d94565b82525050565b60006144fd82614bd3565b6145078185614c07565b9350614517818560208601614da6565b61452081614ef7565b840191505092915050565b6000614538602383614c07565b915061454382614f08565b604082019050919050565b600061455b602a83614c07565b915061456682614f57565b604082019050919050565b600061457e602283614c07565b915061458982614fa6565b604082019050919050565b60006145a1601b83614c07565b91506145ac82614ff5565b602082019050919050565b60006145c4601c83614c07565b91506145cf8261501e565b602082019050919050565b60006145e7603983614c07565b91506145f282615047565b604082019050919050565b600061460a601783614c07565b915061461582615096565b602082019050919050565b600061462d602083614c07565b9150614638826150bf565b602082019050919050565b6000614650602183614c07565b915061465b826150e8565b604082019050919050565b6000614673602083614c07565b915061467e82615137565b602082019050919050565b6000614696602983614c07565b91506146a182615160565b604082019050919050565b60006146b9602583614c07565b91506146c4826151af565b604082019050919050565b60006146dc602383614c07565b91506146e7826151fe565b604082019050919050565b60006146ff600083614bfc565b915061470a8261524d565b600082019050919050565b6000614722602483614c07565b915061472d82615250565b604082019050919050565b6000614745601783614c07565b91506147508261529f565b602082019050919050565b6000614768601b83614c07565b9150614773826152c8565b602082019050919050565b600061478b601883614c07565b9150614796826152f1565b602082019050919050565b6147aa81614d7d565b82525050565b6147b981614d87565b82525050565b60006147ca826146f2565b9150819050919050565b60006020820190506147e96000830184614467565b92915050565b60006040820190506148046000830185614467565b6148116020830184614467565b9392505050565b600060408201905061482d6000830185614467565b61483a60208301846147a1565b9392505050565b600060c0820190506148566000830189614467565b61486360208301886147a1565b61487060408301876144e3565b61487d60608301866144e3565b61488a6080830185614467565b61489760a08301846147a1565b979650505050505050565b60006020820190506148b760008301846144d4565b92915050565b60006040820190506148d260008301856144d4565b6148df60208301846144d4565b9392505050565b6000602082019050818103600083015261490081846144f2565b905092915050565b600060208201905081810360008301526149218161452b565b9050919050565b600060208201905081810360008301526149418161454e565b9050919050565b6000602082019050818103600083015261496181614571565b9050919050565b6000602082019050818103600083015261498181614594565b9050919050565b600060208201905081810360008301526149a1816145b7565b9050919050565b600060208201905081810360008301526149c1816145da565b9050919050565b600060208201905081810360008301526149e1816145fd565b9050919050565b60006020820190508181036000830152614a0181614620565b9050919050565b60006020820190508181036000830152614a2181614643565b9050919050565b60006020820190508181036000830152614a4181614666565b9050919050565b60006020820190508181036000830152614a6181614689565b9050919050565b60006020820190508181036000830152614a81816146ac565b9050919050565b60006020820190508181036000830152614aa1816146cf565b9050919050565b60006020820190508181036000830152614ac181614715565b9050919050565b60006020820190508181036000830152614ae181614738565b9050919050565b60006020820190508181036000830152614b018161475b565b9050919050565b60006020820190508181036000830152614b218161477e565b9050919050565b6000602082019050614b3d60008301846147a1565b92915050565b600060a082019050614b5860008301886147a1565b614b6560208301876144e3565b8181036040830152614b778186614476565b9050614b866060830185614467565b614b9360808301846147a1565b9695505050505050565b6000602082019050614bb260008301846147b0565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000614c2382614d7d565b9150614c2e83614d7d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614c6357614c62614e22565b5b828201905092915050565b6000614c7982614d7d565b9150614c8483614d7d565b925082614c9457614c93614e51565b5b828204905092915050565b6000614caa82614d7d565b9150614cb583614d7d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614cee57614ced614e22565b5b828202905092915050565b6000614d0482614d7d565b9150614d0f83614d7d565b925082821015614d2257614d21614e22565b5b828203905092915050565b6000614d3882614d5d565b9050919050565b6000614d4a82614d5d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000614d9f82614d7d565b9050919050565b60005b83811015614dc4578082015181840152602081019050614da9565b83811115614dd3576000848401525b50505050565b6000614de482614d7d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614e1757614e16614e22565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f53656c6c20666565206d757374206265206c657373207468616e203500000000600082015250565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b7f746178206d757374206265206c657373207468616e2035000000000000000000600082015250565b7f5472616e7366657220666565206d757374206265206c657373207468616e2035600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f42757920666565206d757374206265206c657373207468616e20350000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b61532381614d2d565b811461532e57600080fd5b50565b61533a81614d3f565b811461534557600080fd5b50565b61535181614d51565b811461535c57600080fd5b50565b61536881614d7d565b811461537357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d156c61fe7b533fb6209cfc1e92d7d505c6c0a44469253c80eb926e6144f858764736f6c63430008070033

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

000000000000000000000000c20e2047719785e0c7c8b86a4915a0a525ae720d0000000000000000000000004c771bc999ff61219c5045f885eb59ca78112c90

-----Decoded View---------------
Arg [0] : devWallet (address): 0xc20E2047719785e0c7C8B86a4915A0a525aE720D
Arg [1] : marketingWallet (address): 0x4C771Bc999ff61219C5045f885Eb59Ca78112C90

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c20e2047719785e0c7c8b86a4915a0a525ae720d
Arg [1] : 0000000000000000000000004c771bc999ff61219c5045f885eb59ca78112c90


Deployed Bytecode Sourcemap

3858:16446:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6414:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7266:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17568:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18414:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17997:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6691:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16537:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7435:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19047:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19702:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6600:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19148:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16735:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18556:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16305:224;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17874:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19541:153;;;;;;;;;;;;;:::i;:::-;;6794:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2937:148;;;;;;;;;;;;;:::i;:::-;;19245:116;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16978:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17718:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2723:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18095:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6505:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19919:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6940:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18763:272;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17446:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19369:160;;;;;;;;;;;;;:::i;:::-;;18268:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15526:767;;;;;;;;;;;;;:::i;:::-;;16859:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17098:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19810:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7115:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18665:86;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17316:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6414:83;6451:13;6484:5;;;;;;;;;;;;;;;;;6477:12;;6414:83;:::o;7266:161::-;7341:4;7358:39;7367:12;:10;:12::i;:::-;7381:7;7390:6;7358:8;:39::i;:::-;7415:4;7408:11;;7266:161;;;;:::o;17568:142::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17645:1:::1;17638:3;:8;;17630:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;17699:3;17689:7;:13;;;;17568:142:::0;:::o;18414:134::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18535:5:::1;18524:8;:16;;;;:::i;:::-;18498:23;:42;;;;18414:134:::0;:::o;17997:90::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18074:5:::1;18061:10;;:18;;;;;;;;;;;;;;;;;;17997:90:::0;:::o;6691:95::-;6744:7;4376:12;6764:14;;6691:95;:::o;16537:190::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16646:5:::1;16613:18;:30;16632:10;;;;;;;;;;;16613:30;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;16675:3;16662:10;;:16;;;;;;;;;;;;;;;;;;16715:4;16689:18;:23;16708:3;16689:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;16537:190:::0;:::o;7435:313::-;7533:4;7550:36;7560:6;7568:9;7579:6;7550:9;:36::i;:::-;7597:121;7606:6;7614:12;:10;:12::i;:::-;7628:89;7666:6;7628:89;;;;;;;;;;;;;;;;;:11;:19;7640:6;7628:19;;;;;;;;;;;;;;;:33;7648:12;:10;:12::i;:::-;7628:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7597:8;:121::i;:::-;7736:4;7729:11;;7435:313;;;;;:::o;19047:89::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19123:5:::1;19107;:13;19113:6;19107:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;19047:89:::0;:::o;19702:100::-;19746:4;19770:24;19788:4;19770:9;:24::i;:::-;19763:31;;19702:100;:::o;6600:83::-;6641:5;4779:1;6659:16;;6600:83;:::o;19148:89::-;19196:4;19220:5;:9;19226:2;19220:9;;;;;;;;;;;;;;;;;;;;;;;;;19213:16;;19148:89;;;:::o;16735:112::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16835:4:::1;16810:18;:22;16829:2;16810:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;16735:112:::0;:::o;18556:101::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18644:5:::1;18638:3;:11;;;;:::i;:::-;18621:14;:28;;;;18556:101:::0;:::o;16305:224::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16430:5:::1;16391:18;:36;16410:16;;;;;;;;;;;16391:36;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;16465:9;16446:16;;:28;;;;;;;;;;;;;;;;;;16517:4;16485:18;:29;16504:9;16485:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;16305:224:::0;:::o;17874:115::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17972:9:::1;17952:17;:29;;;;17874:115:::0;:::o;19541:153::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19593:26:::1;19622:21;19593:50;;19654:32;19667:18;19654:12;:32::i;:::-;19582:112;19541:153::o:0;6794:138::-;6860:7;6887:37;6907:7;:16;6915:7;6907:16;;;;;;;;;;;;;;;;6887:19;:37::i;:::-;6880:44;;6794:138;;;:::o;2937:148::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3044:1:::1;3007:40;;3028:6;::::0;::::1;;;;;;;;3007:40;;;;;;;;;;;;3075:1;3058:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2937:148::o:0;19245:116::-;19294:4;19338:15;19318:17;;:35;19311:42;;19245:116;:::o;16978:112::-;17036:4;17060:18;:22;17079:2;17060:22;;;;;;;;;;;;;;;;;;;;;;;;;17053:29;;16978:112;;;:::o;17718:148::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17798:1:::1;17790:4;:9;;17782:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;17854:4;17843:8;:15;;;;17718:148:::0;:::o;2723:79::-;2761:7;2788:6;;;;;;;;;;;2781:13;;2723:79;:::o;18095:157::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18177:1:::1;18170:3;:8;;18162:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;18241:3;18226:12;:18;;;;18095:157:::0;:::o;6505:87::-;6544:13;6577:7;;;;;;;;;;;;;;;;;6570:14;;6505:87;:::o;19919:244::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20028:13:::1;;;;;;;;;;;20020:21;;:4;:21;;;;20012:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;20114:41;20143:4;20149:5;20114:28;:41::i;:::-;19919:244:::0;;:::o;6940:167::-;7018:4;7035:42;7045:12;:10;:12::i;:::-;7059:9;7070:6;7035:9;:42::i;:::-;7095:4;7088:11;;6940:167;;;;:::o;18763:272::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18839:6:::1;18834:194;18855:5;;:12;;18851:1;:16;18834:194;;;18905:13;;;;;;;;;;;18893:25;;:5;;18899:1;18893:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;:25;;;;:65;;;;;18942:15;;;;;;;;;;;18922:36;;:5;;18928:1;18922:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;:36;;;;18893:65;18889:128;;;18997:4;18979:5;:15;18985:5;;18991:1;18985:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18979:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;18889:128;18869:3;;;;;:::i;:::-;;;;18834:194;;;;18763:272:::0;;:::o;17446:110::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17543:5:::1;17520:20;;:28;;;;;;;;;;;;;;;;;;17446:110:::0;:::o;19369:160::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19421:23:::1;19447:24;19465:4;19447:9;:24::i;:::-;19421:50;;19482:39;19505:15;19482:22;:39::i;:::-;19410:119;19369:160::o:0;18268:138::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18345:1:::1;18338:3;:8;;18330:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;18395:3;18385:7;:13;;;;18268:138:::0;:::o;15526:767::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15590:11:::1;;;;;;;;;;;15589:12;15581:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;15639:35;15696:42;15639:100;;15768:16;15750:15;;:34;;;;;;;;;;;;;;;;;;15795:58;15812:4;15827:15;;;;;;;;;;;4376:12;15795:8;:58::i;:::-;15898:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15880:56;;;15945:4;15952:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15880:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15864:13;;:112;;;;;;;;;;;;;;;;;;15987:15;;;;;;;;;;;:31;;;16026:21;16057:4;16063:24;16081:4;16063:9;:24::i;:::-;16088:1;16090::::0;16092:7:::1;:5;:7::i;:::-;16100:15;15987:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16134:13;;;;;;;;;;;16127:29;;;16165:15;;;;;;;;;;;16183:14;16127:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16223:4;16209:11;;:18;;;;;;;;;;;;;;;;;;16281:4;16238:25;:40;16264:13;;;;;;;;;;;16238:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;15570:723;15526:767::o:0;16859:111::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16957:5:::1;16932:18;:22;16951:2;16932:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;16859:111:::0;:::o;17098:206::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17197:6:::1;17192:105;17213:3;;:10;;17209:1;:14;17192:105;;;17280:5;17245:24;:32;17270:3;;17274:1;17270:6;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;17245:32;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;17225:3;;;;;:::i;:::-;;;;17192:105;;;;17098:206:::0;;;:::o;19810:101::-;19855:4;19879:24;19889:13;;;;;;;;;;;19879:9;:24::i;:::-;19872:31;;19810:101;:::o;7115:143::-;7196:7;7223:11;:18;7235:5;7223:18;;;;;;;;;;;;;;;:27;7242:7;7223:27;;;;;;;;;;;;;;;;7216:34;;7115:143;;;;:::o;18665:86::-;2860:12;:10;:12::i;:::-;2850:22;;:6;;;;;;;;;;:22;;;2842:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18738:5:::1;18727:8;;:16;;;;;;;;;;;;;;;;;;18665:86:::0;:::o;17316:122::-;17378:4;17402:24;:28;17427:2;17402:28;;;;;;;;;;;;;;;;;;;;;;;;;17395:35;;17316:122;;;:::o;132:98::-;185:7;212:10;205:17;;132:98;:::o;8363:335::-;8473:1;8456:19;;:5;:19;;;;8448:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8554:1;8535:21;;:7;:21;;;;8527:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8636:6;8606:11;:18;8618:5;8606:18;;;;;;;;;;;;;;;:27;8625:7;8606:27;;;;;;;;;;;;;;;:36;;;;8674:7;8658:32;;8667:5;8658:32;;;8683:6;8658:32;;;;;;:::i;:::-;;;;;;;;8363:335;;;:::o;8710:2392::-;8814:1;8798:18;;:4;:18;;;;8790:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8891:1;8877:16;;:2;:16;;;;8869:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8961:1;8952:6;:10;8944:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9032:7;:5;:7::i;:::-;9024:15;;:4;:15;;;;:32;;;;;9049:7;:5;:7::i;:::-;9043:13;;:2;:13;;;;9024:32;9021:1627;;;9096:5;:11;9102:4;9096:11;;;;;;;;;;;;;;;;;;;;;;;;;9095:12;:26;;;;;9112:5;:9;9118:2;9112:9;;;;;;;;;;;;;;;;;;;;;;;;;9111:10;9095:26;9087:35;;;;;;9148:13;;;;;;;;;;;9142:19;;:2;:19;;;;:52;;;;;9166:24;:28;9191:2;9166:28;;;;;;;;;;;;;;;;;;;;;;;;;9165:29;9142:52;9139:189;;;9258:14;;9248:6;9223:22;9241:2;9223:9;:22::i;:::-;:31;;;;:::i;:::-;:49;;9215:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;9139:189;9367:13;;;;;;;;;;;9359:21;;:4;:21;;;:55;;;;;9398:15;;;;;;;;;;;9384:30;;:2;:30;;;;9359:55;:82;;;;;9419:18;:22;9438:2;9419:22;;;;;;;;;;;;;;;;;;;;;;;;;9418:23;9359:82;9356:660;;;9470:11;;;;;;;;;;;9462:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;9531:14;9548:29;9559:17;;9548:6;:10;;:29;;;;:::i;:::-;9531:46;;9605:48;9616:36;9645:6;9616:24;9626:13;;;;;;;;;;;9616:9;:24::i;:::-;:28;;:36;;;;:::i;:::-;9605:6;:10;;:48;;;;:::i;:::-;9596:57;;9679:10;;;;;;;;;;;9678:11;:26;;;;9703:1;9693:6;:11;;9678:26;9674:327;;;9740:7;;9729:8;:18;;;;9674:327;;;9786:7;;9776:6;:17;9773:228;;9831:1;9820:8;:12;;;;9893:10;9875:15;:28;;;;:::i;:::-;9855:17;:48;;;;9773:228;;;9975:6;9965:7;;:16;;;;:::i;:::-;9954:8;:27;;;;9773:228;9674:327;9443:573;9356:660;10050:6;;;;;;;;;;10049:7;:32;;;;;10068:13;;;;;;;;;;;10060:21;;:4;:21;;;;10049:32;:47;;;;;10085:11;;;;;;;;;;;10049:47;10046:591;;;10119:28;10150:24;10168:4;10150:9;:24::i;:::-;10119:55;;10204:8;;10193;:19;;;;10257:15;10237:17;;:35;10233:110;;;10308:15;10321:1;10308:8;;:12;;:15;;;;:::i;:::-;10297:8;:26;;;;10233:110;10389:23;;10366:20;:46;10363:259;;;10441:8;;;;;;;;;;;10437:111;;10501:23;;10478:46;;10437:111;10572:30;10581:20;10572:8;:30::i;:::-;10363:259;10098:539;10046:591;9021:1627;10658:12;10673:4;10658:19;;10693:18;:24;10712:4;10693:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10721:18;:22;10740:2;10721:22;;;;;;;;;;;;;;;;;;;;;;;;;10693:50;10690:97;;;10770:5;10760:15;;10690:97;10803:25;:31;10829:4;10803:31;;;;;;;;;;;;;;;;;;;;;;;;;10802:32;:66;;;;;10839:25;:29;10865:2;10839:29;;;;;;;;;;;;;;;;;;;;;;;;;10838:30;10802:66;10799:237;;;10889:20;;;;;;;;;;;10885:140;;;10941:12;;10930:8;:23;;;;10885:140;;;11004:5;10994:15;;10885:140;10799:237;11056:38;11071:4;11076:2;11079:6;11086:7;11056:14;:38::i;:::-;8779:2323;8710:2392;;;:::o;1269:190::-;1355:7;1388:1;1383;:6;;1391:12;1375:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1415:9;1431:1;1427;:5;;;;:::i;:::-;1415:17;;1450:1;1443:8;;;1269:190;;;;;:::o;12399:242::-;12457:8;12471:10;;;;;;;;;;;:15;;12494:13;12505:1;12494:6;:10;;:13;;;;:::i;:::-;12471:41;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12456:56;;;12524:14;12544:16;;;;;;;;;;;:21;;12573:13;12584:1;12573:6;:10;;:13;;;;:::i;:::-;12544:47;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12523:68;;;12609:24;12618:3;12623:9;12609:24;;;;;;;:::i;:::-;;;;;;;;12445:196;;12399:242;:::o;7756:254::-;7823:7;7862;;7851;:18;;7843:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7927:19;7950:10;:8;:10::i;:::-;7927:33;;7978:24;7990:11;7978:7;:11;;:24;;;;:::i;:::-;7971:31;;;7756:254;;;:::o;20171:130::-;20288:5;20254:25;:31;20280:4;20254:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;20171:130;;:::o;11894:489::-;5655:4;5646:6;;:13;;;;;;;;;;;;;;;;;;11978:21:::1;12016:1;12002:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11978:40;;12047:4;12029;12034:1;12029:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12073:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12063:4;12068:1;12063:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12106:62;12123:4;12138:15;;;;;;;;;;;12156:11;12106:8;:62::i;:::-;12179:15;;;;;;;;;;;:66;;;12260:11;12286:1;12302:4;12329;12349:15;12179:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11967:416;5691:5:::0;5682:6;;:14;;;;;;;;;;;;;;;;;;11894:489;:::o;1467:245::-;1525:7;1553:1;1548;:6;1545:46;;;1578:1;1571:8;;;;1545:46;1601:9;1617:1;1613;:5;;;;:::i;:::-;1601:17;;1646:1;1641;1637;:5;;;;:::i;:::-;:10;1629:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1703:1;1696:8;;;1467:245;;;;;:::o;938:179::-;996:7;1016:9;1032:1;1028;:5;;;;:::i;:::-;1016:17;;1057:1;1052;:6;;1044:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1108:1;1101:8;;;938:179;;;;:::o;1720:132::-;1778:7;1805:39;1809:1;1812;1805:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1798:46;;1720:132;;;;:::o;11110:297::-;5655:4;5646:6;;:13;;;;;;;;;;;;;;;;;;11199:38:::1;11216:20;11199:16;:38::i;:::-;11250:26;11279:21;11250:50;;11335:1;11314:18;:22;11311:89;;;11353:35;11366:21;11353:12;:35::i;:::-;11311:89;11178:229;5691:5:::0;5682:6;;:14;;;;;;;;;;;;;;;;;;11110:297;:::o;12653:263::-;12765:7;12761:40;;12787:14;:12;:14::i;:::-;12761:40;12812:44;12830:6;12838:9;12849:6;12812:17;:44::i;:::-;12871:7;12867:41;;12893:15;:13;:15::i;:::-;12867:41;12653:263;;;;:::o;14257:163::-;14298:7;14319:15;14336;14355:19;:17;:19::i;:::-;14318:56;;;;14392:20;14404:7;14392;:11;;:20;;;;:::i;:::-;14385:27;;;;14257:163;:::o;1860:189::-;1946:7;1978:1;1974;:5;1981:12;1966:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2005:9;2021:1;2017;:5;;;;:::i;:::-;2005:17;;2040:1;2033:8;;;1860:189;;;;;:::o;11415:471::-;11481:21;11519:1;11505:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11481:40;;11550:4;11532;11537:1;11532:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;11576:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11566:4;11571:1;11566:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;11609:62;11626:4;11641:15;;;;;;;;;;;11659:11;11609:8;:62::i;:::-;11682:15;;;;;;;;;;;:66;;;11763:11;11789:1;11805:4;11832;11852:15;11682:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11470:416;11415:471;:::o;8018:210::-;8075:1;8064:7;;:12;:29;;;;;8092:1;8080:8;;:13;8064:29;8061:41;;;8095:7;;8061:41;8130:7;;8112:15;:25;;;;8167:8;;8148:16;:27;;;;8196:1;8186:7;:11;;;;8219:1;8208:8;:12;;;;8018:210;:::o;12924:490::-;13023:15;13040:23;13065:12;13079:23;13104:12;13118:13;13135:19;13146:7;13135:10;:19::i;:::-;13022:132;;;;;;;;;;;;13183:28;13203:7;13183;:15;13191:6;13183:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13165:7;:15;13173:6;13165:15;;;;;;;;;;;;;;;:46;;;;13243:39;13266:15;13243:7;:18;13251:9;13243:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13222:7;:18;13230:9;13222:18;;;;;;;;;;;;;;;:60;;;;13296:16;13306:5;13296:9;:16::i;:::-;13323:23;13335:4;13341;13323:11;:23::i;:::-;13379:9;13362:44;;13371:6;13362:44;;;13390:15;13362:44;;;;;;:::i;:::-;;;;;;;;13011:403;;;;;;12924:490;;;:::o;8240:115::-;8294:15;;8284:7;:25;;;;8331:16;;8320:8;:27;;;;8240:115::o;14428:255::-;14478:7;14487;14507:15;14525:7;;14507:25;;14543:15;4376:12;14543:25;;14592:20;4376:12;14592:7;;:11;;:20;;;;:::i;:::-;14582:7;:30;14579:60;;;14622:7;;4376:12;14614:25;;;;;;;;14579:60;14658:7;14667;14650:25;;;;;;14428:255;;;:::o;13422:468::-;13481:7;13490;13499;13508;13517;13526;13547:23;13572:12;13586:13;13603:39;13615:7;13624;;13633:8;;13603:11;:39::i;:::-;13546:96;;;;;;13653:19;13676:10;:8;:10::i;:::-;13653:33;;13698:15;13715:23;13740:12;13756:46;13768:7;13777:4;13783:5;13790:11;13756;:46::i;:::-;13697:105;;;;;;13821:7;13830:15;13847:4;13853:15;13870:4;13876:5;13813:69;;;;;;;;;;;;;;;;;;;13422:468;;;;;;;:::o;1125:136::-;1183:7;1210:43;1214:1;1217;1210:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1203:50;;1125:136;;;;:::o;15108:214::-;15161:19;15184:10;:8;:10::i;:::-;15161:33;;15205:13;15221:22;15231:11;15221:5;:9;;:22;;;;:::i;:::-;15205:38;;15281:33;15308:5;15281:7;:22;15297:4;15281:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15256:7;:22;15272:4;15256:22;;;;;;;;;;;;;;;:58;;;;15150:172;;15108:214;:::o;15330:147::-;15408:17;15420:4;15408:7;;:11;;:17;;;;:::i;:::-;15398:7;:27;;;;15449:20;15464:4;15449:10;;:14;;:20;;;;:::i;:::-;15436:10;:33;;;;15330:147;;:::o;13898:351::-;13991:7;14000;14009;14029:12;14044:28;14068:3;14044:19;14056:6;14044:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14029:43;;14083:13;14099:29;14124:3;14099:20;14111:7;14099;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;14083:45;;14139:23;14165:28;14187:5;14165:17;14177:4;14165:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14139:54;;14212:15;14229:4;14235:5;14204:37;;;;;;;;;13898:351;;;;;;;:::o;14691:409::-;14801:7;14810;14819;14839:15;14857:24;14869:11;14857:7;:11;;:24;;;;:::i;:::-;14839:42;;14892:12;14907:21;14916:11;14907:4;:8;;:21;;;;:::i;:::-;14892:36;;14939:13;14955:22;14965:11;14955:5;:9;;:22;;;;:::i;:::-;14939:38;;14988:23;15014:28;15036:5;15014:17;15026:4;15014:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14988:54;;15061:7;15070:15;15087:4;15053:39;;;;;;;;;;14691:409;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:155::-;355:5;393:6;380:20;371:29;;409:41;444:5;409:41;:::i;:::-;301:155;;;;:::o;479:568::-;552:8;562:6;612:3;605:4;597:6;593:17;589:27;579:122;;620:79;;:::i;:::-;579:122;733:6;720:20;710:30;;763:18;755:6;752:30;749:117;;;785:79;;:::i;:::-;749:117;899:4;891:6;887:17;875:29;;953:3;945:4;937:6;933:17;923:8;919:32;916:41;913:128;;;960:79;;:::i;:::-;913:128;479:568;;;;;:::o;1053:133::-;1096:5;1134:6;1121:20;1112:29;;1150:30;1174:5;1150:30;:::i;:::-;1053:133;;;;:::o;1192:137::-;1246:5;1277:6;1271:13;1262:22;;1293:30;1317:5;1293:30;:::i;:::-;1192:137;;;;:::o;1335:139::-;1381:5;1419:6;1406:20;1397:29;;1435:33;1462:5;1435:33;:::i;:::-;1335:139;;;;:::o;1480:143::-;1537:5;1568:6;1562:13;1553:22;;1584:33;1611:5;1584:33;:::i;:::-;1480:143;;;;:::o;1629:329::-;1688:6;1737:2;1725:9;1716:7;1712:23;1708:32;1705:119;;;1743:79;;:::i;:::-;1705:119;1863:1;1888:53;1933:7;1924:6;1913:9;1909:22;1888:53;:::i;:::-;1878:63;;1834:117;1629:329;;;;:::o;1964:351::-;2034:6;2083:2;2071:9;2062:7;2058:23;2054:32;2051:119;;;2089:79;;:::i;:::-;2051:119;2209:1;2234:64;2290:7;2281:6;2270:9;2266:22;2234:64;:::i;:::-;2224:74;;2180:128;1964:351;;;;:::o;2321:345::-;2388:6;2437:2;2425:9;2416:7;2412:23;2408:32;2405:119;;;2443:79;;:::i;:::-;2405:119;2563:1;2588:61;2641:7;2632:6;2621:9;2617:22;2588:61;:::i;:::-;2578:71;;2534:125;2321:345;;;;:::o;2672:474::-;2740:6;2748;2797:2;2785:9;2776:7;2772:23;2768:32;2765:119;;;2803:79;;:::i;:::-;2765:119;2923:1;2948:53;2993:7;2984:6;2973:9;2969:22;2948:53;:::i;:::-;2938:63;;2894:117;3050:2;3076:53;3121:7;3112:6;3101:9;3097:22;3076:53;:::i;:::-;3066:63;;3021:118;2672:474;;;;;:::o;3152:619::-;3229:6;3237;3245;3294:2;3282:9;3273:7;3269:23;3265:32;3262:119;;;3300:79;;:::i;:::-;3262:119;3420:1;3445:53;3490:7;3481:6;3470:9;3466:22;3445:53;:::i;:::-;3435:63;;3391:117;3547:2;3573:53;3618:7;3609:6;3598:9;3594:22;3573:53;:::i;:::-;3563:63;;3518:118;3675:2;3701:53;3746:7;3737:6;3726:9;3722:22;3701:53;:::i;:::-;3691:63;;3646:118;3152:619;;;;;:::o;3777:468::-;3842:6;3850;3899:2;3887:9;3878:7;3874:23;3870:32;3867:119;;;3905:79;;:::i;:::-;3867:119;4025:1;4050:53;4095:7;4086:6;4075:9;4071:22;4050:53;:::i;:::-;4040:63;;3996:117;4152:2;4178:50;4220:7;4211:6;4200:9;4196:22;4178:50;:::i;:::-;4168:60;;4123:115;3777:468;;;;;:::o;4251:474::-;4319:6;4327;4376:2;4364:9;4355:7;4351:23;4347:32;4344:119;;;4382:79;;:::i;:::-;4344:119;4502:1;4527:53;4572:7;4563:6;4552:9;4548:22;4527:53;:::i;:::-;4517:63;;4473:117;4629:2;4655:53;4700:7;4691:6;4680:9;4676:22;4655:53;:::i;:::-;4645:63;;4600:118;4251:474;;;;;:::o;4731:559::-;4817:6;4825;4874:2;4862:9;4853:7;4849:23;4845:32;4842:119;;;4880:79;;:::i;:::-;4842:119;5028:1;5017:9;5013:17;5000:31;5058:18;5050:6;5047:30;5044:117;;;5080:79;;:::i;:::-;5044:117;5193:80;5265:7;5256:6;5245:9;5241:22;5193:80;:::i;:::-;5175:98;;;;4971:312;4731:559;;;;;:::o;5296:698::-;5388:6;5396;5404;5453:2;5441:9;5432:7;5428:23;5424:32;5421:119;;;5459:79;;:::i;:::-;5421:119;5607:1;5596:9;5592:17;5579:31;5637:18;5629:6;5626:30;5623:117;;;5659:79;;:::i;:::-;5623:117;5772:80;5844:7;5835:6;5824:9;5820:22;5772:80;:::i;:::-;5754:98;;;;5550:312;5901:2;5927:50;5969:7;5960:6;5949:9;5945:22;5927:50;:::i;:::-;5917:60;;5872:115;5296:698;;;;;:::o;6000:323::-;6056:6;6105:2;6093:9;6084:7;6080:23;6076:32;6073:119;;;6111:79;;:::i;:::-;6073:119;6231:1;6256:50;6298:7;6289:6;6278:9;6274:22;6256:50;:::i;:::-;6246:60;;6202:114;6000:323;;;;:::o;6329:345::-;6396:6;6445:2;6433:9;6424:7;6420:23;6416:32;6413:119;;;6451:79;;:::i;:::-;6413:119;6571:1;6596:61;6649:7;6640:6;6629:9;6625:22;6596:61;:::i;:::-;6586:71;;6542:125;6329:345;;;;:::o;6680:329::-;6739:6;6788:2;6776:9;6767:7;6763:23;6759:32;6756:119;;;6794:79;;:::i;:::-;6756:119;6914:1;6939:53;6984:7;6975:6;6964:9;6960:22;6939:53;:::i;:::-;6929:63;;6885:117;6680:329;;;;:::o;7015:663::-;7103:6;7111;7119;7168:2;7156:9;7147:7;7143:23;7139:32;7136:119;;;7174:79;;:::i;:::-;7136:119;7294:1;7319:64;7375:7;7366:6;7355:9;7351:22;7319:64;:::i;:::-;7309:74;;7265:128;7432:2;7458:64;7514:7;7505:6;7494:9;7490:22;7458:64;:::i;:::-;7448:74;;7403:129;7571:2;7597:64;7653:7;7644:6;7633:9;7629:22;7597:64;:::i;:::-;7587:74;;7542:129;7015:663;;;;;:::o;7684:179::-;7753:10;7774:46;7816:3;7808:6;7774:46;:::i;:::-;7852:4;7847:3;7843:14;7829:28;;7684:179;;;;:::o;7869:108::-;7946:24;7964:5;7946:24;:::i;:::-;7941:3;7934:37;7869:108;;:::o;7983:118::-;8070:24;8088:5;8070:24;:::i;:::-;8065:3;8058:37;7983:118;;:::o;8137:732::-;8256:3;8285:54;8333:5;8285:54;:::i;:::-;8355:86;8434:6;8429:3;8355:86;:::i;:::-;8348:93;;8465:56;8515:5;8465:56;:::i;:::-;8544:7;8575:1;8560:284;8585:6;8582:1;8579:13;8560:284;;;8661:6;8655:13;8688:63;8747:3;8732:13;8688:63;:::i;:::-;8681:70;;8774:60;8827:6;8774:60;:::i;:::-;8764:70;;8620:224;8607:1;8604;8600:9;8595:14;;8560:284;;;8564:14;8860:3;8853:10;;8261:608;;;8137:732;;;;:::o;8875:109::-;8956:21;8971:5;8956:21;:::i;:::-;8951:3;8944:34;8875:109;;:::o;8990:147::-;9085:45;9124:5;9085:45;:::i;:::-;9080:3;9073:58;8990:147;;:::o;9143:364::-;9231:3;9259:39;9292:5;9259:39;:::i;:::-;9314:71;9378:6;9373:3;9314:71;:::i;:::-;9307:78;;9394:52;9439:6;9434:3;9427:4;9420:5;9416:16;9394:52;:::i;:::-;9471:29;9493:6;9471:29;:::i;:::-;9466:3;9462:39;9455:46;;9235:272;9143:364;;;;:::o;9513:366::-;9655:3;9676:67;9740:2;9735:3;9676:67;:::i;:::-;9669:74;;9752:93;9841:3;9752:93;:::i;:::-;9870:2;9865:3;9861:12;9854:19;;9513:366;;;:::o;9885:::-;10027:3;10048:67;10112:2;10107:3;10048:67;:::i;:::-;10041:74;;10124:93;10213:3;10124:93;:::i;:::-;10242:2;10237:3;10233:12;10226:19;;9885:366;;;:::o;10257:::-;10399:3;10420:67;10484:2;10479:3;10420:67;:::i;:::-;10413:74;;10496:93;10585:3;10496:93;:::i;:::-;10614:2;10609:3;10605:12;10598:19;;10257:366;;;:::o;10629:::-;10771:3;10792:67;10856:2;10851:3;10792:67;:::i;:::-;10785:74;;10868:93;10957:3;10868:93;:::i;:::-;10986:2;10981:3;10977:12;10970:19;;10629:366;;;:::o;11001:::-;11143:3;11164:67;11228:2;11223:3;11164:67;:::i;:::-;11157:74;;11240:93;11329:3;11240:93;:::i;:::-;11358:2;11353:3;11349:12;11342:19;;11001:366;;;:::o;11373:::-;11515:3;11536:67;11600:2;11595:3;11536:67;:::i;:::-;11529:74;;11612:93;11701:3;11612:93;:::i;:::-;11730:2;11725:3;11721:12;11714:19;;11373:366;;;:::o;11745:::-;11887:3;11908:67;11972:2;11967:3;11908:67;:::i;:::-;11901:74;;11984:93;12073:3;11984:93;:::i;:::-;12102:2;12097:3;12093:12;12086:19;;11745:366;;;:::o;12117:::-;12259:3;12280:67;12344:2;12339:3;12280:67;:::i;:::-;12273:74;;12356:93;12445:3;12356:93;:::i;:::-;12474:2;12469:3;12465:12;12458:19;;12117:366;;;:::o;12489:::-;12631:3;12652:67;12716:2;12711:3;12652:67;:::i;:::-;12645:74;;12728:93;12817:3;12728:93;:::i;:::-;12846:2;12841:3;12837:12;12830:19;;12489:366;;;:::o;12861:::-;13003:3;13024:67;13088:2;13083:3;13024:67;:::i;:::-;13017:74;;13100:93;13189:3;13100:93;:::i;:::-;13218:2;13213:3;13209:12;13202:19;;12861:366;;;:::o;13233:::-;13375:3;13396:67;13460:2;13455:3;13396:67;:::i;:::-;13389:74;;13472:93;13561:3;13472:93;:::i;:::-;13590:2;13585:3;13581:12;13574:19;;13233:366;;;:::o;13605:::-;13747:3;13768:67;13832:2;13827:3;13768:67;:::i;:::-;13761:74;;13844:93;13933:3;13844:93;:::i;:::-;13962:2;13957:3;13953:12;13946:19;;13605:366;;;:::o;13977:::-;14119:3;14140:67;14204:2;14199:3;14140:67;:::i;:::-;14133:74;;14216:93;14305:3;14216:93;:::i;:::-;14334:2;14329:3;14325:12;14318:19;;13977:366;;;:::o;14349:398::-;14508:3;14529:83;14610:1;14605:3;14529:83;:::i;:::-;14522:90;;14621:93;14710:3;14621:93;:::i;:::-;14739:1;14734:3;14730:11;14723:18;;14349:398;;;:::o;14753:366::-;14895:3;14916:67;14980:2;14975:3;14916:67;:::i;:::-;14909:74;;14992:93;15081:3;14992:93;:::i;:::-;15110:2;15105:3;15101:12;15094:19;;14753:366;;;:::o;15125:::-;15267:3;15288:67;15352:2;15347:3;15288:67;:::i;:::-;15281:74;;15364:93;15453:3;15364:93;:::i;:::-;15482:2;15477:3;15473:12;15466:19;;15125:366;;;:::o;15497:::-;15639:3;15660:67;15724:2;15719:3;15660:67;:::i;:::-;15653:74;;15736:93;15825:3;15736:93;:::i;:::-;15854:2;15849:3;15845:12;15838:19;;15497:366;;;:::o;15869:::-;16011:3;16032:67;16096:2;16091:3;16032:67;:::i;:::-;16025:74;;16108:93;16197:3;16108:93;:::i;:::-;16226:2;16221:3;16217:12;16210:19;;15869:366;;;:::o;16241:118::-;16328:24;16346:5;16328:24;:::i;:::-;16323:3;16316:37;16241:118;;:::o;16365:112::-;16448:22;16464:5;16448:22;:::i;:::-;16443:3;16436:35;16365:112;;:::o;16483:379::-;16667:3;16689:147;16832:3;16689:147;:::i;:::-;16682:154;;16853:3;16846:10;;16483:379;;;:::o;16868:222::-;16961:4;16999:2;16988:9;16984:18;16976:26;;17012:71;17080:1;17069:9;17065:17;17056:6;17012:71;:::i;:::-;16868:222;;;;:::o;17096:332::-;17217:4;17255:2;17244:9;17240:18;17232:26;;17268:71;17336:1;17325:9;17321:17;17312:6;17268:71;:::i;:::-;17349:72;17417:2;17406:9;17402:18;17393:6;17349:72;:::i;:::-;17096:332;;;;;:::o;17434:::-;17555:4;17593:2;17582:9;17578:18;17570:26;;17606:71;17674:1;17663:9;17659:17;17650:6;17606:71;:::i;:::-;17687:72;17755:2;17744:9;17740:18;17731:6;17687:72;:::i;:::-;17434:332;;;;;:::o;17772:807::-;18021:4;18059:3;18048:9;18044:19;18036:27;;18073:71;18141:1;18130:9;18126:17;18117:6;18073:71;:::i;:::-;18154:72;18222:2;18211:9;18207:18;18198:6;18154:72;:::i;:::-;18236:80;18312:2;18301:9;18297:18;18288:6;18236:80;:::i;:::-;18326;18402:2;18391:9;18387:18;18378:6;18326:80;:::i;:::-;18416:73;18484:3;18473:9;18469:19;18460:6;18416:73;:::i;:::-;18499;18567:3;18556:9;18552:19;18543:6;18499:73;:::i;:::-;17772:807;;;;;;;;;:::o;18585:210::-;18672:4;18710:2;18699:9;18695:18;18687:26;;18723:65;18785:1;18774:9;18770:17;18761:6;18723:65;:::i;:::-;18585:210;;;;:::o;18801:308::-;18910:4;18948:2;18937:9;18933:18;18925:26;;18961:65;19023:1;19012:9;19008:17;18999:6;18961:65;:::i;:::-;19036:66;19098:2;19087:9;19083:18;19074:6;19036:66;:::i;:::-;18801:308;;;;;:::o;19115:313::-;19228:4;19266:2;19255:9;19251:18;19243:26;;19315:9;19309:4;19305:20;19301:1;19290:9;19286:17;19279:47;19343:78;19416:4;19407:6;19343:78;:::i;:::-;19335:86;;19115:313;;;;:::o;19434:419::-;19600:4;19638:2;19627:9;19623:18;19615:26;;19687:9;19681:4;19677:20;19673:1;19662:9;19658:17;19651:47;19715:131;19841:4;19715:131;:::i;:::-;19707:139;;19434:419;;;:::o;19859:::-;20025:4;20063:2;20052:9;20048:18;20040:26;;20112:9;20106:4;20102:20;20098:1;20087:9;20083:17;20076:47;20140:131;20266:4;20140:131;:::i;:::-;20132:139;;19859:419;;;:::o;20284:::-;20450:4;20488:2;20477:9;20473:18;20465:26;;20537:9;20531:4;20527:20;20523:1;20512:9;20508:17;20501:47;20565:131;20691:4;20565:131;:::i;:::-;20557:139;;20284:419;;;:::o;20709:::-;20875:4;20913:2;20902:9;20898:18;20890:26;;20962:9;20956:4;20952:20;20948:1;20937:9;20933:17;20926:47;20990:131;21116:4;20990:131;:::i;:::-;20982:139;;20709:419;;;:::o;21134:::-;21300:4;21338:2;21327:9;21323:18;21315:26;;21387:9;21381:4;21377:20;21373:1;21362:9;21358:17;21351:47;21415:131;21541:4;21415:131;:::i;:::-;21407:139;;21134:419;;;:::o;21559:::-;21725:4;21763:2;21752:9;21748:18;21740:26;;21812:9;21806:4;21802:20;21798:1;21787:9;21783:17;21776:47;21840:131;21966:4;21840:131;:::i;:::-;21832:139;;21559:419;;;:::o;21984:::-;22150:4;22188:2;22177:9;22173:18;22165:26;;22237:9;22231:4;22227:20;22223:1;22212:9;22208:17;22201:47;22265:131;22391:4;22265:131;:::i;:::-;22257:139;;21984:419;;;:::o;22409:::-;22575:4;22613:2;22602:9;22598:18;22590:26;;22662:9;22656:4;22652:20;22648:1;22637:9;22633:17;22626:47;22690:131;22816:4;22690:131;:::i;:::-;22682:139;;22409:419;;;:::o;22834:::-;23000:4;23038:2;23027:9;23023:18;23015:26;;23087:9;23081:4;23077:20;23073:1;23062:9;23058:17;23051:47;23115:131;23241:4;23115:131;:::i;:::-;23107:139;;22834:419;;;:::o;23259:::-;23425:4;23463:2;23452:9;23448:18;23440:26;;23512:9;23506:4;23502:20;23498:1;23487:9;23483:17;23476:47;23540:131;23666:4;23540:131;:::i;:::-;23532:139;;23259:419;;;:::o;23684:::-;23850:4;23888:2;23877:9;23873:18;23865:26;;23937:9;23931:4;23927:20;23923:1;23912:9;23908:17;23901:47;23965:131;24091:4;23965:131;:::i;:::-;23957:139;;23684:419;;;:::o;24109:::-;24275:4;24313:2;24302:9;24298:18;24290:26;;24362:9;24356:4;24352:20;24348:1;24337:9;24333:17;24326:47;24390:131;24516:4;24390:131;:::i;:::-;24382:139;;24109:419;;;:::o;24534:::-;24700:4;24738:2;24727:9;24723:18;24715:26;;24787:9;24781:4;24777:20;24773:1;24762:9;24758:17;24751:47;24815:131;24941:4;24815:131;:::i;:::-;24807:139;;24534:419;;;:::o;24959:::-;25125:4;25163:2;25152:9;25148:18;25140:26;;25212:9;25206:4;25202:20;25198:1;25187:9;25183:17;25176:47;25240:131;25366:4;25240:131;:::i;:::-;25232:139;;24959:419;;;:::o;25384:::-;25550:4;25588:2;25577:9;25573:18;25565:26;;25637:9;25631:4;25627:20;25623:1;25612:9;25608:17;25601:47;25665:131;25791:4;25665:131;:::i;:::-;25657:139;;25384:419;;;:::o;25809:::-;25975:4;26013:2;26002:9;25998:18;25990:26;;26062:9;26056:4;26052:20;26048:1;26037:9;26033:17;26026:47;26090:131;26216:4;26090:131;:::i;:::-;26082:139;;25809:419;;;:::o;26234:::-;26400:4;26438:2;26427:9;26423:18;26415:26;;26487:9;26481:4;26477:20;26473:1;26462:9;26458:17;26451:47;26515:131;26641:4;26515:131;:::i;:::-;26507:139;;26234:419;;;:::o;26659:222::-;26752:4;26790:2;26779:9;26775:18;26767:26;;26803:71;26871:1;26860:9;26856:17;26847:6;26803:71;:::i;:::-;26659:222;;;;:::o;26887:831::-;27150:4;27188:3;27177:9;27173:19;27165:27;;27202:71;27270:1;27259:9;27255:17;27246:6;27202:71;:::i;:::-;27283:80;27359:2;27348:9;27344:18;27335:6;27283:80;:::i;:::-;27410:9;27404:4;27400:20;27395:2;27384:9;27380:18;27373:48;27438:108;27541:4;27532:6;27438:108;:::i;:::-;27430:116;;27556:72;27624:2;27613:9;27609:18;27600:6;27556:72;:::i;:::-;27638:73;27706:3;27695:9;27691:19;27682:6;27638:73;:::i;:::-;26887:831;;;;;;;;:::o;27724:214::-;27813:4;27851:2;27840:9;27836:18;27828:26;;27864:67;27928:1;27917:9;27913:17;27904:6;27864:67;:::i;:::-;27724:214;;;;:::o;28025:132::-;28092:4;28115:3;28107:11;;28145:4;28140:3;28136:14;28128:22;;28025:132;;;:::o;28163:114::-;28230:6;28264:5;28258:12;28248:22;;28163:114;;;:::o;28283:99::-;28335:6;28369:5;28363:12;28353:22;;28283:99;;;:::o;28388:113::-;28458:4;28490;28485:3;28481:14;28473:22;;28388:113;;;:::o;28507:184::-;28606:11;28640:6;28635:3;28628:19;28680:4;28675:3;28671:14;28656:29;;28507:184;;;;:::o;28697:147::-;28798:11;28835:3;28820:18;;28697:147;;;;:::o;28850:169::-;28934:11;28968:6;28963:3;28956:19;29008:4;29003:3;28999:14;28984:29;;28850:169;;;;:::o;29025:305::-;29065:3;29084:20;29102:1;29084:20;:::i;:::-;29079:25;;29118:20;29136:1;29118:20;:::i;:::-;29113:25;;29272:1;29204:66;29200:74;29197:1;29194:81;29191:107;;;29278:18;;:::i;:::-;29191:107;29322:1;29319;29315:9;29308:16;;29025:305;;;;:::o;29336:185::-;29376:1;29393:20;29411:1;29393:20;:::i;:::-;29388:25;;29427:20;29445:1;29427:20;:::i;:::-;29422:25;;29466:1;29456:35;;29471:18;;:::i;:::-;29456:35;29513:1;29510;29506:9;29501:14;;29336:185;;;;:::o;29527:348::-;29567:7;29590:20;29608:1;29590:20;:::i;:::-;29585:25;;29624:20;29642:1;29624:20;:::i;:::-;29619:25;;29812:1;29744:66;29740:74;29737:1;29734:81;29729:1;29722:9;29715:17;29711:105;29708:131;;;29819:18;;:::i;:::-;29708:131;29867:1;29864;29860:9;29849:20;;29527:348;;;;:::o;29881:191::-;29921:4;29941:20;29959:1;29941:20;:::i;:::-;29936:25;;29975:20;29993:1;29975:20;:::i;:::-;29970:25;;30014:1;30011;30008:8;30005:34;;;30019:18;;:::i;:::-;30005:34;30064:1;30061;30057:9;30049:17;;29881:191;;;;:::o;30078:96::-;30115:7;30144:24;30162:5;30144:24;:::i;:::-;30133:35;;30078:96;;;:::o;30180:104::-;30225:7;30254:24;30272:5;30254:24;:::i;:::-;30243:35;;30180:104;;;:::o;30290:90::-;30324:7;30367:5;30360:13;30353:21;30342:32;;30290:90;;;:::o;30386:126::-;30423:7;30463:42;30456:5;30452:54;30441:65;;30386:126;;;:::o;30518:77::-;30555:7;30584:5;30573:16;;30518:77;;;:::o;30601:86::-;30636:7;30676:4;30669:5;30665:16;30654:27;;30601:86;;;:::o;30693:121::-;30751:9;30784:24;30802:5;30784:24;:::i;:::-;30771:37;;30693:121;;;:::o;30820:307::-;30888:1;30898:113;30912:6;30909:1;30906:13;30898:113;;;30997:1;30992:3;30988:11;30982:18;30978:1;30973:3;30969:11;30962:39;30934:2;30931:1;30927:10;30922:15;;30898:113;;;31029:6;31026:1;31023:13;31020:101;;;31109:1;31100:6;31095:3;31091:16;31084:27;31020:101;30869:258;30820:307;;;:::o;31133:233::-;31172:3;31195:24;31213:5;31195:24;:::i;:::-;31186:33;;31241:66;31234:5;31231:77;31228:103;;;31311:18;;:::i;:::-;31228:103;31358:1;31351:5;31347:13;31340:20;;31133:233;;;:::o;31372:180::-;31420:77;31417:1;31410:88;31517:4;31514:1;31507:15;31541:4;31538:1;31531:15;31558:180;31606:77;31603:1;31596:88;31703:4;31700:1;31693:15;31727:4;31724:1;31717:15;31744:180;31792:77;31789:1;31782:88;31889:4;31886:1;31879:15;31913:4;31910:1;31903:15;31930:180;31978:77;31975:1;31968:88;32075:4;32072:1;32065:15;32099:4;32096:1;32089:15;32116:117;32225:1;32222;32215:12;32239:117;32348:1;32345;32338:12;32362:117;32471:1;32468;32461:12;32485:117;32594:1;32591;32584:12;32608:117;32717:1;32714;32707:12;32731:102;32772:6;32823:2;32819:7;32814:2;32807:5;32803:14;32799:28;32789:38;;32731:102;;;:::o;32839:222::-;32979:34;32975:1;32967:6;32963:14;32956:58;33048:5;33043:2;33035:6;33031:15;33024:30;32839:222;:::o;33067:229::-;33207:34;33203:1;33195:6;33191:14;33184:58;33276:12;33271:2;33263:6;33259:15;33252:37;33067:229;:::o;33302:221::-;33442:34;33438:1;33430:6;33426:14;33419:58;33511:4;33506:2;33498:6;33494:15;33487:29;33302:221;:::o;33529:177::-;33669:29;33665:1;33657:6;33653:14;33646:53;33529:177;:::o;33712:178::-;33852:30;33848:1;33840:6;33836:14;33829:54;33712:178;:::o;33896:244::-;34036:34;34032:1;34024:6;34020:14;34013:58;34105:27;34100:2;34092:6;34088:15;34081:52;33896:244;:::o;34146:173::-;34286:25;34282:1;34274:6;34270:14;34263:49;34146:173;:::o;34325:182::-;34465:34;34461:1;34453:6;34449:14;34442:58;34325:182;:::o;34513:220::-;34653:34;34649:1;34641:6;34637:14;34630:58;34722:3;34717:2;34709:6;34705:15;34698:28;34513:220;:::o;34739:182::-;34879:34;34875:1;34867:6;34863:14;34856:58;34739:182;:::o;34927:228::-;35067:34;35063:1;35055:6;35051:14;35044:58;35136:11;35131:2;35123:6;35119:15;35112:36;34927:228;:::o;35161:224::-;35301:34;35297:1;35289:6;35285:14;35278:58;35370:7;35365:2;35357:6;35353:15;35346:32;35161:224;:::o;35391:222::-;35531:34;35527:1;35519:6;35515:14;35508:58;35600:5;35595:2;35587:6;35583:15;35576:30;35391:222;:::o;35619:114::-;;:::o;35739:223::-;35879:34;35875:1;35867:6;35863:14;35856:58;35948:6;35943:2;35935:6;35931:15;35924:31;35739:223;:::o;35968:173::-;36108:25;36104:1;36096:6;36092:14;36085:49;35968:173;:::o;36147:177::-;36287:29;36283:1;36275:6;36271:14;36264:53;36147:177;:::o;36330:174::-;36470:26;36466:1;36458:6;36454:14;36447:50;36330:174;:::o;36510:122::-;36583:24;36601:5;36583:24;:::i;:::-;36576:5;36573:35;36563:63;;36622:1;36619;36612:12;36563:63;36510:122;:::o;36638:138::-;36719:32;36745:5;36719:32;:::i;:::-;36712:5;36709:43;36699:71;;36766:1;36763;36756:12;36699:71;36638:138;:::o;36782:116::-;36852:21;36867:5;36852:21;:::i;:::-;36845:5;36842:32;36832:60;;36888:1;36885;36878:12;36832:60;36782:116;:::o;36904:122::-;36977:24;36995:5;36977:24;:::i;:::-;36970:5;36967:35;36957:63;;37016:1;37013;37006:12;36957:63;36904:122;:::o

Swarm Source

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