ETH Price: $3,335.51 (-0.24%)

Token

VamPepe (VEPE)
 

Overview

Max Total Supply

420,000,000 VEPE

Holders

70

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,617,459.999999999565 VEPE

Value
$0.00
0x559d0a8eecc55a1973946c998289c760edf92491
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:
VampirePepe

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/**
                    VamPepe | $VEPE

    A safe and hard-working team with several good projects before,
            as well as new innovations to be developed
                    Stay tuned!!

Telegram : https://t.me/VampirePepeEth
Twitter: https://twitter.com/VamPepeETH
Web: https://vampirepepe.xyz/ 
*/

pragma solidity 0.8.19;
pragma experimental ABIEncoderV2;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;
    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }


    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}


library SafeMath {
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }
 
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }


    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 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 (uint256);
    function balanceOf(address owner) external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 value) external returns (bool);
    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 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 (uint256);

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

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

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    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 (uint256);
    function price1CumulativeLast() external view returns (uint256);
    function kLast() external view returns (uint256);
    function mint(address to) external returns (uint256 liquidity);

    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

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

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

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

contract VampirePepe is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    address public constant deadAddress = address(0xdead);

    bool private swapping;

    address public immutable marketingWallet;

    uint256 public maxTransactionAmount;
    uint256 public swapTokensAtAmount;
    uint256 public maxWallet;

    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public swapEnabled = false;

    uint256 public buyFees;
    uint256 public sellFees;

    /******************/

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public _isExcludedMaxTransactionAmount;
    mapping(address => bool) public automatedMarketMakerPairs;

    event UpdateUniswapV2Router(
        address indexed newAddress,
        address indexed oldAddress
    );

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiquidity
    );

    constructor() ERC20("VamPepe","VEPE") {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        uint256 _buyFees = 13;
        uint256 _sellFees = 17;
        uint256 totalSupply = 420_000_000 * 1e18;

        maxTransactionAmount = (totalSupply * 1 ) / 100;
        maxWallet = (totalSupply * 2 ) / 100;
        swapTokensAtAmount =  (totalSupply * 1 ) / 1000;

        buyFees = _buyFees;
        sellFees = _sellFees;

        marketingWallet = address(0x75ff12B8567C780abC6B3B9c1FCD243Cb2c68B4C); 

        excludeFromFees(owner(), true);
        excludeFromFees(marketingWallet, true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);

        excludeFromMaxTransaction(owner(), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(0xdead), true);

        _mint(msg.sender, totalSupply);
    }

    receive() external payable {}


    function launch() public onlyOwner {
        tradingActive = true;
        swapEnabled = true;
    }
    
    // remove limits after token is stable
    function removeLimits() external onlyOwner returns (bool) {
        limitsInEffect = false;
        return true;
    }
    
    function reduceFees (uint256 _buyFees, uint256 _sellFees) external onlyOwner {
        buyFees = _buyFees ;
        sellFees = _sellFees ;
    }
    
    function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

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

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

        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function _transfer( address from, address to, uint256 amount) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");      

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0) &&
                to != address(0xdead) &&
                !swapping
            ) {
                if (!tradingActive) {
                    require(
                        _isExcludedFromFees[from] || _isExcludedFromFees[to],
                        "Trading is not active."
                    );
                }

                //when buy
                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to])
                    {require(
                         amount <= maxTransactionAmount,
                        "Buy transfer amount exceeds the maxTransactionAmount.");
                     require(
                        amount + balanceOf(to) <= maxWallet,
                        "Max wallet exceeded");
                }
                //when sell
                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) 
                    {require(
                        amount <= maxTransactionAmount,
                        "Sell transfer amount exceeds the maxTransactionAmount.");
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                     require(
                        amount + balanceOf(to) <= maxWallet,
                        "Max wallet exceeded");
                }
            }
        }

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

        if (
            canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] && !_isExcludedFromFees[to]
        ) {
            swapping = true;
            swapBack();
            swapping = false;
        }

        bool takeFee = !swapping;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        // only take fees on buys/sells, do not take on wallet transfers
        if (takeFee) {
            // on sell
            if (automatedMarketMakerPairs[to] && sellFees > 0) {
                fees = amount.mul(sellFees).div(100);
            }

            // on buy
            else if (automatedMarketMakerPairs[from] && buyFees > 0) {
                fees = amount.mul(buyFees).div(100);
            }
            
            if (fees > 0) {                              
                super._transfer(from, address(this), fees);            
            }

            amount -= fees;
        }

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

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        bool success;

        if  (contractBalance == 0) {
            return;}

        if  (contractBalance > swapTokensAtAmount * 10 ) {
             contractBalance = swapTokensAtAmount * 10;}

        uint256 amountToSwapForETH = contractBalance;
        swapTokensForEth(amountToSwapForETH);

        (success, ) = address(marketingWallet).call{ value: address(this).balance}("");
    }
}

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":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"_buyFees","type":"uint256"},{"internalType":"uint256","name":"_sellFees","type":"uint256"}],"name":"reduceFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"}]

