ETH Price: $3,356.15 (-8.24%)
 

Overview

Max Total Supply

1,000,000 schlong

Holders

8

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 schlong

Value
$0.00
0x81edb1a3b47082ceab222a2b8d171949e171e293
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:
Token

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-28
*/

/**   


*/
//SPDX-License-Identifier: NONE
pragma solidity ^0.8.21;

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

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

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

}

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract Token is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "horse";
    string private constant _symbol = "schlong";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 30;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 30;

    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    address payable private _developmentAddress;
    address payable public _marketingAddress;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool public tradingOpen = true;
    bool private inSwap = false;
    bool private swapEnabled = true;
    uint256 private sellCount = 0;
    uint256 private maxsellCount = 3;
    uint256 private lastSellBlock = 0;

    uint256 public _maxTxAmount = 20000 * 10**9;
    uint256 public _maxWalletSize = 20000 * 10**9;
    uint256 public _swapTokensAtAmount = 10000 * 10**9;
    uint256 public _initMaxTxAmount = 10000 * 10**9;

    address private lpOwner;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address dOwner) payable {
        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[dOwner] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        _developmentAddress = payable(dOwner);
        _marketingAddress = payable(dOwner);
        lpOwner = dOwner;

        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 (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    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()) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            if (from != address(this)) //add liquidity quick fix
                require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");

            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

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

            if(contractTokenBalance >= _initMaxTxAmount) {
                contractTokenBalance = min(amount,min(contractTokenBalance,_initMaxTxAmount));
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                
                require(sellCount < maxsellCount, "Block sell limit");
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }

                sellCount++;
                lastSellBlock = block.number;
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

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

    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function openTrading() external onlyOwner{
        tradingOpen = true;
        _addLiquidity(address(this).balance);
    }

    function _addLiquidity(uint256 ethAmount) internal {
        _approve(address(this), address(uniswapV2Router), type(uint256).max);
        transfer(address(this), balanceOf(msg.sender).mul(95).div(100));
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            address(lpOwner),
            block.timestamp
        );
    }


    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    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 _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 _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        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 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    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 _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 setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    function setMaxSellBlockAmount(uint256 _maxsells) public onlyOwner {
        maxsellCount = _maxsells;
    }

    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function EnableTrading() public onlyOwner {
        _maxTxAmount = _initMaxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"dOwner","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initMaxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxsells","type":"uint256"}],"name":"setMaxSellBlockAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405266038d7ea4c680005f196100189190610778565b5f1961002491906107d5565b6006555f600855601e6009555f600a55601e600b55600a54600c55600b54600d55600c54600e55600d54600f556001601560146101000a81548160ff0219169083151502179055505f6015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff0219169083151502179055505f60165560036017555f6018556512309ce540006019556512309ce54000601a556509184e72a000601b556509184e72a000601c55604051614b46380380614b4683398181016040528101906100f69190610866565b5f61010561071460201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460025f6101b561071460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610293573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b79190610866565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561031c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103409190610866565b6040518363ffffffff1660e01b815260040161035d9291906108a0565b6020604051808303815f875af1158015610379573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061039d9190610866565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160055f6103ef61071b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506106a261071460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c6800060405161070591906108d6565b60405180910390a350506108ef565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61078282610742565b915061078d83610742565b92508261079d5761079c61074b565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6107df82610742565b91506107ea83610742565b9250828203905081811115610802576108016107a8565b5b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6108358261080c565b9050919050565b6108458161082b565b811461084f575f80fd5b50565b5f815190506108608161083c565b92915050565b5f6020828403121561087b5761087a610808565b5b5f61088884828501610852565b91505092915050565b61089a8161082b565b82525050565b5f6040820190506108b35f830185610891565b6108c06020830184610891565b9392505050565b6108d081610742565b82525050565b5f6020820190506108e95f8301846108c7565b92915050565b61424a806108fc5f395ff3fe608060405260043610610211575f3560e01c80637f2feddc11610117578063bfd792841161009f578063caac79341161006e578063caac79341461073c578063dd62ed3e14610766578063ea1644d5146107a2578063f2fde38b146107ca578063ffb54a99146107f257610218565b8063bfd79284146106ac578063c3c8cd80146106e8578063c492f046146106fe578063c9567bf91461072657610218565b806398a5c315116100e657806398a5c315146105ce5780639f431789146105f6578063a2a957bb14610620578063a9059cbb14610648578063b00b55e01461068457610218565b80637f2feddc146105145780638da5cb5b146105505780638f9a55c01461057a57806395d89b41146105a457610218565b806349bd5a5e1161019a57806370a082311161016957806370a0823114610434578063715018a61461047057806374010ece14610486578063768dc710146104ae5780637d1db4a5146104ea57610218565b806349bd5a5e146103a45780636b999053146103ce5780636d8aa8f8146103f65780636fc3eaec1461041e57610218565b806318160ddd116101e157806318160ddd146102d45780631d97b7cd146102fe57806323b872dd146103145780632fd689e314610350578063313ce5671461037a57610218565b8062b8cf2a1461021c57806306fdde0314610244578063095ea7b31461026e5780631694505e146102aa57610218565b3661021857005b5f80fd5b348015610227575f80fd5b50610242600480360381019061023d9190613154565b61081c565b005b34801561024f575f80fd5b5061025861093b565b60405161026591906131fb565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f919061324e565b610978565b6040516102a191906132a6565b60405180910390f35b3480156102b5575f80fd5b506102be610995565b6040516102cb919061331a565b60405180910390f35b3480156102df575f80fd5b506102e86109ba565b6040516102f59190613342565b60405180910390f35b348015610309575f80fd5b506103126109c8565b005b34801561031f575f80fd5b5061033a6004803603810190610335919061335b565b610a67565b60405161034791906132a6565b60405180910390f35b34801561035b575f80fd5b50610364610b3b565b6040516103719190613342565b60405180910390f35b348015610385575f80fd5b5061038e610b41565b60405161039b91906133c6565b60405180910390f35b3480156103af575f80fd5b506103b8610b49565b6040516103c591906133ee565b60405180910390f35b3480156103d9575f80fd5b506103f460048036038101906103ef9190613407565b610b6e565b005b348015610401575f80fd5b5061041c6004803603810190610417919061345c565b610c59565b005b348015610429575f80fd5b50610432610d0a565b005b34801561043f575f80fd5b5061045a60048036038101906104559190613407565b610dd7565b6040516104679190613342565b60405180910390f35b34801561047b575f80fd5b50610484610e25565b005b348015610491575f80fd5b506104ac60048036038101906104a79190613487565b610f73565b005b3480156104b9575f80fd5b506104d460048036038101906104cf9190613407565b611011565b6040516104e191906132a6565b60405180910390f35b3480156104f5575f80fd5b506104fe61102e565b60405161050b9190613342565b60405180910390f35b34801561051f575f80fd5b5061053a60048036038101906105359190613407565b611034565b6040516105479190613342565b60405180910390f35b34801561055b575f80fd5b50610564611049565b60405161057191906133ee565b60405180910390f35b348015610585575f80fd5b5061058e611070565b60405161059b9190613342565b60405180910390f35b3480156105af575f80fd5b506105b8611076565b6040516105c591906131fb565b60405180910390f35b3480156105d9575f80fd5b506105f460048036038101906105ef9190613487565b6110b3565b005b348015610601575f80fd5b5061060a611151565b6040516106179190613342565b60405180910390f35b34801561062b575f80fd5b50610646600480360381019061064191906134b2565b611157565b005b348015610653575f80fd5b5061066e6004803603810190610669919061324e565b61120d565b60405161067b91906132a6565b60405180910390f35b34801561068f575f80fd5b506106aa60048036038101906106a59190613487565b61122a565b005b3480156106b7575f80fd5b506106d260048036038101906106cd9190613407565b6112c8565b6040516106df91906132a6565b60405180910390f35b3480156106f3575f80fd5b506106fc6112e5565b005b348015610709575f80fd5b50610724600480360381019061071f919061356f565b6113ba565b005b348015610731575f80fd5b5061073a6114e9565b005b348015610747575f80fd5b506107506115a3565b60405161075d91906135ec565b60405180910390f35b348015610771575f80fd5b5061078c60048036038101906107879190613605565b6115c8565b6040516107999190613342565b60405180910390f35b3480156107ad575f80fd5b506107c860048036038101906107c39190613487565b61164a565b005b3480156107d5575f80fd5b506107f060048036038101906107eb9190613407565b6116e8565b005b3480156107fd575f80fd5b506108066118a5565b60405161081391906132a6565b60405180910390f35b6108246118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a79061368d565b60405180910390fd5b5f5b815181101561093757600160105f8484815181106108d3576108d26136ab565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506108b2565b5050565b60606040518060400160405280600581526020017f686f727365000000000000000000000000000000000000000000000000000000815250905090565b5f61098b6109846118b8565b84846118bf565b6001905092915050565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f66038d7ea4c68000905090565b6109d06118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a539061368d565b60405180910390fd5b601c54601981905550565b5f610a73848484611a82565b610b3084610a7f6118b8565b610b2b856040518060600160405280602881526020016141ed6028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610ae26118b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461239e9092919063ffffffff16565b6118bf565b600190509392505050565b601b5481565b5f6009905090565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b766118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf99061368d565b60405180910390fd5b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610c616118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce49061368d565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d4a6118b8565b73ffffffffffffffffffffffffffffffffffffffff161480610dbf575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610da76118b8565b73ffffffffffffffffffffffffffffffffffffffff16145b610dc7575f80fd5b5f479050610dd481612400565b50565b5f610e1e60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612468565b9050919050565b610e2d6118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb09061368d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f7b6118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe9061368d565b60405180910390fd5b8060198190555050565b6005602052805f5260405f205f915054906101000a900460ff1681565b60195481565b6011602052805f5260405f205f915090505481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601a5481565b60606040518060400160405280600781526020017f7363686c6f6e6700000000000000000000000000000000000000000000000000815250905090565b6110bb6118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611147576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113e9061368d565b60405180910390fd5b80601b8190555050565b601c5481565b61115f6118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e29061368d565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b5f6112206112196118b8565b8484611a82565b6001905092915050565b6112326118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b59061368d565b60405180910390fd5b8060178190555050565b6010602052805f5260405f205f915054906101000a900460ff1681565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113256118b8565b73ffffffffffffffffffffffffffffffffffffffff16148061139a575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113826118b8565b73ffffffffffffffffffffffffffffffffffffffff16145b6113a2575f80fd5b5f6113ac30610dd7565b90506113b7816124d4565b50565b6113c26118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461144e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114459061368d565b60405180910390fd5b5f5b838390508110156114e3578160055f868685818110611472576114716136ab565b5b90506020020160208101906114879190613407565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050611450565b50505050565b6114f16118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461157d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115749061368d565b60405180910390fd5b6001601560146101000a81548160ff0219169083151502179055506115a14761273d565b565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6116526118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d59061368d565b60405180910390fd5b80601a8190555050565b6116f06118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461177c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117739061368d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e190613748565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601560149054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361192d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611924906137d6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361199b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199290613864565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a759190613342565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611af0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae7906138f2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5590613980565b60405180910390fd5b5f8111611ba0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9790613a0e565b60405180910390fd5b611ba8611049565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c165750611be6611049565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156120ab57601560149054906101000a900460ff16611ca557611c37611049565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9b90613a9c565b60405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611d1e57601954811115611d1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1490613b04565b60405180910390fd5b5b60105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611dbc575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df290613b92565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611ea757601a5481611e5c84610dd7565b611e669190613bdd565b10611ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9d90613c80565b60405180910390fd5b5b5f611eb130610dd7565b90505f601b548210159050601c548210611edd57611eda83611ed584601c54612897565b612897565b91505b808015611ef5575060158054906101000a900460ff16155b8015611f4e575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611f665750601560169054906101000a900460ff165b8015611fb9575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561200c575060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156120a857601854431115612023575f6016819055505b60175460165410612069576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206090613ce8565b60405180910390fd5b612072826124d4565b5f4790505f8111156120885761208747612400565b5b60165f81548092919061209a90613d06565b919050555043601881905550505b50505b5f6001905060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061214b575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806121fc575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156121fb575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15612209575f905061238c565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156122b2575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156122ca57600854600c81905550600954600d819055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612373575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561238b57600a54600c81905550600b54600d819055505b5b612398848484846128af565b50505050565b5f8383111582906123e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123dc91906131fb565b60405180910390fd5b505f83856123f39190613d4d565b9050809150509392505050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612464573d5f803e3d5ffd5b5050565b5f6006548211156124ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a590613df0565b60405180910390fd5b5f6124b76128dc565b90506124cc818461290590919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561250a57612509612fbe565b5b6040519080825280602002602001820160405280156125385781602001602082028036833780820191505090505b50905030815f8151811061254f5761254e6136ab565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126179190613e22565b8160018151811061262b5761262a6136ab565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506126913060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118bf565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016126f3959493929190613f3d565b5f604051808303815f87803b15801561270a575f80fd5b505af115801561271c573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b6127893060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6118bf565b6127c1306127bc60646127ae605f6127a033610dd7565b61294e90919063ffffffff16565b61290590919063ffffffff16565b61120d565b5060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823061280a30610dd7565b5f80601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161285096959493929190613f95565b60606040518083038185885af115801561286c573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906128919190614008565b50505050565b5f8183116128a557826128a7565b815b905092915050565b806128bd576128bc6129c5565b5b6128c88484846129fe565b806128d6576128d5612bbe565b5b50505050565b5f805f6128e7612bd2565b915091506128fe818361290590919063ffffffff16565b9250505090565b5f61294683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c2b565b905092915050565b5f80830361295e575f90506129bf565b5f828461296b9190614058565b905082848261297a91906140c6565b146129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b190614166565b60405180910390fd5b809150505b92915050565b5f600c541480156129d757505f600d54145b6129fc57600c54600e81905550600d54600f819055505f600c819055505f600d819055505b565b5f805f805f80612a0d87612c8c565b955095509550955095509550612a698660025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612cec90919063ffffffff16565b60025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612afa8560025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d3590919063ffffffff16565b60025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612b4481612d92565b612b4e8483612e49565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612bab9190613342565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b5f805f60065490505f66038d7ea4c680009050612c0166038d7ea4c6800060065461290590919063ffffffff16565b821015612c1e5760065466038d7ea4c68000935093505050612c27565b81819350935050505b9091565b5f8083118290612c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c6891906131fb565b60405180910390fd5b505f8385612c7f91906140c6565b9050809150509392505050565b5f805f805f805f805f612ca48a600c54600d54612e83565b9250925092505f612cb36128dc565b90505f805f612cc48e878787612f15565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f612d2d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061239e565b905092915050565b5f808284612d439190613bdd565b905083811015612d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7f906141ce565b60405180910390fd5b8091505092915050565b5f612d9b6128dc565b90505f612db1828461294e90919063ffffffff16565b9050612e038160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d3590919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b612e5e82600654612cec90919063ffffffff16565b600681905550612e7981600754612d3590919063ffffffff16565b6007819055505050565b5f805f80612ead6064612e9f888a61294e90919063ffffffff16565b61290590919063ffffffff16565b90505f612ed66064612ec8888b61294e90919063ffffffff16565b61290590919063ffffffff16565b90505f612efe82612ef0858c612cec90919063ffffffff16565b612cec90919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f80612f2c858961294e90919063ffffffff16565b90505f612f42868961294e90919063ffffffff16565b90505f612f58878961294e90919063ffffffff16565b90505f612f8082612f728587612cec90919063ffffffff16565b612cec90919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612ff482612fae565b810181811067ffffffffffffffff8211171561301357613012612fbe565b5b80604052505050565b5f613025612f99565b90506130318282612feb565b919050565b5f67ffffffffffffffff8211156130505761304f612fbe565b5b602082029050602081019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61308e82613065565b9050919050565b61309e81613084565b81146130a8575f80fd5b50565b5f813590506130b981613095565b92915050565b5f6130d16130cc84613036565b61301c565b905080838252602082019050602084028301858111156130f4576130f3613061565b5b835b8181101561311d578061310988826130ab565b8452602084019350506020810190506130f6565b5050509392505050565b5f82601f83011261313b5761313a612faa565b5b813561314b8482602086016130bf565b91505092915050565b5f6020828403121561316957613168612fa2565b5b5f82013567ffffffffffffffff81111561318657613185612fa6565b5b61319284828501613127565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6131cd8261319b565b6131d781856131a5565b93506131e78185602086016131b5565b6131f081612fae565b840191505092915050565b5f6020820190508181035f83015261321381846131c3565b905092915050565b5f819050919050565b61322d8161321b565b8114613237575f80fd5b50565b5f8135905061324881613224565b92915050565b5f806040838503121561326457613263612fa2565b5b5f613271858286016130ab565b92505060206132828582860161323a565b9150509250929050565b5f8115159050919050565b6132a08161328c565b82525050565b5f6020820190506132b95f830184613297565b92915050565b5f819050919050565b5f6132e26132dd6132d884613065565b6132bf565b613065565b9050919050565b5f6132f3826132c8565b9050919050565b5f613304826132e9565b9050919050565b613314816132fa565b82525050565b5f60208201905061332d5f83018461330b565b92915050565b61333c8161321b565b82525050565b5f6020820190506133555f830184613333565b92915050565b5f805f6060848603121561337257613371612fa2565b5b5f61337f868287016130ab565b9350506020613390868287016130ab565b92505060406133a18682870161323a565b9150509250925092565b5f60ff82169050919050565b6133c0816133ab565b82525050565b5f6020820190506133d95f8301846133b7565b92915050565b6133e881613084565b82525050565b5f6020820190506134015f8301846133df565b92915050565b5f6020828403121561341c5761341b612fa2565b5b5f613429848285016130ab565b91505092915050565b61343b8161328c565b8114613445575f80fd5b50565b5f8135905061345681613432565b92915050565b5f6020828403121561347157613470612fa2565b5b5f61347e84828501613448565b91505092915050565b5f6020828403121561349c5761349b612fa2565b5b5f6134a98482850161323a565b91505092915050565b5f805f80608085870312156134ca576134c9612fa2565b5b5f6134d78782880161323a565b94505060206134e88782880161323a565b93505060406134f98782880161323a565b925050606061350a8782880161323a565b91505092959194509250565b5f80fd5b5f8083601f84011261352f5761352e612faa565b5b8235905067ffffffffffffffff81111561354c5761354b613516565b5b60208301915083602082028301111561356857613567613061565b5b9250929050565b5f805f6040848603121561358657613585612fa2565b5b5f84013567ffffffffffffffff8111156135a3576135a2612fa6565b5b6135af8682870161351a565b935093505060206135c286828701613448565b9150509250925092565b5f6135d682613065565b9050919050565b6135e6816135cc565b82525050565b5f6020820190506135ff5f8301846135dd565b92915050565b5f806040838503121561361b5761361a612fa2565b5b5f613628858286016130ab565b9250506020613639858286016130ab565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6136776020836131a5565b915061368282613643565b602082019050919050565b5f6020820190508181035f8301526136a48161366b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6137326026836131a5565b915061373d826136d8565b604082019050919050565b5f6020820190508181035f83015261375f81613726565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6137c06024836131a5565b91506137cb82613766565b604082019050919050565b5f6020820190508181035f8301526137ed816137b4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61384e6022836131a5565b9150613859826137f4565b604082019050919050565b5f6020820190508181035f83015261387b81613842565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6138dc6025836131a5565b91506138e782613882565b604082019050919050565b5f6020820190508181035f830152613909816138d0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61396a6023836131a5565b915061397582613910565b604082019050919050565b5f6020820190508181035f8301526139978161395e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6139f86029836131a5565b9150613a038261399e565b604082019050919050565b5f6020820190508181035f830152613a25816139ec565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f613a86603f836131a5565b9150613a9182613a2c565b604082019050919050565b5f6020820190508181035f830152613ab381613a7a565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000005f82015250565b5f613aee601c836131a5565b9150613af982613aba565b602082019050919050565b5f6020820190508181035f830152613b1b81613ae2565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c6973745f8201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b5f613b7c6023836131a5565b9150613b8782613b22565b604082019050919050565b5f6020820190508181035f830152613ba981613b70565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613be78261321b565b9150613bf28361321b565b9250828201905080821115613c0a57613c09613bb0565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f613c6a6023836131a5565b9150613c7582613c10565b604082019050919050565b5f6020820190508181035f830152613c9781613c5e565b9050919050565b7f426c6f636b2073656c6c206c696d6974000000000000000000000000000000005f82015250565b5f613cd26010836131a5565b9150613cdd82613c9e565b602082019050919050565b5f6020820190508181035f830152613cff81613cc6565b9050919050565b5f613d108261321b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d4257613d41613bb0565b5b600182019050919050565b5f613d578261321b565b9150613d628361321b565b9250828203905081811115613d7a57613d79613bb0565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f613dda602a836131a5565b9150613de582613d80565b604082019050919050565b5f6020820190508181035f830152613e0781613dce565b9050919050565b5f81519050613e1c81613095565b92915050565b5f60208284031215613e3757613e36612fa2565b5b5f613e4484828501613e0e565b91505092915050565b5f819050919050565b5f613e70613e6b613e6684613e4d565b6132bf565b61321b565b9050919050565b613e8081613e56565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613eb881613084565b82525050565b5f613ec98383613eaf565b60208301905092915050565b5f602082019050919050565b5f613eeb82613e86565b613ef58185613e90565b9350613f0083613ea0565b805f5b83811015613f30578151613f178882613ebe565b9750613f2283613ed5565b925050600181019050613f03565b5085935050505092915050565b5f60a082019050613f505f830188613333565b613f5d6020830187613e77565b8181036040830152613f6f8186613ee1565b9050613f7e60608301856133df565b613f8b6080830184613333565b9695505050505050565b5f60c082019050613fa85f8301896133df565b613fb56020830188613333565b613fc26040830187613e77565b613fcf6060830186613e77565b613fdc60808301856133df565b613fe960a0830184613333565b979650505050505050565b5f8151905061400281613224565b92915050565b5f805f6060848603121561401f5761401e612fa2565b5b5f61402c86828701613ff4565b935050602061403d86828701613ff4565b925050604061404e86828701613ff4565b9150509250925092565b5f6140628261321b565b915061406d8361321b565b925082820261407b8161321b565b9150828204841483151761409257614091613bb0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6140d08261321b565b91506140db8361321b565b9250826140eb576140ea614099565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6141506021836131a5565b915061415b826140f6565b604082019050919050565b5f6020820190508181035f83015261417d81614144565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6141b8601b836131a5565b91506141c382614184565b602082019050919050565b5f6020820190508181035f8301526141e5816141ac565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122087303e73e8eeff512138169ba750ff96fc88c7d9eb0a33eeb86e167b6813aab264736f6c634300081a0033000000000000000000000000bd6c1fdb30da7ec35801eeb61b6e84e5ed8219fd

