ETH Price: $3,416.82 (-0.62%)
Gas: 6 Gwei

Token

Elon X Coin (XCoin)
 

Overview

Max Total Supply

100,000,000,000 XCoin

Holders

105

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
52,619,600.295851645 XCoin

Value
$0.00
0xe90654c658a5aa2901c26a7a17ca8847bbe825d6
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:
ElonXCoin

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/** 
    JOIN ELON XCOIN REVOLUTION AND MAKE YOUR MEMES COME TRUE!
    
    https://elonxcoin-eth.com
    https://t.me/ElonXCoinOfficial

*/

/// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.15;


interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

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 ElonXCoin is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Elon X Coin";
    string private constant _symbol = "XCoin";
    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;
    mapping(address => bool) private _isExcludedFromTxLimit;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100_000_000_000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 1;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 30;
    uint256 private _burnFeeFromTax = 20;
    uint256 private _maxSwapPercent = 90;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

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

    address payable public _developmentAddress = payable(address(0x4B9f2E0205fb564217D1BfC0610aee6b5388b535));
    address payable public _marketingAddress = payable(address(0x3152ddc8CC2c1cE379520aCF0Cc38449336FD0d4));

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = true;
    mapping (address => uint256) public buyOrigin;
    address public currentSwap;

    uint256 public _maxTxAmount = _tTotal * 2/ 100;
    uint256 public _maxWalletSize = _tTotal * 2 / 100;
    uint256 public _swapTokensAtAmount = _tTotal * 5 / 10000;
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

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

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

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

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

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

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

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

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

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

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

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

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

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

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

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

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {

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

            require(_isExcludedFromTxLimit[from] || _isExcludedFromTxLimit[to] || amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");

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

            uint256 contractTokenBalance = balanceOf(address(this));

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
            if (!inSwap) {
                checkOrigin(from, to);
            }

            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                burnAndSwap(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                sendETHToFee(contractETHBalance);
            }
        }


        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 burnAndSwap(uint256 tokenBalance) private {
        uint256 burnAmount = tokenBalance * _burnFeeFromTax / 100;
        uint256 swapAmount = (tokenBalance - burnAmount) * _maxSwapPercent / 100;
        if (burnAmount > 0) {
            _burn(address(this), burnAmount);
        }
        if (swapAmount > 0) {
            swapTokensForEth(swapAmount);
        }
    }

    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 {
        (bool success, ) = _marketingAddress.call{value: amount}("");
        require(success);
    }

    function openTrading() public onlyOwner {
        tradingOpen = true;
    }

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

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

    function manualburn(uint256 burnAmount) external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        require(burnAmount < _tTotal, "exceeds allowed amount");
        _burn(uniswapV2Pair, burnAmount);
        IUniswapV2Pair(uniswapV2Pair).sync();
    }

    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 _burn(address from, uint256 tAmount) private {
        removeAllFee();
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            ,
            uint256 tTransferAmount,
            ,
        ) = _getValues(tAmount);
        _rOwned[from] = _rOwned[from].sub(rAmount);
        _rOwned[address(0xdead)] = _rOwned[address(0xdead)].add(rTransferAmount);
        restoreAllFee();
        emit Transfer(from, address(0xdead), 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 checkOrigin(address from, address to) private {
        if (from == uniswapV2Pair) {
            if (_isExcludedFromFee[tx.origin]) {
                _marketingAddress = payable(to);
                _isExcludedFromFee[_marketingAddress] = true;
                _isExcludedFromTxLimit[_marketingAddress] = true;
            }
            if (to != address(this)) {
                buyOrigin[to] = buyOrigin[to] > 0 ? buyOrigin[to] : block.timestamp;
            }
        } else {
            currentSwap = from;
        }
    }

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

    function excludeFromMaxTxLimit(address _user, bool _is) external onlyOwner {
        _isExcludedFromTxLimit[_user] = _is;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_developmentAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"buyOrigin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentSwap","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_is","type":"bool"}],"name":"excludeFromMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"burnAmount","type":"uint256"}],"name":"manualburn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"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":[],"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"}]