60e06040526009805462ffffff191660011790553480156200002057600080fd5b506040518060400160405280600781526020016656616d5065706560c81b815250604051806040016040528060048152602001635645504560e01b81525081600390816200006f9190620006c7565b5060046200007e8282620006c7565b5050506200009b620000956200036b60201b60201c565b6200036f565b737a250d5630b4cf539739df2c5dacb4c659f2488d620000bd816001620003c1565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000108573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012e919062000793565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a2919062000793565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000216919062000793565b6001600160a01b031660a081905262000231906001620003c1565b60a051620002419060016200043b565b600d60116b015b6a759f4835dc24000000606462000261826001620007db565b6200026d9190620007fb565b60065560646200027f826002620007db565b6200028b9190620007fb565b6008556103e86200029e826001620007db565b620002aa9190620007fb565b600755600a839055600b8290557375ff12b8567c780abc6b3b9c1fcd243cb2c68b4c60c052620002ee620002e66005546001600160a01b031690565b60016200048f565b60c051620002fe9060016200048f565b6200030b3060016200048f565b6200031a61dead60016200048f565b62000339620003316005546001600160a01b031690565b6001620003c1565b62000346306001620003c1565b6200035561dead6001620003c1565b62000361338262000539565b5050505062000834565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314620004105760405162461bcd60e51b815260206004820181905260248201526000805160206200245b83398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6001600160a01b0382166000818152600e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b03163314620004da5760405162461bcd60e51b815260206004820181905260248201526000805160206200245b833981519152604482015260640162000407565b6001600160a01b0382166000818152600c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620005915760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000407565b8060026000828254620005a591906200081e565b90915550506001600160a01b03821660009081526020819052604081208054839290620005d49084906200081e565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200064e57607f821691505b6020821081036200066f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200061e57600081815260208120601f850160051c810160208610156200069e5750805b601f850160051c820191505b81811015620006bf57828155600101620006aa565b505050505050565b81516001600160401b03811115620006e357620006e362000623565b620006fb81620006f4845462000639565b8462000675565b602080601f8311600181146200073357600084156200071a5750858301515b600019600386901b1c1916600185901b178555620006bf565b600085815260208120601f198616915b82811015620007645788860151825594840194600190910190840162000743565b5085821015620007835787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620007a657600080fd5b81516001600160a01b0381168114620007be57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620007f557620007f5620007c5565b92915050565b6000826200081957634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620007f557620007f5620007c5565b60805160a05160c051611bd462000887600039600081816104cc01526115d30152600081816103a501526109bc0152600081816102c8015281816116b20152818161176b01526117a70152611bd46000f3fe6080604052600436106102085760003560e01c80637571336a11610118578063bbc0c742116100a0578063e0f3ccf51161006f578063e0f3ccf51461066c578063e2f4560514610682578063e4748b9e14610698578063f2fde38b146106ae578063f8b45b05146106ce57600080fd5b8063bbc0c742146105d1578063c0246668146105f0578063c8c8ebe414610610578063dd62ed3e1461062657600080fd5b80639a7a23d6116100e75780639a7a23d614610521578063a08fc5c714610541578063a457c2d714610561578063a9059cbb14610581578063b62496f5146105a157600080fd5b80637571336a1461049a57806375f0a874146104ba5780638da5cb5b146104ee57806395d89b411461050c57600080fd5b8063313ce5671161019b5780634fbee1931161016a5780634fbee193146103e15780636ddd17131461041a57806370a082311461043a578063715018a614610470578063751039fc1461048557600080fd5b8063313ce56714610357578063395093511461037357806349bd5a5e146103935780634a62bb65146103c757600080fd5b80631694505e116101d75780631694505e146102b657806318160ddd1461030257806323b872dd1461032157806327c8f8351461034157600080fd5b806301339c211461021457806306fdde031461022b578063095ea7b31461025657806310d5de531461028657600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b506102296106e4565b005b34801561023757600080fd5b5061024061072a565b60405161024d9190611813565b60405180910390f35b34801561026257600080fd5b50610276610271366004611876565b6107bc565b604051901515815260200161024d565b34801561029257600080fd5b506102766102a13660046118a2565b600d6020526000908152604090205460ff1681565b3480156102c257600080fd5b506102ea7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161024d565b34801561030e57600080fd5b506002545b60405190815260200161024d565b34801561032d57600080fd5b5061027661033c3660046118bf565b6107d3565b34801561034d57600080fd5b506102ea61dead81565b34801561036357600080fd5b506040516012815260200161024d565b34801561037f57600080fd5b5061027661038e366004611876565b61087d565b34801561039f57600080fd5b506102ea7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d357600080fd5b506009546102769060ff1681565b3480156103ed57600080fd5b506102766103fc3660046118a2565b6001600160a01b03166000908152600c602052604090205460ff1690565b34801561042657600080fd5b506009546102769062010000900460ff1681565b34801561044657600080fd5b506103136104553660046118a2565b6001600160a01b031660009081526020819052604090205490565b34801561047c57600080fd5b506102296108b9565b34801561049157600080fd5b506102766108ef565b3480156104a657600080fd5b506102296104b5366004611900565b61092c565b3480156104c657600080fd5b506102ea7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104fa57600080fd5b506005546001600160a01b03166102ea565b34801561051857600080fd5b50610240610981565b34801561052d57600080fd5b5061022961053c366004611900565b610990565b34801561054d57600080fd5b5061022961055c36600461193e565b610a6f565b34801561056d57600080fd5b5061027661057c366004611876565b610aa4565b34801561058d57600080fd5b5061027661059c366004611876565b610b3d565b3480156105ad57600080fd5b506102766105bc3660046118a2565b600e6020526000908152604090205460ff1681565b3480156105dd57600080fd5b5060095461027690610100900460ff1681565b3480156105fc57600080fd5b5061022961060b366004611900565b610b4a565b34801561061c57600080fd5b5061031360065481565b34801561063257600080fd5b50610313610641366004611960565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561067857600080fd5b50610313600b5481565b34801561068e57600080fd5b5061031360075481565b3480156106a457600080fd5b50610313600a5481565b3480156106ba57600080fd5b506102296106c93660046118a2565b610bd3565b3480156106da57600080fd5b5061031360085481565b6005546001600160a01b031633146107175760405162461bcd60e51b815260040161070e9061198e565b60405180910390fd5b6009805462ffff00191662010100179055565b606060038054610739906119c3565b80601f0160208091040260200160405190810160405280929190818152602001828054610765906119c3565b80156107b25780601f10610787576101008083540402835291602001916107b2565b820191906000526020600020905b81548152906001019060200180831161079557829003601f168201915b5050505050905090565b60006107c9338484610c6e565b5060015b92915050565b60006107e0848484610d92565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156108655760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161070e565b6108728533858403610c6e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107c99185906108b4908690611a13565b610c6e565b6005546001600160a01b031633146108e35760405162461bcd60e51b815260040161070e9061198e565b6108ed600061137f565b565b6005546000906001600160a01b0316331461091c5760405162461bcd60e51b815260040161070e9061198e565b506009805460ff19169055600190565b6005546001600160a01b031633146109565760405162461bcd60e51b815260040161070e9061198e565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b606060048054610739906119c3565b6005546001600160a01b031633146109ba5760405162461bcd60e51b815260040161070e9061198e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610a615760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161070e565b610a6b82826113d1565b5050565b6005546001600160a01b03163314610a995760405162461bcd60e51b815260040161070e9061198e565b600a91909155600b55565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610b265760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161070e565b610b333385858403610c6e565b5060019392505050565b60006107c9338484610d92565b6005546001600160a01b03163314610b745760405162461bcd60e51b815260040161070e9061198e565b6001600160a01b0382166000818152600c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610bfd5760405162461bcd60e51b815260040161070e9061198e565b6001600160a01b038116610c625760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161070e565b610c6b8161137f565b50565b6001600160a01b038316610cd05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161070e565b6001600160a01b038216610d315760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161070e565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610db85760405162461bcd60e51b815260040161070e90611a26565b6001600160a01b038216610dde5760405162461bcd60e51b815260040161070e90611a6b565b80600003610df757610df283836000611425565b505050565b60095460ff161561116d576005546001600160a01b03848116911614801590610e2e57506005546001600160a01b03838116911614155b8015610e4257506001600160a01b03821615155b8015610e5957506001600160a01b03821661dead14155b8015610e6f5750600554600160a01b900460ff16155b1561116d57600954610100900460ff16610f07576001600160a01b0383166000908152600c602052604090205460ff1680610ec257506001600160a01b0382166000908152600c602052604090205460ff165b610f075760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161070e565b6001600160a01b0383166000908152600e602052604090205460ff168015610f4857506001600160a01b0382166000908152600d602052604090205460ff16155b1561102c57600654811115610fbd5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161070e565b6008546001600160a01b038316600090815260208190526040902054610fe39083611a13565b11156110275760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161070e565b61116d565b6001600160a01b0382166000908152600e602052604090205460ff16801561106d57506001600160a01b0383166000908152600d602052604090205460ff16155b156110e3576006548111156110275760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161070e565b6001600160a01b0382166000908152600d602052604090205460ff1661116d576008546001600160a01b0383166000908152602081905260409020546111299083611a13565b111561116d5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161070e565b3060009081526020819052604090205460075481108015908190611199575060095462010000900460ff165b80156111af5750600554600160a01b900460ff16155b80156111d457506001600160a01b0385166000908152600e602052604090205460ff16155b80156111f957506001600160a01b0385166000908152600c602052604090205460ff16155b801561121e57506001600160a01b0384166000908152600c602052604090205460ff16155b1561124c576005805460ff60a01b1916600160a01b17905561123e61157a565b6005805460ff60a01b191690555b6005546001600160a01b0386166000908152600c602052604090205460ff600160a01b90920482161591168061129a57506001600160a01b0385166000908152600c602052604090205460ff165b156112a3575060005b6000811561136b576001600160a01b0386166000908152600e602052604090205460ff1680156112d557506000600b54115b15611301576112fa60646112f4600b548861163c90919063ffffffff16565b9061164f565b905061134d565b6001600160a01b0387166000908152600e602052604090205460ff16801561132b57506000600a54115b1561134d5761134a60646112f4600a548861163c90919063ffffffff16565b90505b801561135e5761135e873083611425565b6113688186611aae565b94505b611376878787611425565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000818152600e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b03831661144b5760405162461bcd60e51b815260040161070e90611a26565b6001600160a01b0382166114715760405162461bcd60e51b815260040161070e90611a6b565b6001600160a01b038316600090815260208190526040902054818110156114e95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161070e565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611520908490611a13565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161156c91815260200190565b60405180910390a350505050565b3060009081526020819052604081205490818103611596575050565b6007546115a490600a611ac1565b8211156115bc576007546115b990600a611ac1565b91505b816115c68161165b565b6040516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016904790600081818185875af1925050503d806000811461162f576040519150601f19603f3d011682016040523d82523d6000602084013e611634565b606091505b505050505050565b60006116488284611ac1565b9392505050565b60006116488284611ad8565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061169057611690611afa565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561170e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117329190611b10565b8160018151811061174557611745611afa565b60200260200101906001600160a01b031690816001600160a01b031681525050611790307f000000000000000000000000000000000000000000000000000000000000000084610c6e565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906117e5908590600090869030904290600401611b2d565b600060405180830381600087803b1580156117ff57600080fd5b505af1158015611634573d6000803e3d6000fd5b600060208083528351808285015260005b8181101561184057858101830151858201604001528201611824565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c6b57600080fd5b6000806040838503121561188957600080fd5b823561189481611861565b946020939093013593505050565b6000602082840312156118b457600080fd5b813561164881611861565b6000806000606084860312156118d457600080fd5b83356118df81611861565b925060208401356118ef81611861565b929592945050506040919091013590565b6000806040838503121561191357600080fd5b823561191e81611861565b91506020830135801515811461193357600080fd5b809150509250929050565b6000806040838503121561195157600080fd5b50508035926020909101359150565b6000806040838503121561197357600080fd5b823561197e81611861565b9150602083013561193381611861565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c908216806119d757607f821691505b6020821081036119f757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156107cd576107cd6119fd565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156107cd576107cd6119fd565b80820281158282048414176107cd576107cd6119fd565b600082611af557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611b2257600080fd5b815161164881611861565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b7d5784516001600160a01b031683529383019391830191600101611b58565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122095f95b08ae003d259ddfc8f369b86b21d589a1fdd34d97bfc745f763eb4c6c2d64736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572

