ETH Price: $2,467.93 (+1.09%)
 

Overview

Max Total Supply

100,000,000,000,000,000 $1

Holders

18

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: $1 7
Balance
0.007253488 $1

Value
$0.00
0xe616e7acebecb2b3100b3d28da6a065d14d6fbd1
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:
CONTRACT

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-18
*/

// SPDX-License-Identifier: MIT

/**

$1 - elon will be tweeting about us all day all week now that twitter will cost 1$ he will talk about it nonstop.

SEND 1$ to the MOON

*/


pragma solidity ^0.8.9;
 
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 CONTRACT is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private _name;
    string private _symbol;
    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 = 100000000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 public launchBlock;
 
    //Buy Fee
    uint256 private _redisFeeOnBuy = 0;//
    uint256 private _taxFeeOnBuy = 0;//
 
    //Sell Fee
    uint256 private _redisFeeOnSell = 0;//
    uint256 private _taxFeeOnSell = 0;//


 
    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
 
    mapping(address => bool) public bots;
    mapping(address => uint256) private cooldown;
 
    address payable private _devAddress;
    address payable private _marketingAddress;
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = 2000000000001000 * 10**9; //
    uint256 public _maxWalletSize = 2000000000001000 * 10**9; //
    uint256 public _swapTokensAtAmount = 100000 * 10**9; //
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor(
        string memory Name,
        string memory Symbol,
        address payable DevAddress,
        address payable MarketingAddress
    ) {
        _name = Name;
        _symbol = Symbol;
        _devAddress = DevAddress;
        _marketingAddress = MarketingAddress;

        _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[_devAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;
 
        bots[address(0xae2Fc483527B8EF99EB5D9B44875F005ba1FaE13)] = true;
 
 
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
 
    function name() public view returns (string memory) {
        return _name;
    }
 
    function symbol() public view 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");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
 
            if(block.number <= launchBlock && from == uniswapV2Pair && to != address(uniswapV2Router) && to != address(this)){   
                bots[to] = true;
            } 
 
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 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 = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }
 
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
 
    function sendETHToFee(uint256 amount) private {
        _devAddress.transfer(amount.div(2));
        _marketingAddress.transfer(amount.div(2));
    }
 
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
        launchBlock = block.number;
    }
 
    function manualswap() external {
        require(_msgSender() == _devAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
 
    function manualsend() external {
        require(_msgSender() == _devAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
 
    function lockTokens(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
 
    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
 
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
 
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
 
    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }
 
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
 
    receive() external payable {}
 
    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
 
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
 
    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
 
        return (tTransferAmount, tFee, tTeam);
    }
 
    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
 
        return (rAmount, rTransferAmount, rFee);
    }
 
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
 
        return rSupply.div(tSupply);
    }
 
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
 
        return (rSupply, tSupply);
    }
 
    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
 
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }
 
    //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;
    }
 
 
    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }
 
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
 
    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"Name","type":"string"},{"internalType":"string","name":"Symbol","type":"string"},{"internalType":"address payable","name":"DevAddress","type":"address"},{"internalType":"address payable","name":"MarketingAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"lockTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"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":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526a52b7d2dcc80cd2e40000006000196200001f9190620007ae565b6000196200002e919062000815565b6008556000600b556000600c556000600d556000600e55600d54600f55600e54601055600f546011556010546012556000601860156101000a81548160ff0219169083151502179055506001601860166101000a81548160ff0219169083151502179055506a01a784379d9ac416a510006019556a01a784379d9ac416a51000601a55655af3107a4000601b55348015620000c857600080fd5b5060405162004f7038038062004f708339818101604052810190620000ee919062000a48565b6000620001006200074460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508360029081620001af919062000d39565b508260039081620001c1919062000d39565b5081601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600854600460006200025b6200074460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200033f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000365919062000e65565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f3919062000e65565b6040518363ffffffff1660e01b81526004016200041292919062000ea8565b6020604051808303816000875af115801562000432573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000458919062000e65565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000620004ae6200074c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016013600073ae2fc483527b8ef99eb5d9b44875f005ba1fae1373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006c76200074460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a52b7d2dcc80cd2e400000060405162000731919062000ee6565b60405180910390a3505050505062000f03565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007bb8262000775565b9150620007c88362000775565b925082620007db57620007da6200077f565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620008228262000775565b91506200082f8362000775565b92508282039050818111156200084a5762000849620007e6565b5b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620008b9826200086e565b810181811067ffffffffffffffff82111715620008db57620008da6200087f565b5b80604052505050565b6000620008f062000850565b9050620008fe8282620008ae565b919050565b600067ffffffffffffffff8211156200092157620009206200087f565b5b6200092c826200086e565b9050602081019050919050565b60005b83811015620009595780820151818401526020810190506200093c565b60008484015250505050565b60006200097c620009768462000903565b620008e4565b9050828152602081018484840111156200099b576200099a62000869565b5b620009a884828562000939565b509392505050565b600082601f830112620009c857620009c762000864565b5b8151620009da84826020860162000965565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a1082620009e3565b9050919050565b62000a228162000a03565b811462000a2e57600080fd5b50565b60008151905062000a428162000a17565b92915050565b6000806000806080858703121562000a655762000a646200085a565b5b600085015167ffffffffffffffff81111562000a865762000a856200085f565b5b62000a9487828801620009b0565b945050602085015167ffffffffffffffff81111562000ab85762000ab76200085f565b5b62000ac687828801620009b0565b935050604062000ad98782880162000a31565b925050606062000aec8782880162000a31565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b4b57607f821691505b60208210810362000b615762000b6062000b03565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000bcb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b8c565b62000bd7868362000b8c565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000c1a62000c1462000c0e8462000775565b62000bef565b62000775565b9050919050565b6000819050919050565b62000c368362000bf9565b62000c4e62000c458262000c21565b84845462000b99565b825550505050565b600090565b62000c6562000c56565b62000c7281848462000c2b565b505050565b5b8181101562000c9a5762000c8e60008262000c5b565b60018101905062000c78565b5050565b601f82111562000ce95762000cb38162000b67565b62000cbe8462000b7c565b8101602085101562000cce578190505b62000ce662000cdd8562000b7c565b83018262000c77565b50505b505050565b600082821c905092915050565b600062000d0e6000198460080262000cee565b1980831691505092915050565b600062000d29838362000cfb565b9150826002028217905092915050565b62000d448262000af8565b67ffffffffffffffff81111562000d605762000d5f6200087f565b5b62000d6c825462000b32565b62000d7982828562000c9e565b600060209050601f83116001811462000db1576000841562000d9c578287015190505b62000da8858262000d1b565b86555062000e18565b601f19841662000dc18662000b67565b60005b8281101562000deb5784890151825560018201915060208501945060208101905062000dc4565b8683101562000e0b578489015162000e07601f89168262000cfb565b8355505b6001600288020188555050505b505050505050565b600062000e2d82620009e3565b9050919050565b62000e3f8162000e20565b811462000e4b57600080fd5b50565b60008151905062000e5f8162000e34565b92915050565b60006020828403121562000e7e5762000e7d6200085a565b5b600062000e8e8482850162000e4e565b91505092915050565b62000ea28162000e20565b82525050565b600060408201905062000ebf600083018562000e97565b62000ece602083018462000e97565b9392505050565b62000ee08162000775565b82525050565b600060208201905062000efd600083018462000ed5565b92915050565b61405d8062000f136000396000f3fe6080604052600436106101d15760003560e01c80638da5cb5b116100f7578063bfd7928411610095578063d911933011610064578063d91193301461064b578063dd62ed3e14610674578063ea1644d5146106b1578063f2fde38b146106da576101d8565b8063bfd79284146105a3578063c3c8cd80146105e0578063c492f046146105f7578063d00efb2f14610620576101d8565b806395d89b41116100d157806395d89b41146104e957806398a5c31514610514578063a2a957bb1461053d578063a9059cbb14610566576101d8565b80638da5cb5b1461046a5780638f70ccf7146104955780638f9a55c0146104be576101d8565b806349bd5a5e1161016f57806370a082311161013e57806370a08231146103c2578063715018a6146103ff57806374010ece146104165780637d1db4a51461043f576101d8565b806349bd5a5e1461032e5780636b999053146103595780636d8aa8f8146103825780636fc3eaec146103ab576101d8565b806318160ddd116101ab57806318160ddd1461027057806323b872dd1461029b5780632fd689e3146102d8578063313ce56714610303576101d8565b806306fdde03146101dd578063095ea7b3146102085780631694505e14610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610703565b6040516101ff9190612e92565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190612f5c565b610795565b60405161023c9190612fb7565b60405180910390f35b34801561025157600080fd5b5061025a6107b3565b6040516102679190613031565b60405180910390f35b34801561027c57600080fd5b506102856107d9565b604051610292919061305b565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190613076565b6107ec565b6040516102cf9190612fb7565b60405180910390f35b3480156102e457600080fd5b506102ed6108c5565b6040516102fa919061305b565b60405180910390f35b34801561030f57600080fd5b506103186108cb565b60405161032591906130e5565b60405180910390f35b34801561033a57600080fd5b506103436108d4565b604051610350919061310f565b60405180910390f35b34801561036557600080fd5b50610380600480360381019061037b919061312a565b6108fa565b005b34801561038e57600080fd5b506103a960048036038101906103a49190613183565b6109ea565b005b3480156103b757600080fd5b506103c0610a9c565b005b3480156103ce57600080fd5b506103e960048036038101906103e4919061312a565b610b6d565b6040516103f6919061305b565b60405180910390f35b34801561040b57600080fd5b50610414610bbe565b005b34801561042257600080fd5b5061043d600480360381019061043891906131b0565b610d11565b005b34801561044b57600080fd5b50610454610db0565b604051610461919061305b565b60405180910390f35b34801561047657600080fd5b5061047f610db6565b60405161048c919061310f565b60405180910390f35b3480156104a157600080fd5b506104bc60048036038101906104b79190613183565b610ddf565b005b3480156104ca57600080fd5b506104d3610e98565b6040516104e0919061305b565b60405180910390f35b3480156104f557600080fd5b506104fe610e9e565b60405161050b9190612e92565b60405180910390f35b34801561052057600080fd5b5061053b600480360381019061053691906131b0565b610f30565b005b34801561054957600080fd5b50610564600480360381019061055f91906131dd565b610fcf565b005b34801561057257600080fd5b5061058d60048036038101906105889190612f5c565b611086565b60405161059a9190612fb7565b60405180910390f35b3480156105af57600080fd5b506105ca60048036038101906105c5919061312a565b6110a4565b6040516105d79190612fb7565b60405180910390f35b3480156105ec57600080fd5b506105f56110c4565b005b34801561060357600080fd5b5061061e600480360381019061061991906132a9565b61119d565b005b34801561062c57600080fd5b506106356112d7565b604051610642919061305b565b60405180910390f35b34801561065757600080fd5b50610672600480360381019061066d9190613447565b6112dd565b005b34801561068057600080fd5b5061069b60048036038101906106969190613490565b611407565b6040516106a8919061305b565b60405180910390f35b3480156106bd57600080fd5b506106d860048036038101906106d391906131b0565b61148e565b005b3480156106e657600080fd5b5061070160048036038101906106fc919061312a565b61152d565b005b606060028054610712906134ff565b80601f016020809104026020016040519081016040528092919081815260200182805461073e906134ff565b801561078b5780601f106107605761010080835404028352916020019161078b565b820191906000526020600020905b81548152906001019060200180831161076e57829003601f168201915b5050505050905090565b60006107a96107a26116ee565b84846116f6565b6001905092915050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006a52b7d2dcc80cd2e4000000905090565b60006107f98484846118bf565b6108ba846108056116ee565b6108b58560405180606001604052806028815260200161400060289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061086b6116ee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122939092919063ffffffff16565b6116f6565b600190509392505050565b601b5481565b60006009905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109026116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461098f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109869061357c565b60405180910390fd5b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6109f26116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a769061357c565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610add6116ee565b73ffffffffffffffffffffffffffffffffffffffff161480610b535750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b3b6116ee565b73ffffffffffffffffffffffffffffffffffffffff16145b610b5c57600080fd5b6000479050610b6a816122f7565b50565b6000610bb7600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f2565b9050919050565b610bc66116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a9061357c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d196116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d9061357c565b60405180910390fd5b8060198190555050565b60195481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610de76116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6b9061357c565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555043600a8190555050565b601a5481565b606060038054610ead906134ff565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed9906134ff565b8015610f265780601f10610efb57610100808354040283529160200191610f26565b820191906000526020600020905b815481529060010190602001808311610f0957829003601f168201915b5050505050905090565b610f386116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbc9061357c565b60405180910390fd5b80601b8190555050565b610fd76116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611064576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105b9061357c565b60405180910390fd5b83600b8190555082600d8190555081600c8190555080600e8190555050505050565b600061109a6110936116ee565b84846118bf565b6001905092915050565b60136020528060005260406000206000915054906101000a900460ff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111056116ee565b73ffffffffffffffffffffffffffffffffffffffff16148061117b5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111636116ee565b73ffffffffffffffffffffffffffffffffffffffff16145b61118457600080fd5b600061118f30610b6d565b905061119a81612460565b50565b6111a56116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611232576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112299061357c565b60405180910390fd5b60005b838390508110156112d15781600760008686858181106112585761125761359c565b5b905060200201602081019061126d919061312a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806112c9906135fa565b915050611235565b50505050565b600a5481565b6112e56116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611372576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113699061357c565b60405180910390fd5b60005b8151811015611403576001601360008484815181106113975761139661359c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806113fb906135fa565b915050611375565b5050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114966116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611523576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151a9061357c565b60405180910390fd5b80601a8190555050565b6115356116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b99061357c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611631576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611628906136b4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611765576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175c90613746565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cb906137d8565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118b2919061305b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361192e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119259061386a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361199d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611994906138fc565b60405180910390fd5b600081116119e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d79061398e565b60405180910390fd5b6119e8610db6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a565750611a26610db6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611f9257601860149054906101000a900460ff16611ae557611a77610db6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adb90613a20565b60405180910390fd5b5b601954811115611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2190613a8c565b60405180910390fd5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611bce5750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0490613b1e565b60405180910390fd5b600a544311158015611c6c5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8015611cc65750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611cfe57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611d5c576001601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e0957601a5481611dbe84610b6d565b611dc89190613b3e565b10611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff90613be4565b60405180910390fd5b5b6000611e1430610b6d565b90506000601b5482101590506019548210611e2f5760195491505b808015611e495750601860159054906101000a900460ff16155b8015611ea35750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611ebb5750601860169054906101000a900460ff165b8015611f115750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f675750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f8f57611f7582612460565b60004790506000811115611f8d57611f8c476122f7565b5b505b50505b600060019050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120395750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806120ec5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156120eb5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156120fa5760009050612281565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156121a55750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156121bd57600b54600f81905550600c546010819055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156122685750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561228057600d54600f81905550600e546010819055505b5b61228d848484846126d9565b50505050565b60008383111582906122db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d29190612e92565b60405180910390fd5b50600083856122ea9190613c04565b9050809150509392505050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61234760028461270690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612372573d6000803e3d6000fd5b50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6123c360028461270690919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156123ee573d6000803e3d6000fd5b5050565b6000600854821115612439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243090613caa565b60405180910390fd5b6000612443612750565b9050612458818461270690919063ffffffff16565b915050919050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561249857612497613309565b5b6040519080825280602002602001820160405280156124c65781602001602082028036833780820191505090505b50905030816000815181106124de576124dd61359c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612585573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a99190613cdf565b816001815181106125bd576125bc61359c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061262430601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116f6565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612688959493929190613e05565b600060405180830381600087803b1580156126a257600080fd5b505af11580156126b6573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b806126e7576126e661277b565b5b6126f28484846127b8565b80612700576126ff612983565b5b50505050565b600061274883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612997565b905092915050565b600080600061275d6129fa565b91509150612774818361270690919063ffffffff16565b9250505090565b6000600f5414801561278f57506000601054145b6127b657600f546011819055506010546012819055506000600f8190555060006010819055505b565b6000806000806000806127ca87612a62565b95509550955095509550955061282886600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612aca90919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128bd85600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1490919063ffffffff16565b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061290981612b72565b6129138483612c2f565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612970919061305b565b60405180910390a3505050505050505050565b601154600f81905550601254601081905550565b600080831182906129de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129d59190612e92565b60405180910390fd5b50600083856129ed9190613e8e565b9050809150509392505050565b6000806000600854905060006a52b7d2dcc80cd2e40000009050612a346a52b7d2dcc80cd2e400000060085461270690919063ffffffff16565b821015612a55576008546a52b7d2dcc80cd2e4000000935093505050612a5e565b81819350935050505b9091565b6000806000806000806000806000612a7f8a600f54601054612c69565b9250925092506000612a8f612750565b90506000806000612aa28e878787612cff565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612b0c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612293565b905092915050565b6000808284612b239190613b3e565b905083811015612b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5f90613f0b565b60405180910390fd5b8091505092915050565b6000612b7c612750565b90506000612b938284612d8890919063ffffffff16565b9050612be781600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1490919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612c4482600854612aca90919063ffffffff16565b600881905550612c5f81600954612b1490919063ffffffff16565b6009819055505050565b600080600080612c956064612c87888a612d8890919063ffffffff16565b61270690919063ffffffff16565b90506000612cbf6064612cb1888b612d8890919063ffffffff16565b61270690919063ffffffff16565b90506000612ce882612cda858c612aca90919063ffffffff16565b612aca90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612d188589612d8890919063ffffffff16565b90506000612d2f8689612d8890919063ffffffff16565b90506000612d468789612d8890919063ffffffff16565b90506000612d6f82612d618587612aca90919063ffffffff16565b612aca90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612d9a5760009050612dfc565b60008284612da89190613f2b565b9050828482612db79190613e8e565b14612df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dee90613fdf565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612e3c578082015181840152602081019050612e21565b60008484015250505050565b6000601f19601f8301169050919050565b6000612e6482612e02565b612e6e8185612e0d565b9350612e7e818560208601612e1e565b612e8781612e48565b840191505092915050565b60006020820190508181036000830152612eac8184612e59565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ef382612ec8565b9050919050565b612f0381612ee8565b8114612f0e57600080fd5b50565b600081359050612f2081612efa565b92915050565b6000819050919050565b612f3981612f26565b8114612f4457600080fd5b50565b600081359050612f5681612f30565b92915050565b60008060408385031215612f7357612f72612ebe565b5b6000612f8185828601612f11565b9250506020612f9285828601612f47565b9150509250929050565b60008115159050919050565b612fb181612f9c565b82525050565b6000602082019050612fcc6000830184612fa8565b92915050565b6000819050919050565b6000612ff7612ff2612fed84612ec8565b612fd2565b612ec8565b9050919050565b600061300982612fdc565b9050919050565b600061301b82612ffe565b9050919050565b61302b81613010565b82525050565b60006020820190506130466000830184613022565b92915050565b61305581612f26565b82525050565b6000602082019050613070600083018461304c565b92915050565b60008060006060848603121561308f5761308e612ebe565b5b600061309d86828701612f11565b93505060206130ae86828701612f11565b92505060406130bf86828701612f47565b9150509250925092565b600060ff82169050919050565b6130df816130c9565b82525050565b60006020820190506130fa60008301846130d6565b92915050565b61310981612ee8565b82525050565b60006020820190506131246000830184613100565b92915050565b6000602082840312156131405761313f612ebe565b5b600061314e84828501612f11565b91505092915050565b61316081612f9c565b811461316b57600080fd5b50565b60008135905061317d81613157565b92915050565b60006020828403121561319957613198612ebe565b5b60006131a78482850161316e565b91505092915050565b6000602082840312156131c6576131c5612ebe565b5b60006131d484828501612f47565b91505092915050565b600080600080608085870312156131f7576131f6612ebe565b5b600061320587828801612f47565b945050602061321687828801612f47565b935050604061322787828801612f47565b925050606061323887828801612f47565b91505092959194509250565b600080fd5b600080fd5b600080fd5b60008083601f84011261326957613268613244565b5b8235905067ffffffffffffffff81111561328657613285613249565b5b6020830191508360208202830111156132a2576132a161324e565b5b9250929050565b6000806000604084860312156132c2576132c1612ebe565b5b600084013567ffffffffffffffff8111156132e0576132df612ec3565b5b6132ec86828701613253565b935093505060206132ff8682870161316e565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61334182612e48565b810181811067ffffffffffffffff821117156133605761335f613309565b5b80604052505050565b6000613373612eb4565b905061337f8282613338565b919050565b600067ffffffffffffffff82111561339f5761339e613309565b5b602082029050602081019050919050565b60006133c36133be84613384565b613369565b905080838252602082019050602084028301858111156133e6576133e561324e565b5b835b8181101561340f57806133fb8882612f11565b8452602084019350506020810190506133e8565b5050509392505050565b600082601f83011261342e5761342d613244565b5b813561343e8482602086016133b0565b91505092915050565b60006020828403121561345d5761345c612ebe565b5b600082013567ffffffffffffffff81111561347b5761347a612ec3565b5b61348784828501613419565b91505092915050565b600080604083850312156134a7576134a6612ebe565b5b60006134b585828601612f11565b92505060206134c685828601612f11565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061351757607f821691505b60208210810361352a576135296134d0565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613566602083612e0d565b915061357182613530565b602082019050919050565b6000602082019050818103600083015261359581613559565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061360582612f26565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613637576136366135cb565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061369e602683612e0d565b91506136a982613642565b604082019050919050565b600060208201905081810360008301526136cd81613691565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613730602483612e0d565b915061373b826136d4565b604082019050919050565b6000602082019050818103600083015261375f81613723565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006137c2602283612e0d565b91506137cd82613766565b604082019050919050565b600060208201905081810360008301526137f1816137b5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613854602583612e0d565b915061385f826137f8565b604082019050919050565b6000602082019050818103600083015261388381613847565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006138e6602383612e0d565b91506138f18261388a565b604082019050919050565b60006020820190508181036000830152613915816138d9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613978602983612e0d565b91506139838261391c565b604082019050919050565b600060208201905081810360008301526139a78161396b565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613a0a603f83612e0d565b9150613a15826139ae565b604082019050919050565b60006020820190508181036000830152613a39816139fd565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613a76601c83612e0d565b9150613a8182613a40565b602082019050919050565b60006020820190508181036000830152613aa581613a69565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613b08602383612e0d565b9150613b1382613aac565b604082019050919050565b60006020820190508181036000830152613b3781613afb565b9050919050565b6000613b4982612f26565b9150613b5483612f26565b9250828201905080821115613b6c57613b6b6135cb565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613bce602383612e0d565b9150613bd982613b72565b604082019050919050565b60006020820190508181036000830152613bfd81613bc1565b9050919050565b6000613c0f82612f26565b9150613c1a83612f26565b9250828203905081811115613c3257613c316135cb565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613c94602a83612e0d565b9150613c9f82613c38565b604082019050919050565b60006020820190508181036000830152613cc381613c87565b9050919050565b600081519050613cd981612efa565b92915050565b600060208284031215613cf557613cf4612ebe565b5b6000613d0384828501613cca565b91505092915050565b6000819050919050565b6000613d31613d2c613d2784613d0c565b612fd2565b612f26565b9050919050565b613d4181613d16565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613d7c81612ee8565b82525050565b6000613d8e8383613d73565b60208301905092915050565b6000602082019050919050565b6000613db282613d47565b613dbc8185613d52565b9350613dc783613d63565b8060005b83811015613df8578151613ddf8882613d82565b9750613dea83613d9a565b925050600181019050613dcb565b5085935050505092915050565b600060a082019050613e1a600083018861304c565b613e276020830187613d38565b8181036040830152613e398186613da7565b9050613e486060830185613100565b613e55608083018461304c565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613e9982612f26565b9150613ea483612f26565b925082613eb457613eb3613e5f565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613ef5601b83612e0d565b9150613f0082613ebf565b602082019050919050565b60006020820190508181036000830152613f2481613ee8565b9050919050565b6000613f3682612f26565b9150613f4183612f26565b9250828202613f4f81612f26565b91508282048414831517613f6657613f656135cb565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613fc9602183612e0d565b9150613fd482613f6d565b604082019050919050565b60006020820190508181036000830152613ff881613fbc565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220201aa35d9e486499faac1932f2e4b56b9f2045e09383c2f9a176cc3068aee0e464736f6c63430008120033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000fad6daf2a0808a0d65e292afa7c9d9f7855cb717000000000000000000000000fad6daf2a0808a0d65e292afa7c9d9f7855cb7170000000000000000000000000000000000000000000000000000000000000002243100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022431000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80638da5cb5b116100f7578063bfd7928411610095578063d911933011610064578063d91193301461064b578063dd62ed3e14610674578063ea1644d5146106b1578063f2fde38b146106da576101d8565b8063bfd79284146105a3578063c3c8cd80146105e0578063c492f046146105f7578063d00efb2f14610620576101d8565b806395d89b41116100d157806395d89b41146104e957806398a5c31514610514578063a2a957bb1461053d578063a9059cbb14610566576101d8565b80638da5cb5b1461046a5780638f70ccf7146104955780638f9a55c0146104be576101d8565b806349bd5a5e1161016f57806370a082311161013e57806370a08231146103c2578063715018a6146103ff57806374010ece146104165780637d1db4a51461043f576101d8565b806349bd5a5e1461032e5780636b999053146103595780636d8aa8f8146103825780636fc3eaec146103ab576101d8565b806318160ddd116101ab57806318160ddd1461027057806323b872dd1461029b5780632fd689e3146102d8578063313ce56714610303576101d8565b806306fdde03146101dd578063095ea7b3146102085780631694505e14610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610703565b6040516101ff9190612e92565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190612f5c565b610795565b60405161023c9190612fb7565b60405180910390f35b34801561025157600080fd5b5061025a6107b3565b6040516102679190613031565b60405180910390f35b34801561027c57600080fd5b506102856107d9565b604051610292919061305b565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190613076565b6107ec565b6040516102cf9190612fb7565b60405180910390f35b3480156102e457600080fd5b506102ed6108c5565b6040516102fa919061305b565b60405180910390f35b34801561030f57600080fd5b506103186108cb565b60405161032591906130e5565b60405180910390f35b34801561033a57600080fd5b506103436108d4565b604051610350919061310f565b60405180910390f35b34801561036557600080fd5b50610380600480360381019061037b919061312a565b6108fa565b005b34801561038e57600080fd5b506103a960048036038101906103a49190613183565b6109ea565b005b3480156103b757600080fd5b506103c0610a9c565b005b3480156103ce57600080fd5b506103e960048036038101906103e4919061312a565b610b6d565b6040516103f6919061305b565b60405180910390f35b34801561040b57600080fd5b50610414610bbe565b005b34801561042257600080fd5b5061043d600480360381019061043891906131b0565b610d11565b005b34801561044b57600080fd5b50610454610db0565b604051610461919061305b565b60405180910390f35b34801561047657600080fd5b5061047f610db6565b60405161048c919061310f565b60405180910390f35b3480156104a157600080fd5b506104bc60048036038101906104b79190613183565b610ddf565b005b3480156104ca57600080fd5b506104d3610e98565b6040516104e0919061305b565b60405180910390f35b3480156104f557600080fd5b506104fe610e9e565b60405161050b9190612e92565b60405180910390f35b34801561052057600080fd5b5061053b600480360381019061053691906131b0565b610f30565b005b34801561054957600080fd5b50610564600480360381019061055f91906131dd565b610fcf565b005b34801561057257600080fd5b5061058d60048036038101906105889190612f5c565b611086565b60405161059a9190612fb7565b60405180910390f35b3480156105af57600080fd5b506105ca60048036038101906105c5919061312a565b6110a4565b6040516105d79190612fb7565b60405180910390f35b3480156105ec57600080fd5b506105f56110c4565b005b34801561060357600080fd5b5061061e600480360381019061061991906132a9565b61119d565b005b34801561062c57600080fd5b506106356112d7565b604051610642919061305b565b60405180910390f35b34801561065757600080fd5b50610672600480360381019061066d9190613447565b6112dd565b005b34801561068057600080fd5b5061069b60048036038101906106969190613490565b611407565b6040516106a8919061305b565b60405180910390f35b3480156106bd57600080fd5b506106d860048036038101906106d391906131b0565b61148e565b005b3480156106e657600080fd5b5061070160048036038101906106fc919061312a565b61152d565b005b606060028054610712906134ff565b80601f016020809104026020016040519081016040528092919081815260200182805461073e906134ff565b801561078b5780601f106107605761010080835404028352916020019161078b565b820191906000526020600020905b81548152906001019060200180831161076e57829003601f168201915b5050505050905090565b60006107a96107a26116ee565b84846116f6565b6001905092915050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006a52b7d2dcc80cd2e4000000905090565b60006107f98484846118bf565b6108ba846108056116ee565b6108b58560405180606001604052806028815260200161400060289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061086b6116ee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122939092919063ffffffff16565b6116f6565b600190509392505050565b601b5481565b60006009905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109026116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461098f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109869061357c565b60405180910390fd5b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6109f26116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a769061357c565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610add6116ee565b73ffffffffffffffffffffffffffffffffffffffff161480610b535750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b3b6116ee565b73ffffffffffffffffffffffffffffffffffffffff16145b610b5c57600080fd5b6000479050610b6a816122f7565b50565b6000610bb7600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f2565b9050919050565b610bc66116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a9061357c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d196116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d9061357c565b60405180910390fd5b8060198190555050565b60195481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610de76116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6b9061357c565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555043600a8190555050565b601a5481565b606060038054610ead906134ff565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed9906134ff565b8015610f265780601f10610efb57610100808354040283529160200191610f26565b820191906000526020600020905b815481529060010190602001808311610f0957829003601f168201915b5050505050905090565b610f386116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbc9061357c565b60405180910390fd5b80601b8190555050565b610fd76116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611064576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105b9061357c565b60405180910390fd5b83600b8190555082600d8190555081600c8190555080600e8190555050505050565b600061109a6110936116ee565b84846118bf565b6001905092915050565b60136020528060005260406000206000915054906101000a900460ff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111056116ee565b73ffffffffffffffffffffffffffffffffffffffff16148061117b5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111636116ee565b73ffffffffffffffffffffffffffffffffffffffff16145b61118457600080fd5b600061118f30610b6d565b905061119a81612460565b50565b6111a56116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611232576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112299061357c565b60405180910390fd5b60005b838390508110156112d15781600760008686858181106112585761125761359c565b5b905060200201602081019061126d919061312a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806112c9906135fa565b915050611235565b50505050565b600a5481565b6112e56116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611372576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113699061357c565b60405180910390fd5b60005b8151811015611403576001601360008484815181106113975761139661359c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806113fb906135fa565b915050611375565b5050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114966116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611523576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151a9061357c565b60405180910390fd5b80601a8190555050565b6115356116ee565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b99061357c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611631576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611628906136b4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611765576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175c90613746565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cb906137d8565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118b2919061305b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361192e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119259061386a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361199d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611994906138fc565b60405180910390fd5b600081116119e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d79061398e565b60405180910390fd5b6119e8610db6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a565750611a26610db6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611f9257601860149054906101000a900460ff16611ae557611a77610db6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adb90613a20565b60405180910390fd5b5b601954811115611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2190613a8c565b60405180910390fd5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611bce5750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0490613b1e565b60405180910390fd5b600a544311158015611c6c5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8015611cc65750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611cfe57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611d5c576001601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e0957601a5481611dbe84610b6d565b611dc89190613b3e565b10611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff90613be4565b60405180910390fd5b5b6000611e1430610b6d565b90506000601b5482101590506019548210611e2f5760195491505b808015611e495750601860159054906101000a900460ff16155b8015611ea35750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611ebb5750601860169054906101000a900460ff165b8015611f115750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f675750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f8f57611f7582612460565b60004790506000811115611f8d57611f8c476122f7565b5b505b50505b600060019050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120395750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806120ec5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156120eb5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156120fa5760009050612281565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156121a55750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156121bd57600b54600f81905550600c546010819055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156122685750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561228057600d54600f81905550600e546010819055505b5b61228d848484846126d9565b50505050565b60008383111582906122db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d29190612e92565b60405180910390fd5b50600083856122ea9190613c04565b9050809150509392505050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61234760028461270690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612372573d6000803e3d6000fd5b50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6123c360028461270690919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156123ee573d6000803e3d6000fd5b5050565b6000600854821115612439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243090613caa565b60405180910390fd5b6000612443612750565b9050612458818461270690919063ffffffff16565b915050919050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561249857612497613309565b5b6040519080825280602002602001820160405280156124c65781602001602082028036833780820191505090505b50905030816000815181106124de576124dd61359c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612585573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a99190613cdf565b816001815181106125bd576125bc61359c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061262430601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116f6565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612688959493929190613e05565b600060405180830381600087803b1580156126a257600080fd5b505af11580156126b6573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b806126e7576126e661277b565b5b6126f28484846127b8565b80612700576126ff612983565b5b50505050565b600061274883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612997565b905092915050565b600080600061275d6129fa565b91509150612774818361270690919063ffffffff16565b9250505090565b6000600f5414801561278f57506000601054145b6127b657600f546011819055506010546012819055506000600f8190555060006010819055505b565b6000806000806000806127ca87612a62565b95509550955095509550955061282886600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612aca90919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128bd85600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1490919063ffffffff16565b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061290981612b72565b6129138483612c2f565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612970919061305b565b60405180910390a3505050505050505050565b601154600f81905550601254601081905550565b600080831182906129de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129d59190612e92565b60405180910390fd5b50600083856129ed9190613e8e565b9050809150509392505050565b6000806000600854905060006a52b7d2dcc80cd2e40000009050612a346a52b7d2dcc80cd2e400000060085461270690919063ffffffff16565b821015612a55576008546a52b7d2dcc80cd2e4000000935093505050612a5e565b81819350935050505b9091565b6000806000806000806000806000612a7f8a600f54601054612c69565b9250925092506000612a8f612750565b90506000806000612aa28e878787612cff565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612b0c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612293565b905092915050565b6000808284612b239190613b3e565b905083811015612b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5f90613f0b565b60405180910390fd5b8091505092915050565b6000612b7c612750565b90506000612b938284612d8890919063ffffffff16565b9050612be781600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1490919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612c4482600854612aca90919063ffffffff16565b600881905550612c5f81600954612b1490919063ffffffff16565b6009819055505050565b600080600080612c956064612c87888a612d8890919063ffffffff16565b61270690919063ffffffff16565b90506000612cbf6064612cb1888b612d8890919063ffffffff16565b61270690919063ffffffff16565b90506000612ce882612cda858c612aca90919063ffffffff16565b612aca90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612d188589612d8890919063ffffffff16565b90506000612d2f8689612d8890919063ffffffff16565b90506000612d468789612d8890919063ffffffff16565b90506000612d6f82612d618587612aca90919063ffffffff16565b612aca90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612d9a5760009050612dfc565b60008284612da89190613f2b565b9050828482612db79190613e8e565b14612df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dee90613fdf565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612e3c578082015181840152602081019050612e21565b60008484015250505050565b6000601f19601f8301169050919050565b6000612e6482612e02565b612e6e8185612e0d565b9350612e7e818560208601612e1e565b612e8781612e48565b840191505092915050565b60006020820190508181036000830152612eac8184612e59565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ef382612ec8565b9050919050565b612f0381612ee8565b8114612f0e57600080fd5b50565b600081359050612f2081612efa565b92915050565b6000819050919050565b612f3981612f26565b8114612f4457600080fd5b50565b600081359050612f5681612f30565b92915050565b60008060408385031215612f7357612f72612ebe565b5b6000612f8185828601612f11565b9250506020612f9285828601612f47565b9150509250929050565b60008115159050919050565b612fb181612f9c565b82525050565b6000602082019050612fcc6000830184612fa8565b92915050565b6000819050919050565b6000612ff7612ff2612fed84612ec8565b612fd2565b612ec8565b9050919050565b600061300982612fdc565b9050919050565b600061301b82612ffe565b9050919050565b61302b81613010565b82525050565b60006020820190506130466000830184613022565b92915050565b61305581612f26565b82525050565b6000602082019050613070600083018461304c565b92915050565b60008060006060848603121561308f5761308e612ebe565b5b600061309d86828701612f11565b93505060206130ae86828701612f11565b92505060406130bf86828701612f47565b9150509250925092565b600060ff82169050919050565b6130df816130c9565b82525050565b60006020820190506130fa60008301846130d6565b92915050565b61310981612ee8565b82525050565b60006020820190506131246000830184613100565b92915050565b6000602082840312156131405761313f612ebe565b5b600061314e84828501612f11565b91505092915050565b61316081612f9c565b811461316b57600080fd5b50565b60008135905061317d81613157565b92915050565b60006020828403121561319957613198612ebe565b5b60006131a78482850161316e565b91505092915050565b6000602082840312156131c6576131c5612ebe565b5b60006131d484828501612f47565b91505092915050565b600080600080608085870312156131f7576131f6612ebe565b5b600061320587828801612f47565b945050602061321687828801612f47565b935050604061322787828801612f47565b925050606061323887828801612f47565b91505092959194509250565b600080fd5b600080fd5b600080fd5b60008083601f84011261326957613268613244565b5b8235905067ffffffffffffffff81111561328657613285613249565b5b6020830191508360208202830111156132a2576132a161324e565b5b9250929050565b6000806000604084860312156132c2576132c1612ebe565b5b600084013567ffffffffffffffff8111156132e0576132df612ec3565b5b6132ec86828701613253565b935093505060206132ff8682870161316e565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61334182612e48565b810181811067ffffffffffffffff821117156133605761335f613309565b5b80604052505050565b6000613373612eb4565b905061337f8282613338565b919050565b600067ffffffffffffffff82111561339f5761339e613309565b5b602082029050602081019050919050565b60006133c36133be84613384565b613369565b905080838252602082019050602084028301858111156133e6576133e561324e565b5b835b8181101561340f57806133fb8882612f11565b8452602084019350506020810190506133e8565b5050509392505050565b600082601f83011261342e5761342d613244565b5b813561343e8482602086016133b0565b91505092915050565b60006020828403121561345d5761345c612ebe565b5b600082013567ffffffffffffffff81111561347b5761347a612ec3565b5b61348784828501613419565b91505092915050565b600080604083850312156134a7576134a6612ebe565b5b60006134b585828601612f11565b92505060206134c685828601612f11565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061351757607f821691505b60208210810361352a576135296134d0565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613566602083612e0d565b915061357182613530565b602082019050919050565b6000602082019050818103600083015261359581613559565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061360582612f26565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613637576136366135cb565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061369e602683612e0d565b91506136a982613642565b604082019050919050565b600060208201905081810360008301526136cd81613691565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613730602483612e0d565b915061373b826136d4565b604082019050919050565b6000602082019050818103600083015261375f81613723565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006137c2602283612e0d565b91506137cd82613766565b604082019050919050565b600060208201905081810360008301526137f1816137b5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613854602583612e0d565b915061385f826137f8565b604082019050919050565b6000602082019050818103600083015261388381613847565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006138e6602383612e0d565b91506138f18261388a565b604082019050919050565b60006020820190508181036000830152613915816138d9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613978602983612e0d565b91506139838261391c565b604082019050919050565b600060208201905081810360008301526139a78161396b565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613a0a603f83612e0d565b9150613a15826139ae565b604082019050919050565b60006020820190508181036000830152613a39816139fd565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613a76601c83612e0d565b9150613a8182613a40565b602082019050919050565b60006020820190508181036000830152613aa581613a69565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613b08602383612e0d565b9150613b1382613aac565b604082019050919050565b60006020820190508181036000830152613b3781613afb565b9050919050565b6000613b4982612f26565b9150613b5483612f26565b9250828201905080821115613b6c57613b6b6135cb565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613bce602383612e0d565b9150613bd982613b72565b604082019050919050565b60006020820190508181036000830152613bfd81613bc1565b9050919050565b6000613c0f82612f26565b9150613c1a83612f26565b9250828203905081811115613c3257613c316135cb565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613c94602a83612e0d565b9150613c9f82613c38565b604082019050919050565b60006020820190508181036000830152613cc381613c87565b9050919050565b600081519050613cd981612efa565b92915050565b600060208284031215613cf557613cf4612ebe565b5b6000613d0384828501613cca565b91505092915050565b6000819050919050565b6000613d31613d2c613d2784613d0c565b612fd2565b612f26565b9050919050565b613d4181613d16565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613d7c81612ee8565b82525050565b6000613d8e8383613d73565b60208301905092915050565b6000602082019050919050565b6000613db282613d47565b613dbc8185613d52565b9350613dc783613d63565b8060005b83811015613df8578151613ddf8882613d82565b9750613dea83613d9a565b925050600181019050613dcb565b5085935050505092915050565b600060a082019050613e1a600083018861304c565b613e276020830187613d38565b8181036040830152613e398186613da7565b9050613e486060830185613100565b613e55608083018461304c565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613e9982612f26565b9150613ea483612f26565b925082613eb457613eb3613e5f565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613ef5601b83612e0d565b9150613f0082613ebf565b602082019050919050565b60006020820190508181036000830152613f2481613ee8565b9050919050565b6000613f3682612f26565b9150613f4183612f26565b9250828202613f4f81612f26565b91508282048414831517613f6657613f656135cb565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613fc9602183612e0d565b9150613fd482613f6d565b604082019050919050565b60006020820190508181036000830152613ff881613fbc565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220201aa35d9e486499faac1932f2e4b56b9f2045e09383c2f9a176cc3068aee0e464736f6c63430008120033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000fad6daf2a0808a0d65e292afa7c9d9f7855cb717000000000000000000000000fad6daf2a0808a0d65e292afa7c9d9f7855cb7170000000000000000000000000000000000000000000000000000000000000002243100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022431000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : Name (string): $1
Arg [1] : Symbol (string): $1
Arg [2] : DevAddress (address): 0xFAd6DAf2A0808A0d65e292afA7C9d9f7855CB717
Arg [3] : MarketingAddress (address): 0xFAd6DAf2A0808A0d65e292afA7C9d9f7855CB717

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 000000000000000000000000fad6daf2a0808a0d65e292afa7c9d9f7855cb717
Arg [3] : 000000000000000000000000fad6daf2a0808a0d65e292afa7c9d9f7855cb717
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [5] : 2431000000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [7] : 2431000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

4245:14153:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7070:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8002:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5536:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7350:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8204:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5858:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7258:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5584:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13713:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17776:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13298:227;;;;;;;;;;;;;:::i;:::-;;7454:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1718:148;;;;;;;;;;;;;:::i;:::-;;17920:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5728:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1502:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12914:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5792:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7162:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17584:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17237:294;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7601:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5346:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13061:228;;;;;;;;;;;;;:::i;:::-;;18161:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4877:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13534:170;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7809:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18037:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1875:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7070:83;7107:13;7140:5;7133:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7070:83;:::o;8002:193::-;8104:4;8126:39;8135:12;:10;:12::i;:::-;8149:7;8158:6;8126:8;:39::i;:::-;8183:4;8176:11;;8002:193;;;;:::o;5536:41::-;;;;;;;;;;;;;:::o;7350:95::-;7403:7;4755:26;7423:14;;7350:95;:::o;8204:446::-;8336:4;8353:36;8363:6;8371:9;8382:6;8353:9;:36::i;:::-;8400:220;8423:6;8444:12;:10;:12::i;:::-;8471:138;8527:6;8471:138;;;;;;;;;;;;;;;;;:11;:19;8483:6;8471:19;;;;;;;;;;;;;;;:33;8491:12;:10;:12::i;:::-;8471:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8400:8;:220::i;:::-;8638:4;8631:11;;8204:446;;;;;:::o;5858:51::-;;;;:::o;7258:83::-;7299:5;4428:1;7317:16;;7258:83;:::o;5584:28::-;;;;;;;;;;;;;:::o;13713:92::-;1640:12;:10;:12::i;:::-;1630:22;;:6;;;;;;;;;;:22;;;1622:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13792:5:::1;13777:4;:12;13782:6;13777:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13713:92:::0;:::o;17776:101::-;1640:12;:10;:12::i;:::-;1630:22;;:6;;;;;;;;;;:22;;;1622:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17857:12:::1;17843:11;;:26;;;;;;;;;;;;;;;;;;17776:101:::0;:::o;13298:227::-;13364:11;;;;;;;;;;;13348:27;;:12;:10;:12::i;:::-;:27;;;:64;;;;13395:17;;;;;;;;;;;13379:33;;:12;:10;:12::i;:::-;:33;;;13348:64;13340:73;;;;;;13424:26;13453:21;13424:50;;13485:32;13498:18;13485:12;:32::i;:::-;13329:196;13298:227::o;7454:138::-;7520:7;7547:37;7567:7;:16;7575:7;7567:16;;;;;;;;;;;;;;;;7547:19;:37::i;:::-;7540:44;;7454:138;;;:::o;1718:148::-;1640:12;:10;:12::i;:::-;1630:22;;:6;;;;;;;;;;:22;;;1622:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1825:1:::1;1788:40;;1809:6;::::0;::::1;;;;;;;;1788:40;;;;;;;;;;;;1856:1;1839:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1718:148::o:0;17920:108::-;1640:12;:10;:12::i;:::-;1630:22;;:6;;;;;;;;;;:22;;;1622:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18009:11:::1;17994:12;:26;;;;17920:108:::0;:::o;5728:54::-;;;;:::o;1502:79::-;1540:7;1567:6;;;;;;;;;;;1560:13;;1502:79;:::o;12914:138::-;1640:12;:10;:12::i;:::-;1630:22;;:6;;;;;;;;;;:22;;;1622:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12995:12:::1;12981:11;;:26;;;;;;;;;;;;;;;;;;13032:12;13018:11;:26;;;;12914:138:::0;:::o;5792:56::-;;;;:::o;7162:87::-;7201:13;7234:7;7227:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7162:87;:::o;17584:139::-;1640:12;:10;:12::i;:::-;1630:22;;:6;;;;;;;;;;:22;;;1622:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17697:18:::1;17675:19;:40;;;;17584:139:::0;:::o;17237:294::-;1640:12;:10;:12::i;:::-;1630:22;;:6;;;;;;;;;;:22;;;1622:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17388:13:::1;17371:14;:30;;;;17430:14;17412:15;:32;;;;17473:11;17458:12;:26;;;;17511:12;17495:13;:28;;;;17237:294:::0;;;;:::o;7601:199::-;7706:4;7728:42;7738:12;:10;:12::i;:::-;7752:9;7763:6;7728:9;:42::i;:::-;7788:4;7781:11;;7601:199;;;;:::o;5346:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;13061:228::-;13127:11;;;;;;;;;;;13111:27;;:12;:10;:12::i;:::-;:27;;;:64;;;;13158:17;;;;;;;;;;;13142:33;;:12;:10;:12::i;:::-;:33;;;13111:64;13103:73;;;;;;13187:23;13213:24;13231:4;13213:9;:24::i;:::-;13187:50;;13248:33;13265:15;13248:16;:33::i;:::-;13092:197;13061:228::o;18161:234::-;1640:12;:10;:12::i;:::-;1630:22;;:6;;;;;;;;;;:22;;;1622:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18278:9:::1;18274:114;18297:8;;:15;;18293:1;:19;18274:114;;;18368:8;18334:18;:31;18353:8;;18362:1;18353:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18334:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;18314:3;;;;;:::i;:::-;;;;18274:114;;;;18161:234:::0;;;:::o;4877:26::-;;;;:::o;13534:170::-;1640:12;:10;:12::i;:::-;1630:22;;:6;;;;;;;;;;:22;;;1622:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13611:9:::1;13606:91;13630:5;:12;13626:1;:16;13606:91;;;13681:4;13664;:14;13669:5;13675:1;13669:8;;;;;;;;:::i;:::-;;;;;;;;13664:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13644:3;;;;;:::i;:::-;;;;13606:91;;;;13534:170:::0;:::o;7809:184::-;7926:7;7958:11;:18;7970:5;7958:18;;;;;;;;;;;;;;;:27;7977:7;7958:27;;;;;;;;;;;;;;;;7951:34;;7809:184;;;;:::o;18037:115::-;1640:12;:10;:12::i;:::-;1630:22;;:6;;;;;;;;;;:22;;;1622:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18131:13:::1;18114:14;:30;;;;18037:115:::0;:::o;1875:244::-;1640:12;:10;:12::i;:::-;1630:22;;:6;;;;;;;;;;:22;;;1622:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1984:1:::1;1964:22;;:8;:22;;::::0;1956:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2074:8;2045:38;;2066:6;::::0;::::1;;;;;;;;2045:38;;;;;;;;;;;;2103:8;2094:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1875:244:::0;:::o;251:98::-;304:7;331:10;324:17;;251:98;:::o;9347:369::-;9491:1;9474:19;;:5;:19;;;9466:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9572:1;9553:21;;:7;:21;;;9545:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9654:6;9624:11;:18;9636:5;9624:18;;;;;;;;;;;;;;;:27;9643:7;9624:27;;;;;;;;;;;;;;;:36;;;;9692:7;9676:32;;9685:5;9676:32;;;9701:6;9676:32;;;;;;:::i;:::-;;;;;;;;9347:369;;;:::o;9725:2527::-;9863:1;9847:18;;:4;:18;;;9839:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9940:1;9926:16;;:2;:16;;;9918:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10010:1;10001:6;:10;9993:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10083:7;:5;:7::i;:::-;10075:15;;:4;:15;;;;:32;;;;;10100:7;:5;:7::i;:::-;10094:13;;:2;:13;;;;10075:32;10071:1449;;;10165:11;;;;;;;;;;;10160:144;;10213:7;:5;:7::i;:::-;10205:15;;:4;:15;;;10197:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;10160:144;10339:12;;10329:6;:22;;10321:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10408:4;:10;10413:4;10408:10;;;;;;;;;;;;;;;;;;;;;;;;;10407:11;:24;;;;;10423:4;:8;10428:2;10423:8;;;;;;;;;;;;;;;;;;;;;;;;;10422:9;10407:24;10399:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10508:11;;10492:12;:27;;:52;;;;;10531:13;;;;;;;;;;;10523:21;;:4;:21;;;10492:52;:86;;;;;10562:15;;;;;;;;;;;10548:30;;:2;:30;;;;10492:86;:109;;;;;10596:4;10582:19;;:2;:19;;;;10492:109;10489:166;;;10635:4;10624;:8;10629:2;10624:8;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;;;;;;;10489:166;10682:13;;;;;;;;;;;10676:19;;:2;:19;;;10673:146;;10749:14;;10740:6;10724:13;10734:2;10724:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10716:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10673:146;10836:28;10867:24;10885:4;10867:9;:24::i;:::-;10836:55;;10906:12;10945:19;;10921:20;:43;;10906:58;;11009:12;;10985:20;:36;10982:124;;11078:12;;11055:35;;10982:124;11127:7;:18;;;;;11139:6;;;;;;;;;;;11138:7;11127:18;:43;;;;;11157:13;;;;;;;;;;;11149:21;;:4;:21;;;;11127:43;:58;;;;;11174:11;;;;;;;;;;;11127:58;:87;;;;;11190:18;:24;11209:4;11190:24;;;;;;;;;;;;;;;;;;;;;;;;;11189:25;11127:87;:114;;;;;11219:18;:22;11238:2;11219:22;;;;;;;;;;;;;;;;;;;;;;;;;11218:23;11127:114;11123:386;;;11262:38;11279:20;11262:16;:38::i;:::-;11319:26;11348:21;11319:50;;11413:1;11392:18;:22;11388:106;;;11439:35;11452:21;11439:12;:35::i;:::-;11388:106;11243:266;11123:386;10109:1411;;10071:1449;11533:12;11548:4;11533:19;;11598:18;:24;11617:4;11598:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11626:18;:22;11645:2;11626:22;;;;;;;;;;;;;;;;;;;;;;;;;11598:50;11597:102;;;;11662:13;;;;;;;;;;;11654:21;;:4;:21;;;;:44;;;;;11685:13;;;;;;;;;;;11679:19;;:2;:19;;;;11654:44;11597:102;11593:597;;;11726:5;11716:15;;11593:597;;;11810:13;;;;;;;;;;;11802:21;;:4;:21;;;:55;;;;;11841:15;;;;;;;;;;;11827:30;;:2;:30;;;;11802:55;11799:162;;;11890:14;;11878:9;:26;;;;11933:12;;11923:7;:22;;;;11799:162;12021:13;;;;;;;;;;;12015:19;;:2;:19;;;:55;;;;;12054:15;;;;;;;;;;;12038:32;;:4;:32;;;;12015:55;12011:165;;;12103:15;;12091:9;:27;;;;12147:13;;12137:7;:23;;;;12011:165;11593:597;12203:41;12218:4;12224:2;12228:6;12236:7;12203:14;:41::i;:::-;9828:2424;9725:2527;;;:::o;2487:224::-;2607:7;2640:1;2635;:6;;2643:12;2627:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2667:9;2683:1;2679;:5;;;;:::i;:::-;2667:17;;2702:1;2695:8;;;2487:224;;;;;:::o;12753:152::-;12810:11;;;;;;;;;;;:20;;:35;12831:13;12842:1;12831:6;:10;;:13;;;;:::i;:::-;12810:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12856:17;;;;;;;;;;;:26;;:41;12883:13;12894:1;12883:6;:10;;:13;;;;:::i;:::-;12856:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12753:152;:::o;8659:323::-;8754:7;8812;;8801;:18;;8779:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8900:19;8922:10;:8;:10::i;:::-;8900:32;;8950:24;8962:11;8950:7;:11;;:24;;;;:::i;:::-;8943:31;;;8659:323;;;:::o;12261:483::-;6016:4;6007:6;;:13;;;;;;;;;;;;;;;;;;12339:21:::1;12377:1;12363:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12339:40;;12408:4;12390;12395:1;12390:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12434:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12424:4;12429:1;12424:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12467:62;12484:4;12499:15;;;;;;;;;;;12517:11;12467:8;:62::i;:::-;12540:15;;;;;;;;;;;:66;;;12621:11;12647:1;12663:4;12690;12710:15;12540:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12328:416;6052:5:::0;6043:6;;:14;;;;;;;;;;;;;;;;;;12261:483;:::o;13814:282::-;13970:7;13965:28;;13979:14;:12;:14::i;:::-;13965:28;14004:44;14022:6;14030:9;14041:6;14004:17;:44::i;:::-;14064:7;14059:29;;14073:15;:13;:15::i;:::-;14059:29;13814:282;;;;:::o;2975:132::-;3033:7;3060:39;3064:1;3067;3060:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3053:46;;2975:132;;;;:::o;16792:167::-;16834:7;16855:15;16872;16891:19;:17;:19::i;:::-;16854:56;;;;16931:20;16943:7;16931;:11;;:20;;;;:::i;:::-;16924:27;;;;16792:167;:::o;8991:221::-;9051:1;9038:9;;:14;:30;;;;;9067:1;9056:7;;:12;9038:30;9070:7;9034:43;9110:9;;9090:17;:29;;;;9148:7;;9130:15;:25;;;;9181:1;9169:9;:13;;;;9203:1;9193:7;:11;;;;8991:221;:::o;14105:610::-;14252:15;14282:23;14320:12;14347:23;14385:12;14412:13;14439:19;14450:7;14439:10;:19::i;:::-;14237:221;;;;;;;;;;;;14487:28;14507:7;14487;:15;14495:6;14487:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14469:7;:15;14477:6;14469:15;;;;;;;;;;;;;;;:46;;;;14547:39;14570:15;14547:7;:18;14555:9;14547:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14526:7;:18;14534:9;14526:18;;;;;;;;;;;;;;;:60;;;;14597:16;14607:5;14597:9;:16::i;:::-;14624:23;14636:4;14642;14624:11;:23::i;:::-;14680:9;14663:44;;14672:6;14663:44;;;14691:15;14663:44;;;;;;:::i;:::-;;;;;;;;14226:489;;;;;;14105:610;;;:::o;9221:117::-;9277:17;;9265:9;:29;;;;9315:15;;9305:7;:25;;;;9221:117::o;3116:223::-;3236:7;3268:1;3264;:5;3271:12;3256:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3295:9;3311:1;3307;:5;;;;:::i;:::-;3295:17;;3330:1;3323:8;;;3116:223;;;;;:::o;16968:260::-;17019:7;17028;17048:15;17066:7;;17048:25;;17084:15;4755:26;17084:25;;17134:20;4755:26;17134:7;;:11;;:20;;;;:::i;:::-;17124:7;:30;17120:61;;;17164:7;;4755:26;17156:25;;;;;;;;17120:61;17203:7;17212;17195:25;;;;;;16968:260;;;:::o;15138:618::-;15238:7;15260;15282;15304;15326;15348;15384:23;15409:12;15423:13;15453:40;15465:7;15474:9;;15485:7;;15453:11;:40::i;:::-;15383:110;;;;;;15504:19;15526:10;:8;:10::i;:::-;15504:32;;15548:15;15565:23;15590:12;15619:46;15631:7;15640:4;15646:5;15653:11;15619;:46::i;:::-;15547:118;;;;;;15687:7;15696:15;15713:4;15719:15;15736:4;15742:5;15679:69;;;;;;;;;;;;;;;;;;;15138:618;;;;;;;:::o;2342:136::-;2400:7;2427:43;2431:1;2434;2427:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2420:50;;2342:136;;;;:::o;2154:179::-;2212:7;2232:9;2248:1;2244;:5;;;;:::i;:::-;2232:17;;2273:1;2268;:6;;2260:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2324:1;2317:8;;;2154:179;;;;:::o;14724:211::-;14777:19;14799:10;:8;:10::i;:::-;14777:32;;14820:13;14836:22;14846:11;14836:5;:9;;:22;;;;:::i;:::-;14820:38;;14894:33;14921:5;14894:7;:22;14910:4;14894:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14869:7;:22;14885:4;14869:22;;;;;;;;;;;;;;;:58;;;;14766:169;;14724:211;:::o;14944:147::-;15022:17;15034:4;15022:7;;:11;;:17;;;;:::i;:::-;15012:7;:27;;;;15063:20;15078:4;15063:10;;:14;;:20;;;;:::i;:::-;15050:10;:33;;;;14944:147;;:::o;15765:472::-;15934:7;15956;15978;16013:12;16028:30;16054:3;16028:21;16040:8;16028:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;16013:45;;16069:13;16085:28;16109:3;16085:19;16097:6;16085:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16069:44;;16124:23;16150:28;16172:5;16150:17;16162:4;16150:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16124:54;;16200:15;16217:4;16223:5;16192:37;;;;;;;;;15765:472;;;;;;;:::o;16246:537::-;16440:7;16462;16484;16519:15;16537:24;16549:11;16537:7;:11;;:24;;;;:::i;:::-;16519:42;;16572:12;16587:21;16596:11;16587:4;:8;;:21;;;;:::i;:::-;16572:36;;16619:13;16635:22;16645:11;16635:5;:9;;:22;;;;:::i;:::-;16619:38;;16668:23;16694:28;16716:5;16694:17;16706:4;16694:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16668:54;;16744:7;16753:15;16770:4;16736:39;;;;;;;;;;16246:537;;;;;;;;:::o;2720:246::-;2778:7;2807:1;2802;:6;2798:47;;2832:1;2825:8;;;;2798:47;2855:9;2871:1;2867;:5;;;;:::i;:::-;2855:17;;2900:1;2895;2891;:5;;;;:::i;:::-;:10;2883:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2957:1;2950:8;;;2720:246;;;;;:::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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:86::-;5431:7;5471:4;5464:5;5460:16;5449:27;;5396:86;;;:::o;5488:112::-;5571:22;5587:5;5571:22;:::i;:::-;5566:3;5559:35;5488:112;;:::o;5606:214::-;5695:4;5733:2;5722:9;5718:18;5710:26;;5746:67;5810:1;5799:9;5795:17;5786:6;5746:67;:::i;:::-;5606:214;;;;:::o;5826:118::-;5913:24;5931:5;5913:24;:::i;:::-;5908:3;5901:37;5826:118;;:::o;5950:222::-;6043:4;6081:2;6070:9;6066:18;6058:26;;6094:71;6162:1;6151:9;6147:17;6138:6;6094:71;:::i;:::-;5950:222;;;;:::o;6178:329::-;6237:6;6286:2;6274:9;6265:7;6261:23;6257:32;6254:119;;;6292:79;;:::i;:::-;6254:119;6412:1;6437:53;6482:7;6473:6;6462:9;6458:22;6437:53;:::i;:::-;6427:63;;6383:117;6178:329;;;;:::o;6513:116::-;6583:21;6598:5;6583:21;:::i;:::-;6576:5;6573:32;6563:60;;6619:1;6616;6609:12;6563:60;6513:116;:::o;6635:133::-;6678:5;6716:6;6703:20;6694:29;;6732:30;6756:5;6732:30;:::i;:::-;6635:133;;;;:::o;6774:323::-;6830:6;6879:2;6867:9;6858:7;6854:23;6850:32;6847:119;;;6885:79;;:::i;:::-;6847:119;7005:1;7030:50;7072:7;7063:6;7052:9;7048:22;7030:50;:::i;:::-;7020:60;;6976:114;6774:323;;;;:::o;7103:329::-;7162:6;7211:2;7199:9;7190:7;7186:23;7182:32;7179:119;;;7217:79;;:::i;:::-;7179:119;7337:1;7362:53;7407:7;7398:6;7387:9;7383:22;7362:53;:::i;:::-;7352:63;;7308:117;7103:329;;;;:::o;7438:765::-;7524:6;7532;7540;7548;7597:3;7585:9;7576:7;7572:23;7568:33;7565:120;;;7604:79;;:::i;:::-;7565:120;7724:1;7749:53;7794:7;7785:6;7774:9;7770:22;7749:53;:::i;:::-;7739:63;;7695:117;7851:2;7877:53;7922:7;7913:6;7902:9;7898:22;7877:53;:::i;:::-;7867:63;;7822:118;7979:2;8005:53;8050:7;8041:6;8030:9;8026:22;8005:53;:::i;:::-;7995:63;;7950:118;8107:2;8133:53;8178:7;8169:6;8158:9;8154:22;8133:53;:::i;:::-;8123:63;;8078:118;7438:765;;;;;;;:::o;8209:117::-;8318:1;8315;8308:12;8332:117;8441:1;8438;8431:12;8455:117;8564:1;8561;8554:12;8595:568;8668:8;8678:6;8728:3;8721:4;8713:6;8709:17;8705:27;8695:122;;8736:79;;:::i;:::-;8695:122;8849:6;8836:20;8826:30;;8879:18;8871:6;8868:30;8865:117;;;8901:79;;:::i;:::-;8865:117;9015:4;9007:6;9003:17;8991:29;;9069:3;9061:4;9053:6;9049:17;9039:8;9035:32;9032:41;9029:128;;;9076:79;;:::i;:::-;9029:128;8595:568;;;;;:::o;9169:698::-;9261:6;9269;9277;9326:2;9314:9;9305:7;9301:23;9297:32;9294:119;;;9332:79;;:::i;:::-;9294:119;9480:1;9469:9;9465:17;9452:31;9510:18;9502:6;9499:30;9496:117;;;9532:79;;:::i;:::-;9496:117;9645:80;9717:7;9708:6;9697:9;9693:22;9645:80;:::i;:::-;9627:98;;;;9423:312;9774:2;9800:50;9842:7;9833:6;9822:9;9818:22;9800:50;:::i;:::-;9790:60;;9745:115;9169:698;;;;;:::o;9873:180::-;9921:77;9918:1;9911:88;10018:4;10015:1;10008:15;10042:4;10039:1;10032:15;10059:281;10142:27;10164:4;10142:27;:::i;:::-;10134:6;10130:40;10272:6;10260:10;10257:22;10236:18;10224:10;10221:34;10218:62;10215:88;;;10283:18;;:::i;:::-;10215:88;10323:10;10319:2;10312:22;10102:238;10059:281;;:::o;10346:129::-;10380:6;10407:20;;:::i;:::-;10397:30;;10436:33;10464:4;10456:6;10436:33;:::i;:::-;10346:129;;;:::o;10481:311::-;10558:4;10648:18;10640:6;10637:30;10634:56;;;10670:18;;:::i;:::-;10634:56;10720:4;10712:6;10708:17;10700:25;;10780:4;10774;10770:15;10762:23;;10481:311;;;:::o;10815:710::-;10911:5;10936:81;10952:64;11009:6;10952:64;:::i;:::-;10936:81;:::i;:::-;10927:90;;11037:5;11066:6;11059:5;11052:21;11100:4;11093:5;11089:16;11082:23;;11153:4;11145:6;11141:17;11133:6;11129:30;11182:3;11174:6;11171:15;11168:122;;;11201:79;;:::i;:::-;11168:122;11316:6;11299:220;11333:6;11328:3;11325:15;11299:220;;;11408:3;11437:37;11470:3;11458:10;11437:37;:::i;:::-;11432:3;11425:50;11504:4;11499:3;11495:14;11488:21;;11375:144;11359:4;11354:3;11350:14;11343:21;;11299:220;;;11303:21;10917:608;;10815:710;;;;;:::o;11548:370::-;11619:5;11668:3;11661:4;11653:6;11649:17;11645:27;11635:122;;11676:79;;:::i;:::-;11635:122;11793:6;11780:20;11818:94;11908:3;11900:6;11893:4;11885:6;11881:17;11818:94;:::i;:::-;11809:103;;11625:293;11548:370;;;;:::o;11924:539::-;12008:6;12057:2;12045:9;12036:7;12032:23;12028:32;12025:119;;;12063:79;;:::i;:::-;12025:119;12211:1;12200:9;12196:17;12183:31;12241:18;12233:6;12230:30;12227:117;;;12263:79;;:::i;:::-;12227:117;12368:78;12438:7;12429:6;12418:9;12414:22;12368:78;:::i;:::-;12358:88;;12154:302;11924:539;;;;:::o;12469:474::-;12537:6;12545;12594:2;12582:9;12573:7;12569:23;12565:32;12562:119;;;12600:79;;:::i;:::-;12562:119;12720:1;12745:53;12790:7;12781:6;12770:9;12766:22;12745:53;:::i;:::-;12735:63;;12691:117;12847:2;12873:53;12918:7;12909:6;12898:9;12894:22;12873:53;:::i;:::-;12863:63;;12818:118;12469:474;;;;;:::o;12949:180::-;12997:77;12994:1;12987:88;13094:4;13091:1;13084:15;13118:4;13115:1;13108:15;13135:320;13179:6;13216:1;13210:4;13206:12;13196:22;;13263:1;13257:4;13253:12;13284:18;13274:81;;13340:4;13332:6;13328:17;13318:27;;13274:81;13402:2;13394:6;13391:14;13371:18;13368:38;13365:84;;13421:18;;:::i;:::-;13365:84;13186:269;13135:320;;;:::o;13461:182::-;13601:34;13597:1;13589:6;13585:14;13578:58;13461:182;:::o;13649:366::-;13791:3;13812:67;13876:2;13871:3;13812:67;:::i;:::-;13805:74;;13888:93;13977:3;13888:93;:::i;:::-;14006:2;14001:3;13997:12;13990:19;;13649:366;;;:::o;14021:419::-;14187:4;14225:2;14214:9;14210:18;14202:26;;14274:9;14268:4;14264:20;14260:1;14249:9;14245:17;14238:47;14302:131;14428:4;14302:131;:::i;:::-;14294:139;;14021:419;;;:::o;14446:180::-;14494:77;14491:1;14484:88;14591:4;14588:1;14581:15;14615:4;14612:1;14605:15;14632:180;14680:77;14677:1;14670:88;14777:4;14774:1;14767:15;14801:4;14798:1;14791:15;14818:233;14857:3;14880:24;14898:5;14880:24;:::i;:::-;14871:33;;14926:66;14919:5;14916:77;14913:103;;14996:18;;:::i;:::-;14913:103;15043:1;15036:5;15032:13;15025:20;;14818:233;;;:::o;15057:225::-;15197:34;15193:1;15185:6;15181:14;15174:58;15266:8;15261:2;15253:6;15249:15;15242:33;15057:225;:::o;15288:366::-;15430:3;15451:67;15515:2;15510:3;15451:67;:::i;:::-;15444:74;;15527:93;15616:3;15527:93;:::i;:::-;15645:2;15640:3;15636:12;15629:19;;15288:366;;;:::o;15660:419::-;15826:4;15864:2;15853:9;15849:18;15841:26;;15913:9;15907:4;15903:20;15899:1;15888:9;15884:17;15877:47;15941:131;16067:4;15941:131;:::i;:::-;15933:139;;15660:419;;;:::o;16085:223::-;16225:34;16221:1;16213:6;16209:14;16202:58;16294:6;16289:2;16281:6;16277:15;16270:31;16085:223;:::o;16314:366::-;16456:3;16477:67;16541:2;16536:3;16477:67;:::i;:::-;16470:74;;16553:93;16642:3;16553:93;:::i;:::-;16671:2;16666:3;16662:12;16655:19;;16314:366;;;:::o;16686:419::-;16852:4;16890:2;16879:9;16875:18;16867:26;;16939:9;16933:4;16929:20;16925:1;16914:9;16910:17;16903:47;16967:131;17093:4;16967:131;:::i;:::-;16959:139;;16686:419;;;:::o;17111:221::-;17251:34;17247:1;17239:6;17235:14;17228:58;17320:4;17315:2;17307:6;17303:15;17296:29;17111:221;:::o;17338:366::-;17480:3;17501:67;17565:2;17560:3;17501:67;:::i;:::-;17494:74;;17577:93;17666:3;17577:93;:::i;:::-;17695:2;17690:3;17686:12;17679:19;;17338:366;;;:::o;17710:419::-;17876:4;17914:2;17903:9;17899:18;17891:26;;17963:9;17957:4;17953:20;17949:1;17938:9;17934:17;17927:47;17991:131;18117:4;17991:131;:::i;:::-;17983:139;;17710:419;;;:::o;18135:224::-;18275:34;18271:1;18263:6;18259:14;18252:58;18344:7;18339:2;18331:6;18327:15;18320:32;18135:224;:::o;18365:366::-;18507:3;18528:67;18592:2;18587:3;18528:67;:::i;:::-;18521:74;;18604:93;18693:3;18604:93;:::i;:::-;18722:2;18717:3;18713:12;18706:19;;18365:366;;;:::o;18737:419::-;18903:4;18941:2;18930:9;18926:18;18918:26;;18990:9;18984:4;18980:20;18976:1;18965:9;18961:17;18954:47;19018:131;19144:4;19018:131;:::i;:::-;19010:139;;18737:419;;;:::o;19162:222::-;19302:34;19298:1;19290:6;19286:14;19279:58;19371:5;19366:2;19358:6;19354:15;19347:30;19162:222;:::o;19390:366::-;19532:3;19553:67;19617:2;19612:3;19553:67;:::i;:::-;19546:74;;19629:93;19718:3;19629:93;:::i;:::-;19747:2;19742:3;19738:12;19731:19;;19390:366;;;:::o;19762:419::-;19928:4;19966:2;19955:9;19951:18;19943:26;;20015:9;20009:4;20005:20;20001:1;19990:9;19986:17;19979:47;20043:131;20169:4;20043:131;:::i;:::-;20035:139;;19762:419;;;:::o;20187:228::-;20327:34;20323:1;20315:6;20311:14;20304:58;20396:11;20391:2;20383:6;20379:15;20372:36;20187:228;:::o;20421:366::-;20563:3;20584:67;20648:2;20643:3;20584:67;:::i;:::-;20577:74;;20660:93;20749:3;20660:93;:::i;:::-;20778:2;20773:3;20769:12;20762:19;;20421:366;;;:::o;20793:419::-;20959:4;20997:2;20986:9;20982:18;20974:26;;21046:9;21040:4;21036:20;21032:1;21021:9;21017:17;21010:47;21074:131;21200:4;21074:131;:::i;:::-;21066:139;;20793:419;;;:::o;21218:250::-;21358:34;21354:1;21346:6;21342:14;21335:58;21427:33;21422:2;21414:6;21410:15;21403:58;21218:250;:::o;21474:366::-;21616:3;21637:67;21701:2;21696:3;21637:67;:::i;:::-;21630:74;;21713:93;21802:3;21713:93;:::i;:::-;21831:2;21826:3;21822:12;21815:19;;21474:366;;;:::o;21846:419::-;22012:4;22050:2;22039:9;22035:18;22027:26;;22099:9;22093:4;22089:20;22085:1;22074:9;22070:17;22063:47;22127:131;22253:4;22127:131;:::i;:::-;22119:139;;21846:419;;;:::o;22271:178::-;22411:30;22407:1;22399:6;22395:14;22388:54;22271:178;:::o;22455:366::-;22597:3;22618:67;22682:2;22677:3;22618:67;:::i;:::-;22611:74;;22694:93;22783:3;22694:93;:::i;:::-;22812:2;22807:3;22803:12;22796:19;;22455:366;;;:::o;22827:419::-;22993:4;23031:2;23020:9;23016:18;23008:26;;23080:9;23074:4;23070:20;23066:1;23055:9;23051:17;23044:47;23108:131;23234:4;23108:131;:::i;:::-;23100:139;;22827:419;;;:::o;23252:222::-;23392:34;23388:1;23380:6;23376:14;23369:58;23461:5;23456:2;23448:6;23444:15;23437:30;23252:222;:::o;23480:366::-;23622:3;23643:67;23707:2;23702:3;23643:67;:::i;:::-;23636:74;;23719:93;23808:3;23719:93;:::i;:::-;23837:2;23832:3;23828:12;23821:19;;23480:366;;;:::o;23852:419::-;24018:4;24056:2;24045:9;24041:18;24033:26;;24105:9;24099:4;24095:20;24091:1;24080:9;24076:17;24069:47;24133:131;24259:4;24133:131;:::i;:::-;24125:139;;23852:419;;;:::o;24277:191::-;24317:3;24336:20;24354:1;24336:20;:::i;:::-;24331:25;;24370:20;24388:1;24370:20;:::i;:::-;24365:25;;24413:1;24410;24406:9;24399:16;;24434:3;24431:1;24428:10;24425:36;;;24441:18;;:::i;:::-;24425:36;24277:191;;;;:::o;24474:222::-;24614:34;24610:1;24602:6;24598:14;24591:58;24683:5;24678:2;24670:6;24666:15;24659:30;24474:222;:::o;24702:366::-;24844:3;24865:67;24929:2;24924:3;24865:67;:::i;:::-;24858:74;;24941:93;25030:3;24941:93;:::i;:::-;25059:2;25054:3;25050:12;25043:19;;24702:366;;;:::o;25074:419::-;25240:4;25278:2;25267:9;25263:18;25255:26;;25327:9;25321:4;25317:20;25313:1;25302:9;25298:17;25291:47;25355:131;25481:4;25355:131;:::i;:::-;25347:139;;25074:419;;;:::o;25499:194::-;25539:4;25559:20;25577:1;25559:20;:::i;:::-;25554:25;;25593:20;25611:1;25593:20;:::i;:::-;25588:25;;25637:1;25634;25630:9;25622:17;;25661:1;25655:4;25652:11;25649:37;;;25666:18;;:::i;:::-;25649:37;25499:194;;;;:::o;25699:229::-;25839:34;25835:1;25827:6;25823:14;25816:58;25908:12;25903:2;25895:6;25891:15;25884:37;25699:229;:::o;25934:366::-;26076:3;26097:67;26161:2;26156:3;26097:67;:::i;:::-;26090:74;;26173:93;26262:3;26173:93;:::i;:::-;26291:2;26286:3;26282:12;26275:19;;25934:366;;;:::o;26306:419::-;26472:4;26510:2;26499:9;26495:18;26487:26;;26559:9;26553:4;26549:20;26545:1;26534:9;26530:17;26523:47;26587:131;26713:4;26587:131;:::i;:::-;26579:139;;26306:419;;;:::o;26731:143::-;26788:5;26819:6;26813:13;26804:22;;26835:33;26862:5;26835:33;:::i;:::-;26731:143;;;;:::o;26880:351::-;26950:6;26999:2;26987:9;26978:7;26974:23;26970:32;26967:119;;;27005:79;;:::i;:::-;26967:119;27125:1;27150:64;27206:7;27197:6;27186:9;27182:22;27150:64;:::i;:::-;27140:74;;27096:128;26880:351;;;;:::o;27237:85::-;27282:7;27311:5;27300:16;;27237:85;;;:::o;27328:158::-;27386:9;27419:61;27437:42;27446:32;27472:5;27446:32;:::i;:::-;27437:42;:::i;:::-;27419:61;:::i;:::-;27406:74;;27328:158;;;:::o;27492:147::-;27587:45;27626:5;27587:45;:::i;:::-;27582:3;27575:58;27492:147;;:::o;27645:114::-;27712:6;27746:5;27740:12;27730:22;;27645:114;;;:::o;27765:184::-;27864:11;27898:6;27893:3;27886:19;27938:4;27933:3;27929:14;27914:29;;27765:184;;;;:::o;27955:132::-;28022:4;28045:3;28037:11;;28075:4;28070:3;28066:14;28058:22;;27955:132;;;:::o;28093:108::-;28170:24;28188:5;28170:24;:::i;:::-;28165:3;28158:37;28093:108;;:::o;28207:179::-;28276:10;28297:46;28339:3;28331:6;28297:46;:::i;:::-;28375:4;28370:3;28366:14;28352:28;;28207:179;;;;:::o;28392:113::-;28462:4;28494;28489:3;28485:14;28477:22;;28392:113;;;:::o;28541:732::-;28660:3;28689:54;28737:5;28689:54;:::i;:::-;28759:86;28838:6;28833:3;28759:86;:::i;:::-;28752:93;;28869:56;28919:5;28869:56;:::i;:::-;28948:7;28979:1;28964:284;28989:6;28986:1;28983:13;28964:284;;;29065:6;29059:13;29092:63;29151:3;29136:13;29092:63;:::i;:::-;29085:70;;29178:60;29231:6;29178:60;:::i;:::-;29168:70;;29024:224;29011:1;29008;29004:9;28999:14;;28964:284;;;28968:14;29264:3;29257:10;;28665:608;;;28541:732;;;;:::o;29279:831::-;29542:4;29580:3;29569:9;29565:19;29557:27;;29594:71;29662:1;29651:9;29647:17;29638:6;29594:71;:::i;:::-;29675:80;29751:2;29740:9;29736:18;29727:6;29675:80;:::i;:::-;29802:9;29796:4;29792:20;29787:2;29776:9;29772:18;29765:48;29830:108;29933:4;29924:6;29830:108;:::i;:::-;29822:116;;29948:72;30016:2;30005:9;30001:18;29992:6;29948:72;:::i;:::-;30030:73;30098:3;30087:9;30083:19;30074:6;30030:73;:::i;:::-;29279:831;;;;;;;;:::o;30116:180::-;30164:77;30161:1;30154:88;30261:4;30258:1;30251:15;30285:4;30282:1;30275:15;30302:185;30342:1;30359:20;30377:1;30359:20;:::i;:::-;30354:25;;30393:20;30411:1;30393:20;:::i;:::-;30388:25;;30432:1;30422:35;;30437:18;;:::i;:::-;30422:35;30479:1;30476;30472:9;30467:14;;30302:185;;;;:::o;30493:177::-;30633:29;30629:1;30621:6;30617:14;30610:53;30493:177;:::o;30676:366::-;30818:3;30839:67;30903:2;30898:3;30839:67;:::i;:::-;30832:74;;30915:93;31004:3;30915:93;:::i;:::-;31033:2;31028:3;31024:12;31017:19;;30676:366;;;:::o;31048:419::-;31214:4;31252:2;31241:9;31237:18;31229:26;;31301:9;31295:4;31291:20;31287:1;31276:9;31272:17;31265:47;31329:131;31455:4;31329:131;:::i;:::-;31321:139;;31048:419;;;:::o;31473:410::-;31513:7;31536:20;31554:1;31536:20;:::i;:::-;31531:25;;31570:20;31588:1;31570:20;:::i;:::-;31565:25;;31625:1;31622;31618:9;31647:30;31665:11;31647:30;:::i;:::-;31636:41;;31826:1;31817:7;31813:15;31810:1;31807:22;31787:1;31780:9;31760:83;31737:139;;31856:18;;:::i;:::-;31737:139;31521:362;31473:410;;;;:::o;31889:220::-;32029:34;32025:1;32017:6;32013:14;32006:58;32098:3;32093:2;32085:6;32081:15;32074:28;31889:220;:::o;32115:366::-;32257:3;32278:67;32342:2;32337:3;32278:67;:::i;:::-;32271:74;;32354:93;32443:3;32354:93;:::i;:::-;32472:2;32467:3;32463:12;32456:19;;32115:366;;;:::o;32487:419::-;32653:4;32691:2;32680:9;32676:18;32668:26;;32740:9;32734:4;32730:20;32726:1;32715:9;32711:17;32704:47;32768:131;32894:4;32768:131;:::i;:::-;32760:139;;32487:419;;;:::o

Swarm Source

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