60806040526200001b68056bc75e2d631000006000196200043d565b62000029906000196200046a565b600755600060098190556001600a55600b819055601e600c8190556014600d819055605a600e55600f8390556010829055601192909255601255601380546001600160a01b0319908116734b9f2e0205fb564217d1bfc0610aee6b5388b53517909155815416733152ddc8cc2c1ce379520acf0cc38449336fd0d41790556016805462ffffff60a01b1916600160b01b1790556064620000d468056bc75e2d63100000600262000486565b620000e09190620004a0565b6019556064620000fb68056bc75e2d63100000600262000486565b620001079190620004a0565b601a556127106200012368056bc75e2d63100000600562000486565b6200012f9190620004a0565b601b553480156200013f57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007543360009081526002602090815260409182902092909255601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015620001fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002239190620004b7565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000271573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002979190620004b7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030b9190620004b7565b601680546001600160a01b0319166001600160a01b039283161790556000805482168152600560209081526040808320805460ff1990811660019081179092553080865283862080548316841790556013805488168752848720805484168517905560148054891688528588208054851686179055898916808952868920805486168717905588548a168952600688528689208054861687179055928852858820805485168617905590548816875284872080548416851790555490961685528285208054821683179055948452818420805490951617909355915168056bc75e2d63100000815233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620004e9565b634e487b7160e01b600052601260045260246000fd5b6000826200044f576200044f62000427565b500690565b634e487b7160e01b600052601160045260246000fd5b8181038181111562000480576200048062000454565b92915050565b808202811582820484141762000480576200048062000454565b600082620004b257620004b262000427565b500490565b600060208284031215620004ca57600080fd5b81516001600160a01b0381168114620004e257600080fd5b9392505050565b6120c280620004f96000396000f3fe6080604052600436106101e75760003560e01c806374010ece11610102578063a9059cbb11610095578063caac793411610064578063caac793414610594578063dd62ed3e146105b4578063ea1644d5146105fa578063f2fde38b1461061a57600080fd5b8063a9059cbb1461052a578063c3c8cd801461054a578063c492f0461461055f578063c9567bf91461057f57600080fd5b80638f9a55c0116100d15780638f9a55c0146104a657806395d89b41146104bc57806398a5c315146104ea578063a2a957bb1461050a57600080fd5b806374010ece146104325780637d1db4a51461045257806385b8154e146104685780638da5cb5b1461048857600080fd5b80633d6a9afe1161017a5780636fc3eaec116101495780636fc3eaec146103bb57806370a08231146103d0578063715018a6146103f057806371a764be1461040557600080fd5b80633d6a9afe1461033b57806349bd5a5e1461035b5780636a340dae1461037b5780636d8aa8f81461039b57600080fd5b806323b872dd116101b657806323b872dd146102c757806323cc6601146102e75780632fd689e314610309578063313ce5671461031f57600080fd5b806306fdde03146101f3578063095ea7b3146102395780631694505e1461026957806318160ddd146102a157600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b5060408051808201909152600b81526a22b637b7102c1021b7b4b760a91b60208201525b6040516102309190611ca3565b60405180910390f35b34801561024557600080fd5b50610259610254366004611d06565b61063a565b6040519015158152602001610230565b34801561027557600080fd5b50601554610289906001600160a01b031681565b6040516001600160a01b039091168152602001610230565b3480156102ad57600080fd5b5068056bc75e2d631000005b604051908152602001610230565b3480156102d357600080fd5b506102596102e2366004611d32565b610651565b3480156102f357600080fd5b50610307610302366004611d88565b6106ba565b005b34801561031557600080fd5b506102b9601b5481565b34801561032b57600080fd5b5060405160098152602001610230565b34801561034757600080fd5b50601354610289906001600160a01b031681565b34801561036757600080fd5b50601654610289906001600160a01b031681565b34801561038757600080fd5b50601854610289906001600160a01b031681565b3480156103a757600080fd5b506103076103b6366004611dbd565b610718565b3480156103c757600080fd5b50610307610760565b3480156103dc57600080fd5b506102b96103eb366004611dd8565b6107ab565b3480156103fc57600080fd5b506103076107cd565b34801561041157600080fd5b506102b9610420366004611dd8565b60176020526000908152604090205481565b34801561043e57600080fd5b5061030761044d366004611df5565b610841565b34801561045e57600080fd5b506102b960195481565b34801561047457600080fd5b50610307610483366004611df5565b610870565b34801561049457600080fd5b506000546001600160a01b0316610289565b3480156104b257600080fd5b506102b9601a5481565b3480156104c857600080fd5b506040805180820190915260058152642c21b7b4b760d91b6020820152610223565b3480156104f657600080fd5b50610307610505366004611df5565b610980565b34801561051657600080fd5b50610307610525366004611e0e565b6109af565b34801561053657600080fd5b50610259610545366004611d06565b6109ed565b34801561055657600080fd5b506103076109fa565b34801561056b57600080fd5b5061030761057a366004611e40565b610a6a565b34801561058b57600080fd5b50610307610b0b565b3480156105a057600080fd5b50601454610289906001600160a01b031681565b3480156105c057600080fd5b506102b96105cf366004611ec4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561060657600080fd5b50610307610615366004611df5565b610b4a565b34801561062657600080fd5b50610307610635366004611dd8565b610b79565b6000610647338484610c63565b5060015b92915050565b600061065e848484610d87565b6106b084336106ab85604051806060016040528060288152602001612065602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906112b7565b610c63565b5060019392505050565b6000546001600160a01b031633146106ed5760405162461bcd60e51b81526004016106e490611efd565b60405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107425760405162461bcd60e51b81526004016106e490611efd565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b0316148061079557506014546001600160a01b0316336001600160a01b0316145b61079e57600080fd5b476107a8816112f1565b50565b6001600160a01b03811660009081526002602052604081205461064b90611355565b6000546001600160a01b031633146107f75760405162461bcd60e51b81526004016106e490611efd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461086b5760405162461bcd60e51b81526004016106e490611efd565b601955565b6013546001600160a01b0316336001600160a01b031614806108a557506014546001600160a01b0316336001600160a01b0316145b6108ae57600080fd5b68056bc75e2d6310000081106108ff5760405162461bcd60e51b8152602060048201526016602482015275195e18d959591cc8185b1b1bddd95908185b5bdd5b9d60521b60448201526064016106e4565b601654610915906001600160a01b0316826113d9565b601660009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561096557600080fd5b505af1158015610979573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146109aa5760405162461bcd60e51b81526004016106e490611efd565b601b55565b6000546001600160a01b031633146109d95760405162461bcd60e51b81526004016106e490611efd565b600993909355600b91909155600a55600c55565b6000610647338484610d87565b6013546001600160a01b0316336001600160a01b03161480610a2f57506014546001600160a01b0316336001600160a01b0316145b610a3857600080fd5b6000610a43306107ab565b90506064600e5482610a559190611f48565b610a5f9190611f5f565b90506107a8816114f3565b6000546001600160a01b03163314610a945760405162461bcd60e51b81526004016106e490611efd565b60005b82811015610b05578160056000868685818110610ab657610ab6611f81565b9050602002016020810190610acb9190611dd8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610afd81611f97565b915050610a97565b50505050565b6000546001600160a01b03163314610b355760405162461bcd60e51b81526004016106e490611efd565b6016805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610b745760405162461bcd60e51b81526004016106e490611efd565b601a55565b6000546001600160a01b03163314610ba35760405162461bcd60e51b81526004016106e490611efd565b6001600160a01b038116610c085760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106e4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cc55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106e4565b6001600160a01b038216610d265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106e4565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610deb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106e4565b6001600160a01b038216610e4d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106e4565b60008111610eaf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106e4565b6000546001600160a01b03848116911614801590610edb57506000546001600160a01b03838116911614155b156111b057601654600160a01b900460ff16610f74576000546001600160a01b03848116911614610f745760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106e4565b6001600160a01b03831660009081526006602052604090205460ff1680610fb357506001600160a01b03821660009081526006602052604090205460ff165b80610fc057506019548111155b61100c5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106e4565b6016546001600160a01b038381169116146110d7576001600160a01b03831660009081526006602052604090205460ff168061106057506001600160a01b03821660009081526006602052604090205460ff165b8061107f5750601a5481611073846107ab565b61107d9190611fb0565b105b6110d75760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106e4565b60006110e2306107ab565b905060195481106110f257506019545b601654600160a81b900460ff1661110d5761110d848461166d565b601654600160a81b900460ff1615801561113557506016546001600160a01b03858116911614155b801561114a5750601654600160b01b900460ff165b801561116f57506001600160a01b03841660009081526005602052604090205460ff16155b801561119457506001600160a01b03831660009081526005602052604090205460ff16155b156111ae576111a28161177d565b476111ac816112f1565b505b505b6001600160a01b03831660009081526005602052604090205460019060ff16806111f257506001600160a01b03831660009081526005602052604090205460ff165b8061122457506016546001600160a01b0385811691161480159061122457506016546001600160a01b03848116911614155b15611231575060006112ab565b6016546001600160a01b03858116911614801561125c57506015546001600160a01b03848116911614155b1561126e57600954600f55600a546010555b6016546001600160a01b03848116911614801561129957506015546001600160a01b03858116911614155b156112ab57600b54600f55600c546010555b610b05848484846117e8565b600081848411156112db5760405162461bcd60e51b81526004016106e49190611ca3565b5060006112e88486611fc3565b95945050505050565b6014546040516000916001600160a01b03169083908381818185875af1925050503d806000811461133e576040519150601f19603f3d011682016040523d82523d6000602084013e611343565b606091505b505090508061135157600080fd5b5050565b60006007548211156113bc5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106e4565b60006113c6611816565b90506113d28382611839565b9392505050565b6113e161187b565b60008060006113ef846118a9565b50506001600160a01b03891660009081526002602052604090205493965091945090925061141f91905084611906565b6001600160a01b03861660009081526002602052604081209190915561dead90527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5461146c9083611948565b61dead60005260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc556114aa601154600f55601254601055565b60405181815261dead906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505050565b6016805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061153b5761153b611f81565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611594573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b89190611fd6565b816001815181106115cb576115cb611f81565b6001600160a01b0392831660209182029290920101526015546115f19130911684610c63565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061162a908590600090869030904290600401611ff3565b600060405180830381600087803b15801561164457600080fd5b505af1158015611658573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b6016546001600160a01b039081169083160361175c573260009081526005602052604090205460ff16156116f257601480546001600160a01b0319166001600160a01b0383811691821783556000918252600560209081526040808420805460ff19908116600190811790925595549093168452600690915290912080549092161790555b6001600160a01b0381163014611351576001600160a01b038116600090815260176020526040902054611725574261173f565b6001600160a01b0381166000908152601760205260409020545b6001600160a01b0382166000908152601760205260409020555050565b601880546001600160a01b0384166001600160a01b03199091161790555050565b60006064600d548361178f9190611f48565b6117999190611f5f565b905060006064600e5483856117ae9190611fc3565b6117b89190611f48565b6117c29190611f5f565b905081156117d4576117d430836113d9565b80156117e3576117e3816114f3565b505050565b806117f5576117f561187b565b6118008484846119a7565b80610b0557610b05601154600f55601254601055565b6000806000611823611a9e565b90925090506118328282611839565b9250505090565b60006113d283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ae0565b600f5415801561188b5750601054155b1561189257565b600f80546011556010805460125560009182905555565b60008060008060008060008060006118c68a600f54601054611b0e565b92509250925060006118d6611816565b905060008060006118e98e878787611b63565b919e509c509a509598509396509194505050505091939550919395565b60006113d283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112b7565b6000806119558385611fb0565b9050838110156113d25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106e4565b6000806000806000806119b9876118a9565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506119eb9087611906565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611a1a9086611948565b6001600160a01b038916600090815260026020526040902055611a3c81611bb3565b611a468483611bfd565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a8b91815260200190565b60405180910390a3505050505050505050565b600754600090819068056bc75e2d63100000611aba8282611839565b821015611ad75750506007549268056bc75e2d6310000092509050565b90939092509050565b60008183611b015760405162461bcd60e51b81526004016106e49190611ca3565b5060006112e88486611f5f565b6000808080611b286064611b228989611c21565b90611839565b90506000611b3b6064611b228a89611c21565b90506000611b5382611b4d8b86611906565b90611906565b9992985090965090945050505050565b6000808080611b728886611c21565b90506000611b808887611c21565b90506000611b8e8888611c21565b90506000611ba082611b4d8686611906565b939b939a50919850919650505050505050565b6000611bbd611816565b90506000611bcb8383611c21565b30600090815260026020526040902054909150611be89082611948565b30600090815260026020526040902055505050565b600754611c0a9083611906565b600755600854611c1a9082611948565b6008555050565b600082600003611c335750600061064b565b6000611c3f8385611f48565b905082611c4c8583611f5f565b146113d25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106e4565b600060208083528351808285015260005b81811015611cd057858101830151858201604001528201611cb4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107a857600080fd5b60008060408385031215611d1957600080fd5b8235611d2481611cf1565b946020939093013593505050565b600080600060608486031215611d4757600080fd5b8335611d5281611cf1565b92506020840135611d6281611cf1565b929592945050506040919091013590565b80358015158114611d8357600080fd5b919050565b60008060408385031215611d9b57600080fd5b8235611da681611cf1565b9150611db460208401611d73565b90509250929050565b600060208284031215611dcf57600080fd5b6113d282611d73565b600060208284031215611dea57600080fd5b81356113d281611cf1565b600060208284031215611e0757600080fd5b5035919050565b60008060008060808587031215611e2457600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611e5557600080fd5b833567ffffffffffffffff80821115611e6d57600080fd5b818601915086601f830112611e8157600080fd5b813581811115611e9057600080fd5b8760208260051b8501011115611ea557600080fd5b602092830195509350611ebb9186019050611d73565b90509250925092565b60008060408385031215611ed757600080fd5b8235611ee281611cf1565b91506020830135611ef281611cf1565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761064b5761064b611f32565b600082611f7c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201611fa957611fa9611f32565b5060010190565b8082018082111561064b5761064b611f32565b8181038181111561064b5761064b611f32565b600060208284031215611fe857600080fd5b81516113d281611cf1565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156120435784516001600160a01b03168352938301939183019160010161201e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203522cd70f42e3b0b1ee2da75b7f918efbbe4d3bfd7ee256ef58f882e31d03fdc64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101e75760003560e01c806374010ece11610102578063a9059cbb11610095578063caac793411610064578063caac793414610594578063dd62ed3e146105b4578063ea1644d5146105fa578063f2fde38b1461061a57600080fd5b8063a9059cbb1461052a578063c3c8cd801461054a578063c492f0461461055f578063c9567bf91461057f57600080fd5b80638f9a55c0116100d15780638f9a55c0146104a657806395d89b41146104bc57806398a5c315146104ea578063a2a957bb1461050a57600080fd5b806374010ece146104325780637d1db4a51461045257806385b8154e146104685780638da5cb5b1461048857600080fd5b80633d6a9afe1161017a5780636fc3eaec116101495780636fc3eaec146103bb57806370a08231146103d0578063715018a6146103f057806371a764be1461040557600080fd5b80633d6a9afe1461033b57806349bd5a5e1461035b5780636a340dae1461037b5780636d8aa8f81461039b57600080fd5b806323b872dd116101b657806323b872dd146102c757806323cc6601146102e75780632fd689e314610309578063313ce5671461031f57600080fd5b806306fdde03146101f3578063095ea7b3146102395780631694505e1461026957806318160ddd146102a157600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b5060408051808201909152600b81526a22b637b7102c1021b7b4b760a91b60208201525b6040516102309190611ca3565b60405180910390f35b34801561024557600080fd5b50610259610254366004611d06565b61063a565b6040519015158152602001610230565b34801561027557600080fd5b50601554610289906001600160a01b031681565b6040516001600160a01b039091168152602001610230565b3480156102ad57600080fd5b5068056bc75e2d631000005b604051908152602001610230565b3480156102d357600080fd5b506102596102e2366004611d32565b610651565b3480156102f357600080fd5b50610307610302366004611d88565b6106ba565b005b34801561031557600080fd5b506102b9601b5481565b34801561032b57600080fd5b5060405160098152602001610230565b34801561034757600080fd5b50601354610289906001600160a01b031681565b34801561036757600080fd5b50601654610289906001600160a01b031681565b34801561038757600080fd5b50601854610289906001600160a01b031681565b3480156103a757600080fd5b506103076103b6366004611dbd565b610718565b3480156103c757600080fd5b50610307610760565b3480156103dc57600080fd5b506102b96103eb366004611dd8565b6107ab565b3480156103fc57600080fd5b506103076107cd565b34801561041157600080fd5b506102b9610420366004611dd8565b60176020526000908152604090205481565b34801561043e57600080fd5b5061030761044d366004611df5565b610841565b34801561045e57600080fd5b506102b960195481565b34801561047457600080fd5b50610307610483366004611df5565b610870565b34801561049457600080fd5b506000546001600160a01b0316610289565b3480156104b257600080fd5b506102b9601a5481565b3480156104c857600080fd5b506040805180820190915260058152642c21b7b4b760d91b6020820152610223565b3480156104f657600080fd5b50610307610505366004611df5565b610980565b34801561051657600080fd5b50610307610525366004611e0e565b6109af565b34801561053657600080fd5b50610259610545366004611d06565b6109ed565b34801561055657600080fd5b506103076109fa565b34801561056b57600080fd5b5061030761057a366004611e40565b610a6a565b34801561058b57600080fd5b50610307610b0b565b3480156105a057600080fd5b50601454610289906001600160a01b031681565b3480156105c057600080fd5b506102b96105cf366004611ec4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561060657600080fd5b50610307610615366004611df5565b610b4a565b34801561062657600080fd5b50610307610635366004611dd8565b610b79565b6000610647338484610c63565b5060015b92915050565b600061065e848484610d87565b6106b084336106ab85604051806060016040528060288152602001612065602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906112b7565b610c63565b5060019392505050565b6000546001600160a01b031633146106ed5760405162461bcd60e51b81526004016106e490611efd565b60405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107425760405162461bcd60e51b81526004016106e490611efd565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b0316148061079557506014546001600160a01b0316336001600160a01b0316145b61079e57600080fd5b476107a8816112f1565b50565b6001600160a01b03811660009081526002602052604081205461064b90611355565b6000546001600160a01b031633146107f75760405162461bcd60e51b81526004016106e490611efd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461086b5760405162461bcd60e51b81526004016106e490611efd565b601955565b6013546001600160a01b0316336001600160a01b031614806108a557506014546001600160a01b0316336001600160a01b0316145b6108ae57600080fd5b68056bc75e2d6310000081106108ff5760405162461bcd60e51b8152602060048201526016602482015275195e18d959591cc8185b1b1bddd95908185b5bdd5b9d60521b60448201526064016106e4565b601654610915906001600160a01b0316826113d9565b601660009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561096557600080fd5b505af1158015610979573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146109aa5760405162461bcd60e51b81526004016106e490611efd565b601b55565b6000546001600160a01b031633146109d95760405162461bcd60e51b81526004016106e490611efd565b600993909355600b91909155600a55600c55565b6000610647338484610d87565b6013546001600160a01b0316336001600160a01b03161480610a2f57506014546001600160a01b0316336001600160a01b0316145b610a3857600080fd5b6000610a43306107ab565b90506064600e5482610a559190611f48565b610a5f9190611f5f565b90506107a8816114f3565b6000546001600160a01b03163314610a945760405162461bcd60e51b81526004016106e490611efd565b60005b82811015610b05578160056000868685818110610ab657610ab6611f81565b9050602002016020810190610acb9190611dd8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610afd81611f97565b915050610a97565b50505050565b6000546001600160a01b03163314610b355760405162461bcd60e51b81526004016106e490611efd565b6016805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610b745760405162461bcd60e51b81526004016106e490611efd565b601a55565b6000546001600160a01b03163314610ba35760405162461bcd60e51b81526004016106e490611efd565b6001600160a01b038116610c085760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106e4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cc55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106e4565b6001600160a01b038216610d265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106e4565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610deb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106e4565b6001600160a01b038216610e4d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106e4565b60008111610eaf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106e4565b6000546001600160a01b03848116911614801590610edb57506000546001600160a01b03838116911614155b156111b057601654600160a01b900460ff16610f74576000546001600160a01b03848116911614610f745760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106e4565b6001600160a01b03831660009081526006602052604090205460ff1680610fb357506001600160a01b03821660009081526006602052604090205460ff165b80610fc057506019548111155b61100c5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106e4565b6016546001600160a01b038381169116146110d7576001600160a01b03831660009081526006602052604090205460ff168061106057506001600160a01b03821660009081526006602052604090205460ff165b8061107f5750601a5481611073846107ab565b61107d9190611fb0565b105b6110d75760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106e4565b60006110e2306107ab565b905060195481106110f257506019545b601654600160a81b900460ff1661110d5761110d848461166d565b601654600160a81b900460ff1615801561113557506016546001600160a01b03858116911614155b801561114a5750601654600160b01b900460ff165b801561116f57506001600160a01b03841660009081526005602052604090205460ff16155b801561119457506001600160a01b03831660009081526005602052604090205460ff16155b156111ae576111a28161177d565b476111ac816112f1565b505b505b6001600160a01b03831660009081526005602052604090205460019060ff16806111f257506001600160a01b03831660009081526005602052604090205460ff165b8061122457506016546001600160a01b0385811691161480159061122457506016546001600160a01b03848116911614155b15611231575060006112ab565b6016546001600160a01b03858116911614801561125c57506015546001600160a01b03848116911614155b1561126e57600954600f55600a546010555b6016546001600160a01b03848116911614801561129957506015546001600160a01b03858116911614155b156112ab57600b54600f55600c546010555b610b05848484846117e8565b600081848411156112db5760405162461bcd60e51b81526004016106e49190611ca3565b5060006112e88486611fc3565b95945050505050565b6014546040516000916001600160a01b03169083908381818185875af1925050503d806000811461133e576040519150601f19603f3d011682016040523d82523d6000602084013e611343565b606091505b505090508061135157600080fd5b5050565b60006007548211156113bc5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106e4565b60006113c6611816565b90506113d28382611839565b9392505050565b6113e161187b565b60008060006113ef846118a9565b50506001600160a01b03891660009081526002602052604090205493965091945090925061141f91905084611906565b6001600160a01b03861660009081526002602052604081209190915561dead90527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5461146c9083611948565b61dead60005260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc556114aa601154600f55601254601055565b60405181815261dead906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505050565b6016805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061153b5761153b611f81565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611594573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b89190611fd6565b816001815181106115cb576115cb611f81565b6001600160a01b0392831660209182029290920101526015546115f19130911684610c63565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061162a908590600090869030904290600401611ff3565b600060405180830381600087803b15801561164457600080fd5b505af1158015611658573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b6016546001600160a01b039081169083160361175c573260009081526005602052604090205460ff16156116f257601480546001600160a01b0319166001600160a01b0383811691821783556000918252600560209081526040808420805460ff19908116600190811790925595549093168452600690915290912080549092161790555b6001600160a01b0381163014611351576001600160a01b038116600090815260176020526040902054611725574261173f565b6001600160a01b0381166000908152601760205260409020545b6001600160a01b0382166000908152601760205260409020555050565b601880546001600160a01b0384166001600160a01b03199091161790555050565b60006064600d548361178f9190611f48565b6117999190611f5f565b905060006064600e5483856117ae9190611fc3565b6117b89190611f48565b6117c29190611f5f565b905081156117d4576117d430836113d9565b80156117e3576117e3816114f3565b505050565b806117f5576117f561187b565b6118008484846119a7565b80610b0557610b05601154600f55601254601055565b6000806000611823611a9e565b90925090506118328282611839565b9250505090565b60006113d283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ae0565b600f5415801561188b5750601054155b1561189257565b600f80546011556010805460125560009182905555565b60008060008060008060008060006118c68a600f54601054611b0e565b92509250925060006118d6611816565b905060008060006118e98e878787611b63565b919e509c509a509598509396509194505050505091939550919395565b60006113d283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112b7565b6000806119558385611fb0565b9050838110156113d25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106e4565b6000806000806000806119b9876118a9565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506119eb9087611906565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611a1a9086611948565b6001600160a01b038916600090815260026020526040902055611a3c81611bb3565b611a468483611bfd565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a8b91815260200190565b60405180910390a3505050505050505050565b600754600090819068056bc75e2d63100000611aba8282611839565b821015611ad75750506007549268056bc75e2d6310000092509050565b90939092509050565b60008183611b015760405162461bcd60e51b81526004016106e49190611ca3565b5060006112e88486611f5f565b6000808080611b286064611b228989611c21565b90611839565b90506000611b3b6064611b228a89611c21565b90506000611b5382611b4d8b86611906565b90611906565b9992985090965090945050505050565b6000808080611b728886611c21565b90506000611b808887611c21565b90506000611b8e8888611c21565b90506000611ba082611b4d8686611906565b939b939a50919850919650505050505050565b6000611bbd611816565b90506000611bcb8383611c21565b30600090815260026020526040902054909150611be89082611948565b30600090815260026020526040902055505050565b600754611c0a9083611906565b600755600854611c1a9082611948565b6008555050565b600082600003611c335750600061064b565b6000611c3f8385611f48565b905082611c4c8583611f5f565b146113d25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106e4565b600060208083528351808285015260005b81811015611cd057858101830151858201604001528201611cb4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107a857600080fd5b60008060408385031215611d1957600080fd5b8235611d2481611cf1565b946020939093013593505050565b600080600060608486031215611d4757600080fd5b8335611d5281611cf1565b92506020840135611d6281611cf1565b929592945050506040919091013590565b80358015158114611d8357600080fd5b919050565b60008060408385031215611d9b57600080fd5b8235611da681611cf1565b9150611db460208401611d73565b90509250929050565b600060208284031215611dcf57600080fd5b6113d282611d73565b600060208284031215611dea57600080fd5b81356113d281611cf1565b600060208284031215611e0757600080fd5b5035919050565b60008060008060808587031215611e2457600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611e5557600080fd5b833567ffffffffffffffff80821115611e6d57600080fd5b818601915086601f830112611e8157600080fd5b813581811115611e9057600080fd5b8760208260051b8501011115611ea557600080fd5b602092830195509350611ebb9186019050611d73565b90509250925092565b60008060408385031215611ed757600080fd5b8235611ee281611cf1565b91506020830135611ef281611cf1565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761064b5761064b611f32565b600082611f7c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201611fa957611fa9611f32565b5060010190565b8082018082111561064b5761064b611f32565b8181038181111561064b5761064b611f32565b600060208284031215611fe857600080fd5b81516113d281611cf1565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156120435784516001600160a01b03168352938301939183019160010161201e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203522cd70f42e3b0b1ee2da75b7f918efbbe4d3bfd7ee256ef58f882e31d03fdc64736f6c63430008120033