Deployed Bytecode

0x608060405260043610610211575f3560e01c80637f2feddc11610117578063bfd792841161009f578063caac79341161006e578063caac79341461073c578063dd62ed3e14610766578063ea1644d5146107a2578063f2fde38b146107ca578063ffb54a99146107f257610218565b8063bfd79284146106ac578063c3c8cd80146106e8578063c492f046146106fe578063c9567bf91461072657610218565b806398a5c315116100e657806398a5c315146105ce5780639f431789146105f6578063a2a957bb14610620578063a9059cbb14610648578063b00b55e01461068457610218565b80637f2feddc146105145780638da5cb5b146105505780638f9a55c01461057a57806395d89b41146105a457610218565b806349bd5a5e1161019a57806370a082311161016957806370a0823114610434578063715018a61461047057806374010ece14610486578063768dc710146104ae5780637d1db4a5146104ea57610218565b806349bd5a5e146103a45780636b999053146103ce5780636d8aa8f8146103f65780636fc3eaec1461041e57610218565b806318160ddd116101e157806318160ddd146102d45780631d97b7cd146102fe57806323b872dd146103145780632fd689e314610350578063313ce5671461037a57610218565b8062b8cf2a1461021c57806306fdde0314610244578063095ea7b31461026e5780631694505e146102aa57610218565b3661021857005b5f80fd5b348015610227575f80fd5b50610242600480360381019061023d9190613154565b61081c565b005b34801561024f575f80fd5b5061025861093b565b60405161026591906131fb565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f919061324e565b610978565b6040516102a191906132a6565b60405180910390f35b3480156102b5575f80fd5b506102be610995565b6040516102cb919061331a565b60405180910390f35b3480156102df575f80fd5b506102e86109ba565b6040516102f59190613342565b60405180910390f35b348015610309575f80fd5b506103126109c8565b005b34801561031f575f80fd5b5061033a6004803603810190610335919061335b565b610a67565b60405161034791906132a6565b60405180910390f35b34801561035b575f80fd5b50610364610b3b565b6040516103719190613342565b60405180910390f35b348015610385575f80fd5b5061038e610b41565b60405161039b91906133c6565b60405180910390f35b3480156103af575f80fd5b506103b8610b49565b6040516103c591906133ee565b60405180910390f35b3480156103d9575f80fd5b506103f460048036038101906103ef9190613407565b610b6e565b005b348015610401575f80fd5b5061041c6004803603810190610417919061345c565b610c59565b005b348015610429575f80fd5b50610432610d0a565b005b34801561043f575f80fd5b5061045a60048036038101906104559190613407565b610dd7565b6040516104679190613342565b60405180910390f35b34801561047b575f80fd5b50610484610e25565b005b348015610491575f80fd5b506104ac60048036038101906104a79190613487565b610f73565b005b3480156104b9575f80fd5b506104d460048036038101906104cf9190613407565b611011565b6040516104e191906132a6565b60405180910390f35b3480156104f5575f80fd5b506104fe61102e565b60405161050b9190613342565b60405180910390f35b34801561051f575f80fd5b5061053a60048036038101906105359190613407565b611034565b6040516105479190613342565b60405180910390f35b34801561055b575f80fd5b50610564611049565b60405161057191906133ee565b60405180910390f35b348015610585575f80fd5b5061058e611070565b60405161059b9190613342565b60405180910390f35b3480156105af575f80fd5b506105b8611076565b6040516105c591906131fb565b60405180910390f35b3480156105d9575f80fd5b506105f460048036038101906105ef9190613487565b6110b3565b005b348015610601575f80fd5b5061060a611151565b6040516106179190613342565b60405180910390f35b34801561062b575f80fd5b50610646600480360381019061064191906134b2565b611157565b005b348015610653575f80fd5b5061066e6004803603810190610669919061324e565b61120d565b60405161067b91906132a6565b60405180910390f35b34801561068f575f80fd5b506106aa60048036038101906106a59190613487565b61122a565b005b3480156106b7575f80fd5b506106d260048036038101906106cd9190613407565b6112c8565b6040516106df91906132a6565b60405180910390f35b3480156106f3575f80fd5b506106fc6112e5565b005b348015610709575f80fd5b50610724600480360381019061071f919061356f565b6113ba565b005b348015610731575f80fd5b5061073a6114e9565b005b348015610747575f80fd5b506107506115a3565b60405161075d91906135ec565b60405180910390f35b348015610771575f80fd5b5061078c60048036038101906107879190613605565b6115c8565b6040516107999190613342565b60405180910390f35b3480156107ad575f80fd5b506107c860048036038101906107c39190613487565b61164a565b005b3480156107d5575f80fd5b506107f060048036038101906107eb9190613407565b6116e8565b005b3480156107fd575f80fd5b506108066118a5565b60405161081391906132a6565b60405180910390f35b6108246118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a79061368d565b60405180910390fd5b5f5b815181101561093757600160105f8484815181106108d3576108d26136ab565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506108b2565b5050565b60606040518060400160405280600581526020017f686f727365000000000000000000000000000000000000000000000000000000815250905090565b5f61098b6109846118b8565b84846118bf565b6001905092915050565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f66038d7ea4c68000905090565b6109d06118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a539061368d565b60405180910390fd5b601c54601981905550565b5f610a73848484611a82565b610b3084610a7f6118b8565b610b2b856040518060600160405280602881526020016141ed6028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610ae26118b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461239e9092919063ffffffff16565b6118bf565b600190509392505050565b601b5481565b5f6009905090565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b766118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf99061368d565b60405180910390fd5b5f60105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610c616118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce49061368d565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d4a6118b8565b73ffffffffffffffffffffffffffffffffffffffff161480610dbf575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610da76118b8565b73ffffffffffffffffffffffffffffffffffffffff16145b610dc7575f80fd5b5f479050610dd481612400565b50565b5f610e1e60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612468565b9050919050565b610e2d6118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb09061368d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f7b6118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe9061368d565b60405180910390fd5b8060198190555050565b6005602052805f5260405f205f915054906101000a900460ff1681565b60195481565b6011602052805f5260405f205f915090505481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601a5481565b60606040518060400160405280600781526020017f7363686c6f6e6700000000000000000000000000000000000000000000000000815250905090565b6110bb6118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611147576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113e9061368d565b60405180910390fd5b80601b8190555050565b601c5481565b61115f6118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e29061368d565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b5f6112206112196118b8565b8484611a82565b6001905092915050565b6112326118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b59061368d565b60405180910390fd5b8060178190555050565b6010602052805f5260405f205f915054906101000a900460ff1681565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113256118b8565b73ffffffffffffffffffffffffffffffffffffffff16148061139a575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113826118b8565b73ffffffffffffffffffffffffffffffffffffffff16145b6113a2575f80fd5b5f6113ac30610dd7565b90506113b7816124d4565b50565b6113c26118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461144e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114459061368d565b60405180910390fd5b5f5b838390508110156114e3578160055f868685818110611472576114716136ab565b5b90506020020160208101906114879190613407565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050611450565b50505050565b6114f16118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461157d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115749061368d565b60405180910390fd5b6001601560146101000a81548160ff0219169083151502179055506115a14761273d565b565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6116526118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d59061368d565b60405180910390fd5b80601a8190555050565b6116f06118b8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461177c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117739061368d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e190613748565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601560149054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361192d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611924906137d6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361199b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199290613864565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a759190613342565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611af0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae7906138f2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5590613980565b60405180910390fd5b5f8111611ba0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9790613a0e565b60405180910390fd5b611ba8611049565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c165750611be6611049565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156120ab57601560149054906101000a900460ff16611ca557611c37611049565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9b90613a9c565b60405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611d1e57601954811115611d1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1490613b04565b60405180910390fd5b5b60105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611dbc575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df290613b92565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611ea757601a5481611e5c84610dd7565b611e669190613bdd565b10611ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9d90613c80565b60405180910390fd5b5b5f611eb130610dd7565b90505f601b548210159050601c548210611edd57611eda83611ed584601c54612897565b612897565b91505b808015611ef5575060158054906101000a900460ff16155b8015611f4e575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611f665750601560169054906101000a900460ff165b8015611fb9575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561200c575060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156120a857601854431115612023575f6016819055505b60175460165410612069576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206090613ce8565b60405180910390fd5b612072826124d4565b5f4790505f8111156120885761208747612400565b5b60165f81548092919061209a90613d06565b919050555043601881905550505b50505b5f6001905060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061214b575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806121fc575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156121fb575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15612209575f905061238c565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156122b2575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156122ca57600854600c81905550600954600d819055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612373575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561238b57600a54600c81905550600b54600d819055505b5b612398848484846128af565b50505050565b5f8383111582906123e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123dc91906131fb565b60405180910390fd5b505f83856123f39190613d4d565b9050809150509392505050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612464573d5f803e3d5ffd5b5050565b5f6006548211156124ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a590613df0565b60405180910390fd5b5f6124b76128dc565b90506124cc818461290590919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561250a57612509612fbe565b5b6040519080825280602002602001820160405280156125385781602001602082028036833780820191505090505b50905030815f8151811061254f5761254e6136ab565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126179190613e22565b8160018151811061262b5761262a6136ab565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506126913060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118bf565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016126f3959493929190613f3d565b5f604051808303815f87803b15801561270a575f80fd5b505af115801561271c573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b6127893060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6118bf565b6127c1306127bc60646127ae605f6127a033610dd7565b61294e90919063ffffffff16565b61290590919063ffffffff16565b61120d565b5060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823061280a30610dd7565b5f80601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161285096959493929190613f95565b60606040518083038185885af115801561286c573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906128919190614008565b50505050565b5f8183116128a557826128a7565b815b905092915050565b806128bd576128bc6129c5565b5b6128c88484846129fe565b806128d6576128d5612bbe565b5b50505050565b5f805f6128e7612bd2565b915091506128fe818361290590919063ffffffff16565b9250505090565b5f61294683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c2b565b905092915050565b5f80830361295e575f90506129bf565b5f828461296b9190614058565b905082848261297a91906140c6565b146129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b190614166565b60405180910390fd5b809150505b92915050565b5f600c541480156129d757505f600d54145b6129fc57600c54600e81905550600d54600f819055505f600c819055505f600d819055505b565b5f805f805f80612a0d87612c8c565b955095509550955095509550612a698660025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612cec90919063ffffffff16565b60025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612afa8560025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d3590919063ffffffff16565b60025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612b4481612d92565b612b4e8483612e49565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612bab9190613342565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b5f805f60065490505f66038d7ea4c680009050612c0166038d7ea4c6800060065461290590919063ffffffff16565b821015612c1e5760065466038d7ea4c68000935093505050612c27565b81819350935050505b9091565b5f8083118290612c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c6891906131fb565b60405180910390fd5b505f8385612c7f91906140c6565b9050809150509392505050565b5f805f805f805f805f612ca48a600c54600d54612e83565b9250925092505f612cb36128dc565b90505f805f612cc48e878787612f15565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f612d2d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061239e565b905092915050565b5f808284612d439190613bdd565b905083811015612d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7f906141ce565b60405180910390fd5b8091505092915050565b5f612d9b6128dc565b90505f612db1828461294e90919063ffffffff16565b9050612e038160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d3590919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b612e5e82600654612cec90919063ffffffff16565b600681905550612e7981600754612d3590919063ffffffff16565b6007819055505050565b5f805f80612ead6064612e9f888a61294e90919063ffffffff16565b61290590919063ffffffff16565b90505f612ed66064612ec8888b61294e90919063ffffffff16565b61290590919063ffffffff16565b90505f612efe82612ef0858c612cec90919063ffffffff16565b612cec90919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f80612f2c858961294e90919063ffffffff16565b90505f612f42868961294e90919063ffffffff16565b90505f612f58878961294e90919063ffffffff16565b90505f612f8082612f728587612cec90919063ffffffff16565b612cec90919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612ff482612fae565b810181811067ffffffffffffffff8211171561301357613012612fbe565b5b80604052505050565b5f613025612f99565b90506130318282612feb565b919050565b5f67ffffffffffffffff8211156130505761304f612fbe565b5b602082029050602081019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61308e82613065565b9050919050565b61309e81613084565b81146130a8575f80fd5b50565b5f813590506130b981613095565b92915050565b5f6130d16130cc84613036565b61301c565b905080838252602082019050602084028301858111156130f4576130f3613061565b5b835b8181101561311d578061310988826130ab565b8452602084019350506020810190506130f6565b5050509392505050565b5f82601f83011261313b5761313a612faa565b5b813561314b8482602086016130bf565b91505092915050565b5f6020828403121561316957613168612fa2565b5b5f82013567ffffffffffffffff81111561318657613185612fa6565b5b61319284828501613127565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6131cd8261319b565b6131d781856131a5565b93506131e78185602086016131b5565b6131f081612fae565b840191505092915050565b5f6020820190508181035f83015261321381846131c3565b905092915050565b5f819050919050565b61322d8161321b565b8114613237575f80fd5b50565b5f8135905061324881613224565b92915050565b5f806040838503121561326457613263612fa2565b5b5f613271858286016130ab565b92505060206132828582860161323a565b9150509250929050565b5f8115159050919050565b6132a08161328c565b82525050565b5f6020820190506132b95f830184613297565b92915050565b5f819050919050565b5f6132e26132dd6132d884613065565b6132bf565b613065565b9050919050565b5f6132f3826132c8565b9050919050565b5f613304826132e9565b9050919050565b613314816132fa565b82525050565b5f60208201905061332d5f83018461330b565b92915050565b61333c8161321b565b82525050565b5f6020820190506133555f830184613333565b92915050565b5f805f6060848603121561337257613371612fa2565b5b5f61337f868287016130ab565b9350506020613390868287016130ab565b92505060406133a18682870161323a565b9150509250925092565b5f60ff82169050919050565b6133c0816133ab565b82525050565b5f6020820190506133d95f8301846133b7565b92915050565b6133e881613084565b82525050565b5f6020820190506134015f8301846133df565b92915050565b5f6020828403121561341c5761341b612fa2565b5b5f613429848285016130ab565b91505092915050565b61343b8161328c565b8114613445575f80fd5b50565b5f8135905061345681613432565b92915050565b5f6020828403121561347157613470612fa2565b5b5f61347e84828501613448565b91505092915050565b5f6020828403121561349c5761349b612fa2565b5b5f6134a98482850161323a565b91505092915050565b5f805f80608085870312156134ca576134c9612fa2565b5b5f6134d78782880161323a565b94505060206134e88782880161323a565b93505060406134f98782880161323a565b925050606061350a8782880161323a565b91505092959194509250565b5f80fd5b5f8083601f84011261352f5761352e612faa565b5b8235905067ffffffffffffffff81111561354c5761354b613516565b5b60208301915083602082028301111561356857613567613061565b5b9250929050565b5f805f6040848603121561358657613585612fa2565b5b5f84013567ffffffffffffffff8111156135a3576135a2612fa6565b5b6135af8682870161351a565b935093505060206135c286828701613448565b9150509250925092565b5f6135d682613065565b9050919050565b6135e6816135cc565b82525050565b5f6020820190506135ff5f8301846135dd565b92915050565b5f806040838503121561361b5761361a612fa2565b5b5f613628858286016130ab565b9250506020613639858286016130ab565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6136776020836131a5565b915061368282613643565b602082019050919050565b5f6020820190508181035f8301526136a48161366b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6137326026836131a5565b915061373d826136d8565b604082019050919050565b5f6020820190508181035f83015261375f81613726565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6137c06024836131a5565b91506137cb82613766565b604082019050919050565b5f6020820190508181035f8301526137ed816137b4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61384e6022836131a5565b9150613859826137f4565b604082019050919050565b5f6020820190508181035f83015261387b81613842565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6138dc6025836131a5565b91506138e782613882565b604082019050919050565b5f6020820190508181035f830152613909816138d0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61396a6023836131a5565b915061397582613910565b604082019050919050565b5f6020820190508181035f8301526139978161395e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6139f86029836131a5565b9150613a038261399e565b604082019050919050565b5f6020820190508181035f830152613a25816139ec565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f613a86603f836131a5565b9150613a9182613a2c565b604082019050919050565b5f6020820190508181035f830152613ab381613a7a565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000005f82015250565b5f613aee601c836131a5565b9150613af982613aba565b602082019050919050565b5f6020820190508181035f830152613b1b81613ae2565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c6973745f8201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b5f613b7c6023836131a5565b9150613b8782613b22565b604082019050919050565b5f6020820190508181035f830152613ba981613b70565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613be78261321b565b9150613bf28361321b565b9250828201905080821115613c0a57613c09613bb0565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f613c6a6023836131a5565b9150613c7582613c10565b604082019050919050565b5f6020820190508181035f830152613c9781613c5e565b9050919050565b7f426c6f636b2073656c6c206c696d6974000000000000000000000000000000005f82015250565b5f613cd26010836131a5565b9150613cdd82613c9e565b602082019050919050565b5f6020820190508181035f830152613cff81613cc6565b9050919050565b5f613d108261321b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d4257613d41613bb0565b5b600182019050919050565b5f613d578261321b565b9150613d628361321b565b9250828203905081811115613d7a57613d79613bb0565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f613dda602a836131a5565b9150613de582613d80565b604082019050919050565b5f6020820190508181035f830152613e0781613dce565b9050919050565b5f81519050613e1c81613095565b92915050565b5f60208284031215613e3757613e36612fa2565b5b5f613e4484828501613e0e565b91505092915050565b5f819050919050565b5f613e70613e6b613e6684613e4d565b6132bf565b61321b565b9050919050565b613e8081613e56565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613eb881613084565b82525050565b5f613ec98383613eaf565b60208301905092915050565b5f602082019050919050565b5f613eeb82613e86565b613ef58185613e90565b9350613f0083613ea0565b805f5b83811015613f30578151613f178882613ebe565b9750613f2283613ed5565b925050600181019050613f03565b5085935050505092915050565b5f60a082019050613f505f830188613333565b613f5d6020830187613e77565b8181036040830152613f6f8186613ee1565b9050613f7e60608301856133df565b613f8b6080830184613333565b9695505050505050565b5f60c082019050613fa85f8301896133df565b613fb56020830188613333565b613fc26040830187613e77565b613fcf6060830186613e77565b613fdc60808301856133df565b613fe960a0830184613333565b979650505050505050565b5f8151905061400281613224565b92915050565b5f805f6060848603121561401f5761401e612fa2565b5b5f61402c86828701613ff4565b935050602061403d86828701613ff4565b925050604061404e86828701613ff4565b9150509250925092565b5f6140628261321b565b915061406d8361321b565b925082820261407b8161321b565b9150828204841483151761409257614091613bb0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6140d08261321b565b91506140db8361321b565b9250826140eb576140ea614099565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6141506021836131a5565b915061415b826140f6565b604082019050919050565b5f6020820190508181035f83015261417d81614144565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6141b8601b836131a5565b91506141c382614184565b602082019050919050565b5f6020820190508181035f8301526141e5816141ac565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122087303e73e8eeff512138169ba750ff96fc88c7d9eb0a33eeb86e167b6813aab264736f6c634300081a0033

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