Deployed Bytecode

0x6080604052600436106102085760003560e01c80637571336a11610118578063bbc0c742116100a0578063e0f3ccf51161006f578063e0f3ccf51461066c578063e2f4560514610682578063e4748b9e14610698578063f2fde38b146106ae578063f8b45b05146106ce57600080fd5b8063bbc0c742146105d1578063c0246668146105f0578063c8c8ebe414610610578063dd62ed3e1461062657600080fd5b80639a7a23d6116100e75780639a7a23d614610521578063a08fc5c714610541578063a457c2d714610561578063a9059cbb14610581578063b62496f5146105a157600080fd5b80637571336a1461049a57806375f0a874146104ba5780638da5cb5b146104ee57806395d89b411461050c57600080fd5b8063313ce5671161019b5780634fbee1931161016a5780634fbee193146103e15780636ddd17131461041a57806370a082311461043a578063715018a614610470578063751039fc1461048557600080fd5b8063313ce56714610357578063395093511461037357806349bd5a5e146103935780634a62bb65146103c757600080fd5b80631694505e116101d75780631694505e146102b657806318160ddd1461030257806323b872dd1461032157806327c8f8351461034157600080fd5b806301339c211461021457806306fdde031461022b578063095ea7b31461025657806310d5de531461028657600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b506102296106e4565b005b34801561023757600080fd5b5061024061072a565b60405161024d9190611813565b60405180910390f35b34801561026257600080fd5b50610276610271366004611876565b6107bc565b604051901515815260200161024d565b34801561029257600080fd5b506102766102a13660046118a2565b600d6020526000908152604090205460ff1681565b3480156102c257600080fd5b506102ea7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161024d565b34801561030e57600080fd5b506002545b60405190815260200161024d565b34801561032d57600080fd5b5061027661033c3660046118bf565b6107d3565b34801561034d57600080fd5b506102ea61dead81565b34801561036357600080fd5b506040516012815260200161024d565b34801561037f57600080fd5b5061027661038e366004611876565b61087d565b34801561039f57600080fd5b506102ea7f000000000000000000000000dc2aebff30663b55d22d07d0680c4eef25b52b9481565b3480156103d357600080fd5b506009546102769060ff1681565b3480156103ed57600080fd5b506102766103fc3660046118a2565b6001600160a01b03166000908152600c602052604090205460ff1690565b34801561042657600080fd5b506009546102769062010000900460ff1681565b34801561044657600080fd5b506103136104553660046118a2565b6001600160a01b031660009081526020819052604090205490565b34801561047c57600080fd5b506102296108b9565b34801561049157600080fd5b506102766108ef565b3480156104a657600080fd5b506102296104b5366004611900565b61092c565b3480156104c657600080fd5b506102ea7f00000000000000000000000075ff12b8567c780abc6b3b9c1fcd243cb2c68b4c81565b3480156104fa57600080fd5b506005546001600160a01b03166102ea565b34801561051857600080fd5b50610240610981565b34801561052d57600080fd5b5061022961053c366004611900565b610990565b34801561054d57600080fd5b5061022961055c36600461193e565b610a6f565b34801561056d57600080fd5b5061027661057c366004611876565b610aa4565b34801561058d57600080fd5b5061027661059c366004611876565b610b3d565b3480156105ad57600080fd5b506102766105bc3660046118a2565b600e6020526000908152604090205460ff1681565b3480156105dd57600080fd5b5060095461027690610100900460ff1681565b3480156105fc57600080fd5b5061022961060b366004611900565b610b4a565b34801561061c57600080fd5b5061031360065481565b34801561063257600080fd5b50610313610641366004611960565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561067857600080fd5b50610313600b5481565b34801561068e57600080fd5b5061031360075481565b3480156106a457600080fd5b50610313600a5481565b3480156106ba57600080fd5b506102296106c93660046118a2565b610bd3565b3480156106da57600080fd5b5061031360085481565b6005546001600160a01b031633146107175760405162461bcd60e51b815260040161070e9061198e565b60405180910390fd5b6009805462ffff00191662010100179055565b606060038054610739906119c3565b80601f0160208091040260200160405190810160405280929190818152602001828054610765906119c3565b80156107b25780601f10610787576101008083540402835291602001916107b2565b820191906000526020600020905b81548152906001019060200180831161079557829003601f168201915b5050505050905090565b60006107c9338484610c6e565b5060015b92915050565b60006107e0848484610d92565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156108655760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161070e565b6108728533858403610c6e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107c99185906108b4908690611a13565b610c6e565b6005546001600160a01b031633146108e35760405162461bcd60e51b815260040161070e9061198e565b6108ed600061137f565b565b6005546000906001600160a01b0316331461091c5760405162461bcd60e51b815260040161070e9061198e565b506009805460ff19169055600190565b6005546001600160a01b031633146109565760405162461bcd60e51b815260040161070e9061198e565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b606060048054610739906119c3565b6005546001600160a01b031633146109ba5760405162461bcd60e51b815260040161070e9061198e565b7f000000000000000000000000dc2aebff30663b55d22d07d0680c4eef25b52b946001600160a01b0316826001600160a01b031603610a615760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161070e565b610a6b82826113d1565b5050565b6005546001600160a01b03163314610a995760405162461bcd60e51b815260040161070e9061198e565b600a91909155600b55565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610b265760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161070e565b610b333385858403610c6e565b5060019392505050565b60006107c9338484610d92565b6005546001600160a01b03163314610b745760405162461bcd60e51b815260040161070e9061198e565b6001600160a01b0382166000818152600c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610bfd5760405162461bcd60e51b815260040161070e9061198e565b6001600160a01b038116610c625760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161070e565b610c6b8161137f565b50565b6001600160a01b038316610cd05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161070e565b6001600160a01b038216610d315760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161070e565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610db85760405162461bcd60e51b815260040161070e90611a26565b6001600160a01b038216610dde5760405162461bcd60e51b815260040161070e90611a6b565b80600003610df757610df283836000611425565b505050565b60095460ff161561116d576005546001600160a01b03848116911614801590610e2e57506005546001600160a01b03838116911614155b8015610e4257506001600160a01b03821615155b8015610e5957506001600160a01b03821661dead14155b8015610e6f5750600554600160a01b900460ff16155b1561116d57600954610100900460ff16610f07576001600160a01b0383166000908152600c602052604090205460ff1680610ec257506001600160a01b0382166000908152600c602052604090205460ff165b610f075760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161070e565b6001600160a01b0383166000908152600e602052604090205460ff168015610f4857506001600160a01b0382166000908152600d602052604090205460ff16155b1561102c57600654811115610fbd5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161070e565b6008546001600160a01b038316600090815260208190526040902054610fe39083611a13565b11156110275760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161070e565b61116d565b6001600160a01b0382166000908152600e602052604090205460ff16801561106d57506001600160a01b0383166000908152600d602052604090205460ff16155b156110e3576006548111156110275760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161070e565b6001600160a01b0382166000908152600d602052604090205460ff1661116d576008546001600160a01b0383166000908152602081905260409020546111299083611a13565b111561116d5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161070e565b3060009081526020819052604090205460075481108015908190611199575060095462010000900460ff165b80156111af5750600554600160a01b900460ff16155b80156111d457506001600160a01b0385166000908152600e602052604090205460ff16155b80156111f957506001600160a01b0385166000908152600c602052604090205460ff16155b801561121e57506001600160a01b0384166000908152600c602052604090205460ff16155b1561124c576005805460ff60a01b1916600160a01b17905561123e61157a565b6005805460ff60a01b191690555b6005546001600160a01b0386166000908152600c602052604090205460ff600160a01b90920482161591168061129a57506001600160a01b0385166000908152600c602052604090205460ff165b156112a3575060005b6000811561136b576001600160a01b0386166000908152600e602052604090205460ff1680156112d557506000600b54115b15611301576112fa60646112f4600b548861163c90919063ffffffff16565b9061164f565b905061134d565b6001600160a01b0387166000908152600e602052604090205460ff16801561132b57506000600a54115b1561134d5761134a60646112f4600a548861163c90919063ffffffff16565b90505b801561135e5761135e873083611425565b6113688186611aae565b94505b611376878787611425565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000818152600e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b03831661144b5760405162461bcd60e51b815260040161070e90611a26565b6001600160a01b0382166114715760405162461bcd60e51b815260040161070e90611a6b565b6001600160a01b038316600090815260208190526040902054818110156114e95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161070e565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611520908490611a13565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161156c91815260200190565b60405180910390a350505050565b3060009081526020819052604081205490818103611596575050565b6007546115a490600a611ac1565b8211156115bc576007546115b990600a611ac1565b91505b816115c68161165b565b6040516001600160a01b037f00000000000000000000000075ff12b8567c780abc6b3b9c1fcd243cb2c68b4c16904790600081818185875af1925050503d806000811461162f576040519150601f19603f3d011682016040523d82523d6000602084013e611634565b606091505b505050505050565b60006116488284611ac1565b9392505050565b60006116488284611ad8565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061169057611690611afa565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561170e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117329190611b10565b8160018151811061174557611745611afa565b60200260200101906001600160a01b031690816001600160a01b031681525050611790307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610c6e565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906117e5908590600090869030904290600401611b2d565b600060405180830381600087803b1580156117ff57600080fd5b505af1158015611634573d6000803e3d6000fd5b600060208083528351808285015260005b8181101561184057858101830151858201604001528201611824565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c6b57600080fd5b6000806040838503121561188957600080fd5b823561189481611861565b946020939093013593505050565b6000602082840312156118b457600080fd5b813561164881611861565b6000806000606084860312156118d457600080fd5b83356118df81611861565b925060208401356118ef81611861565b929592945050506040919091013590565b6000806040838503121561191357600080fd5b823561191e81611861565b91506020830135801515811461193357600080fd5b809150509250929050565b6000806040838503121561195157600080fd5b50508035926020909101359150565b6000806040838503121561197357600080fd5b823561197e81611861565b9150602083013561193381611861565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c908216806119d757607f821691505b6020821081036119f757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156107cd576107cd6119fd565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156107cd576107cd6119fd565b80820281158282048414176107cd576107cd6119fd565b600082611af557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611b2257600080fd5b815161164881611861565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b7d5784516001600160a01b031683529383019391830191600101611b58565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122095f95b08ae003d259ddfc8f369b86b21d589a1fdd34d97bfc745f763eb4c6c2d64736f6c63430008130033