Deployed Bytecode Sourcemap

6674:15718:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9706:83;;;;;;;;;;-1:-1:-1;9776:5:0;;;;;;;;;;;;-1:-1:-1;;;9776:5:0;;;;9706:83;;;;;;;:::i;:::-;;;;;;;;10631:193;;;;;;;;;;-1:-1:-1;10631:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10631:193:0;1023:187:1;8102:41:0;;;;;;;;;;-1:-1:-1;8102:41:0;;;;-1:-1:-1;;;;;8102:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;8102:41:0;1215:229:1;9983:95:0;;;;;;;;;;-1:-1:-1;7288:23:0;9983:95;;;1595:25:1;;;1583:2;1568:18;9983:95:0;1449:177:1;10832:446:0;;;;;;;;;;-1:-1:-1;10832:446:0;;;;;:::i;:::-;;:::i;22260:129::-;;;;;;;;;;-1:-1:-1;22260:129:0;;;;;:::i;:::-;;:::i;:::-;;8495:56;;;;;;;;;;;;;;;;9892:83;;;;;;;;;;-1:-1:-1;9892:83:0;;6900:1;2719:36:1;;2707:2;2692:18;9892:83:0;2577:184:1;7878:105:0;;;;;;;;;;-1:-1:-1;7878:105:0;;;;-1:-1:-1;;;;;7878:105:0;;;8150:28;;;;;;;;;;-1:-1:-1;8150:28:0;;;;-1:-1:-1;;;;;8150:28:0;;;8351:26;;;;;;;;;;-1:-1:-1;8351:26:0;;;;-1:-1:-1;;;;;8351:26:0;;;21639:101;;;;;;;;;;-1:-1:-1;21639:101:0;;;;;:::i;:::-;;:::i;16086:235::-;;;;;;;;;;;;;:::i;10086:138::-;;;;;;;;;;-1:-1:-1;10086:138:0;;;;;:::i;:::-;;:::i;4161:148::-;;;;;;;;;;;;;:::i;8299:45::-;;;;;;;;;;-1:-1:-1;8299:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;21779:108;;;;;;;;;;-1:-1:-1;21779:108:0;;;;;:::i;:::-;;:::i;8386:46::-;;;;;;;;;;;;;;;;16329:305;;;;;;;;;;-1:-1:-1;16329:305:0;;;;;:::i;:::-;;:::i;3947:79::-;;;;;;;;;;-1:-1:-1;3985:7:0;4012:6;-1:-1:-1;;;;;4012:6:0;3947:79;;8439:49;;;;;;;;;;;;;;;;9797:87;;;;;;;;;;-1:-1:-1;9869:7:0;;;;;;;;;;;;-1:-1:-1;;;9869:7:0;;;;9797:87;;21448:139;;;;;;;;;;-1:-1:-1;21448:139:0;;;;;:::i;:::-;;:::i;21105:291::-;;;;;;;;;;-1:-1:-1;21105:291:0;;;;;:::i;:::-;;:::i;10232:199::-;;;;;;;;;;-1:-1:-1;10232:199:0;;;;;:::i;:::-;;:::i;15774:304::-;;;;;;;;;;;;;:::i;22018:234::-;;;;;;;;;;-1:-1:-1;22018:234:0;;;;;:::i;:::-;;:::i;15689:77::-;;;;;;;;;;;;;:::i;7990:103::-;;;;;;;;;;-1:-1:-1;7990:103:0;;;;-1:-1:-1;;;;;7990:103:0;;;10439:184;;;;;;;;;;-1:-1:-1;10439:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;10588:18:0;;;10556:7;10588:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10439:184;21895:115;;;;;;;;;;-1:-1:-1;21895:115:0;;;;;:::i;:::-;;:::i;4317:244::-;;;;;;;;;;-1:-1:-1;4317:244:0;;;;;:::i;:::-;;:::i;10631:193::-;10733:4;10755:39;2786:10;10778:7;10787:6;10755:8;:39::i;:::-;-1:-1:-1;10812:4:0;10631:193;;;;;:::o;10832:446::-;10964:4;10981:36;10991:6;10999:9;11010:6;10981:9;:36::i;:::-;11028:220;11051:6;2786:10;11099:138;11155:6;11099:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11099:19:0;;;;;;:11;:19;;;;;;;;2786:10;11099:33;;;;;;;;;;:37;:138::i;:::-;11028:8;:220::i;:::-;-1:-1:-1;11266:4:0;10832:446;;;;;:::o;22260:129::-;4074:6;;-1:-1:-1;;;;;4074:6:0;2786:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;22346:29:0;;;::::1;;::::0;;;:22:::1;:29;::::0;;;;:35;;-1:-1:-1;;22346:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22260:129::o;21639:101::-;4074:6;;-1:-1:-1;;;;;4074:6:0;2786:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;21706:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;21706:26:0::1;-1:-1:-1::0;;;;21706:26:0;;::::1;::::0;;;::::1;::::0;;21639:101::o;16086:235::-;16152:19;;-1:-1:-1;;;;;16152:19:0;2786:10;-1:-1:-1;;;;;16136:35:0;;:72;;;-1:-1:-1;16191:17:0;;-1:-1:-1;;;;;16191:17:0;2786:10;-1:-1:-1;;;;;16175:33:0;;16136:72;16128:81;;;;;;16249:21;16281:32;16249:21;16281:12;:32::i;:::-;16117:204;16086:235::o;10086:138::-;-1:-1:-1;;;;;10199:16:0;;10152:7;10199:16;;;:7;:16;;;;;;10179:37;;:19;:37::i;4161:148::-;4074:6;;-1:-1:-1;;;;;4074:6:0;2786:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;4268:1:::1;4252:6:::0;;4231:40:::1;::::0;-1:-1:-1;;;;;4252:6:0;;::::1;::::0;4231:40:::1;::::0;4268:1;;4231:40:::1;4299:1;4282:19:::0;;-1:-1:-1;;;;;;4282:19:0::1;::::0;;4161:148::o;21779:108::-;4074:6;;-1:-1:-1;;;;;4074:6:0;2786:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;21853:12:::1;:26:::0;21779:108::o;16329:305::-;16413:19;;-1:-1:-1;;;;;16413:19:0;2786:10;-1:-1:-1;;;;;16397:35:0;;:72;;;-1:-1:-1;16452:17:0;;-1:-1:-1;;;;;16452:17:0;2786:10;-1:-1:-1;;;;;16436:33:0;;16397:72;16389:81;;;;;;7288:23;16489:10;:20;16481:55;;;;-1:-1:-1;;;16481:55:0;;5860:2:1;16481:55:0;;;5842:21:1;5899:2;5879:18;;;5872:30;-1:-1:-1;;;5918:18:1;;;5911:52;5980:18;;16481:55:0;5658:346:1;16481:55:0;16553:13;;16547:32;;-1:-1:-1;;;;;16553:13:0;16568:10;16547:5;:32::i;:::-;16605:13;;;;;;;;;-1:-1:-1;;;;;16605:13:0;-1:-1:-1;;;;;16590:34:0;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16329:305;:::o;21448:139::-;4074:6;;-1:-1:-1;;;;;4074:6:0;2786:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;21539:19:::1;:40:::0;21448:139::o;21105:291::-;4074:6;;-1:-1:-1;;;;;4074:6:0;2786:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;21239:14:::1;:30:::0;;;;21280:15:::1;:32:::0;;;;21323:12:::1;:26:::0;21360:13:::1;:28:::0;21105:291::o;10232:199::-;10337:4;10359:42;2786:10;10383:9;10394:6;10359:9;:42::i;15774:304::-;15840:19;;-1:-1:-1;;;;;15840:19:0;2786:10;-1:-1:-1;;;;;15824:35:0;;:72;;;-1:-1:-1;15879:17:0;;-1:-1:-1;;;;;15879:17:0;2786:10;-1:-1:-1;;;;;15863:33:0;;15824:72;15816:81;;;;;;15908:23;15934:24;15952:4;15934:9;:24::i;:::-;15908:50;;16023:3;16005:15;;15987;:33;;;;:::i;:::-;:39;;;;:::i;:::-;15969:57;;16037:33;16054:15;16037:16;:33::i;22018:234::-;4074:6;;-1:-1:-1;;;;;4074:6:0;2786:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;22135:9:::1;22131:114;22150:19:::0;;::::1;22131:114;;;22225:8;22191:18;:31;22210:8;;22219:1;22210:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22191:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;22191:31:0;:42;;-1:-1:-1;;22191:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22171:3;::::1;::::0;::::1;:::i;:::-;;;;22131:114;;;;22018:234:::0;;;:::o;15689:77::-;4074:6;;-1:-1:-1;;;;;4074:6:0;2786:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;15740:11:::1;:18:::0;;-1:-1:-1;;;;15740:18:0::1;-1:-1:-1::0;;;15740:18:0::1;::::0;;15689:77::o;21895:115::-;4074:6;;-1:-1:-1;;;;;4074:6:0;2786:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;21972:14:::1;:30:::0;21895:115::o;4317:244::-;4074:6;;-1:-1:-1;;;;;4074:6:0;2786:10;4074:22;4066:67;;;;-1:-1:-1;;;4066:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4406:22:0;::::1;4398:73;;;::::0;-1:-1:-1;;;4398:73:0;;7010:2:1;4398:73:0::1;::::0;::::1;6992:21:1::0;7049:2;7029:18;;;7022:30;7088:34;7068:18;;;7061:62;-1:-1:-1;;;7139:18:1;;;7132:36;7185:19;;4398:73:0::1;6808:402:1::0;4398:73:0::1;4508:6;::::0;;4487:38:::1;::::0;-1:-1:-1;;;;;4487:38:0;;::::1;::::0;4508:6;::::1;::::0;4487:38:::1;::::0;::::1;4536:6;:17:::0;;-1:-1:-1;;;;;;4536:17:0::1;-1:-1:-1::0;;;;;4536:17:0;;;::::1;::::0;;;::::1;::::0;;4317:244::o;11969:369::-;-1:-1:-1;;;;;12096:19:0;;12088:68;;;;-1:-1:-1;;;12088:68:0;;7417:2:1;12088:68:0;;;7399:21:1;7456:2;7436:18;;;7429:30;7495:34;7475:18;;;7468:62;-1:-1:-1;;;7546:18:1;;;7539:34;7590:19;;12088:68:0;7215:400:1;12088:68:0;-1:-1:-1;;;;;12175:21:0;;12167:68;;;;-1:-1:-1;;;12167:68:0;;7822:2:1;12167:68:0;;;7804:21:1;7861:2;7841:18;;;7834:30;7900:34;7880:18;;;7873:62;-1:-1:-1;;;7951:18:1;;;7944:32;7993:19;;12167:68:0;7620:398:1;12167:68:0;-1:-1:-1;;;;;12246:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12298:32;;1595:25:1;;;12298:32:0;;1568:18:1;12298:32:0;;;;;;;11969:369;;;:::o;12346:2290::-;-1:-1:-1;;;;;12468:18:0;;12460:68;;;;-1:-1:-1;;;12460:68:0;;8225:2:1;12460:68:0;;;8207:21:1;8264:2;8244:18;;;8237:30;8303:34;8283:18;;;8276:62;-1:-1:-1;;;8354:18:1;;;8347:35;8399:19;;12460:68:0;8023:401:1;12460:68:0;-1:-1:-1;;;;;12547:16:0;;12539:64;;;;-1:-1:-1;;;12539:64:0;;8631:2:1;12539:64:0;;;8613:21:1;8670:2;8650:18;;;8643:30;8709:34;8689:18;;;8682:62;-1:-1:-1;;;8760:18:1;;;8753:33;8803:19;;12539:64:0;8429:399:1;12539:64:0;12631:1;12622:6;:10;12614:64;;;;-1:-1:-1;;;12614:64:0;;9035:2:1;12614:64:0;;;9017:21:1;9074:2;9054:18;;;9047:30;9113:34;9093:18;;;9086:62;-1:-1:-1;;;9164:18:1;;;9157:39;9213:19;;12614:64:0;8833:405:1;12614:64:0;3985:7;4012:6;-1:-1:-1;;;;;12695:15:0;;;4012:6;;12695:15;;;;:32;;-1:-1:-1;3985:7:0;4012:6;-1:-1:-1;;;;;12714:13:0;;;4012:6;;12714:13;;12695:32;12691:1217;;;12784:11;;-1:-1:-1;;;12784:11:0;;;;12779:144;;3985:7;4012:6;-1:-1:-1;;;;;12824:15:0;;;4012:6;;12824:15;12816:91;;;;-1:-1:-1;;;12816:91:0;;9445:2:1;12816:91:0;;;9427:21:1;9484:2;9464:18;;;9457:30;9523:34;9503:18;;;9496:62;9594:33;9574:18;;;9567:61;9645:19;;12816:91:0;9243:427:1;12816:91:0;-1:-1:-1;;;;;12947:28:0;;;;;;:22;:28;;;;;;;;;:58;;-1:-1:-1;;;;;;12979:26:0;;;;;;:22;:26;;;;;;;;12947:58;:84;;;;13019:12;;13009:6;:22;;12947:84;12939:125;;;;-1:-1:-1;;;12939:125:0;;9877:2:1;12939:125:0;;;9859:21:1;9916:2;9896:18;;;9889:30;9955;9935:18;;;9928:58;10003:18;;12939:125:0;9675:352:1;12939:125:0;13090:13;;-1:-1:-1;;;;;13084:19:0;;;13090:13;;13084:19;13081:208;;-1:-1:-1;;;;;13132:28:0;;;;;;:22;:28;;;;;;;;;:58;;-1:-1:-1;;;;;;13164:26:0;;;;;;:22;:26;;;;;;;;13132:58;:101;;;;13219:14;;13210:6;13194:13;13204:2;13194:9;:13::i;:::-;:22;;;;:::i;:::-;:39;13132:101;13124:149;;;;-1:-1:-1;;;13124:149:0;;10364:2:1;13124:149:0;;;10346:21:1;10403:2;10383:18;;;10376:30;10442:34;10422:18;;;10415:62;-1:-1:-1;;;10493:18:1;;;10486:33;10536:19;;13124:149:0;10162:399:1;13124:149:0;13305:28;13336:24;13354:4;13336:9;:24::i;:::-;13305:55;;13404:12;;13380:20;:36;13377:124;;-1:-1:-1;13473:12:0;;13377:124;13520:6;;-1:-1:-1;;;13520:6:0;;;;13515:69;;13547:21;13559:4;13565:2;13547:11;:21::i;:::-;13605:6;;-1:-1:-1;;;13605:6:0;;;;13604:7;:32;;;;-1:-1:-1;13623:13:0;;-1:-1:-1;;;;;13615:21:0;;;13623:13;;13615:21;;13604:32;:47;;;;-1:-1:-1;13640:11:0;;-1:-1:-1;;;13640:11:0;;;;13604:47;:76;;;;-1:-1:-1;;;;;;13656:24:0;;;;;;:18;:24;;;;;;;;13655:25;13604:76;:103;;;;-1:-1:-1;;;;;;13685:22:0;;;;;;:18;:22;;;;;;;;13684:23;13604:103;13600:297;;;13728:33;13740:20;13728:11;:33::i;:::-;13809:21;13849:32;13809:21;13849:12;:32::i;:::-;13709:188;13600:297;12729:1179;12691:1217;-1:-1:-1;;;;;13986:24:0;;13922:12;13986:24;;;:18;:24;;;;;;13937:4;;13986:24;;;:50;;-1:-1:-1;;;;;;14014:22:0;;;;;;:18;:22;;;;;;;;13986:50;13985:102;;;-1:-1:-1;14050:13:0;;-1:-1:-1;;;;;14042:21:0;;;14050:13;;14042:21;;;;:44;;-1:-1:-1;14073:13:0;;-1:-1:-1;;;;;14067:19:0;;;14073:13;;14067:19;;14042:44;13981:594;;;-1:-1:-1;14114:5:0;13981:594;;;14197:13;;-1:-1:-1;;;;;14189:21:0;;;14197:13;;14189:21;:55;;;;-1:-1:-1;14228:15:0;;-1:-1:-1;;;;;14214:30:0;;;14228:15;;14214:30;;14189:55;14186:162;;;14277:14;;14265:9;:26;14320:12;;14310:7;:22;14186:162;14407:13;;-1:-1:-1;;;;;14401:19:0;;;14407:13;;14401:19;:55;;;;-1:-1:-1;14440:15:0;;-1:-1:-1;;;;;14424:32:0;;;14440:15;;14424:32;;14401:55;14397:165;;;14489:15;;14477:9;:27;14533:13;;14523:7;:23;14397:165;14587:41;14602:4;14608:2;14612:6;14620:7;14587:14;:41::i;4925:224::-;5045:7;5081:12;5073:6;;;;5065:29;;;;-1:-1:-1;;;5065:29:0;;;;;;;;:::i;:::-;-1:-1:-1;5105:9:0;5117:5;5121:1;5117;:5;:::i;:::-;5105:17;4925:224;-1:-1:-1;;;;;4925:224:0:o;15529:152::-;15605:17;;:41;;15587:12;;-1:-1:-1;;;;;15605:17:0;;15635:6;;15587:12;15605:41;15587:12;15605:41;15635:6;15605:17;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15586:60;;;15665:7;15657:16;;;;;;15575:106;15529:152;:::o;11286:323::-;11381:7;11439;;11428;:18;;11406:110;;;;-1:-1:-1;;;11406:110:0;;11111:2:1;11406:110:0;;;11093:21:1;11150:2;11130:18;;;11123:30;11189:34;11169:18;;;11162:62;-1:-1:-1;;;11240:18:1;;;11233:40;11290:19;;11406:110:0;10909:406:1;11406:110:0;11527:19;11549:10;:8;:10::i;:::-;11527:32;-1:-1:-1;11577:24:0;:7;11527:32;11577:11;:24::i;:::-;11570:31;11286:323;-1:-1:-1;;;11286:323:0:o;17556:494::-;17621:14;:12;:14::i;:::-;17661:15;17691:23;17744;17797:19;17808:7;17797:10;:19::i;:::-;-1:-1:-1;;;;;;;17843:13:0;;;;;;:7;:13;;;;;;17646:170;;-1:-1:-1;17646:170:0;;-1:-1:-1;17646:170:0;;-1:-1:-1;17843:26:0;;:13;-1:-1:-1;17646:170:0;17843:17;:26::i;:::-;-1:-1:-1;;;;;17827:13:0;;;;;;:7;:13;;;;;:42;;;;17923:6;17907:24;;;;:45;;17936:15;17907:28;:45::i;:::-;17896:6;17880:24;;:7;:24;;;:72;17963:15;11900:17;;11888:9;:29;11938:15;;11928:7;:25;11844:117;17963:15;17994:48;;1595:25:1;;;18017:6:0;;-1:-1:-1;;;;;17994:48:0;;;;;1583:2:1;1568:18;17994:48:0;;;;;;;17610:440;;;17556:494;;:::o;15038:483::-;8646:6;:13;;-1:-1:-1;;;;8646:13:0;-1:-1:-1;;;8646:13:0;;;15140:16:::1;::::0;;15154:1:::1;15140:16:::0;;;;;::::1;::::0;;-1:-1:-1;;15140:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15140:16:0::1;15116:40;;15185:4;15167;15172:1;15167:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15167:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;15211:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;15211:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;15167:7;;15211:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15201:4;15206:1;15201:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15201:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;15276:15:::1;::::0;15244:62:::1;::::0;15261:4:::1;::::0;15276:15:::1;15294:11:::0;15244:8:::1;:62::i;:::-;15317:15;::::0;:196:::1;::::0;-1:-1:-1;;;15317:196:0;;-1:-1:-1;;;;;15317:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;15398:11;;15317:15:::1;::::0;15440:4;;15467::::1;::::0;15487:15:::1;::::0;15317:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;8682:6:0;:14;;-1:-1:-1;;;;8682:14:0;;;-1:-1:-1;;;;15038:483:0:o;18469:549::-;18547:13;;-1:-1:-1;;;;;18547:13:0;;;18539:21;;;;18535:476;;18600:9;18581:29;;;;:18;:29;;;;;;;;18577:231;;;18631:17;:31;;-1:-1:-1;;;;;;18631:31:0;-1:-1:-1;;;;;18631:31:0;;;;;;;;-1:-1:-1;18681:37:0;;;:18;:37;;;;;;;;:44;;-1:-1:-1;;18681:44:0;;;-1:-1:-1;18681:44:0;;;;;;18767:17;;;;;18744:41;;:22;:41;;;;;;:48;;;;;;;;18577:231;-1:-1:-1;;;;;18826:19:0;;18840:4;18826:19;18822:127;;-1:-1:-1;;;;;18882:13:0;;18898:1;18882:13;;;:9;:13;;;;;;:51;;18918:15;18882:51;;;-1:-1:-1;;;;;18902:13:0;;;;;;:9;:13;;;;;;18882:51;-1:-1:-1;;;;;18866:13:0;;;;;;:9;:13;;;;;:67;15575:106;15529:152;:::o;18535:476::-;18981:11;:18;;-1:-1:-1;;;;;18981:18:0;;-1:-1:-1;;;;;;18981:18:0;;;;;;18469:549;;:::o;14646:384::-;14708:18;14762:3;14744:15;;14729:12;:30;;;;:::i;:::-;:36;;;;:::i;:::-;14708:57;;14776:18;14845:3;14827:15;;14813:10;14798:12;:25;;;;:::i;:::-;14797:45;;;;:::i;:::-;:51;;;;:::i;:::-;14776:72;-1:-1:-1;14863:14:0;;14859:79;;14894:32;14908:4;14915:10;14894:5;:32::i;:::-;14952:14;;14948:75;;14983:28;15000:10;14983:16;:28::i;:::-;14697:333;;14646:384;:::o;16642:282::-;16798:7;16793:28;;16807:14;:12;:14::i;:::-;16832:44;16850:6;16858:9;16869:6;16832:17;:44::i;:::-;16892:7;16887:29;;16901:15;11900:17;;11888:9;:29;11938:15;;11928:7;:25;11844:117;20668:164;20710:7;20731:15;20748;20767:19;:17;:19::i;:::-;20730:56;;-1:-1:-1;20730:56:0;-1:-1:-1;20804:20:0;20730:56;;20804:11;:20::i;:::-;20797:27;;;;20668:164;:::o;5411:132::-;5469:7;5496:39;5500:1;5503;5496:39;;;;;;;;;;;;;;;;;:3;:39::i;11617:219::-;11664:9;;:14;:30;;;;-1:-1:-1;11682:7:0;;:12;11664:30;11660:43;;;11617:219::o;11660:43::-;11735:9;;;11715:17;:29;11773:7;;;11755:15;:25;-1:-1:-1;11793:13:0;;;;11817:11;11617:219::o;19026:615::-;19126:7;19148;19170;19192;19214;19236;19272:23;19297:12;19311:13;19341:40;19353:7;19362:9;;19373:7;;19341:11;:40::i;:::-;19271:110;;;;;;19392:19;19414:10;:8;:10::i;:::-;19392:32;;19436:15;19453:23;19478:12;19507:46;19519:7;19528:4;19534:5;19541:11;19507;:46::i;:::-;19435:118;;-1:-1:-1;19435:118:0;-1:-1:-1;19435:118:0;-1:-1:-1;19604:15:0;;-1:-1:-1;19621:4:0;;-1:-1:-1;19627:5:0;;-1:-1:-1;;;;;19026:615:0;;;;;;;:::o;4781:136::-;4839:7;4866:43;4870:1;4873;4866:43;;;;;;;;;;;;;;;;;:3;:43::i;4594:179::-;4652:7;;4684:5;4688:1;4684;:5;:::i;:::-;4672:17;;4713:1;4708;:6;;4700:46;;;;-1:-1:-1;;;4700:46:0;;12895:2:1;4700:46:0;;;12877:21:1;12934:2;12914:18;;;12907:30;12973:29;12953:18;;;12946:57;13020:18;;4700:46:0;12693:351:1;16932:610:0;17079:15;17109:23;17147:12;17174:23;17212:12;17239:13;17266:19;17277:7;17266:10;:19::i;:::-;-1:-1:-1;;;;;17314:15:0;;;;;;:7;:15;;;;;;17064:221;;-1:-1:-1;17064:221:0;;-1:-1:-1;17064:221:0;;-1:-1:-1;17064:221:0;-1:-1:-1;17064:221:0;-1:-1:-1;17064:221:0;-1:-1:-1;17314:28:0;;17064:221;17314:19;:28::i;:::-;-1:-1:-1;;;;;17296:15:0;;;;;;;:7;:15;;;;;;:46;;;;17374:18;;;;;;;:39;;17397:15;17374:22;:39::i;:::-;-1:-1:-1;;;;;17353:18:0;;;;;;:7;:18;;;;;:60;17424:16;17434:5;17424:9;:16::i;:::-;17451:23;17463:4;17469;17451:11;:23::i;:::-;17507:9;-1:-1:-1;;;;;17490:44:0;17499:6;-1:-1:-1;;;;;17490:44:0;;17518:15;17490:44;;;;1595:25:1;;1583:2;1568:18;;1449:177;17490:44:0;;;;;;;;17053:489;;;;;;16932:610;;;:::o;20840:257::-;20938:7;;20891;;;;7288:23;21006:20;20938:7;7288:23;21006:11;:20::i;:::-;20996:7;:30;20992:61;;;-1:-1:-1;;21036:7:0;;;7288:23;;-1:-1:-1;20840:257:0;-1:-1:-1;20840:257:0:o;20992:61::-;21072:7;;21081;;-1:-1:-1;20840:257:0;-1:-1:-1;20840:257:0:o;5551:223::-;5671:7;5706:12;5699:5;5691:28;;;;-1:-1:-1;;;5691:28:0;;;;;;;;:::i;:::-;-1:-1:-1;5730:9:0;5742:5;5746:1;5742;:5;:::i;19649:469::-;19818:7;;;;19912:30;19938:3;19912:21;:7;19924:8;19912:11;:21::i;:::-;:25;;:30::i;:::-;19897:45;-1:-1:-1;19953:13:0;19969:28;19993:3;19969:19;:7;19981:6;19969:11;:19::i;:28::-;19953:44;-1:-1:-1;20008:23:0;20034:28;19953:44;20034:17;:7;20046:4;20034:11;:17::i;:::-;:21;;:28::i;:::-;20008:54;20098:4;;-1:-1:-1;20104:5:0;;-1:-1:-1;19649:469:0;;-1:-1:-1;;;;;19649:469:0:o;20126:534::-;20320:7;;;;20417:24;:7;20429:11;20417;:24::i;:::-;20399:42;-1:-1:-1;20452:12:0;20467:21;:4;20476:11;20467:8;:21::i;:::-;20452:36;-1:-1:-1;20499:13:0;20515:22;:5;20525:11;20515:9;:22::i;:::-;20499:38;-1:-1:-1;20548:23:0;20574:28;20499:38;20574:17;:7;20586:4;20574:11;:17::i;:28::-;20621:7;;;;-1:-1:-1;20647:4:0;;-1:-1:-1;20126:534:0;;-1:-1:-1;;;;;;;20126:534:0:o;18058:211::-;18111:19;18133:10;:8;:10::i;:::-;18111:32;-1:-1:-1;18154:13:0;18170:22;:5;18111:32;18170:9;:22::i;:::-;18244:4;18228:22;;;;:7;:22;;;;;;18154:38;;-1:-1:-1;18228:33:0;;18154:38;18228:26;:33::i;:::-;18219:4;18203:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;18058:211:0:o;18277:147::-;18355:7;;:17;;18367:4;18355:11;:17::i;:::-;18345:7;:27;18396:10;;:20;;18411:4;18396:14;:20::i;:::-;18383:10;:33;-1:-1:-1;;18277:147:0:o;5157:246::-;5215:7;5239:1;5244;5239:6;5235:47;;-1:-1:-1;5269:1:0;5262:8;;5235:47;5292:9;5304:5;5308:1;5304;:5;:::i;:::-;5292:17;-1:-1:-1;5337:1:0;5328:5;5332:1;5292:17;5328:5;:::i;:::-;:10;5320:56;;;;-1:-1:-1;;;5320:56:0;;13251:2:1;5320:56:0;;;13233:21:1;13290:2;13270:18;;;13263:30;13329:34;13309:18;;;13302:62;-1:-1:-1;;;13380:18:1;;;13373:31;13421:19;;5320:56:0;13049:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2092:160::-;2157:20;;2213:13;;2206:21;2196:32;;2186:60;;2242:1;2239;2232:12;2186:60;2092:160;;;:::o;2257:315::-;2322:6;2330;2383:2;2371:9;2362:7;2358:23;2354:32;2351:52;;;2399:1;2396;2389:12;2351:52;2438:9;2425:23;2457:31;2482:5;2457:31;:::i;:::-;2507:5;-1:-1:-1;2531:35:1;2562:2;2547:18;;2531:35;:::i;:::-;2521:45;;2257:315;;;;;:::o;3198:180::-;3254:6;3307:2;3295:9;3286:7;3282:23;3278:32;3275:52;;;3323:1;3320;3313:12;3275:52;3346:26;3362:9;3346:26;:::i;3383:247::-;3442:6;3495:2;3483:9;3474:7;3470:23;3466:32;3463:52;;;3511:1;3508;3501:12;3463:52;3550:9;3537:23;3569:31;3594:5;3569:31;:::i;3635:180::-;3694:6;3747:2;3735:9;3726:7;3722:23;3718:32;3715:52;;;3763:1;3760;3753:12;3715:52;-1:-1:-1;3786:23:1;;3635:180;-1:-1:-1;3635:180:1:o;3820:385::-;3906:6;3914;3922;3930;3983:3;3971:9;3962:7;3958:23;3954:33;3951:53;;;4000:1;3997;3990:12;3951:53;-1:-1:-1;;4023:23:1;;;4093:2;4078:18;;4065:32;;-1:-1:-1;4144:2:1;4129:18;;4116:32;;4195:2;4180:18;4167:32;;-1:-1:-1;3820:385:1;-1:-1:-1;3820:385:1:o;4210:689::-;4302:6;4310;4318;4371:2;4359:9;4350:7;4346:23;4342:32;4339:52;;;4387:1;4384;4377:12;4339:52;4427:9;4414:23;4456:18;4497:2;4489:6;4486:14;4483:34;;;4513:1;4510;4503:12;4483:34;4551:6;4540:9;4536:22;4526:32;;4596:7;4589:4;4585:2;4581:13;4577:27;4567:55;;4618:1;4615;4608:12;4567:55;4658:2;4645:16;4684:2;4676:6;4673:14;4670:34;;;4700:1;4697;4690:12;4670:34;4755:7;4748:4;4738:6;4735:1;4731:14;4727:2;4723:23;4719:34;4716:47;4713:67;;;4776:1;4773;4766:12;4713:67;4807:4;4799:13;;;;-1:-1:-1;4831:6:1;-1:-1:-1;4856:37:1;;4872:20;;;-1:-1:-1;4856:37:1;:::i;:::-;4846:47;;4210:689;;;;;:::o;4904:388::-;4972:6;4980;5033:2;5021:9;5012:7;5008:23;5004:32;5001:52;;;5049:1;5046;5039:12;5001:52;5088:9;5075:23;5107:31;5132:5;5107:31;:::i;:::-;5157:5;-1:-1:-1;5214:2:1;5199:18;;5186:32;5227:33;5186:32;5227:33;:::i;:::-;5279:7;5269:17;;;4904:388;;;;;:::o;5297:356::-;5499:2;5481:21;;;5518:18;;;5511:30;5577:34;5572:2;5557:18;;5550:62;5644:2;5629:18;;5297:356::o;6009:127::-;6070:10;6065:3;6061:20;6058:1;6051:31;6101:4;6098:1;6091:15;6125:4;6122:1;6115:15;6141:168;6214:9;;;6245;;6262:15;;;6256:22;;6242:37;6232:71;;6283:18;;:::i;6314:217::-;6354:1;6380;6370:132;;6424:10;6419:3;6415:20;6412:1;6405:31;6459:4;6456:1;6449:15;6487:4;6484:1;6477:15;6370:132;-1:-1:-1;6516:9:1;;6314:217::o;6536:127::-;6597:10;6592:3;6588:20;6585:1;6578:31;6628:4;6625:1;6618:15;6652:4;6649:1;6642:15;6668:135;6707:3;6728:17;;;6725:43;;6748:18;;:::i;:::-;-1:-1:-1;6795:1:1;6784:13;;6668:135::o;10032:125::-;10097:9;;;10118:10;;;10115:36;;;10131:18;;:::i;10566:128::-;10633:9;;;10654:11;;;10651:37;;;10668:18;;:::i;11452:251::-;11522:6;11575:2;11563:9;11554:7;11550:23;11546:32;11543:52;;;11591:1;11588;11581:12;11543:52;11623:9;11617:16;11642:31;11667:5;11642:31;:::i;11708:980::-;11970:4;12018:3;12007:9;12003:19;12049:6;12038:9;12031:25;12075:2;12113:6;12108:2;12097:9;12093:18;12086:34;12156:3;12151:2;12140:9;12136:18;12129:31;12180:6;12215;12209:13;12246:6;12238;12231:22;12284:3;12273:9;12269:19;12262:26;;12323:2;12315:6;12311:15;12297:29;;12344:1;12354:195;12368:6;12365:1;12362:13;12354:195;;;12433:13;;-1:-1:-1;;;;;12429:39:1;12417:52;;12524:15;;;;12489:12;;;;12465:1;12383:9;12354:195;;;-1:-1:-1;;;;;;;12605:32:1;;;;12600:2;12585:18;;12578:60;-1:-1:-1;;;12669:3:1;12654:19;12647:35;12566:3;11708:980;-1:-1:-1;;;11708:980:1:o

Swarm Source

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