ETH Price: $3,402.02 (-0.44%)
Gas: 13 Gwei

Token

McAfee (MCAFEE)
 

Overview

Max Total Supply

100,000,000,000 MCAFEE

Holders

46

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,562,536,990.37267263 MCAFEE

Value
$0.00
0xf1466ebdd36d5e3638a12316477520bf3b2378a1
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:
JOHN

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-04
*/

// SPDX-License-Identifier: MIT
/*
Website: https://McAfee.One
Telegram: https://t.me/mcafee_erc
Twitter: https://twitter.com/mcafee_erc
**/
pragma solidity ^0.8.15;

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 JOHN is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = "McAfee";
    string private constant _symbol = "MCAFEE";
    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) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);

    uint256 private constant _tTotal = 100000000000 * 10 ** 9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    //Buy Fee
    uint256 private _feeOnBuy = 0;
    uint256 private _taxOnBuy = 22;

    //Sell Fee
    uint256 private _feeOnSell = 0;
    uint256 private _taxOnSell = 22;

    uint256 public totalFees;

    //Original Fee
    uint256 private _redisFee = _feeOnSell;
    uint256 private _taxFee = _taxOnSell;

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

    uint256 public liquidityFee = 2;
    uint256 public marketingFee = 20;
    address public LpReceiver =
        payable(0xD91f300Ad6BBdB7E9f8c7d259530eB1341176D58);

    mapping(address => uint256) private cooldown;

    address payable private _developmentWalletAddress =
        payable(0xD91f300Ad6BBdB7E9f8c7d259530eB1341176D58);
    address payable private _marketingWalletAddress =
        payable(0xD91f300Ad6BBdB7E9f8c7d259530eB1341176D58);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = 2000000000 * 10 ** 9;
    uint256 public _maxWalletSize = 2000000000 * 10 ** 9;
    uint256 public _swapTokensAtAmount = 10000 * 10 ** 9;

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

    constructor() {
        _rOwned[_msgSender()] = _rTotal;

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

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentWalletAddress] = true;
        _isExcludedFromFee[_marketingWalletAddress] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

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

    function removeAllFee() private {
        if (_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"
                );
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");

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

            uint256 contractTokenBalance = balanceOf(address(this));

            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if (
                canSwap &&
                !inSwap &&
                from != uniswapV2Pair &&
                swapEnabled &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                if (contractTokenBalance > 0) {
                    uint256 halfLP = liquidityFee.div(2);

                    uint256 Fee = liquidityFee.add(marketingFee);
                    uint256 FeeToSwap = Fee.sub(halfLP);

                    uint256 amountToSwap = contractTokenBalance
                        .mul(FeeToSwap)
                        .div(Fee);

                    uint256 beforeETHBalance = address(this).balance;
                    swapTokensForEth(amountToSwap);
                    uint256 afterETHBalance = address(this).balance.sub(
                        beforeETHBalance
                    );

                    uint256 halfLPToken = balanceOf((address(this)));

                    uint256 liquidityShare = halfLP.mul(100).div(FeeToSwap);
                    uint256 amountToLiquify = afterETHBalance
                        .mul(liquidityShare)
                        .div(100);

                    if (amountToLiquify > 0) {
                        addLiquidityETH(amountToLiquify, halfLPToken);
                    }

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

        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 = _feeOnBuy;
                _taxFee = _taxOnBuy;
            }

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

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

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

    function addLiquidityETH(uint256 _ethAmount, uint256 _tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), _tokenAmount);
        uniswapV2Router.addLiquidityETH{value: _ethAmount}(
            address(this),
            _tokenAmount,
            0,
            0,
            LpReceiver,
            block.timestamp
        );
    }

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

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    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 transferEth() public onlyOwner {
        payable(msg.sender).transfer(address(this).balance);
    }

    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
    )
        public
        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 _liquidityFee,
        uint256 _marketingFee
    ) public onlyOwner {
        _feeOnBuy = redisFeeOnBuy;
        _feeOnSell = redisFeeOnSell;
        _liquidityFee = liquidityFee;
        _marketingFee = marketingFee;
        _taxOnSell = _liquidityFee.add(_marketingFee);
        _taxOnBuy = _liquidityFee.add(_marketingFee);
        totalFees = _feeOnBuy + _feeOnSell + _taxOnBuy + _taxOnSell;
        require(totalFees <= 100, "");
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(
        uint256 swapTokensAtAmount
    ) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    function noLimit() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    //Set max buy amount
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setWalletAddress(address payable _address) public onlyOwner {
        _marketingWalletAddress = _address;
    }

    //Set max wallet amount
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"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":"LpReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"_getValues","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"noLimit","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":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","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":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"setWalletAddress","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":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405268056bc75e2d631000006000196200001d91906200078d565b6000196200002c9190620007f4565b600655600060085560166009556000600a556016600b55600a54600d55600b54600e55600d54600f55600e546010556002601155601460125573d91f300ad6bbdb7e9f8c7d259530eb1341176d58601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d91f300ad6bbdb7e9f8c7d259530eb1341176d58601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d91f300ad6bbdb7e9f8c7d259530eb1341176d58601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601860146101000a81548160ff0219169083151502179055506000601860156101000a81548160ff0219169083151502179055506001601860166101000a81548160ff021916908315150217905550671bc16d674ec80000601955671bc16d674ec80000601a556509184e72a000601b55348015620001e457600080fd5b506000620001f76200072360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460026000620002ac6200072360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000390573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b6919062000899565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200041e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000444919062000899565b6040518363ffffffff1660e01b815260040162000463929190620008dc565b6020604051808303816000875af115801562000483573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a9919062000899565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004ff6200072b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006ac6200072360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef68056bc75e2d631000006040516200071491906200091a565b60405180910390a35062000937565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200079a8262000754565b9150620007a78362000754565b925082620007ba57620007b96200075e565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620008018262000754565b91506200080e8362000754565b925082821015620008245762000823620007c5565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008618262000834565b9050919050565b620008738162000854565b81146200087f57600080fd5b50565b600081519050620008938162000868565b92915050565b600060208284031215620008b257620008b16200082f565b5b6000620008c28482850162000882565b91505092915050565b620008d68162000854565b82525050565b6000604082019050620008f36000830185620008cb565b620009026020830184620008cb565b9392505050565b620009148162000754565b82525050565b600060208201905062000931600083018462000909565b92915050565b613d8180620009476000396000f3fe6080604052600436106101dc5760003560e01c806374010ece11610102578063a2a957bb11610095578063d4780e3611610064578063d4780e3614610671578063dd62ed3e146106b3578063ea1644d5146106f0578063f2fde38b14610719576101e3565b8063a2a957bb146105b7578063a802cc6b146105e0578063a9059cbb1461060b578063ac1a386a14610648576101e3565b80638f9a55c0116100d15780638f9a55c01461050d57806395d89b411461053857806398118cb41461056357806398a5c3151461058e576101e3565b806374010ece146104655780637d1db4a51461048e5780638da5cb5b146104b95780638f70ccf7146104e4576101e3565b8063313ce5671161017a5780636b67c4df116101495780636b67c4df146103bd5780636d8aa8f8146103e857806370a0823114610411578063715018a61461044e576101e3565b8063313ce5671461033957806349bd5a5e14610364578063526e588c1461038f57806359852686146103a6576101e3565b80631694505e116101b65780631694505e1461027b57806318160ddd146102a657806323b872dd146102d15780632fd689e31461030e576101e3565b806306fdde03146101e8578063095ea7b31461021357806313114a9d14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610742565b60405161020a9190612d07565b60405180910390f35b34801561021f57600080fd5b5061023a60048036038101906102359190612dc2565b61077f565b6040516102479190612e1d565b60405180910390f35b34801561025c57600080fd5b5061026561079d565b6040516102729190612e47565b60405180910390f35b34801561028757600080fd5b506102906107a3565b60405161029d9190612ec1565b60405180910390f35b3480156102b257600080fd5b506102bb6107c9565b6040516102c89190612e47565b60405180910390f35b3480156102dd57600080fd5b506102f860048036038101906102f39190612edc565b6107da565b6040516103059190612e1d565b60405180910390f35b34801561031a57600080fd5b506103236108b3565b6040516103309190612e47565b60405180910390f35b34801561034557600080fd5b5061034e6108b9565b60405161035b9190612f4b565b60405180910390f35b34801561037057600080fd5b506103796108c2565b6040516103869190612f75565b60405180910390f35b34801561039b57600080fd5b506103a46108e8565b005b3480156103b257600080fd5b506103bb61099f565b005b3480156103c957600080fd5b506103d2610a7d565b6040516103df9190612e47565b60405180910390f35b3480156103f457600080fd5b5061040f600480360381019061040a9190612fbc565b610a83565b005b34801561041d57600080fd5b5061043860048036038101906104339190612fe9565b610b35565b6040516104459190612e47565b60405180910390f35b34801561045a57600080fd5b50610463610b86565b005b34801561047157600080fd5b5061048c60048036038101906104879190613016565b610cd9565b005b34801561049a57600080fd5b506104a3610d78565b6040516104b09190612e47565b60405180910390f35b3480156104c557600080fd5b506104ce610d7e565b6040516104db9190612f75565b60405180910390f35b3480156104f057600080fd5b5061050b60048036038101906105069190612fbc565b610da7565b005b34801561051957600080fd5b50610522610e59565b60405161052f9190612e47565b60405180910390f35b34801561054457600080fd5b5061054d610e5f565b60405161055a9190612d07565b60405180910390f35b34801561056f57600080fd5b50610578610e9c565b6040516105859190612e47565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b09190613016565b610ea2565b005b3480156105c357600080fd5b506105de60048036038101906105d99190613043565b610f41565b005b3480156105ec57600080fd5b506105f561109c565b6040516106029190612f75565b60405180910390f35b34801561061757600080fd5b50610632600480360381019061062d9190612dc2565b6110c2565b60405161063f9190612e1d565b60405180910390f35b34801561065457600080fd5b5061066f600480360381019061066a91906130e8565b6110e0565b005b34801561067d57600080fd5b5061069860048036038101906106939190613016565b6111b9565b6040516106aa96959493929190613115565b60405180910390f35b3480156106bf57600080fd5b506106da60048036038101906106d59190613176565b611221565b6040516106e79190612e47565b60405180910390f35b3480156106fc57600080fd5b5061071760048036038101906107129190613016565b6112a8565b005b34801561072557600080fd5b50610740600480360381019061073b9190612fe9565b611347565b005b60606040518060400160405280600681526020017f4d63416665650000000000000000000000000000000000000000000000000000815250905090565b600061079361078c611508565b8484611510565b6001905092915050565b600c5481565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600068056bc75e2d63100000905090565b60006107e78484846116d9565b6108a8846107f3611508565b6108a385604051806060016040528060288152602001613d2460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610859611508565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7f9092919063ffffffff16565b611510565b600190509392505050565b601b5481565b60006009905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108f0611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097490613202565b60405180910390fd5b68056bc75e2d6310000060198190555068056bc75e2d63100000601a81905550565b6109a7611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90613202565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610a7a573d6000803e3d6000fd5b50565b60125481565b610a8b611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f90613202565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b6000610b7f600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fe3565b9050919050565b610b8e611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1290613202565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ce1611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6590613202565b60405180910390fd5b8060198190555050565b60195481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610daf611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3390613202565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555050565b601a5481565b60606040518060400160405280600681526020017f4d43414645450000000000000000000000000000000000000000000000000000815250905090565b60115481565b610eaa611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2e90613202565b60405180910390fd5b80601b8190555050565b610f49611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcd90613202565b60405180910390fd5b8360088190555082600a8190555060115491506012549050611001818361205190919063ffffffff16565b600b8190555061101a818361205190919063ffffffff16565b600981905550600b54600954600a546008546110369190613251565b6110409190613251565b61104a9190613251565b600c819055506064600c541115611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d906132cd565b60405180910390fd5b50505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006110d66110cf611508565b84846116d9565b6001905092915050565b6110e8611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116c90613202565b60405180910390fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008060008060008060006111d68a600d54600e546120af565b92509250925060006111e6612145565b905060008060006111f98e878787612170565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112b0611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133490613202565b60405180910390fd5b80601a8190555050565b61134f611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d390613202565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361144b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114429061335f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361157f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611576906133f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e590613483565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116cc9190612e47565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173f90613515565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae906135a7565b60405180910390fd5b600081116117fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f190613639565b60405180910390fd5b611802610d7e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118705750611840610d7e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c7e57601860149054906101000a900460ff166118ff57611891610d7e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146118fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f5906136cb565b60405180910390fd5b5b601954811115611944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193b90613737565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146119f157601a54816119a684610b35565b6119b09190613251565b106119f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e7906137c9565b60405180910390fd5b5b60006119fc30610b35565b90506000601b548210159050808015611a225750601860159054906101000a900460ff16155b8015611a7c5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611a945750601860169054906101000a900460ff165b8015611aea5750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b405750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c7b576000821115611c7a576000611b6660026011546121f990919063ffffffff16565b90506000611b8160125460115461205190919063ffffffff16565b90506000611b98838361224390919063ffffffff16565b90506000611bc183611bb3848961228d90919063ffffffff16565b6121f990919063ffffffff16565b90506000479050611bd182612307565b6000611be6824761224390919063ffffffff16565b90506000611bf330610b35565b90506000611c1d86611c0f60648b61228d90919063ffffffff16565b6121f990919063ffffffff16565b90506000611c476064611c39848761228d90919063ffffffff16565b6121f990919063ffffffff16565b90506000811115611c5d57611c5c8184612580565b5b6000471115611c7057611c6f476127fd565b5b5050505050505050505b5b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d255750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611dd85750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611dd75750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611de65760009050611f6d565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e915750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ea957600854600d81905550600954600e819055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f545750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f6c57600a54600d81905550600b54600e819055505b5b611f7984848484612869565b50505050565b6000838311158290611fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbe9190612d07565b60405180910390fd5b5060008385611fd691906137e9565b9050809150509392505050565b600060065482111561202a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120219061388f565b60405180910390fd5b6000612034612145565b905061204981846121f990919063ffffffff16565b915050919050565b60008082846120609190613251565b9050838110156120a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209c906138fb565b60405180910390fd5b8091505092915050565b6000806000806120db60646120cd888a61228d90919063ffffffff16565b6121f990919063ffffffff16565b9050600061210560646120f7888b61228d90919063ffffffff16565b6121f990919063ffffffff16565b9050600061212e82612120858c61224390919063ffffffff16565b61224390919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000612152612896565b9150915061216981836121f990919063ffffffff16565b9250505090565b600080600080612189858961228d90919063ffffffff16565b905060006121a0868961228d90919063ffffffff16565b905060006121b7878961228d90919063ffffffff16565b905060006121e0826121d2858761224390919063ffffffff16565b61224390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600061223b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128f8565b905092915050565b600061228583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f7f565b905092915050565b600080830361229f5760009050612301565b600082846122ad919061391b565b90508284826122bc91906139a4565b146122fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f390613a47565b60405180910390fd5b809150505b92915050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561233f5761233e613a67565b5b60405190808252806020026020018201604052801561236d5781602001602082028036833780820191505090505b509050308160008151811061238557612384613a96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561242c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124509190613ada565b8160018151811061246457612463613a96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124cb30601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611510565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161252f959493929190613c00565b600060405180830381600087803b15801561254957600080fd5b505af115801561255d573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b6000600267ffffffffffffffff81111561259d5761259c613a67565b5b6040519080825280602002602001820160405280156125cb5781602001602082028036833780820191505090505b50905030816000815181106125e3576125e2613a96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561268a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ae9190613ada565b816001815181106126c2576126c1613a96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061272930601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611510565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719843085600080601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016127b296959493929190613c5a565b60606040518083038185885af11580156127d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127f59190613cd0565b505050505050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612865573d6000803e3d6000fd5b5050565b806128775761287661295b565b5b612882848484612998565b806128905761288f612b63565b5b50505050565b60008060006006549050600068056bc75e2d6310000090506128cc68056bc75e2d631000006006546121f990919063ffffffff16565b8210156128eb5760065468056bc75e2d631000009350935050506128f4565b81819350935050505b9091565b6000808311829061293f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129369190612d07565b60405180910390fd5b506000838561294e91906139a4565b9050809150509392505050565b6000600d5414801561296f57506000600e54145b61299657600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b6000806000806000806129aa876111b9565b955095509550955095509550612a0886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461224390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a9d85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ae981612b77565b612af38483612c34565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b509190612e47565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b6000612b81612145565b90506000612b98828461228d90919063ffffffff16565b9050612bec81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612c498260065461224390919063ffffffff16565b600681905550612c648160075461205190919063ffffffff16565b6007819055505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ca8578082015181840152602081019050612c8d565b83811115612cb7576000848401525b50505050565b6000601f19601f8301169050919050565b6000612cd982612c6e565b612ce38185612c79565b9350612cf3818560208601612c8a565b612cfc81612cbd565b840191505092915050565b60006020820190508181036000830152612d218184612cce565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d5982612d2e565b9050919050565b612d6981612d4e565b8114612d7457600080fd5b50565b600081359050612d8681612d60565b92915050565b6000819050919050565b612d9f81612d8c565b8114612daa57600080fd5b50565b600081359050612dbc81612d96565b92915050565b60008060408385031215612dd957612dd8612d29565b5b6000612de785828601612d77565b9250506020612df885828601612dad565b9150509250929050565b60008115159050919050565b612e1781612e02565b82525050565b6000602082019050612e326000830184612e0e565b92915050565b612e4181612d8c565b82525050565b6000602082019050612e5c6000830184612e38565b92915050565b6000819050919050565b6000612e87612e82612e7d84612d2e565b612e62565b612d2e565b9050919050565b6000612e9982612e6c565b9050919050565b6000612eab82612e8e565b9050919050565b612ebb81612ea0565b82525050565b6000602082019050612ed66000830184612eb2565b92915050565b600080600060608486031215612ef557612ef4612d29565b5b6000612f0386828701612d77565b9350506020612f1486828701612d77565b9250506040612f2586828701612dad565b9150509250925092565b600060ff82169050919050565b612f4581612f2f565b82525050565b6000602082019050612f606000830184612f3c565b92915050565b612f6f81612d4e565b82525050565b6000602082019050612f8a6000830184612f66565b92915050565b612f9981612e02565b8114612fa457600080fd5b50565b600081359050612fb681612f90565b92915050565b600060208284031215612fd257612fd1612d29565b5b6000612fe084828501612fa7565b91505092915050565b600060208284031215612fff57612ffe612d29565b5b600061300d84828501612d77565b91505092915050565b60006020828403121561302c5761302b612d29565b5b600061303a84828501612dad565b91505092915050565b6000806000806080858703121561305d5761305c612d29565b5b600061306b87828801612dad565b945050602061307c87828801612dad565b935050604061308d87828801612dad565b925050606061309e87828801612dad565b91505092959194509250565b60006130b582612d2e565b9050919050565b6130c5816130aa565b81146130d057600080fd5b50565b6000813590506130e2816130bc565b92915050565b6000602082840312156130fe576130fd612d29565b5b600061310c848285016130d3565b91505092915050565b600060c08201905061312a6000830189612e38565b6131376020830188612e38565b6131446040830187612e38565b6131516060830186612e38565b61315e6080830185612e38565b61316b60a0830184612e38565b979650505050505050565b6000806040838503121561318d5761318c612d29565b5b600061319b85828601612d77565b92505060206131ac85828601612d77565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131ec602083612c79565b91506131f7826131b6565b602082019050919050565b6000602082019050818103600083015261321b816131df565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061325c82612d8c565b915061326783612d8c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561329c5761329b613222565b5b828201905092915050565b50565b60006132b7600083612c79565b91506132c2826132a7565b600082019050919050565b600060208201905081810360008301526132e6816132aa565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613349602683612c79565b9150613354826132ed565b604082019050919050565b600060208201905081810360008301526133788161333c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006133db602483612c79565b91506133e68261337f565b604082019050919050565b6000602082019050818103600083015261340a816133ce565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061346d602283612c79565b915061347882613411565b604082019050919050565b6000602082019050818103600083015261349c81613460565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006134ff602583612c79565b915061350a826134a3565b604082019050919050565b6000602082019050818103600083015261352e816134f2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613591602383612c79565b915061359c82613535565b604082019050919050565b600060208201905081810360008301526135c081613584565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613623602983612c79565b915061362e826135c7565b604082019050919050565b6000602082019050818103600083015261365281613616565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b60006136b5603f83612c79565b91506136c082613659565b604082019050919050565b600060208201905081810360008301526136e4816136a8565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613721601c83612c79565b915061372c826136eb565b602082019050919050565b6000602082019050818103600083015261375081613714565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006137b3602383612c79565b91506137be82613757565b604082019050919050565b600060208201905081810360008301526137e2816137a6565b9050919050565b60006137f482612d8c565b91506137ff83612d8c565b92508282101561381257613811613222565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613879602a83612c79565b91506138848261381d565b604082019050919050565b600060208201905081810360008301526138a88161386c565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006138e5601b83612c79565b91506138f0826138af565b602082019050919050565b60006020820190508181036000830152613914816138d8565b9050919050565b600061392682612d8c565b915061393183612d8c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561396a57613969613222565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139af82612d8c565b91506139ba83612d8c565b9250826139ca576139c9613975565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a31602183612c79565b9150613a3c826139d5565b604082019050919050565b60006020820190508181036000830152613a6081613a24565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613ad481612d60565b92915050565b600060208284031215613af057613aef612d29565b5b6000613afe84828501613ac5565b91505092915050565b6000819050919050565b6000613b2c613b27613b2284613b07565b612e62565b612d8c565b9050919050565b613b3c81613b11565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613b7781612d4e565b82525050565b6000613b898383613b6e565b60208301905092915050565b6000602082019050919050565b6000613bad82613b42565b613bb78185613b4d565b9350613bc283613b5e565b8060005b83811015613bf3578151613bda8882613b7d565b9750613be583613b95565b925050600181019050613bc6565b5085935050505092915050565b600060a082019050613c156000830188612e38565b613c226020830187613b33565b8181036040830152613c348186613ba2565b9050613c436060830185612f66565b613c506080830184612e38565b9695505050505050565b600060c082019050613c6f6000830189612f66565b613c7c6020830188612e38565b613c896040830187613b33565b613c966060830186613b33565b613ca36080830185612f66565b613cb060a0830184612e38565b979650505050505050565b600081519050613cca81612d96565b92915050565b600080600060608486031215613ce957613ce8612d29565b5b6000613cf786828701613cbb565b9350506020613d0886828701613cbb565b9250506040613d1986828701613cbb565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a8549c2da0edd45140c7e5e279f0cad29c44926250edb102aed34ad03a70470464736f6c634300080f0033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c806374010ece11610102578063a2a957bb11610095578063d4780e3611610064578063d4780e3614610671578063dd62ed3e146106b3578063ea1644d5146106f0578063f2fde38b14610719576101e3565b8063a2a957bb146105b7578063a802cc6b146105e0578063a9059cbb1461060b578063ac1a386a14610648576101e3565b80638f9a55c0116100d15780638f9a55c01461050d57806395d89b411461053857806398118cb41461056357806398a5c3151461058e576101e3565b806374010ece146104655780637d1db4a51461048e5780638da5cb5b146104b95780638f70ccf7146104e4576101e3565b8063313ce5671161017a5780636b67c4df116101495780636b67c4df146103bd5780636d8aa8f8146103e857806370a0823114610411578063715018a61461044e576101e3565b8063313ce5671461033957806349bd5a5e14610364578063526e588c1461038f57806359852686146103a6576101e3565b80631694505e116101b65780631694505e1461027b57806318160ddd146102a657806323b872dd146102d15780632fd689e31461030e576101e3565b806306fdde03146101e8578063095ea7b31461021357806313114a9d14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610742565b60405161020a9190612d07565b60405180910390f35b34801561021f57600080fd5b5061023a60048036038101906102359190612dc2565b61077f565b6040516102479190612e1d565b60405180910390f35b34801561025c57600080fd5b5061026561079d565b6040516102729190612e47565b60405180910390f35b34801561028757600080fd5b506102906107a3565b60405161029d9190612ec1565b60405180910390f35b3480156102b257600080fd5b506102bb6107c9565b6040516102c89190612e47565b60405180910390f35b3480156102dd57600080fd5b506102f860048036038101906102f39190612edc565b6107da565b6040516103059190612e1d565b60405180910390f35b34801561031a57600080fd5b506103236108b3565b6040516103309190612e47565b60405180910390f35b34801561034557600080fd5b5061034e6108b9565b60405161035b9190612f4b565b60405180910390f35b34801561037057600080fd5b506103796108c2565b6040516103869190612f75565b60405180910390f35b34801561039b57600080fd5b506103a46108e8565b005b3480156103b257600080fd5b506103bb61099f565b005b3480156103c957600080fd5b506103d2610a7d565b6040516103df9190612e47565b60405180910390f35b3480156103f457600080fd5b5061040f600480360381019061040a9190612fbc565b610a83565b005b34801561041d57600080fd5b5061043860048036038101906104339190612fe9565b610b35565b6040516104459190612e47565b60405180910390f35b34801561045a57600080fd5b50610463610b86565b005b34801561047157600080fd5b5061048c60048036038101906104879190613016565b610cd9565b005b34801561049a57600080fd5b506104a3610d78565b6040516104b09190612e47565b60405180910390f35b3480156104c557600080fd5b506104ce610d7e565b6040516104db9190612f75565b60405180910390f35b3480156104f057600080fd5b5061050b60048036038101906105069190612fbc565b610da7565b005b34801561051957600080fd5b50610522610e59565b60405161052f9190612e47565b60405180910390f35b34801561054457600080fd5b5061054d610e5f565b60405161055a9190612d07565b60405180910390f35b34801561056f57600080fd5b50610578610e9c565b6040516105859190612e47565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b09190613016565b610ea2565b005b3480156105c357600080fd5b506105de60048036038101906105d99190613043565b610f41565b005b3480156105ec57600080fd5b506105f561109c565b6040516106029190612f75565b60405180910390f35b34801561061757600080fd5b50610632600480360381019061062d9190612dc2565b6110c2565b60405161063f9190612e1d565b60405180910390f35b34801561065457600080fd5b5061066f600480360381019061066a91906130e8565b6110e0565b005b34801561067d57600080fd5b5061069860048036038101906106939190613016565b6111b9565b6040516106aa96959493929190613115565b60405180910390f35b3480156106bf57600080fd5b506106da60048036038101906106d59190613176565b611221565b6040516106e79190612e47565b60405180910390f35b3480156106fc57600080fd5b5061071760048036038101906107129190613016565b6112a8565b005b34801561072557600080fd5b50610740600480360381019061073b9190612fe9565b611347565b005b60606040518060400160405280600681526020017f4d63416665650000000000000000000000000000000000000000000000000000815250905090565b600061079361078c611508565b8484611510565b6001905092915050565b600c5481565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600068056bc75e2d63100000905090565b60006107e78484846116d9565b6108a8846107f3611508565b6108a385604051806060016040528060288152602001613d2460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610859611508565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7f9092919063ffffffff16565b611510565b600190509392505050565b601b5481565b60006009905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108f0611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097490613202565b60405180910390fd5b68056bc75e2d6310000060198190555068056bc75e2d63100000601a81905550565b6109a7611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90613202565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610a7a573d6000803e3d6000fd5b50565b60125481565b610a8b611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f90613202565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b6000610b7f600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fe3565b9050919050565b610b8e611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1290613202565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ce1611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6590613202565b60405180910390fd5b8060198190555050565b60195481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610daf611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3390613202565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555050565b601a5481565b60606040518060400160405280600681526020017f4d43414645450000000000000000000000000000000000000000000000000000815250905090565b60115481565b610eaa611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2e90613202565b60405180910390fd5b80601b8190555050565b610f49611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcd90613202565b60405180910390fd5b8360088190555082600a8190555060115491506012549050611001818361205190919063ffffffff16565b600b8190555061101a818361205190919063ffffffff16565b600981905550600b54600954600a546008546110369190613251565b6110409190613251565b61104a9190613251565b600c819055506064600c541115611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d906132cd565b60405180910390fd5b50505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006110d66110cf611508565b84846116d9565b6001905092915050565b6110e8611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116c90613202565b60405180910390fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008060008060008060006111d68a600d54600e546120af565b92509250925060006111e6612145565b905060008060006111f98e878787612170565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112b0611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133490613202565b60405180910390fd5b80601a8190555050565b61134f611508565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d390613202565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361144b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114429061335f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361157f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611576906133f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e590613483565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116cc9190612e47565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173f90613515565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae906135a7565b60405180910390fd5b600081116117fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f190613639565b60405180910390fd5b611802610d7e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118705750611840610d7e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c7e57601860149054906101000a900460ff166118ff57611891610d7e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146118fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f5906136cb565b60405180910390fd5b5b601954811115611944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193b90613737565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146119f157601a54816119a684610b35565b6119b09190613251565b106119f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e7906137c9565b60405180910390fd5b5b60006119fc30610b35565b90506000601b548210159050808015611a225750601860159054906101000a900460ff16155b8015611a7c5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611a945750601860169054906101000a900460ff165b8015611aea5750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b405750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c7b576000821115611c7a576000611b6660026011546121f990919063ffffffff16565b90506000611b8160125460115461205190919063ffffffff16565b90506000611b98838361224390919063ffffffff16565b90506000611bc183611bb3848961228d90919063ffffffff16565b6121f990919063ffffffff16565b90506000479050611bd182612307565b6000611be6824761224390919063ffffffff16565b90506000611bf330610b35565b90506000611c1d86611c0f60648b61228d90919063ffffffff16565b6121f990919063ffffffff16565b90506000611c476064611c39848761228d90919063ffffffff16565b6121f990919063ffffffff16565b90506000811115611c5d57611c5c8184612580565b5b6000471115611c7057611c6f476127fd565b5b5050505050505050505b5b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d255750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611dd85750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611dd75750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611de65760009050611f6d565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e915750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ea957600854600d81905550600954600e819055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f545750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f6c57600a54600d81905550600b54600e819055505b5b611f7984848484612869565b50505050565b6000838311158290611fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbe9190612d07565b60405180910390fd5b5060008385611fd691906137e9565b9050809150509392505050565b600060065482111561202a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120219061388f565b60405180910390fd5b6000612034612145565b905061204981846121f990919063ffffffff16565b915050919050565b60008082846120609190613251565b9050838110156120a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209c906138fb565b60405180910390fd5b8091505092915050565b6000806000806120db60646120cd888a61228d90919063ffffffff16565b6121f990919063ffffffff16565b9050600061210560646120f7888b61228d90919063ffffffff16565b6121f990919063ffffffff16565b9050600061212e82612120858c61224390919063ffffffff16565b61224390919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000612152612896565b9150915061216981836121f990919063ffffffff16565b9250505090565b600080600080612189858961228d90919063ffffffff16565b905060006121a0868961228d90919063ffffffff16565b905060006121b7878961228d90919063ffffffff16565b905060006121e0826121d2858761224390919063ffffffff16565b61224390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600061223b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128f8565b905092915050565b600061228583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f7f565b905092915050565b600080830361229f5760009050612301565b600082846122ad919061391b565b90508284826122bc91906139a4565b146122fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f390613a47565b60405180910390fd5b809150505b92915050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561233f5761233e613a67565b5b60405190808252806020026020018201604052801561236d5781602001602082028036833780820191505090505b509050308160008151811061238557612384613a96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561242c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124509190613ada565b8160018151811061246457612463613a96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124cb30601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611510565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161252f959493929190613c00565b600060405180830381600087803b15801561254957600080fd5b505af115801561255d573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b6000600267ffffffffffffffff81111561259d5761259c613a67565b5b6040519080825280602002602001820160405280156125cb5781602001602082028036833780820191505090505b50905030816000815181106125e3576125e2613a96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561268a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ae9190613ada565b816001815181106126c2576126c1613a96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061272930601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611510565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719843085600080601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016127b296959493929190613c5a565b60606040518083038185885af11580156127d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127f59190613cd0565b505050505050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612865573d6000803e3d6000fd5b5050565b806128775761287661295b565b5b612882848484612998565b806128905761288f612b63565b5b50505050565b60008060006006549050600068056bc75e2d6310000090506128cc68056bc75e2d631000006006546121f990919063ffffffff16565b8210156128eb5760065468056bc75e2d631000009350935050506128f4565b81819350935050505b9091565b6000808311829061293f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129369190612d07565b60405180910390fd5b506000838561294e91906139a4565b9050809150509392505050565b6000600d5414801561296f57506000600e54145b61299657600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b6000806000806000806129aa876111b9565b955095509550955095509550612a0886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461224390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a9d85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ae981612b77565b612af38483612c34565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b509190612e47565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b6000612b81612145565b90506000612b98828461228d90919063ffffffff16565b9050612bec81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612c498260065461224390919063ffffffff16565b600681905550612c648160075461205190919063ffffffff16565b6007819055505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ca8578082015181840152602081019050612c8d565b83811115612cb7576000848401525b50505050565b6000601f19601f8301169050919050565b6000612cd982612c6e565b612ce38185612c79565b9350612cf3818560208601612c8a565b612cfc81612cbd565b840191505092915050565b60006020820190508181036000830152612d218184612cce565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d5982612d2e565b9050919050565b612d6981612d4e565b8114612d7457600080fd5b50565b600081359050612d8681612d60565b92915050565b6000819050919050565b612d9f81612d8c565b8114612daa57600080fd5b50565b600081359050612dbc81612d96565b92915050565b60008060408385031215612dd957612dd8612d29565b5b6000612de785828601612d77565b9250506020612df885828601612dad565b9150509250929050565b60008115159050919050565b612e1781612e02565b82525050565b6000602082019050612e326000830184612e0e565b92915050565b612e4181612d8c565b82525050565b6000602082019050612e5c6000830184612e38565b92915050565b6000819050919050565b6000612e87612e82612e7d84612d2e565b612e62565b612d2e565b9050919050565b6000612e9982612e6c565b9050919050565b6000612eab82612e8e565b9050919050565b612ebb81612ea0565b82525050565b6000602082019050612ed66000830184612eb2565b92915050565b600080600060608486031215612ef557612ef4612d29565b5b6000612f0386828701612d77565b9350506020612f1486828701612d77565b9250506040612f2586828701612dad565b9150509250925092565b600060ff82169050919050565b612f4581612f2f565b82525050565b6000602082019050612f606000830184612f3c565b92915050565b612f6f81612d4e565b82525050565b6000602082019050612f8a6000830184612f66565b92915050565b612f9981612e02565b8114612fa457600080fd5b50565b600081359050612fb681612f90565b92915050565b600060208284031215612fd257612fd1612d29565b5b6000612fe084828501612fa7565b91505092915050565b600060208284031215612fff57612ffe612d29565b5b600061300d84828501612d77565b91505092915050565b60006020828403121561302c5761302b612d29565b5b600061303a84828501612dad565b91505092915050565b6000806000806080858703121561305d5761305c612d29565b5b600061306b87828801612dad565b945050602061307c87828801612dad565b935050604061308d87828801612dad565b925050606061309e87828801612dad565b91505092959194509250565b60006130b582612d2e565b9050919050565b6130c5816130aa565b81146130d057600080fd5b50565b6000813590506130e2816130bc565b92915050565b6000602082840312156130fe576130fd612d29565b5b600061310c848285016130d3565b91505092915050565b600060c08201905061312a6000830189612e38565b6131376020830188612e38565b6131446040830187612e38565b6131516060830186612e38565b61315e6080830185612e38565b61316b60a0830184612e38565b979650505050505050565b6000806040838503121561318d5761318c612d29565b5b600061319b85828601612d77565b92505060206131ac85828601612d77565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131ec602083612c79565b91506131f7826131b6565b602082019050919050565b6000602082019050818103600083015261321b816131df565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061325c82612d8c565b915061326783612d8c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561329c5761329b613222565b5b828201905092915050565b50565b60006132b7600083612c79565b91506132c2826132a7565b600082019050919050565b600060208201905081810360008301526132e6816132aa565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613349602683612c79565b9150613354826132ed565b604082019050919050565b600060208201905081810360008301526133788161333c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006133db602483612c79565b91506133e68261337f565b604082019050919050565b6000602082019050818103600083015261340a816133ce565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061346d602283612c79565b915061347882613411565b604082019050919050565b6000602082019050818103600083015261349c81613460565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006134ff602583612c79565b915061350a826134a3565b604082019050919050565b6000602082019050818103600083015261352e816134f2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613591602383612c79565b915061359c82613535565b604082019050919050565b600060208201905081810360008301526135c081613584565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613623602983612c79565b915061362e826135c7565b604082019050919050565b6000602082019050818103600083015261365281613616565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b60006136b5603f83612c79565b91506136c082613659565b604082019050919050565b600060208201905081810360008301526136e4816136a8565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613721601c83612c79565b915061372c826136eb565b602082019050919050565b6000602082019050818103600083015261375081613714565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006137b3602383612c79565b91506137be82613757565b604082019050919050565b600060208201905081810360008301526137e2816137a6565b9050919050565b60006137f482612d8c565b91506137ff83612d8c565b92508282101561381257613811613222565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613879602a83612c79565b91506138848261381d565b604082019050919050565b600060208201905081810360008301526138a88161386c565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006138e5601b83612c79565b91506138f0826138af565b602082019050919050565b60006020820190508181036000830152613914816138d8565b9050919050565b600061392682612d8c565b915061393183612d8c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561396a57613969613222565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139af82612d8c565b91506139ba83612d8c565b9250826139ca576139c9613975565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a31602183612c79565b9150613a3c826139d5565b604082019050919050565b60006020820190508181036000830152613a6081613a24565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613ad481612d60565b92915050565b600060208284031215613af057613aef612d29565b5b6000613afe84828501613ac5565b91505092915050565b6000819050919050565b6000613b2c613b27613b2284613b07565b612e62565b612d8c565b9050919050565b613b3c81613b11565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613b7781612d4e565b82525050565b6000613b898383613b6e565b60208301905092915050565b6000602082019050919050565b6000613bad82613b42565b613bb78185613b4d565b9350613bc283613b5e565b8060005b83811015613bf3578151613bda8882613b7d565b9750613be583613b95565b925050600181019050613bc6565b5085935050505092915050565b600060a082019050613c156000830188612e38565b613c226020830187613b33565b8181036040830152613c348186613ba2565b9050613c436060830185612f66565b613c506080830184612e38565b9695505050505050565b600060c082019050613c6f6000830189612f66565b613c7c6020830188612e38565b613c896040830187613b33565b613c966060830186613b33565b613ca36080830185612f66565b613cb060a0830184612e38565b979650505050505050565b600081519050613cca81612d96565b92915050565b600080600060608486031215613ce957613ce8612d29565b5b6000613cf786828701613cbb565b9350506020613d0886828701613cbb565b9250506040613d1986828701613cbb565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a8549c2da0edd45140c7e5e279f0cad29c44926250edb102aed34ad03a70470464736f6c634300080f0033

Deployed Bytecode Sourcemap

4218:14714:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6976:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7878:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5064:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5774:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7253:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8072:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6088:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7162:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5822:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18391:114;;;;;;;;;;;;;:::i;:::-;;15006:110;;;;;;;;;;;;;:::i;:::-;;5347:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18282:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7356:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1713:148;;;;;;;;;;;;;:::i;:::-;;18539:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5972:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1499:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13989:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6029:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7067:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5309:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18075:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17473:550;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5386:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7502:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18655:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15535:630;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;7702:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18814:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1869:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6976:83;7013:13;7046:5;;;;;;;;;;;;;;;;;7039:12;;6976:83;:::o;7878:186::-;7978:4;7995:39;8004:12;:10;:12::i;:::-;8018:7;8027:6;7995:8;:39::i;:::-;8052:4;8045:11;;7878:186;;;;:::o;5064:24::-;;;;:::o;5774:41::-;;;;;;;;;;;;;:::o;7253:95::-;7306:7;4761:22;7326:14;;7253:95;:::o;8072:446::-;8204:4;8221:36;8231:6;8239:9;8250:6;8221:9;:36::i;:::-;8268:220;8291:6;8312:12;:10;:12::i;:::-;8339:138;8395:6;8339:138;;;;;;;;;;;;;;;;;:11;:19;8351:6;8339:19;;;;;;;;;;;;;;;:33;8359:12;:10;:12::i;:::-;8339:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8268:8;:220::i;:::-;8506:4;8499:11;;8072:446;;;;;:::o;6088:52::-;;;;:::o;7162:83::-;7203:5;4433:1;7221:16;;7162:83;:::o;5822:28::-;;;;;;;;;;;;;:::o;18391:114::-;1636:12;:10;:12::i;:::-;1626:22;;:6;;;;;;;;;;:22;;;1618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4761:22:::1;18440:12;:22;;;;4761;18473:14;:24;;;;18391:114::o:0;15006:110::-;1636:12;:10;:12::i;:::-;1626:22;;:6;;;;;;;;;;:22;;;1618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15065:10:::1;15057:28;;:51;15086:21;15057:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15006:110::o:0;5347:32::-;;;;:::o;18282:101::-;1636:12;:10;:12::i;:::-;1626:22;;:6;;;;;;;;;;:22;;;1618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18363:12:::1;18349:11;;:26;;;;;;;;;;;;;;;;;;18282:101:::0;:::o;7356:138::-;7422:7;7449:37;7469:7;:16;7477:7;7469:16;;;;;;;;;;;;;;;;7449:19;:37::i;:::-;7442:44;;7356:138;;;:::o;1713:148::-;1636:12;:10;:12::i;:::-;1626:22;;:6;;;;;;;;;;:22;;;1618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1820:1:::1;1783:40;;1804:6;::::0;::::1;;;;;;;;1783:40;;;;;;;;;;;;1851:1;1834:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1713:148::o:0;18539:108::-;1636:12;:10;:12::i;:::-;1626:22;;:6;;;;;;;;;;:22;;;1618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18628:11:::1;18613:12;:26;;;;18539:108:::0;:::o;5972:50::-;;;;:::o;1499:79::-;1537:7;1564:6;;;;;;;;;;;1557:13;;1499:79;:::o;13989:101::-;1636:12;:10;:12::i;:::-;1626:22;;:6;;;;;;;;;;:22;;;1618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14070:12:::1;14056:11;;:26;;;;;;;;;;;;;;;;;;13989:101:::0;:::o;6029:52::-;;;;:::o;7067:87::-;7106:13;7139:7;;;;;;;;;;;;;;;;;7132:14;;7067:87;:::o;5309:31::-;;;;:::o;18075:155::-;1636:12;:10;:12::i;:::-;1626:22;;:6;;;;;;;;;;:22;;;1618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18204:18:::1;18182:19;:40;;;;18075:155:::0;:::o;17473:550::-;1636:12;:10;:12::i;:::-;1626:22;;:6;;;;;;;;;;:22;;;1618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17665:13:::1;17653:9;:25;;;;17702:14;17689:10;:27;;;;17743:12;;17727:28;;17782:12;;17766:28;;17818:32;17836:13;17818;:17;;:32;;;;:::i;:::-;17805:10;:45;;;;17873:32;17891:13;17873;:17;;:32;;;;:::i;:::-;17861:9;:44;;;;17965:10;;17953:9;;17940:10;;17928:9;;:22;;;;:::i;:::-;:34;;;;:::i;:::-;:47;;;;:::i;:::-;17916:9;:59;;;;18007:3;17994:9;;:16;;17986:29;;;;;;;;;;;;:::i;:::-;;;;;;;;;17473:550:::0;;;;:::o;5386:88::-;;;;;;;;;;;;;:::o;7502:192::-;7605:4;7622:42;7632:12;:10;:12::i;:::-;7646:9;7657:6;7622:9;:42::i;:::-;7682:4;7675:11;;7502:192;;;;:::o;18655:122::-;1636:12;:10;:12::i;:::-;1626:22;;:6;;;;;;;;;;:22;;;1618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18761:8:::1;18735:23;;:34;;;;;;;;;;;;;;;;;;18655:122:::0;:::o;15535:630::-;15636:7;15645;15654;15663;15672;15681;15707:23;15732:12;15746:13;15763:90;15789:7;15811:9;;15835:7;;15763:11;:90::i;:::-;15706:147;;;;;;15864:19;15886:10;:8;:10::i;:::-;15864:32;;15908:15;15925:23;15950:12;15966:109;15992:7;16014:4;16033:5;16053:11;15966;:109::i;:::-;15907:168;;;;;;16096:7;16105:15;16122:4;16128:15;16145:4;16151:5;16088:69;;;;;;;;;;;;;;;;;;;15535:630;;;;;;;:::o;7702:168::-;7808:7;7835:11;:18;7847:5;7835:18;;;;;;;;;;;;;;;:27;7854:7;7835:27;;;;;;;;;;;;;;;;7828:34;;7702:168;;;;:::o;18814:115::-;1636:12;:10;:12::i;:::-;1626:22;;:6;;;;;;;;;;:22;;;1618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18908:13:::1;18891:14;:30;;;;18814:115:::0;:::o;1869:281::-;1636:12;:10;:12::i;:::-;1626:22;;:6;;;;;;;;;;:22;;;1618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1992:1:::1;1972:22;;:8;:22;;::::0;1950:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2105:8;2076:38;;2097:6;::::0;::::1;;;;;;;;2076:38;;;;;;;;;;;;2134:8;2125:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1869:281:::0;:::o;208:98::-;261:7;288:10;281:17;;208:98;:::o;9193:335::-;9303:1;9286:19;;:5;:19;;;9278:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9384:1;9365:21;;:7;:21;;;9357:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9466:6;9436:11;:18;9448:5;9436:18;;;;;;;;;;;;;;;:27;9455:7;9436:27;;;;;;;;;;;;;;;:36;;;;9504:7;9488:32;;9497:5;9488:32;;;9513:6;9488:32;;;;;;:::i;:::-;;;;;;;;9193:335;;;:::o;9536:3325::-;9640:1;9624:18;;:4;:18;;;9616:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9717:1;9703:16;;:2;:16;;;9695:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9787:1;9778:6;:10;9770:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9859:7;:5;:7::i;:::-;9851:15;;:4;:15;;;;:32;;;;;9876:7;:5;:7::i;:::-;9870:13;;:2;:13;;;;9851:32;9847:2270;;;9938:11;;;;;;;;;;;9933:205;;10008:7;:5;:7::i;:::-;10000:15;;:4;:15;;;9970:152;;;;;;;;;;;;:::i;:::-;;;;;;;;;9933:205;10172:12;;10162:6;:22;;10154:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10244:13;;;;;;;;;;;10238:19;;:2;:19;;;10234:208;;10333:14;;10324:6;10308:13;10318:2;10308:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10278:148;;;;;;;;;;;;:::i;:::-;;;;;;;;;10234:208;10458:28;10489:24;10507:4;10489:9;:24::i;:::-;10458:55;;10530:12;10569:19;;10545:20;:43;;10530:58;;10627:7;:35;;;;;10656:6;;;;;;;;;;;10655:7;10627:35;:77;;;;;10691:13;;;;;;;;;;;10683:21;;:4;:21;;;;10627:77;:109;;;;;10725:11;;;;;;;;;;;10627:109;:155;;;;;10758:18;:24;10777:4;10758:24;;;;;;;;;;;;;;;;;;;;;;;;;10757:25;10627:155;:199;;;;;10804:18;:22;10823:2;10804:22;;;;;;;;;;;;;;;;;;;;;;;;;10803:23;10627:199;10605:1501;;;10888:1;10865:20;:24;10861:1230;;;10914:14;10931:19;10948:1;10931:12;;:16;;:19;;;;:::i;:::-;10914:36;;10975:11;10989:30;11006:12;;10989;;:16;;:30;;;;:::i;:::-;10975:44;;11042:17;11062:15;11070:6;11062:3;:7;;:15;;;;:::i;:::-;11042:35;;11102:20;11125:96;11217:3;11125:61;11176:9;11125:20;:50;;:61;;;;:::i;:::-;:91;;:96;;;;:::i;:::-;11102:119;;11246:24;11273:21;11246:48;;11317:30;11334:12;11317:16;:30::i;:::-;11370:23;11396:91;11448:16;11396:21;:25;;:91;;;;:::i;:::-;11370:117;;11512:19;11534:26;11553:4;11534:9;:26::i;:::-;11512:48;;11585:22;11610:30;11630:9;11610:15;11621:3;11610:6;:10;;:15;;;;:::i;:::-;:19;;:30;;;;:::i;:::-;11585:55;;11663:23;11689:96;11781:3;11689:61;11735:14;11689:15;:45;;:61;;;;:::i;:::-;:91;;:96;;;;:::i;:::-;11663:122;;11832:1;11814:15;:19;11810:121;;;11862:45;11878:15;11895:11;11862:15;:45::i;:::-;11810:121;11983:1;11959:21;:25;11955:117;;;12013:35;12026:21;12013:12;:35::i;:::-;11955:117;10891:1200;;;;;;;;;10861:1230;10605:1501;9885:2232;;9847:2270;12129:12;12144:4;12129:19;;12207:18;:24;12226:4;12207:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12235:18;:22;12254:2;12235:22;;;;;;;;;;;;;;;;;;;;;;;;;12207:50;12206:115;;;;12284:13;;;;;;;;;;;12276:21;;:4;:21;;;;:44;;;;;12307:13;;;;;;;;;;;12301:19;;:2;:19;;;;12276:44;12206:115;12188:612;;;12358:5;12348:15;;12188:612;;;12440:13;;;;;;;;;;;12432:21;;:4;:21;;;:55;;;;;12471:15;;;;;;;;;;;12457:30;;:2;:30;;;;12432:55;12428:155;;;12520:9;;12508;:21;;;;12558:9;;12548:7;:19;;;;12428:155;12642:13;;;;;;;;;;;12636:19;;:2;:19;;;:55;;;;;12675:15;;;;;;;;;;;12659:32;;:4;:32;;;;12636:55;12632:157;;;12724:10;;12712:9;:22;;;;12763:10;;12753:7;:20;;;;12632:157;12188:612;12812:41;12827:4;12833:2;12837:6;12845:7;12812:14;:41::i;:::-;9605:3256;9536:3325;;;:::o;2512:224::-;2632:7;2665:1;2660;:6;;2668:12;2652:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2692:9;2708:1;2704;:5;;;;:::i;:::-;2692:17;;2727:1;2720:8;;;2512:224;;;;;:::o;8526:307::-;8610:7;8663;;8652;:18;;8630:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8751:19;8773:10;:8;:10::i;:::-;8751:32;;8801:24;8813:11;8801:7;:11;;:24;;;;:::i;:::-;8794:31;;;8526:307;;;:::o;2181:179::-;2239:7;2259:9;2275:1;2271;:5;;;;:::i;:::-;2259:17;;2300:1;2295;:6;;2287:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2351:1;2344:8;;;2181:179;;;;:::o;16173:389::-;16301:7;16310;16319;16339:12;16354:30;16380:3;16354:21;16366:8;16354:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;16339:45;;16395:13;16411:28;16435:3;16411:19;16423:6;16411:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16395:44;;16450:23;16476:28;16498:5;16476:17;16488:4;16476:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16450:54;;16525:15;16542:4;16548:5;16517:37;;;;;;;;;16173:389;;;;;;;:::o;17032:166::-;17074:7;17095:15;17112;17131:19;:17;:19::i;:::-;17094:56;;;;17170:20;17182:7;17170;:11;;:20;;;;:::i;:::-;17163:27;;;;17032:166;:::o;16570:454::-;16723:7;16732;16741;16761:15;16779:24;16791:11;16779:7;:11;;:24;;;;:::i;:::-;16761:42;;16814:12;16829:21;16838:11;16829:4;:8;;:21;;;;:::i;:::-;16814:36;;16861:13;16877:22;16887:11;16877:5;:9;;:22;;;;:::i;:::-;16861:38;;16910:23;16936:28;16958:5;16936:17;16948:4;16936:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16910:54;;16985:7;16994:15;17011:4;16977:39;;;;;;;;;;16570:454;;;;;;;;:::o;2998:132::-;3056:7;3083:39;3087:1;3090;3083:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3076:46;;2998:132;;;;:::o;2368:136::-;2426:7;2453:43;2457:1;2460;2453:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2446:50;;2368:136;;;;:::o;2744:246::-;2802:7;2831:1;2826;:6;2822:47;;2856:1;2849:8;;;;2822:47;2879:9;2895:1;2891;:5;;;;:::i;:::-;2879:17;;2924:1;2919;2915;:5;;;;:::i;:::-;:10;2907:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2981:1;2974:8;;;2744:246;;;;;:::o;12869:483::-;6245:4;6236:6;;:13;;;;;;;;;;;;;;;;;;12947:21:::1;12985:1;12971:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12947:40;;13016:4;12998;13003:1;12998:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13042:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13032:4;13037:1;13032:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;13075:62;13092:4;13107:15;;;;;;;;;;;13125:11;13075:8;:62::i;:::-;13148:15;;;;;;;;;;;:66;;;13229:11;13255:1;13271:4;13298;13318:15;13148:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12936:416;6281:5:::0;6272:6;;:14;;;;;;;;;;;;;;;;;;12869:483;:::o;13360:499::-;13446:21;13484:1;13470:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13446:40;;13515:4;13497;13502:1;13497:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;13541:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13531:4;13536:1;13531:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;13574:63;13591:4;13606:15;;;;;;;;;;;13624:12;13574:8;:63::i;:::-;13648:15;;;;;;;;;;;:31;;;13687:10;13721:4;13741:12;13768:1;13784;13800:10;;;;;;;;;;;13825:15;13648:203;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13435:424;13360:499;;:::o;13867:114::-;13932:23;;;;;;;;;;;13924:41;;:49;13966:6;13924:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13867:114;:::o;14098:282::-;14254:7;14249:28;;14263:14;:12;:14::i;:::-;14249:28;14288:44;14306:6;14314:9;14325:6;14288:17;:44::i;:::-;14348:7;14343:29;;14357:15;:13;:15::i;:::-;14343:29;14098:282;;;;:::o;17206:259::-;17257:7;17266;17286:15;17304:7;;17286:25;;17322:15;4761:22;17322:25;;17372:20;4761:22;17372:7;;:11;;:20;;;;:::i;:::-;17362:7;:30;17358:61;;;17402:7;;4761:22;17394:25;;;;;;;;17358:61;17440:7;17449;17432:25;;;;;;17206:259;;;:::o;3138:223::-;3258:7;3290:1;3286;:5;3293:12;3278:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3317:9;3333:1;3329;:5;;;;:::i;:::-;3317:17;;3352:1;3345:8;;;3138:223;;;;;:::o;8841:219::-;8901:1;8888:9;;:14;:30;;;;;8917:1;8906:7;;:12;8888:30;8920:7;8884:43;8959:9;;8939:17;:29;;;;8997:7;;8979:15;:25;;;;9029:1;9017:9;:13;;;;9051:1;9041:7;:11;;;;8841:219;:::o;14388:610::-;14535:15;14565:23;14603:12;14630:23;14668:12;14695:13;14722:19;14733:7;14722:10;:19::i;:::-;14520:221;;;;;;;;;;;;14770:28;14790:7;14770;:15;14778:6;14770:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14752:7;:15;14760:6;14752:15;;;;;;;;;;;;;;;:46;;;;14830:39;14853:15;14830:7;:18;14838:9;14830:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14809:7;:18;14817:9;14809:18;;;;;;;;;;;;;;;:60;;;;14880:16;14890:5;14880:9;:16::i;:::-;14907:23;14919:4;14925;14907:11;:23::i;:::-;14963:9;14946:44;;14955:6;14946:44;;;14974:15;14946:44;;;;;;:::i;:::-;;;;;;;;14509:489;;;;;;14388:610;;;:::o;9068:117::-;9124:17;;9112:9;:29;;;;9162:15;;9152:7;:25;;;;9068:117::o;15124:211::-;15177:19;15199:10;:8;:10::i;:::-;15177:32;;15220:13;15236:22;15246:11;15236:5;:9;;:22;;;;:::i;:::-;15220:38;;15294:33;15321:5;15294:7;:22;15310:4;15294:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15269:7;:22;15285:4;15269:22;;;;;;;;;;;;;;;:58;;;;15166:169;;15124:211;:::o;15343:147::-;15421:17;15433:4;15421:7;;:11;;:17;;;;:::i;:::-;15411:7;:27;;;;15462:20;15477:4;15462:10;;:14;;:20;;;;:::i;:::-;15449:10;:33;;;;15343:147;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:60::-;3874:3;3895:5;3888:12;;3846:60;;;:::o;3912:142::-;3962:9;3995:53;4013:34;4022:24;4040:5;4022:24;:::i;:::-;4013:34;:::i;:::-;3995:53;:::i;:::-;3982:66;;3912:142;;;:::o;4060:126::-;4110:9;4143:37;4174:5;4143:37;:::i;:::-;4130:50;;4060:126;;;:::o;4192:152::-;4268:9;4301:37;4332:5;4301:37;:::i;:::-;4288:50;;4192:152;;;:::o;4350:183::-;4463:63;4520:5;4463:63;:::i;:::-;4458:3;4451:76;4350:183;;:::o;4539:274::-;4658:4;4696:2;4685:9;4681:18;4673:26;;4709:97;4803:1;4792:9;4788:17;4779:6;4709:97;:::i;:::-;4539:274;;;;:::o;4819:619::-;4896:6;4904;4912;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;5214:2;5240:53;5285:7;5276:6;5265:9;5261:22;5240:53;:::i;:::-;5230:63;;5185:118;5342:2;5368:53;5413:7;5404:6;5393:9;5389:22;5368:53;:::i;:::-;5358:63;;5313:118;4819:619;;;;;:::o;5444:86::-;5479:7;5519:4;5512:5;5508:16;5497:27;;5444:86;;;:::o;5536:112::-;5619:22;5635:5;5619:22;:::i;:::-;5614:3;5607:35;5536:112;;:::o;5654:214::-;5743:4;5781:2;5770:9;5766:18;5758:26;;5794:67;5858:1;5847:9;5843:17;5834:6;5794:67;:::i;:::-;5654:214;;;;:::o;5874:118::-;5961:24;5979:5;5961:24;:::i;:::-;5956:3;5949:37;5874:118;;:::o;5998:222::-;6091:4;6129:2;6118:9;6114:18;6106:26;;6142:71;6210:1;6199:9;6195:17;6186:6;6142:71;:::i;:::-;5998:222;;;;:::o;6226:116::-;6296:21;6311:5;6296:21;:::i;:::-;6289:5;6286:32;6276:60;;6332:1;6329;6322:12;6276:60;6226:116;:::o;6348:133::-;6391:5;6429:6;6416:20;6407:29;;6445:30;6469:5;6445:30;:::i;:::-;6348:133;;;;:::o;6487:323::-;6543:6;6592:2;6580:9;6571:7;6567:23;6563:32;6560:119;;;6598:79;;:::i;:::-;6560:119;6718:1;6743:50;6785:7;6776:6;6765:9;6761:22;6743:50;:::i;:::-;6733:60;;6689:114;6487:323;;;;:::o;6816:329::-;6875:6;6924:2;6912:9;6903:7;6899:23;6895:32;6892:119;;;6930:79;;:::i;:::-;6892:119;7050:1;7075:53;7120:7;7111:6;7100:9;7096:22;7075:53;:::i;:::-;7065:63;;7021:117;6816:329;;;;:::o;7151:::-;7210:6;7259:2;7247:9;7238:7;7234:23;7230:32;7227:119;;;7265:79;;:::i;:::-;7227:119;7385:1;7410:53;7455:7;7446:6;7435:9;7431:22;7410:53;:::i;:::-;7400:63;;7356:117;7151:329;;;;:::o;7486:765::-;7572:6;7580;7588;7596;7645:3;7633:9;7624:7;7620:23;7616:33;7613:120;;;7652:79;;:::i;:::-;7613:120;7772:1;7797:53;7842:7;7833:6;7822:9;7818:22;7797:53;:::i;:::-;7787:63;;7743:117;7899:2;7925:53;7970:7;7961:6;7950:9;7946:22;7925:53;:::i;:::-;7915:63;;7870:118;8027:2;8053:53;8098:7;8089:6;8078:9;8074:22;8053:53;:::i;:::-;8043:63;;7998:118;8155:2;8181:53;8226:7;8217:6;8206:9;8202:22;8181:53;:::i;:::-;8171:63;;8126:118;7486:765;;;;;;;:::o;8257:104::-;8302:7;8331:24;8349:5;8331:24;:::i;:::-;8320:35;;8257:104;;;:::o;8367:138::-;8448:32;8474:5;8448:32;:::i;:::-;8441:5;8438:43;8428:71;;8495:1;8492;8485:12;8428:71;8367:138;:::o;8511:155::-;8565:5;8603:6;8590:20;8581:29;;8619:41;8654:5;8619:41;:::i;:::-;8511:155;;;;:::o;8672:345::-;8739:6;8788:2;8776:9;8767:7;8763:23;8759:32;8756:119;;;8794:79;;:::i;:::-;8756:119;8914:1;8939:61;8992:7;8983:6;8972:9;8968:22;8939:61;:::i;:::-;8929:71;;8885:125;8672:345;;;;:::o;9023:775::-;9256:4;9294:3;9283:9;9279:19;9271:27;;9308:71;9376:1;9365:9;9361:17;9352:6;9308:71;:::i;:::-;9389:72;9457:2;9446:9;9442:18;9433:6;9389:72;:::i;:::-;9471;9539:2;9528:9;9524:18;9515:6;9471:72;:::i;:::-;9553;9621:2;9610:9;9606:18;9597:6;9553:72;:::i;:::-;9635:73;9703:3;9692:9;9688:19;9679:6;9635:73;:::i;:::-;9718;9786:3;9775:9;9771:19;9762:6;9718:73;:::i;:::-;9023:775;;;;;;;;;:::o;9804:474::-;9872:6;9880;9929:2;9917:9;9908:7;9904:23;9900:32;9897:119;;;9935:79;;:::i;:::-;9897:119;10055:1;10080:53;10125:7;10116:6;10105:9;10101:22;10080:53;:::i;:::-;10070:63;;10026:117;10182:2;10208:53;10253:7;10244:6;10233:9;10229:22;10208:53;:::i;:::-;10198:63;;10153:118;9804:474;;;;;:::o;10284:182::-;10424:34;10420:1;10412:6;10408:14;10401:58;10284:182;:::o;10472:366::-;10614:3;10635:67;10699:2;10694:3;10635:67;:::i;:::-;10628:74;;10711:93;10800:3;10711:93;:::i;:::-;10829:2;10824:3;10820:12;10813:19;;10472:366;;;:::o;10844:419::-;11010:4;11048:2;11037:9;11033:18;11025:26;;11097:9;11091:4;11087:20;11083:1;11072:9;11068:17;11061:47;11125:131;11251:4;11125:131;:::i;:::-;11117:139;;10844:419;;;:::o;11269:180::-;11317:77;11314:1;11307:88;11414:4;11411:1;11404:15;11438:4;11435:1;11428:15;11455:305;11495:3;11514:20;11532:1;11514:20;:::i;:::-;11509:25;;11548:20;11566:1;11548:20;:::i;:::-;11543:25;;11702:1;11634:66;11630:74;11627:1;11624:81;11621:107;;;11708:18;;:::i;:::-;11621:107;11752:1;11749;11745:9;11738:16;;11455:305;;;;:::o;11766:114::-;;:::o;11886:364::-;12028:3;12049:66;12113:1;12108:3;12049:66;:::i;:::-;12042:73;;12124:93;12213:3;12124:93;:::i;:::-;12242:1;12237:3;12233:11;12226:18;;11886:364;;;:::o;12256:419::-;12422:4;12460:2;12449:9;12445:18;12437:26;;12509:9;12503:4;12499:20;12495:1;12484:9;12480:17;12473:47;12537:131;12663:4;12537:131;:::i;:::-;12529:139;;12256:419;;;:::o;12681:225::-;12821:34;12817:1;12809:6;12805:14;12798:58;12890:8;12885:2;12877:6;12873:15;12866:33;12681:225;:::o;12912:366::-;13054:3;13075:67;13139:2;13134:3;13075:67;:::i;:::-;13068:74;;13151:93;13240:3;13151:93;:::i;:::-;13269:2;13264:3;13260:12;13253:19;;12912:366;;;:::o;13284:419::-;13450:4;13488:2;13477:9;13473:18;13465:26;;13537:9;13531:4;13527:20;13523:1;13512:9;13508:17;13501:47;13565:131;13691:4;13565:131;:::i;:::-;13557:139;;13284:419;;;:::o;13709:223::-;13849:34;13845:1;13837:6;13833:14;13826:58;13918:6;13913:2;13905:6;13901:15;13894:31;13709:223;:::o;13938:366::-;14080:3;14101:67;14165:2;14160:3;14101:67;:::i;:::-;14094:74;;14177:93;14266:3;14177:93;:::i;:::-;14295:2;14290:3;14286:12;14279:19;;13938:366;;;:::o;14310:419::-;14476:4;14514:2;14503:9;14499:18;14491:26;;14563:9;14557:4;14553:20;14549:1;14538:9;14534:17;14527:47;14591:131;14717:4;14591:131;:::i;:::-;14583:139;;14310:419;;;:::o;14735:221::-;14875:34;14871:1;14863:6;14859:14;14852:58;14944:4;14939:2;14931:6;14927:15;14920:29;14735:221;:::o;14962:366::-;15104:3;15125:67;15189:2;15184:3;15125:67;:::i;:::-;15118:74;;15201:93;15290:3;15201:93;:::i;:::-;15319:2;15314:3;15310:12;15303:19;;14962:366;;;:::o;15334:419::-;15500:4;15538:2;15527:9;15523:18;15515:26;;15587:9;15581:4;15577:20;15573:1;15562:9;15558:17;15551:47;15615:131;15741:4;15615:131;:::i;:::-;15607:139;;15334:419;;;:::o;15759:224::-;15899:34;15895:1;15887:6;15883:14;15876:58;15968:7;15963:2;15955:6;15951:15;15944:32;15759:224;:::o;15989:366::-;16131:3;16152:67;16216:2;16211:3;16152:67;:::i;:::-;16145:74;;16228:93;16317:3;16228:93;:::i;:::-;16346:2;16341:3;16337:12;16330:19;;15989:366;;;:::o;16361:419::-;16527:4;16565:2;16554:9;16550:18;16542:26;;16614:9;16608:4;16604:20;16600:1;16589:9;16585:17;16578:47;16642:131;16768:4;16642:131;:::i;:::-;16634:139;;16361:419;;;:::o;16786:222::-;16926:34;16922:1;16914:6;16910:14;16903:58;16995:5;16990:2;16982:6;16978:15;16971:30;16786:222;:::o;17014:366::-;17156:3;17177:67;17241:2;17236:3;17177:67;:::i;:::-;17170:74;;17253:93;17342:3;17253:93;:::i;:::-;17371:2;17366:3;17362:12;17355:19;;17014:366;;;:::o;17386:419::-;17552:4;17590:2;17579:9;17575:18;17567:26;;17639:9;17633:4;17629:20;17625:1;17614:9;17610:17;17603:47;17667:131;17793:4;17667:131;:::i;:::-;17659:139;;17386:419;;;:::o;17811:228::-;17951:34;17947:1;17939:6;17935:14;17928:58;18020:11;18015:2;18007:6;18003:15;17996:36;17811:228;:::o;18045:366::-;18187:3;18208:67;18272:2;18267:3;18208:67;:::i;:::-;18201:74;;18284:93;18373:3;18284:93;:::i;:::-;18402:2;18397:3;18393:12;18386:19;;18045:366;;;:::o;18417:419::-;18583:4;18621:2;18610:9;18606:18;18598:26;;18670:9;18664:4;18660:20;18656:1;18645:9;18641:17;18634:47;18698:131;18824:4;18698:131;:::i;:::-;18690:139;;18417:419;;;:::o;18842:250::-;18982:34;18978:1;18970:6;18966:14;18959:58;19051:33;19046:2;19038:6;19034:15;19027:58;18842:250;:::o;19098:366::-;19240:3;19261:67;19325:2;19320:3;19261:67;:::i;:::-;19254:74;;19337:93;19426:3;19337:93;:::i;:::-;19455:2;19450:3;19446:12;19439:19;;19098:366;;;:::o;19470:419::-;19636:4;19674:2;19663:9;19659:18;19651:26;;19723:9;19717:4;19713:20;19709:1;19698:9;19694:17;19687:47;19751:131;19877:4;19751:131;:::i;:::-;19743:139;;19470:419;;;:::o;19895:178::-;20035:30;20031:1;20023:6;20019:14;20012:54;19895:178;:::o;20079:366::-;20221:3;20242:67;20306:2;20301:3;20242:67;:::i;:::-;20235:74;;20318:93;20407:3;20318:93;:::i;:::-;20436:2;20431:3;20427:12;20420:19;;20079:366;;;:::o;20451:419::-;20617:4;20655:2;20644:9;20640:18;20632:26;;20704:9;20698:4;20694:20;20690:1;20679:9;20675:17;20668:47;20732:131;20858:4;20732:131;:::i;:::-;20724:139;;20451:419;;;:::o;20876:222::-;21016:34;21012:1;21004:6;21000:14;20993:58;21085:5;21080:2;21072:6;21068:15;21061:30;20876:222;:::o;21104:366::-;21246:3;21267:67;21331:2;21326:3;21267:67;:::i;:::-;21260:74;;21343:93;21432:3;21343:93;:::i;:::-;21461:2;21456:3;21452:12;21445:19;;21104:366;;;:::o;21476:419::-;21642:4;21680:2;21669:9;21665:18;21657:26;;21729:9;21723:4;21719:20;21715:1;21704:9;21700:17;21693:47;21757:131;21883:4;21757:131;:::i;:::-;21749:139;;21476:419;;;:::o;21901:191::-;21941:4;21961:20;21979:1;21961:20;:::i;:::-;21956:25;;21995:20;22013:1;21995:20;:::i;:::-;21990:25;;22034:1;22031;22028:8;22025:34;;;22039:18;;:::i;:::-;22025:34;22084:1;22081;22077:9;22069:17;;21901:191;;;;:::o;22098:229::-;22238:34;22234:1;22226:6;22222:14;22215:58;22307:12;22302:2;22294:6;22290:15;22283:37;22098:229;:::o;22333:366::-;22475:3;22496:67;22560:2;22555:3;22496:67;:::i;:::-;22489:74;;22572:93;22661:3;22572:93;:::i;:::-;22690:2;22685:3;22681:12;22674:19;;22333:366;;;:::o;22705:419::-;22871:4;22909:2;22898:9;22894:18;22886:26;;22958:9;22952:4;22948:20;22944:1;22933:9;22929:17;22922:47;22986:131;23112:4;22986:131;:::i;:::-;22978:139;;22705:419;;;:::o;23130:177::-;23270:29;23266:1;23258:6;23254:14;23247:53;23130:177;:::o;23313:366::-;23455:3;23476:67;23540:2;23535:3;23476:67;:::i;:::-;23469:74;;23552:93;23641:3;23552:93;:::i;:::-;23670:2;23665:3;23661:12;23654:19;;23313:366;;;:::o;23685:419::-;23851:4;23889:2;23878:9;23874:18;23866:26;;23938:9;23932:4;23928:20;23924:1;23913:9;23909:17;23902:47;23966:131;24092:4;23966:131;:::i;:::-;23958:139;;23685:419;;;:::o;24110:348::-;24150:7;24173:20;24191:1;24173:20;:::i;:::-;24168:25;;24207:20;24225:1;24207:20;:::i;:::-;24202:25;;24395:1;24327:66;24323:74;24320:1;24317:81;24312:1;24305:9;24298:17;24294:105;24291:131;;;24402:18;;:::i;:::-;24291:131;24450:1;24447;24443:9;24432:20;;24110:348;;;;:::o;24464:180::-;24512:77;24509:1;24502:88;24609:4;24606:1;24599:15;24633:4;24630:1;24623:15;24650:185;24690:1;24707:20;24725:1;24707:20;:::i;:::-;24702:25;;24741:20;24759:1;24741:20;:::i;:::-;24736:25;;24780:1;24770:35;;24785:18;;:::i;:::-;24770:35;24827:1;24824;24820:9;24815:14;;24650:185;;;;:::o;24841:220::-;24981:34;24977:1;24969:6;24965:14;24958:58;25050:3;25045:2;25037:6;25033:15;25026:28;24841:220;:::o;25067:366::-;25209:3;25230:67;25294:2;25289:3;25230:67;:::i;:::-;25223:74;;25306:93;25395:3;25306:93;:::i;:::-;25424:2;25419:3;25415:12;25408:19;;25067:366;;;:::o;25439:419::-;25605:4;25643:2;25632:9;25628:18;25620:26;;25692:9;25686:4;25682:20;25678:1;25667:9;25663:17;25656:47;25720:131;25846:4;25720:131;:::i;:::-;25712:139;;25439:419;;;:::o;25864:180::-;25912:77;25909:1;25902:88;26009:4;26006:1;25999:15;26033:4;26030:1;26023:15;26050:180;26098:77;26095:1;26088:88;26195:4;26192:1;26185:15;26219:4;26216:1;26209:15;26236:143;26293:5;26324:6;26318:13;26309:22;;26340:33;26367:5;26340:33;:::i;:::-;26236:143;;;;:::o;26385:351::-;26455:6;26504:2;26492:9;26483:7;26479:23;26475:32;26472:119;;;26510:79;;:::i;:::-;26472:119;26630:1;26655:64;26711:7;26702:6;26691:9;26687:22;26655:64;:::i;:::-;26645:74;;26601:128;26385:351;;;;:::o;26742:85::-;26787:7;26816:5;26805:16;;26742:85;;;:::o;26833:158::-;26891:9;26924:61;26942:42;26951:32;26977:5;26951:32;:::i;:::-;26942:42;:::i;:::-;26924:61;:::i;:::-;26911:74;;26833:158;;;:::o;26997:147::-;27092:45;27131:5;27092:45;:::i;:::-;27087:3;27080:58;26997:147;;:::o;27150:114::-;27217:6;27251:5;27245:12;27235:22;;27150:114;;;:::o;27270:184::-;27369:11;27403:6;27398:3;27391:19;27443:4;27438:3;27434:14;27419:29;;27270:184;;;;:::o;27460:132::-;27527:4;27550:3;27542:11;;27580:4;27575:3;27571:14;27563:22;;27460:132;;;:::o;27598:108::-;27675:24;27693:5;27675:24;:::i;:::-;27670:3;27663:37;27598:108;;:::o;27712:179::-;27781:10;27802:46;27844:3;27836:6;27802:46;:::i;:::-;27880:4;27875:3;27871:14;27857:28;;27712:179;;;;:::o;27897:113::-;27967:4;27999;27994:3;27990:14;27982:22;;27897:113;;;:::o;28046:732::-;28165:3;28194:54;28242:5;28194:54;:::i;:::-;28264:86;28343:6;28338:3;28264:86;:::i;:::-;28257:93;;28374:56;28424:5;28374:56;:::i;:::-;28453:7;28484:1;28469:284;28494:6;28491:1;28488:13;28469:284;;;28570:6;28564:13;28597:63;28656:3;28641:13;28597:63;:::i;:::-;28590:70;;28683:60;28736:6;28683:60;:::i;:::-;28673:70;;28529:224;28516:1;28513;28509:9;28504:14;;28469:284;;;28473:14;28769:3;28762:10;;28170:608;;;28046:732;;;;:::o;28784:831::-;29047:4;29085:3;29074:9;29070:19;29062:27;;29099:71;29167:1;29156:9;29152:17;29143:6;29099:71;:::i;:::-;29180:80;29256:2;29245:9;29241:18;29232:6;29180:80;:::i;:::-;29307:9;29301:4;29297:20;29292:2;29281:9;29277:18;29270:48;29335:108;29438:4;29429:6;29335:108;:::i;:::-;29327:116;;29453:72;29521:2;29510:9;29506:18;29497:6;29453:72;:::i;:::-;29535:73;29603:3;29592:9;29588:19;29579:6;29535:73;:::i;:::-;28784:831;;;;;;;;:::o;29621:807::-;29870:4;29908:3;29897:9;29893:19;29885:27;;29922:71;29990:1;29979:9;29975:17;29966:6;29922:71;:::i;:::-;30003:72;30071:2;30060:9;30056:18;30047:6;30003:72;:::i;:::-;30085:80;30161:2;30150:9;30146:18;30137:6;30085:80;:::i;:::-;30175;30251:2;30240:9;30236:18;30227:6;30175:80;:::i;:::-;30265:73;30333:3;30322:9;30318:19;30309:6;30265:73;:::i;:::-;30348;30416:3;30405:9;30401:19;30392:6;30348:73;:::i;:::-;29621:807;;;;;;;;;:::o;30434:143::-;30491:5;30522:6;30516:13;30507:22;;30538:33;30565:5;30538:33;:::i;:::-;30434:143;;;;:::o;30583:663::-;30671:6;30679;30687;30736:2;30724:9;30715:7;30711:23;30707:32;30704:119;;;30742:79;;:::i;:::-;30704:119;30862:1;30887:64;30943:7;30934:6;30923:9;30919:22;30887:64;:::i;:::-;30877:74;;30833:128;31000:2;31026:64;31082:7;31073:6;31062:9;31058:22;31026:64;:::i;:::-;31016:74;;30971:129;31139:2;31165:64;31221:7;31212:6;31201:9;31197:22;31165:64;:::i;:::-;31155:74;;31110:129;30583:663;;;;;:::o

Swarm Source

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