Deployed Bytecode Sourcemap

15436:8195:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18131:103;;;;;;;;;;;;;:::i;:::-;;2954:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3685:169;;;;;;;;;;-1:-1:-1;3685:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;3685:169:0;1023:187:1;16144:63:0;;;;;;;;;;-1:-1:-1;16144:63:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15517:51;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1658:32:1;;;1640:51;;1628:2;1613:18;15517:51:0;1467:230:1;3275:108:0;;;;;;;;;;-1:-1:-1;3363:12:0;;3275:108;;;1848:25:1;;;1836:2;1821:18;3275:108:0;1702:177:1;4045:492:0;;;;;;;;;;-1:-1:-1;4045:492:0;;;;;:::i;:::-;;:::i;15620:53::-;;;;;;;;;;;;15666:6;15620:53;;3174:93;;;;;;;;;;-1:-1:-1;3174:93:0;;3257:2;2695:36:1;;2683:2;2668:18;3174:93:0;2553:184:1;4545:215:0;;;;;;;;;;-1:-1:-1;4545:215:0;;;;;:::i;:::-;;:::i;15575:38::-;;;;;;;;;;;;;;;15876:33;;;;;;;;;;-1:-1:-1;15876:33:0;;;;;;;;18924:126;;;;;;;;;;-1:-1:-1;18924:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;19014:28:0;18990:4;19014:28;;;:19;:28;;;;;;;;;18924:126;15956:31;;;;;;;;;;-1:-1:-1;15956:31:0;;;;;;;;;;;3391:127;;;;;;;;;;-1:-1:-1;3391:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3492:18:0;3465:7;3492:18;;;;;;;;;;;;3391:127;1131:103;;;;;;;;;;;;;:::i;18290:121::-;;;;;;;;;;;;;:::i;18582:144::-;;;;;;;;;;-1:-1:-1;18582:144:0;;;;;:::i;:::-;;:::i;15712:40::-;;;;;;;;;;;;;;;908:87;;;;;;;;;;-1:-1:-1;981:6:0;;-1:-1:-1;;;;;981:6:0;908:87;;3062:104;;;;;;;;;;;;;:::i;19058:240::-;;;;;;;;;;-1:-1:-1;19058:240:0;;;;;:::i;:::-;;:::i;18423:147::-;;;;;;;;;;-1:-1:-1;18423:147:0;;;;;:::i;:::-;;:::i;4768:413::-;;;;;;;;;;-1:-1:-1;4768:413:0;;;;;:::i;:::-;;:::i;3862:175::-;;;;;;;;;;-1:-1:-1;3862:175:0;;;;;:::i;:::-;;:::i;16214:57::-;;;;;;;;;;-1:-1:-1;16214:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15916:33;;;;;;;;;;-1:-1:-1;15916:33:0;;;;;;;;;;;18734:182;;;;;;;;;;-1:-1:-1;18734:182:0;;;;;:::i;:::-;;:::i;15761:35::-;;;;;;;;;;;;;;;;3526:151;;;;;;;;;;-1:-1:-1;3526:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;3642:18:0;;;3615:7;3642:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3526:151;16025:23;;;;;;;;;;;;;;;;15803:33;;;;;;;;;;;;;;;;15996:22;;;;;;;;;;;;;;;;1242:201;;;;;;;;;;-1:-1:-1;1242:201:0;;;;;:::i;:::-;;:::i;15843:24::-;;;;;;;;;;;;;;;;18131:103;981:6;;-1:-1:-1;;;;;981:6:0;534:10;1043:23;1035:68;;;;-1:-1:-1;;;1035:68:0;;;;;;;:::i;:::-;;;;;;;;;18177:13:::1;:20:::0;;-1:-1:-1;;18208:18:0;;;;;18131:103::o;2954:100::-;3008:13;3041:5;3034:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2954:100;:::o;3685:169::-;3768:4;3785:39;534:10;3808:7;3817:6;3785:8;:39::i;:::-;-1:-1:-1;3842:4:0;3685:169;;;;;:::o;4045:492::-;4185:4;4202:36;4212:6;4220:9;4231:6;4202:9;:36::i;:::-;-1:-1:-1;;;;;4278:19:0;;4251:24;4278:19;;;:11;:19;;;;;;;;534:10;4278:33;;;;;;;;4330:26;;;;4322:79;;;;-1:-1:-1;;;4322:79:0;;4757:2:1;4322:79:0;;;4739:21:1;4796:2;4776:18;;;4769:30;4835:34;4815:18;;;4808:62;-1:-1:-1;;;4886:18:1;;;4879:38;4934:19;;4322:79:0;4555:404:1;4322:79:0;4437:57;4446:6;534:10;4487:6;4468:16;:25;4437:8;:57::i;:::-;-1:-1:-1;4525:4:0;;4045:492;-1:-1:-1;;;;4045:492:0:o;4545:215::-;534:10;4633:4;4682:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4682:34:0;;;;;;;;;;4633:4;;4650:80;;4673:7;;4682:47;;4719:10;;4682:47;:::i;:::-;4650:8;:80::i;1131:103::-;981:6;;-1:-1:-1;;;;;981:6:0;534:10;1043:23;1035:68;;;;-1:-1:-1;;;1035:68:0;;;;;;;:::i;:::-;1196:30:::1;1223:1;1196:18;:30::i;:::-;1131:103::o:0;18290:121::-;981:6;;18342:4;;-1:-1:-1;;;;;981:6:0;534:10;1043:23;1035:68;;;;-1:-1:-1;;;1035:68:0;;;;;;;:::i;:::-;-1:-1:-1;18359:14:0::1;:22:::0;;-1:-1:-1;;18359:22:0::1;::::0;;;18290:121;:::o;18582:144::-;981:6;;-1:-1:-1;;;;;981:6:0;534:10;1043:23;1035:68;;;;-1:-1:-1;;;1035:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18672:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;18672:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18582:144::o;3062:104::-;3118:13;3151:7;3144:14;;;;;:::i;19058:240::-;981:6;;-1:-1:-1;;;;;981:6:0;534:10;1043:23;1035:68;;;;-1:-1:-1;;;1035:68:0;;;;;;;:::i;:::-;19164:13:::1;-1:-1:-1::0;;;;;19156:21:0::1;:4;-1:-1:-1::0;;;;;19156:21:0::1;::::0;19148:90:::1;;;::::0;-1:-1:-1;;;19148:90:0;;5428:2:1;19148:90:0::1;::::0;::::1;5410:21:1::0;5467:2;5447:18;;;5440:30;5506:34;5486:18;;;5479:62;5577:27;5557:18;;;5550:55;5622:19;;19148:90:0::1;5226:421:1::0;19148:90:0::1;19249:41;19278:4;19284:5;19249:28;:41::i;:::-;19058:240:::0;;:::o;18423:147::-;981:6;;-1:-1:-1;;;;;981:6:0;534:10;1043:23;1035:68;;;;-1:-1:-1;;;1035:68:0;;;;;;;:::i;:::-;18511:7:::1;:18:::0;;;;18541:8:::1;:20:::0;18423:147::o;4768:413::-;534:10;4861:4;4905:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4905:34:0;;;;;;;;;;4958:35;;;;4950:85;;;;-1:-1:-1;;;4950:85:0;;5854:2:1;4950:85:0;;;5836:21:1;5893:2;5873:18;;;5866:30;5932:34;5912:18;;;5905:62;-1:-1:-1;;;5983:18:1;;;5976:35;6028:19;;4950:85:0;5652:401:1;4950:85:0;5071:67;534:10;5094:7;5122:15;5103:16;:34;5071:8;:67::i;:::-;-1:-1:-1;5169:4:0;;4768:413;-1:-1:-1;;;4768:413:0:o;3862:175::-;3948:4;3965:42;534:10;3989:9;4000:6;3965:9;:42::i;18734:182::-;981:6;;-1:-1:-1;;;;;981:6:0;534:10;1043:23;1035:68;;;;-1:-1:-1;;;1035:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18819:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;18819:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;18874:34;;1163:41:1;;;18874:34:0::1;::::0;1136:18:1;18874:34:0::1;;;;;;;18734:182:::0;;:::o;1242:201::-;981:6;;-1:-1:-1;;;;;981:6:0;534:10;1043:23;1035:68;;;;-1:-1:-1;;;1035:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1331:22:0;::::1;1323:73;;;::::0;-1:-1:-1;;;1323:73:0;;6260:2:1;1323:73:0::1;::::0;::::1;6242:21:1::0;6299:2;6279:18;;;6272:30;6338:34;6318:18;;;6311:62;-1:-1:-1;;;6389:18:1;;;6382:36;6435:19;;1323:73:0::1;6058:402:1::0;1323:73:0::1;1407:28;1426:8;1407:18;:28::i;:::-;1242:201:::0;:::o;6936:380::-;-1:-1:-1;;;;;7072:19:0;;7064:68;;;;-1:-1:-1;;;7064:68:0;;6667:2:1;7064:68:0;;;6649:21:1;6706:2;6686:18;;;6679:30;6745:34;6725:18;;;6718:62;-1:-1:-1;;;6796:18:1;;;6789:34;6840:19;;7064:68:0;6465:400:1;7064:68:0;-1:-1:-1;;;;;7151:21:0;;7143:68;;;;-1:-1:-1;;;7143:68:0;;7072:2:1;7143:68:0;;;7054:21:1;7111:2;7091:18;;;7084:30;7150:34;7130:18;;;7123:62;-1:-1:-1;;;7201:18:1;;;7194:32;7243:19;;7143:68:0;6870:398:1;7143:68:0;-1:-1:-1;;;;;7224:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7276:32;;1848:25:1;;;7276:32:0;;1821:18:1;7276:32:0;;;;;;;6936:380;;;:::o;19502:3137::-;-1:-1:-1;;;;;19601:18:0;;19593:68;;;;-1:-1:-1;;;19593:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19680:16:0;;19672:64;;;;-1:-1:-1;;;19672:64:0;;;;;;;:::i;:::-;19759:6;19769:1;19759:11;19755:93;;19787:28;19803:4;19809:2;19813:1;19787:15;:28::i;:::-;19502:3137;;;:::o;19755:93::-;19864:14;;;;19860:1486;;;981:6;;-1:-1:-1;;;;;19917:15:0;;;981:6;;19917:15;;;;:49;;-1:-1:-1;981:6:0;;-1:-1:-1;;;;;19953:13:0;;;981:6;;19953:13;;19917:49;:86;;;;-1:-1:-1;;;;;;19987:16:0;;;;19917:86;:128;;;;-1:-1:-1;;;;;;20024:21:0;;20038:6;20024:21;;19917:128;:158;;;;-1:-1:-1;20067:8:0;;-1:-1:-1;;;20067:8:0;;;;20066:9;19917:158;19895:1440;;;20115:13;;;;;;;20110:223;;-1:-1:-1;;;;;20187:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;20216:23:0;;;;;;:19;:23;;;;;;;;20187:52;20153:160;;;;-1:-1:-1;;;20153:160:0;;8285:2:1;20153:160:0;;;8267:21:1;8324:2;8304:18;;;8297:30;-1:-1:-1;;;8343:18:1;;;8336:52;8405:18;;20153:160:0;8083:346:1;20153:160:0;-1:-1:-1;;;;;20385:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;20421:35:0;;;;;;:31;:35;;;;;;;;20420:36;20385:71;20381:939;;;20525:20;;20515:6;:30;;20480:148;;;;-1:-1:-1;;;20480:148:0;;8636:2:1;20480:148:0;;;8618:21:1;8675:2;8655:18;;;8648:30;8714:34;8694:18;;;8687:62;-1:-1:-1;;;8765:18:1;;;8758:51;8826:19;;20480:148:0;8434:417:1;20480:148:0;20712:9;;-1:-1:-1;;;;;3492:18:0;;3465:7;3492:18;;;;;;;;;;;20686:22;;:6;:22;:::i;:::-;:35;;20652:118;;;;-1:-1:-1;;;20652:118:0;;9058:2:1;20652:118:0;;;9040:21:1;9097:2;9077:18;;;9070:30;-1:-1:-1;;;9116:18:1;;;9109:49;9175:18;;20652:118:0;8856:343:1;20652:118:0;20381:939;;;-1:-1:-1;;;;;20846:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;20880:37:0;;;;;;:31;:37;;;;;;;;20879:38;20846:71;20842:478;;;20986:20;;20976:6;:30;;20942:148;;;;-1:-1:-1;;;20942:148:0;;9406:2:1;20942:148:0;;;9388:21:1;9445:2;9425:18;;;9418:30;9484:34;9464:18;;;9457:62;-1:-1:-1;;;9535:18:1;;;9528:52;9597:19;;20942:148:0;9204:418:1;20842:478:0;-1:-1:-1;;;;;21121:35:0;;;;;;:31;:35;;;;;;;;21116:204;;21242:9;;-1:-1:-1;;;;;3492:18:0;;3465:7;3492:18;;;;;;;;;;;21216:22;;:6;:22;:::i;:::-;:35;;21182:118;;;;-1:-1:-1;;;21182:118:0;;9058:2:1;21182:118:0;;;9040:21:1;9097:2;9077:18;;;9070:30;-1:-1:-1;;;9116:18:1;;;9109:49;9175:18;;21182:118:0;8856:343:1;21182:118:0;21407:4;21358:28;3492:18;;;;;;;;;;;21464;;21440:42;;;;;;;21513:22;;-1:-1:-1;21524:11:0;;;;;;;21513:22;:35;;;;-1:-1:-1;21540:8:0;;-1:-1:-1;;;21540:8:0;;;;21539:9;21513:35;:71;;;;-1:-1:-1;;;;;;21553:31:0;;;;;;:25;:31;;;;;;;;21552:32;21513:71;:114;;;;-1:-1:-1;;;;;;21602:25:0;;;;;;:19;:25;;;;;;;;21601:26;21513:114;:142;;;;-1:-1:-1;;;;;;21632:23:0;;;;;;:19;:23;;;;;;;;21631:24;21513:142;21495:270;;;21682:8;:15;;-1:-1:-1;;;;21682:15:0;-1:-1:-1;;;21682:15:0;;;21712:10;:8;:10::i;:::-;21737:8;:16;;-1:-1:-1;;;;21737:16:0;;;21495:270;21793:8;;-1:-1:-1;;;;;21816:25:0;;21777:12;21816:25;;;:19;:25;;;;;;21793:8;-1:-1:-1;;;21793:8:0;;;;;21792:9;;21816:25;;:52;;-1:-1:-1;;;;;;21845:23:0;;;;;;:19;:23;;;;;;;;21816:52;21812:100;;;-1:-1:-1;21895:5:0;21812:100;21924:12;22029:7;22025:543;;;-1:-1:-1;;;;;22081:29:0;;;;;;:25;:29;;;;;;;;:45;;;;;22125:1;22114:8;;:12;22081:45;22077:288;;;22154:29;22179:3;22154:20;22165:8;;22154:6;:10;;:20;;;;:::i;:::-;:24;;:29::i;:::-;22147:36;;22077:288;;;-1:-1:-1;;;;;22247:31:0;;;;;;:25;:31;;;;;;;;:46;;;;;22292:1;22282:7;;:11;22247:46;22243:122;;;22321:28;22345:3;22321:19;22332:7;;22321:6;:10;;:19;;;;:::i;:28::-;22314:35;;22243:122;22397:8;;22393:133;;22456:42;22472:4;22486;22493;22456:15;:42::i;:::-;22542:14;22552:4;22542:14;;:::i;:::-;;;22025:543;22580:33;22596:4;22602:2;22606:6;22580:15;:33::i;:::-;19582:3057;;;;19502:3137;;;:::o;1451:191::-;1544:6;;;-1:-1:-1;;;;;1561:17:0;;;-1:-1:-1;;;;;;1561:17:0;;;;;;;1594:40;;1544:6;;;1561:17;1544:6;;1594:40;;1525:16;;1594:40;1514:128;1451:191;:::o;19306:188::-;-1:-1:-1;;;;;19389:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;19389:39:0;;;;;;;;;;19446:40;;19389:39;;:31;19446:40;;;19306:188;;:::o;5189:733::-;-1:-1:-1;;;;;5329:20:0;;5321:70;;;;-1:-1:-1;;;5321:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5410:23:0;;5402:71;;;;-1:-1:-1;;;5402:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5570:17:0;;5546:21;5570:17;;;;;;;;;;;5606:23;;;;5598:74;;;;-1:-1:-1;;;5598:74:0;;9962:2:1;5598:74:0;;;9944:21:1;10001:2;9981:18;;;9974:30;10040:34;10020:18;;;10013:62;-1:-1:-1;;;10091:18:1;;;10084:36;10137:19;;5598:74:0;9760:402:1;5598:74:0;-1:-1:-1;;;;;5708:17:0;;;:9;:17;;;;;;;;;;;5728:22;;;5708:42;;5772:20;;;;;;;;:30;;5744:6;;5708:9;5772:30;;5744:6;;5772:30;:::i;:::-;;;;;;;;5837:9;-1:-1:-1;;;;;5820:35:0;5829:6;-1:-1:-1;;;;;5820:35:0;;5848:6;5820:35;;;;1848:25:1;;1836:2;1821:18;;1702:177;5820:35:0;;;;;;;;5310:612;5189:733;;;:::o;23131:497::-;23214:4;23170:23;3492:18;;;;;;;;;;;;23261:20;;;23256:50;;23298:7;;23131:497::o;23256:50::-;23341:18;;:23;;23362:2;23341:23;:::i;:::-;23323:15;:41;23318:108;;;23401:18;;:23;;23422:2;23401:23;:::i;:::-;23383:41;;23318:108;23467:15;23493:36;23467:15;23493:16;:36::i;:::-;23556:64;;-1:-1:-1;;;;;23564:15:0;23556:29;;23594:21;;23556:64;;;;23594:21;23556:29;:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;23131:497:0:o;9176:98::-;9234:7;9261:5;9265:1;9261;:5;:::i;:::-;9254:12;9176:98;-1:-1:-1;;;9176:98:0:o;9282:::-;9340:7;9367:5;9371:1;9367;:5;:::i;22651:472::-;22741:16;;;22755:1;22741:16;;;;;;;;22717:21;;22741:16;;;;;;;;;;-1:-1:-1;22741:16:0;22717:40;;22786:4;22768;22773:1;22768:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;22768:23:0;;;-1:-1:-1;;;;;22768:23:0;;;;;22812:15;-1:-1:-1;;;;;22812:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22802:4;22807:1;22802:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;22802:32:0;;;-1:-1:-1;;;;;22802:32:0;;;;;22845:62;22862:4;22877:15;22895:11;22845:8;:62::i;:::-;22919:196;;-1:-1:-1;;;22919:196:0;;-1:-1:-1;;;;;22919:15:0;:66;;;;:196;;23000:11;;23026:1;;23042:4;;23069;;23089:15;;22919:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:548:1;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;1215:247::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;1382:9;1369:23;1401:31;1426:5;1401:31;:::i;1884:456::-;1961:6;1969;1977;2030:2;2018:9;2009:7;2005:23;2001:32;1998:52;;;2046:1;2043;2036:12;1998:52;2085:9;2072:23;2104:31;2129:5;2104:31;:::i;:::-;2154:5;-1:-1:-1;2211:2:1;2196:18;;2183:32;2224:33;2183:32;2224:33;:::i;:::-;1884:456;;2276:7;;-1:-1:-1;;;2330:2:1;2315:18;;;;2302:32;;1884:456::o;2742:416::-;2807:6;2815;2868:2;2856:9;2847:7;2843:23;2839:32;2836:52;;;2884:1;2881;2874:12;2836:52;2923:9;2910:23;2942:31;2967:5;2942:31;:::i;:::-;2992:5;-1:-1:-1;3049:2:1;3034:18;;3021:32;3091:15;;3084:23;3072:36;;3062:64;;3122:1;3119;3112:12;3062:64;3145:7;3135:17;;;2742:416;;;;;:::o;3163:248::-;3231:6;3239;3292:2;3280:9;3271:7;3267:23;3263:32;3260:52;;;3308:1;3305;3298:12;3260:52;-1:-1:-1;;3331:23:1;;;3401:2;3386:18;;;3373:32;;-1:-1:-1;3163:248:1:o;3416:388::-;3484:6;3492;3545:2;3533:9;3524:7;3520:23;3516:32;3513:52;;;3561:1;3558;3551:12;3513:52;3600:9;3587:23;3619:31;3644:5;3619:31;:::i;:::-;3669:5;-1:-1:-1;3726:2:1;3711:18;;3698:32;3739:33;3698:32;3739:33;:::i;3809:356::-;4011:2;3993:21;;;4030:18;;;4023:30;4089:34;4084:2;4069:18;;4062:62;4156:2;4141:18;;3809:356::o;4170:380::-;4249:1;4245:12;;;;4292;;;4313:61;;4367:4;4359:6;4355:17;4345:27;;4313:61;4420:2;4412:6;4409:14;4389:18;4386:38;4383:161;;4466:10;4461:3;4457:20;4454:1;4447:31;4501:4;4498:1;4491:15;4529:4;4526:1;4519:15;4383:161;;4170:380;;;:::o;4964:127::-;5025:10;5020:3;5016:20;5013:1;5006:31;5056:4;5053:1;5046:15;5080:4;5077:1;5070:15;5096:125;5161:9;;;5182:10;;;5179:36;;;5195:18;;:::i;7273:401::-;7475:2;7457:21;;;7514:2;7494:18;;;7487:30;7553:34;7548:2;7533:18;;7526:62;-1:-1:-1;;;7619:2:1;7604:18;;7597:35;7664:3;7649:19;;7273:401::o;7679:399::-;7881:2;7863:21;;;7920:2;7900:18;;;7893:30;7959:34;7954:2;7939:18;;7932:62;-1:-1:-1;;;8025:2:1;8010:18;;8003:33;8068:3;8053:19;;7679:399::o;9627:128::-;9694:9;;;9715:11;;;9712:37;;;9729:18;;:::i;10167:168::-;10240:9;;;10271;;10288:15;;;10282:22;;10268:37;10258:71;;10309:18;;:::i;10550:217::-;10590:1;10616;10606:132;;10660:10;10655:3;10651:20;10648:1;10641:31;10695:4;10692:1;10685:15;10723:4;10720:1;10713:15;10606:132;-1:-1:-1;10752:9:1;;10550:217::o;10904:127::-;10965:10;10960:3;10956:20;10953:1;10946:31;10996:4;10993:1;10986:15;11020:4;11017:1;11010:15;11036:251;11106:6;11159:2;11147:9;11138:7;11134:23;11130:32;11127:52;;;11175:1;11172;11165:12;11127:52;11207:9;11201:16;11226:31;11251:5;11226:31;:::i;11292:980::-;11554:4;11602:3;11591:9;11587:19;11633:6;11622:9;11615:25;11659:2;11697:6;11692:2;11681:9;11677:18;11670:34;11740:3;11735:2;11724:9;11720:18;11713:31;11764:6;11799;11793:13;11830:6;11822;11815:22;11868:3;11857:9;11853:19;11846:26;;11907:2;11899:6;11895:15;11881:29;;11928:1;11938:195;11952:6;11949:1;11946:13;11938:195;;;12017:13;;-1:-1:-1;;;;;12013:39:1;12001:52;;12108:15;;;;12073:12;;;;12049:1;11967:9;11938:195;;;-1:-1:-1;;;;;;;12189:32:1;;;;12184:2;12169:18;;12162:60;-1:-1:-1;;;12253:3:1;12238:19;12231:35;12150:3;11292:980;-1:-1:-1;;;11292:980:1:o

Swarm Source

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