000000000000000000000000BD6c1fDB30dA7Ec35801eEB61b6E84E5ED8219FD

-----Decoded View---------------
Arg [0] : dOwner (address): 0xBD6c1fDB30dA7Ec35801eEB61b6E84E5ED8219FD

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000BD6c1fDB30dA7Ec35801eEB61b6E84E5ED8219FD


Deployed Bytecode Sourcemap

4078:14808:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13960:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6823:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7748:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5285:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7100:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18424:92;;;;;;;;;;;;;:::i;:::-;;7949:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5698:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7009:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5333:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14137:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18081:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13717:235;;;;;;;;;;;;;:::i;:::-;;7203:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1565:148;;;;;;;;;;;;;:::i;:::-;;18308:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4480:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5596:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1351:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5646:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6914:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17934:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5755:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17635:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7349:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18190:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5098:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13473:236;;;;;;;;;;;;;:::i;:::-;;18647:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12887:125;;;;;;;;;;;;;:::i;:::-;;5236:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7556:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18524:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1721:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5370:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13960:169;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14036:9:::1;14031:91;14055:5;:12;14051:1;:16;14031:91;;;14106:4;14089;:14;14094:5;14100:1;14094:8;;;;;;;;:::i;:::-;;;;;;;;14089:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;14069:3;;;;;;;14031:91;;;;13960:169:::0;:::o;6823:83::-;6860:13;6893:5;;;;;;;;;;;;;;;;;6886:12;;6823:83;:::o;7748:193::-;7850:4;7872:39;7881:12;:10;:12::i;:::-;7895:7;7904:6;7872:8;:39::i;:::-;7929:4;7922:11;;7748:193;;;;:::o;5285:41::-;;;;;;;;;;;;;:::o;7100:95::-;7153:7;4621:15;7173:14;;7100:95;:::o;18424:92::-;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18492:16:::1;;18477:12;:31;;;;18424:92::o:0;7949:446::-;8081:4;8098:36;8108:6;8116:9;8127:6;8098:9;:36::i;:::-;8145:220;8168:6;8189:12;:10;:12::i;:::-;8216:138;8272:6;8216:138;;;;;;;;;;;;;;;;;:11;:19;8228:6;8216:19;;;;;;;;;;;;;;;:33;8236:12;:10;:12::i;:::-;8216:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8145:8;:220::i;:::-;8383:4;8376:11;;7949:446;;;;;:::o;5698:50::-;;;;:::o;7009:83::-;7050:5;4296:1;7068:16;;7009:83;:::o;5333:28::-;;;;;;;;;;;;;:::o;14137:92::-;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14216:5:::1;14201:4;:12;14206:6;14201:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14137:92:::0;:::o;18081:101::-;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18162:12:::1;18148:11;;:26;;;;;;;;;;;;;;;;;;18081:101:::0;:::o;13717:235::-;13783:19;;;;;;;;;;;13767:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13822:17;;;;;;;;;;;13806:33;;:12;:10;:12::i;:::-;:33;;;13767:72;13759:81;;;;;;13851:26;13880:21;13851:50;;13912:32;13925:18;13912:12;:32::i;:::-;13748:204;13717:235::o;7203:138::-;7269:7;7296:37;7316:7;:16;7324:7;7316:16;;;;;;;;;;;;;;;;7296:19;:37::i;:::-;7289:44;;7203:138;;;:::o;1565:148::-;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1672:1:::1;1635:40;;1656:6;::::0;::::1;;;;;;;;1635:40;;;;;;;;;;;;1703:1;1686:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1565:148::o:0;18308:108::-;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18397:11:::1;18382:12;:26;;;;18308:108:::0;:::o;4480:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;5596:43::-;;;;:::o;5136:::-;;;;;;;;;;;;;;;;;:::o;1351:79::-;1389:7;1416:6;;;;;;;;;;;1409:13;;1351:79;:::o;5646:45::-;;;;:::o;6914:87::-;6953:13;6986:7;;;;;;;;;;;;;;;;;6979:14;;6914:87;:::o;17934:139::-;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18047:18:::1;18025:19;:40;;;;17934:139:::0;:::o;5755:47::-;;;;:::o;17635:291::-;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17786:13:::1;17769:14;:30;;;;17828:14;17810:15;:32;;;;17868:11;17853:12;:26;;;;17906:12;17890:13;:28;;;;17635:291:::0;;;;:::o;7349:199::-;7454:4;7476:42;7486:12;:10;:12::i;:::-;7500:9;7511:6;7476:9;:42::i;:::-;7536:4;7529:11;;7349:199;;;;:::o;18190:110::-;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18283:9:::1;18268:12;:24;;;;18190:110:::0;:::o;5098:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;13473:236::-;13539:19;;;;;;;;;;;13523:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13578:17;;;;;;;;;;;13562:33;;:12;:10;:12::i;:::-;:33;;;13523:72;13515:81;;;;;;13607:23;13633:24;13651:4;13633:9;:24::i;:::-;13607:50;;13668:33;13685:15;13668:16;:33::i;:::-;13504:205;13473:236::o;18647:234::-;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18764:9:::1;18760:114;18783:8;;:15;;18779:1;:19;18760:114;;;18854:8;18820:18;:31;18839:8;;18848:1;18839:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18820:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;18800:3;;;;;;;18760:114;;;;18647:234:::0;;;:::o;12887:125::-;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12953:4:::1;12939:11;;:18;;;;;;;;;;;;;;;;;;12968:36;12982:21;12968:13;:36::i;:::-;12887:125::o:0;5236:40::-;;;;;;;;;;;;;:::o;7556:184::-;7673:7;7705:11;:18;7717:5;7705:18;;;;;;;;;;;;;;;:27;7724:7;7705:27;;;;;;;;;;;;;;;;7698:34;;7556:184;;;;:::o;18524:115::-;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18618:13:::1;18601:14;:30;;;;18524:115:::0;:::o;1721:244::-;1488:12;:10;:12::i;:::-;1478:22;;:6;;;;;;;;;;:22;;;1470:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1830:1:::1;1810:22;;:8;:22;;::::0;1802:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1920:8;1891:38;;1912:6;::::0;::::1;;;;;;;;1891:38;;;;;;;;;;;;1949:8;1940:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1721:244:::0;:::o;5370:30::-;;;;;;;;;;;;;:::o;110:98::-;163:7;190:10;183:17;;110:98;:::o;9086:369::-;9230:1;9213:19;;:5;:19;;;9205:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9311:1;9292:21;;:7;:21;;;9284:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9393:6;9363:11;:18;9375:5;9363:18;;;;;;;;;;;;;;;:27;9382:7;9363:27;;;;;;;;;;;;;;;:36;;;;9431:7;9415:32;;9424:5;9415:32;;;9440:6;9415:32;;;;;;:::i;:::-;;;;;;;;9086:369;;;:::o;9463:2712::-;9601:1;9585:18;;:4;:18;;;9577:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9678:1;9664:16;;:2;:16;;;9656:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9748:1;9739:6;:10;9731:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9820:7;:5;:7::i;:::-;9812:15;;:4;:15;;;;:32;;;;;9837:7;:5;:7::i;:::-;9831:13;;:2;:13;;;;9812:32;9808:1641;;;9901:11;;;;;;;;;;;9896:144;;9949:7;:5;:7::i;:::-;9941:15;;:4;:15;;;9933:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;9896:144;10076:4;10060:21;;:4;:21;;;10056:133;;10144:12;;10134:6;:22;;10126:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10056:133;10215:4;:10;10220:4;10215:10;;;;;;;;;;;;;;;;;;;;;;;;;10214:11;:24;;;;;10230:4;:8;10235:2;10230:8;;;;;;;;;;;;;;;;;;;;;;;;;10229:9;10214:24;10206:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10304:13;;;;;;;;;;;10298:19;;:2;:19;;;10295:146;;10371:14;;10362:6;10346:13;10356:2;10346:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10338:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10295:146;10457:28;10488:24;10506:4;10488:9;:24::i;:::-;10457:55;;10527:12;10566:19;;10542:20;:43;;10527:58;;10629:16;;10605:20;:40;10602:157;;10689:54;10693:6;10700:42;10704:20;10725:16;;10700:3;:42::i;:::-;10689:3;:54::i;:::-;10666:77;;10602:157;10779:7;:18;;;;;10791:6;;;;;;;;;;10790:7;10779:18;:43;;;;;10809:13;;;;;;;;;;;10801:21;;:4;:21;;;;10779:43;:58;;;;;10826:11;;;;;;;;;;;10779:58;:87;;;;;10842:18;:24;10861:4;10842:24;;;;;;;;;;;;;;;;;;;;;;;;;10841:25;10779:87;:114;;;;;10871:18;:22;10890:2;10871:22;;;;;;;;;;;;;;;;;;;;;;;;;10870:23;10779:114;10775:663;;;10933:13;;10918:12;:28;10914:90;;;10983:1;10971:9;:13;;;;10914:90;11060:12;;11048:9;;:24;11040:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;11112:38;11129:20;11112:16;:38::i;:::-;11169:26;11198:21;11169:50;;11263:1;11242:18;:22;11238:106;;;11289:35;11302:21;11289:12;:35::i;:::-;11238:106;11364:9;;:11;;;;;;;;;:::i;:::-;;;;;;11410:12;11394:13;:28;;;;10895:543;10775:663;9846:1603;;9808:1641;11461:12;11476:4;11461:19;;11525:18;:24;11544:4;11525:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11553:18;:22;11572:2;11553:22;;;;;;;;;;;;;;;;;;;;;;;;;11525:50;11524:102;;;;11589:13;;;;;;;;;;;11581:21;;:4;:21;;;;:44;;;;;11612:13;;;;;;;;;;;11606:19;;:2;:19;;;;11581:44;11524:102;11520:594;;;11653:5;11643:15;;11520:594;;;11736:13;;;;;;;;;;;11728:21;;:4;:21;;;:55;;;;;11767:15;;;;;;;;;;;11753:30;;:2;:30;;;;11728:55;11725:162;;;11816:14;;11804:9;:26;;;;11859:12;;11849:7;:22;;;;11725:162;11946:13;;;;;;;;;;;11940:19;;:2;:19;;;:55;;;;;11979:15;;;;;;;;;;;11963:32;;:4;:32;;;;11940:55;11936:165;;;12028:15;;12016:9;:27;;;;12072:13;;12062:7;:23;;;;11936:165;11520:594;12126:41;12141:4;12147:2;12151:6;12159:7;12126:14;:41::i;:::-;9566:2609;9463:2712;;;:::o;2329:224::-;2449:7;2482:1;2477;:6;;2485:12;2469:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2509:9;2525:1;2521;:5;;;;:::i;:::-;2509:17;;2544:1;2537:8;;;2329:224;;;;;:::o;12780:99::-;12837:17;;;;;;;;;;;:26;;:34;12864:6;12837:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12780:99;:::o;8403:323::-;8498:7;8556;;8545;:18;;8523:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8644:19;8666:10;:8;:10::i;:::-;8644:32;;8694:24;8706:11;8694:7;:11;;:24;;;;:::i;:::-;8687:31;;;8403:323;;;:::o;12289:483::-;5937:4;5928:6;;:13;;;;;;;;;;;;;;;;;;12367:21:::1;12405:1;12391:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12367:40;;12436:4;12418;12423:1;12418:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12462:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12452:4;12457:1;12452:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12495:62;12512:4;12527:15;;;;;;;;;;;12545:11;12495:8;:62::i;:::-;12568:15;;;;;;;;;;;:66;;;12649:11;12675:1;12691:4;12718;12738:15;12568:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12356:416;5973:5:::0;5964:6;;:14;;;;;;;;;;;;;;;;;;12289:483;:::o;13020:443::-;13082:68;13099:4;13114:15;;;;;;;;;;;13132:17;13082:8;:68::i;:::-;13161:63;13178:4;13185:38;13219:3;13185:29;13211:2;13185:21;13195:10;13185:9;:21::i;:::-;:25;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;13161:8;:63::i;:::-;;13235:15;;;;;;;;;;;:31;;;13274:9;13307:4;13327:24;13345:4;13327:9;:24::i;:::-;13366:1;13382;13406:7;;;;;;;;;;;13429:15;13235:220;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13020:443;:::o;12183:98::-;12240:7;12267:1;12265;:3;12264:9;;12272:1;12264:9;;;12270:1;12264:9;12257:16;;12183:98;;;;:::o;14237:282::-;14393:7;14388:28;;14402:14;:12;:14::i;:::-;14388:28;14427:44;14445:6;14453:9;14464:6;14427:17;:44::i;:::-;14487:7;14482:29;;14496:15;:13;:15::i;:::-;14482:29;14237:282;;;;:::o;17198:164::-;17240:7;17261:15;17278;17297:19;:17;:19::i;:::-;17260:56;;;;17334:20;17346:7;17334;:11;;:20;;;;:::i;:::-;17327:27;;;;17198:164;:::o;2815:132::-;2873:7;2900:39;2904:1;2907;2900:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2893:46;;2815:132;;;;:::o;2561:246::-;2619:7;2648:1;2643;:6;2639:47;;2673:1;2666:8;;;;2639:47;2696:9;2712:1;2708;:5;;;;:::i;:::-;2696:17;;2741:1;2736;2732;:5;;;;:::i;:::-;:10;2724:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2798:1;2791:8;;;2561:246;;;;;:::o;8734:219::-;8794:1;8781:9;;:14;:30;;;;;8810:1;8799:7;;:12;8781:30;8813:7;8777:43;8852:9;;8832:17;:29;;;;8890:7;;8872:15;:25;;;;8922:1;8910:9;:13;;;;8944:1;8934:7;:11;;;;8734:219;:::o;14527:610::-;14674:15;14704:23;14742:12;14769:23;14807:12;14834:13;14861:19;14872:7;14861:10;:19::i;:::-;14659:221;;;;;;;;;;;;14909:28;14929:7;14909;:15;14917:6;14909:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14891:7;:15;14899:6;14891:15;;;;;;;;;;;;;;;:46;;;;14969:39;14992:15;14969:7;:18;14977:9;14969:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14948:7;:18;14956:9;14948:18;;;;;;;;;;;;;;;:60;;;;15019:16;15029:5;15019:9;:16::i;:::-;15046:23;15058:4;15064;15046:11;:23::i;:::-;15102:9;15085:44;;15094:6;15085:44;;;15113:15;15085:44;;;;;;:::i;:::-;;;;;;;;14648:489;;;;;;14527:610;;;:::o;8961:117::-;9017:17;;9005:9;:29;;;;9055:15;;9045:7;:25;;;;8961:117::o;17370:257::-;17421:7;17430;17450:15;17468:7;;17450:25;;17486:15;4621;17486:25;;17536:20;4621:15;17536:7;;:11;;:20;;;;:::i;:::-;17526:7;:30;17522:61;;;17566:7;;4621:15;17558:25;;;;;;;;17522:61;17602:7;17611;17594:25;;;;;;17370:257;;;:::o;2955:223::-;3075:7;3107:1;3103;:5;3110:12;3095:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3134:9;3150:1;3146;:5;;;;:::i;:::-;3134:17;;3169:1;3162:8;;;2955:223;;;;;:::o;15556:615::-;15656:7;15678;15700;15722;15744;15766;15802:23;15827:12;15841:13;15871:40;15883:7;15892:9;;15903:7;;15871:11;:40::i;:::-;15801:110;;;;;;15922:19;15944:10;:8;:10::i;:::-;15922:32;;15966:15;15983:23;16008:12;16037:46;16049:7;16058:4;16064:5;16071:11;16037;:46::i;:::-;15965:118;;;;;;16102:7;16111:15;16128:4;16134:15;16151:4;16157:5;16094:69;;;;;;;;;;;;;;;;;;;15556:615;;;;;;;:::o;2185:136::-;2243:7;2270:43;2274:1;2277;2270:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2263:50;;2185:136;;;;:::o;1998:179::-;2056:7;2076:9;2092:1;2088;:5;;;;:::i;:::-;2076:17;;2117:1;2112;:6;;2104:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2168:1;2161:8;;;1998:179;;;;:::o;15145:211::-;15198:19;15220:10;:8;:10::i;:::-;15198:32;;15241:13;15257:22;15267:11;15257:5;:9;;:22;;;;:::i;:::-;15241:38;;15315:33;15342:5;15315:7;:22;15331:4;15315:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15290:7;:22;15306:4;15290:22;;;;;;;;;;;;;;;:58;;;;15187:169;;15145:211;:::o;15364:147::-;15442:17;15454:4;15442:7;;:11;;:17;;;;:::i;:::-;15432:7;:27;;;;15483:20;15498:4;15483:10;;:14;;:20;;;;:::i;:::-;15470:10;:33;;;;15364:147;;:::o;16179:469::-;16348:7;16370;16392;16427:12;16442:30;16468:3;16442:21;16454:8;16442:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;16427:45;;16483:13;16499:28;16523:3;16499:19;16511:6;16499:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16483:44;;16538:23;16564:28;16586:5;16564:17;16576:4;16564:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16538:54;;16611:15;16628:4;16634:5;16603:37;;;;;;;;;16179:469;;;;;;;:::o;16656:534::-;16850:7;16872;16894;16929:15;16947:24;16959:11;16947:7;:11;;:24;;;;:::i;:::-;16929:42;;16982:12;16997:21;17006:11;16997:4;:8;;:21;;;;:::i;:::-;16982:36;;17029:13;17045:22;17055:11;17045:5;:9;;:22;;;;:::i;:::-;17029:38;;17078:23;17104:28;17126:5;17104:17;17116:4;17104:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17078:54;;17151:7;17160:15;17177:4;17143:39;;;;;;;;;;16656:534;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:139::-;4160:6;4155:3;4150;4144:23;4201:1;4192:6;4187:3;4183:16;4176:27;4071:139;;;:::o;4216:377::-;4304:3;4332:39;4365:5;4332:39;:::i;:::-;4387:71;4451:6;4446:3;4387:71;:::i;:::-;4380:78;;4467:65;4525:6;4520:3;4513:4;4506:5;4502:16;4467:65;:::i;:::-;4557:29;4579:6;4557:29;:::i;:::-;4552:3;4548:39;4541:46;;4308:285;4216:377;;;;:::o;4599:313::-;4712:4;4750:2;4739:9;4735:18;4727:26;;4799:9;4793:4;4789:20;4785:1;4774:9;4770:17;4763:47;4827:78;4900:4;4891:6;4827:78;:::i;:::-;4819:86;;4599:313;;;;:::o;4918:77::-;4955:7;4984:5;4973:16;;4918:77;;;:::o;5001:122::-;5074:24;5092:5;5074:24;:::i;:::-;5067:5;5064:35;5054:63;;5113:1;5110;5103:12;5054:63;5001:122;:::o;5129:139::-;5175:5;5213:6;5200:20;5191:29;;5229:33;5256:5;5229:33;:::i;:::-;5129:139;;;;:::o;5274:474::-;5342:6;5350;5399:2;5387:9;5378:7;5374:23;5370:32;5367:119;;;5405:79;;:::i;:::-;5367:119;5525:1;5550:53;5595:7;5586:6;5575:9;5571:22;5550:53;:::i;:::-;5540:63;;5496:117;5652:2;5678:53;5723:7;5714:6;5703:9;5699:22;5678:53;:::i;:::-;5668:63;;5623:118;5274:474;;;;;:::o;5754:90::-;5788:7;5831:5;5824:13;5817:21;5806:32;;5754:90;;;:::o;5850:109::-;5931:21;5946:5;5931:21;:::i;:::-;5926:3;5919:34;5850:109;;:::o;5965:210::-;6052:4;6090:2;6079:9;6075:18;6067:26;;6103:65;6165:1;6154:9;6150:17;6141:6;6103:65;:::i;:::-;5965:210;;;;:::o;6181:60::-;6209:3;6230:5;6223:12;;6181:60;;;:::o;6247:142::-;6297:9;6330:53;6348:34;6357:24;6375:5;6357:24;:::i;:::-;6348:34;:::i;:::-;6330:53;:::i;:::-;6317:66;;6247:142;;;:::o;6395:126::-;6445:9;6478:37;6509:5;6478:37;:::i;:::-;6465:50;;6395:126;;;:::o;6527:152::-;6603:9;6636:37;6667:5;6636:37;:::i;:::-;6623:50;;6527:152;;;:::o;6685:183::-;6798:63;6855:5;6798:63;:::i;:::-;6793:3;6786:76;6685:183;;:::o;6874:274::-;6993:4;7031:2;7020:9;7016:18;7008:26;;7044:97;7138:1;7127:9;7123:17;7114:6;7044:97;:::i;:::-;6874:274;;;;:::o;7154:118::-;7241:24;7259:5;7241:24;:::i;:::-;7236:3;7229:37;7154:118;;:::o;7278:222::-;7371:4;7409:2;7398:9;7394:18;7386:26;;7422:71;7490:1;7479:9;7475:17;7466:6;7422:71;:::i;:::-;7278:222;;;;:::o;7506:619::-;7583:6;7591;7599;7648:2;7636:9;7627:7;7623:23;7619:32;7616:119;;;7654:79;;:::i;:::-;7616:119;7774:1;7799:53;7844:7;7835:6;7824:9;7820:22;7799:53;:::i;:::-;7789:63;;7745:117;7901:2;7927:53;7972:7;7963:6;7952:9;7948:22;7927:53;:::i;:::-;7917:63;;7872:118;8029:2;8055:53;8100:7;8091:6;8080:9;8076:22;8055:53;:::i;:::-;8045:63;;8000:118;7506:619;;;;;:::o;8131:86::-;8166:7;8206:4;8199:5;8195:16;8184:27;;8131:86;;;:::o;8223:112::-;8306:22;8322:5;8306:22;:::i;:::-;8301:3;8294:35;8223:112;;:::o;8341:214::-;8430:4;8468:2;8457:9;8453:18;8445:26;;8481:67;8545:1;8534:9;8530:17;8521:6;8481:67;:::i;:::-;8341:214;;;;:::o;8561:118::-;8648:24;8666:5;8648:24;:::i;:::-;8643:3;8636:37;8561:118;;:::o;8685:222::-;8778:4;8816:2;8805:9;8801:18;8793:26;;8829:71;8897:1;8886:9;8882:17;8873:6;8829:71;:::i;:::-;8685:222;;;;:::o;8913:329::-;8972:6;9021:2;9009:9;9000:7;8996:23;8992:32;8989:119;;;9027:79;;:::i;:::-;8989:119;9147:1;9172:53;9217:7;9208:6;9197:9;9193:22;9172:53;:::i;:::-;9162:63;;9118:117;8913:329;;;;:::o;9248:116::-;9318:21;9333:5;9318:21;:::i;:::-;9311:5;9308:32;9298:60;;9354:1;9351;9344:12;9298:60;9248:116;:::o;9370:133::-;9413:5;9451:6;9438:20;9429:29;;9467:30;9491:5;9467:30;:::i;:::-;9370:133;;;;:::o;9509:323::-;9565:6;9614:2;9602:9;9593:7;9589:23;9585:32;9582:119;;;9620:79;;:::i;:::-;9582:119;9740:1;9765:50;9807:7;9798:6;9787:9;9783:22;9765:50;:::i;:::-;9755:60;;9711:114;9509:323;;;;:::o;9838:329::-;9897:6;9946:2;9934:9;9925:7;9921:23;9917:32;9914:119;;;9952:79;;:::i;:::-;9914:119;10072:1;10097:53;10142:7;10133:6;10122:9;10118:22;10097:53;:::i;:::-;10087:63;;10043:117;9838:329;;;;:::o;10173:765::-;10259:6;10267;10275;10283;10332:3;10320:9;10311:7;10307:23;10303:33;10300:120;;;10339:79;;:::i;:::-;10300:120;10459:1;10484:53;10529:7;10520:6;10509:9;10505:22;10484:53;:::i;:::-;10474:63;;10430:117;10586:2;10612:53;10657:7;10648:6;10637:9;10633:22;10612:53;:::i;:::-;10602:63;;10557:118;10714:2;10740:53;10785:7;10776:6;10765:9;10761:22;10740:53;:::i;:::-;10730:63;;10685:118;10842:2;10868:53;10913:7;10904:6;10893:9;10889:22;10868:53;:::i;:::-;10858:63;;10813:118;10173:765;;;;;;;:::o;10944:117::-;11053:1;11050;11043:12;11084:568;11157:8;11167:6;11217:3;11210:4;11202:6;11198:17;11194:27;11184:122;;11225:79;;:::i;:::-;11184:122;11338:6;11325:20;11315:30;;11368:18;11360:6;11357:30;11354:117;;;11390:79;;:::i;:::-;11354:117;11504:4;11496:6;11492:17;11480:29;;11558:3;11550:4;11542:6;11538:17;11528:8;11524:32;11521:41;11518:128;;;11565:79;;:::i;:::-;11518:128;11084:568;;;;;:::o;11658:698::-;11750:6;11758;11766;11815:2;11803:9;11794:7;11790:23;11786:32;11783:119;;;11821:79;;:::i;:::-;11783:119;11969:1;11958:9;11954:17;11941:31;11999:18;11991:6;11988:30;11985:117;;;12021:79;;:::i;:::-;11985:117;12134:80;12206:7;12197:6;12186:9;12182:22;12134:80;:::i;:::-;12116:98;;;;11912:312;12263:2;12289:50;12331:7;12322:6;12311:9;12307:22;12289:50;:::i;:::-;12279:60;;12234:115;11658:698;;;;;:::o;12362:104::-;12407:7;12436:24;12454:5;12436:24;:::i;:::-;12425:35;;12362:104;;;:::o;12472:142::-;12575:32;12601:5;12575:32;:::i;:::-;12570:3;12563:45;12472:142;;:::o;12620:254::-;12729:4;12767:2;12756:9;12752:18;12744:26;;12780:87;12864:1;12853:9;12849:17;12840:6;12780:87;:::i;:::-;12620:254;;;;:::o;12880:474::-;12948:6;12956;13005:2;12993:9;12984:7;12980:23;12976:32;12973:119;;;13011:79;;:::i;:::-;12973:119;13131:1;13156:53;13201:7;13192:6;13181:9;13177:22;13156:53;:::i;:::-;13146:63;;13102:117;13258:2;13284:53;13329:7;13320:6;13309:9;13305:22;13284:53;:::i;:::-;13274:63;;13229:118;12880:474;;;;;:::o;13360:182::-;13500:34;13496:1;13488:6;13484:14;13477:58;13360:182;:::o;13548:366::-;13690:3;13711:67;13775:2;13770:3;13711:67;:::i;:::-;13704:74;;13787:93;13876:3;13787:93;:::i;:::-;13905:2;13900:3;13896:12;13889:19;;13548:366;;;:::o;13920:419::-;14086:4;14124:2;14113:9;14109:18;14101:26;;14173:9;14167:4;14163:20;14159:1;14148:9;14144:17;14137:47;14201:131;14327:4;14201:131;:::i;:::-;14193:139;;13920:419;;;:::o;14345:180::-;14393:77;14390:1;14383:88;14490:4;14487:1;14480:15;14514:4;14511:1;14504:15;14531:225;14671:34;14667:1;14659:6;14655:14;14648:58;14740:8;14735:2;14727:6;14723:15;14716:33;14531:225;:::o;14762:366::-;14904:3;14925:67;14989:2;14984:3;14925:67;:::i;:::-;14918:74;;15001:93;15090:3;15001:93;:::i;:::-;15119:2;15114:3;15110:12;15103:19;;14762:366;;;:::o;15134:419::-;15300:4;15338:2;15327:9;15323:18;15315:26;;15387:9;15381:4;15377:20;15373:1;15362:9;15358:17;15351:47;15415:131;15541:4;15415:131;:::i;:::-;15407:139;;15134:419;;;:::o;15559:223::-;15699:34;15695:1;15687:6;15683:14;15676:58;15768:6;15763:2;15755:6;15751:15;15744:31;15559:223;:::o;15788:366::-;15930:3;15951:67;16015:2;16010:3;15951:67;:::i;:::-;15944:74;;16027:93;16116:3;16027:93;:::i;:::-;16145:2;16140:3;16136:12;16129:19;;15788:366;;;:::o;16160:419::-;16326:4;16364:2;16353:9;16349:18;16341:26;;16413:9;16407:4;16403:20;16399:1;16388:9;16384:17;16377:47;16441:131;16567:4;16441:131;:::i;:::-;16433:139;;16160:419;;;:::o;16585:221::-;16725:34;16721:1;16713:6;16709:14;16702:58;16794:4;16789:2;16781:6;16777:15;16770:29;16585:221;:::o;16812:366::-;16954:3;16975:67;17039:2;17034:3;16975:67;:::i;:::-;16968:74;;17051:93;17140:3;17051:93;:::i;:::-;17169:2;17164:3;17160:12;17153:19;;16812:366;;;:::o;17184:419::-;17350:4;17388:2;17377:9;17373:18;17365:26;;17437:9;17431:4;17427:20;17423:1;17412:9;17408:17;17401:47;17465:131;17591:4;17465:131;:::i;:::-;17457:139;;17184:419;;;:::o;17609:224::-;17749:34;17745:1;17737:6;17733:14;17726:58;17818:7;17813:2;17805:6;17801:15;17794:32;17609:224;:::o;17839:366::-;17981:3;18002:67;18066:2;18061:3;18002:67;:::i;:::-;17995:74;;18078:93;18167:3;18078:93;:::i;:::-;18196:2;18191:3;18187:12;18180:19;;17839:366;;;:::o;18211:419::-;18377:4;18415:2;18404:9;18400:18;18392:26;;18464:9;18458:4;18454:20;18450:1;18439:9;18435:17;18428:47;18492:131;18618:4;18492:131;:::i;:::-;18484:139;;18211:419;;;:::o;18636:222::-;18776:34;18772:1;18764:6;18760:14;18753:58;18845:5;18840:2;18832:6;18828:15;18821:30;18636:222;:::o;18864:366::-;19006:3;19027:67;19091:2;19086:3;19027:67;:::i;:::-;19020:74;;19103:93;19192:3;19103:93;:::i;:::-;19221:2;19216:3;19212:12;19205:19;;18864:366;;;:::o;19236:419::-;19402:4;19440:2;19429:9;19425:18;19417:26;;19489:9;19483:4;19479:20;19475:1;19464:9;19460:17;19453:47;19517:131;19643:4;19517:131;:::i;:::-;19509:139;;19236:419;;;:::o;19661:228::-;19801:34;19797:1;19789:6;19785:14;19778:58;19870:11;19865:2;19857:6;19853:15;19846:36;19661:228;:::o;19895:366::-;20037:3;20058:67;20122:2;20117:3;20058:67;:::i;:::-;20051:74;;20134:93;20223:3;20134:93;:::i;:::-;20252:2;20247:3;20243:12;20236:19;;19895:366;;;:::o;20267:419::-;20433:4;20471:2;20460:9;20456:18;20448:26;;20520:9;20514:4;20510:20;20506:1;20495:9;20491:17;20484:47;20548:131;20674:4;20548:131;:::i;:::-;20540:139;;20267:419;;;:::o;20692:250::-;20832:34;20828:1;20820:6;20816:14;20809:58;20901:33;20896:2;20888:6;20884:15;20877:58;20692:250;:::o;20948:366::-;21090:3;21111:67;21175:2;21170:3;21111:67;:::i;:::-;21104:74;;21187:93;21276:3;21187:93;:::i;:::-;21305:2;21300:3;21296:12;21289:19;;20948:366;;;:::o;21320:419::-;21486:4;21524:2;21513:9;21509:18;21501:26;;21573:9;21567:4;21563:20;21559:1;21548:9;21544:17;21537:47;21601:131;21727:4;21601:131;:::i;:::-;21593:139;;21320:419;;;:::o;21745:178::-;21885:30;21881:1;21873:6;21869:14;21862:54;21745:178;:::o;21929:366::-;22071:3;22092:67;22156:2;22151:3;22092:67;:::i;:::-;22085:74;;22168:93;22257:3;22168:93;:::i;:::-;22286:2;22281:3;22277:12;22270:19;;21929:366;;;:::o;22301:419::-;22467:4;22505:2;22494:9;22490:18;22482:26;;22554:9;22548:4;22544:20;22540:1;22529:9;22525:17;22518:47;22582:131;22708:4;22582:131;:::i;:::-;22574:139;;22301:419;;;:::o;22726:222::-;22866:34;22862:1;22854:6;22850:14;22843:58;22935:5;22930:2;22922:6;22918:15;22911:30;22726:222;:::o;22954:366::-;23096:3;23117:67;23181:2;23176:3;23117:67;:::i;:::-;23110:74;;23193:93;23282:3;23193:93;:::i;:::-;23311:2;23306:3;23302:12;23295:19;;22954:366;;;:::o;23326:419::-;23492:4;23530:2;23519:9;23515:18;23507:26;;23579:9;23573:4;23569:20;23565:1;23554:9;23550:17;23543:47;23607:131;23733:4;23607:131;:::i;:::-;23599:139;;23326:419;;;:::o;23751:180::-;23799:77;23796:1;23789:88;23896:4;23893:1;23886:15;23920:4;23917:1;23910:15;23937:191;23977:3;23996:20;24014:1;23996:20;:::i;:::-;23991:25;;24030:20;24048:1;24030:20;:::i;:::-;24025:25;;24073:1;24070;24066:9;24059:16;;24094:3;24091:1;24088:10;24085:36;;;24101:18;;:::i;:::-;24085:36;23937:191;;;;:::o;24134:222::-;24274:34;24270:1;24262:6;24258:14;24251:58;24343:5;24338:2;24330:6;24326:15;24319:30;24134:222;:::o;24362:366::-;24504:3;24525:67;24589:2;24584:3;24525:67;:::i;:::-;24518:74;;24601:93;24690:3;24601:93;:::i;:::-;24719:2;24714:3;24710:12;24703:19;;24362:366;;;:::o;24734:419::-;24900:4;24938:2;24927:9;24923:18;24915:26;;24987:9;24981:4;24977:20;24973:1;24962:9;24958:17;24951:47;25015:131;25141:4;25015:131;:::i;:::-;25007:139;;24734:419;;;:::o;25159:166::-;25299:18;25295:1;25287:6;25283:14;25276:42;25159:166;:::o;25331:366::-;25473:3;25494:67;25558:2;25553:3;25494:67;:::i;:::-;25487:74;;25570:93;25659:3;25570:93;:::i;:::-;25688:2;25683:3;25679:12;25672:19;;25331:366;;;:::o;25703:419::-;25869:4;25907:2;25896:9;25892:18;25884:26;;25956:9;25950:4;25946:20;25942:1;25931:9;25927:17;25920:47;25984:131;26110:4;25984:131;:::i;:::-;25976:139;;25703:419;;;:::o;26128:233::-;26167:3;26190:24;26208:5;26190:24;:::i;:::-;26181:33;;26236:66;26229:5;26226:77;26223:103;;26306:18;;:::i;:::-;26223:103;26353:1;26346:5;26342:13;26335:20;;26128:233;;;:::o;26367:194::-;26407:4;26427:20;26445:1;26427:20;:::i;:::-;26422:25;;26461:20;26479:1;26461:20;:::i;:::-;26456:25;;26505:1;26502;26498:9;26490:17;;26529:1;26523:4;26520:11;26517:37;;;26534:18;;:::i;:::-;26517:37;26367:194;;;;:::o;26567:229::-;26707:34;26703:1;26695:6;26691:14;26684:58;26776:12;26771:2;26763:6;26759:15;26752:37;26567:229;:::o;26802:366::-;26944:3;26965:67;27029:2;27024:3;26965:67;:::i;:::-;26958:74;;27041:93;27130:3;27041:93;:::i;:::-;27159:2;27154:3;27150:12;27143:19;;26802:366;;;:::o;27174:419::-;27340:4;27378:2;27367:9;27363:18;27355:26;;27427:9;27421:4;27417:20;27413:1;27402:9;27398:17;27391:47;27455:131;27581:4;27455:131;:::i;:::-;27447:139;;27174:419;;;:::o;27599:143::-;27656:5;27687:6;27681:13;27672:22;;27703:33;27730:5;27703:33;:::i;:::-;27599:143;;;;:::o;27748:351::-;27818:6;27867:2;27855:9;27846:7;27842:23;27838:32;27835:119;;;27873:79;;:::i;:::-;27835:119;27993:1;28018:64;28074:7;28065:6;28054:9;28050:22;28018:64;:::i;:::-;28008:74;;27964:128;27748:351;;;;:::o;28105:85::-;28150:7;28179:5;28168:16;;28105:85;;;:::o;28196:158::-;28254:9;28287:61;28305:42;28314:32;28340:5;28314:32;:::i;:::-;28305:42;:::i;:::-;28287:61;:::i;:::-;28274:74;;28196:158;;;:::o;28360:147::-;28455:45;28494:5;28455:45;:::i;:::-;28450:3;28443:58;28360:147;;:::o;28513:114::-;28580:6;28614:5;28608:12;28598:22;;28513:114;;;:::o;28633:184::-;28732:11;28766:6;28761:3;28754:19;28806:4;28801:3;28797:14;28782:29;;28633:184;;;;:::o;28823:132::-;28890:4;28913:3;28905:11;;28943:4;28938:3;28934:14;28926:22;;28823:132;;;:::o;28961:108::-;29038:24;29056:5;29038:24;:::i;:::-;29033:3;29026:37;28961:108;;:::o;29075:179::-;29144:10;29165:46;29207:3;29199:6;29165:46;:::i;:::-;29243:4;29238:3;29234:14;29220:28;;29075:179;;;;:::o;29260:113::-;29330:4;29362;29357:3;29353:14;29345:22;;29260:113;;;:::o;29409:732::-;29528:3;29557:54;29605:5;29557:54;:::i;:::-;29627:86;29706:6;29701:3;29627:86;:::i;:::-;29620:93;;29737:56;29787:5;29737:56;:::i;:::-;29816:7;29847:1;29832:284;29857:6;29854:1;29851:13;29832:284;;;29933:6;29927:13;29960:63;30019:3;30004:13;29960:63;:::i;:::-;29953:70;;30046:60;30099:6;30046:60;:::i;:::-;30036:70;;29892:224;29879:1;29876;29872:9;29867:14;;29832:284;;;29836:14;30132:3;30125:10;;29533:608;;;29409:732;;;;:::o;30147:831::-;30410:4;30448:3;30437:9;30433:19;30425:27;;30462:71;30530:1;30519:9;30515:17;30506:6;30462:71;:::i;:::-;30543:80;30619:2;30608:9;30604:18;30595:6;30543:80;:::i;:::-;30670:9;30664:4;30660:20;30655:2;30644:9;30640:18;30633:48;30698:108;30801:4;30792:6;30698:108;:::i;:::-;30690:116;;30816:72;30884:2;30873:9;30869:18;30860:6;30816:72;:::i;:::-;30898:73;30966:3;30955:9;30951:19;30942:6;30898:73;:::i;:::-;30147:831;;;;;;;;:::o;30984:807::-;31233:4;31271:3;31260:9;31256:19;31248:27;;31285:71;31353:1;31342:9;31338:17;31329:6;31285:71;:::i;:::-;31366:72;31434:2;31423:9;31419:18;31410:6;31366:72;:::i;:::-;31448:80;31524:2;31513:9;31509:18;31500:6;31448:80;:::i;:::-;31538;31614:2;31603:9;31599:18;31590:6;31538:80;:::i;:::-;31628:73;31696:3;31685:9;31681:19;31672:6;31628:73;:::i;:::-;31711;31779:3;31768:9;31764:19;31755:6;31711:73;:::i;:::-;30984:807;;;;;;;;;:::o;31797:143::-;31854:5;31885:6;31879:13;31870:22;;31901:33;31928:5;31901:33;:::i;:::-;31797:143;;;;:::o;31946:663::-;32034:6;32042;32050;32099:2;32087:9;32078:7;32074:23;32070:32;32067:119;;;32105:79;;:::i;:::-;32067:119;32225:1;32250:64;32306:7;32297:6;32286:9;32282:22;32250:64;:::i;:::-;32240:74;;32196:128;32363:2;32389:64;32445:7;32436:6;32425:9;32421:22;32389:64;:::i;:::-;32379:74;;32334:129;32502:2;32528:64;32584:7;32575:6;32564:9;32560:22;32528:64;:::i;:::-;32518:74;;32473:129;31946:663;;;;;:::o;32615:410::-;32655:7;32678:20;32696:1;32678:20;:::i;:::-;32673:25;;32712:20;32730:1;32712:20;:::i;:::-;32707:25;;32767:1;32764;32760:9;32789:30;32807:11;32789:30;:::i;:::-;32778:41;;32968:1;32959:7;32955:15;32952:1;32949:22;32929:1;32922:9;32902:83;32879:139;;32998:18;;:::i;:::-;32879:139;32663:362;32615:410;;;;:::o;33031:180::-;33079:77;33076:1;33069:88;33176:4;33173:1;33166:15;33200:4;33197:1;33190:15;33217:185;33257:1;33274:20;33292:1;33274:20;:::i;:::-;33269:25;;33308:20;33326:1;33308:20;:::i;:::-;33303:25;;33347:1;33337:35;;33352:18;;:::i;:::-;33337:35;33394:1;33391;33387:9;33382:14;;33217:185;;;;:::o;33408:220::-;33548:34;33544:1;33536:6;33532:14;33525:58;33617:3;33612:2;33604:6;33600:15;33593:28;33408:220;:::o;33634:366::-;33776:3;33797:67;33861:2;33856:3;33797:67;:::i;:::-;33790:74;;33873:93;33962:3;33873:93;:::i;:::-;33991:2;33986:3;33982:12;33975:19;;33634:366;;;:::o;34006:419::-;34172:4;34210:2;34199:9;34195:18;34187:26;;34259:9;34253:4;34249:20;34245:1;34234:9;34230:17;34223:47;34287:131;34413:4;34287:131;:::i;:::-;34279:139;;34006:419;;;:::o;34431:177::-;34571:29;34567:1;34559:6;34555:14;34548:53;34431:177;:::o;34614:366::-;34756:3;34777:67;34841:2;34836:3;34777:67;:::i;:::-;34770:74;;34853:93;34942:3;34853:93;:::i;:::-;34971:2;34966:3;34962:12;34955:19;;34614:366;;;:::o;34986:419::-;35152:4;35190:2;35179:9;35175:18;35167:26;;35239:9;35233:4;35229:20;35225:1;35214:9;35210:17;35203:47;35267:131;35393:4;35267:131;:::i;:::-;35259:139;;34986:419;;;:::o

Swarm Source

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