ETH Price: $2,434.71 (-0.87%)
 

Overview

Max Total Supply

101,000,000 EMPIRE

Holders

160

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
19,297.734030685897701465 EMPIRE

Value
$0.00
0xd82649bd2ef7066b18d83347ce368f7803aca3dc
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:
Empire

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion
File 1 of 1 : Empire.sol
// SPDX-License-Identifier: MIT

/* 

Veni, vidi, vici.

https://tehempire.org/

*/ 

pragma solidity ^0.8.17;

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

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

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

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 transfer(
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    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) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(
        address spender,
        uint256 addedValue
    ) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

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

        return true;
    }

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

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(
            fromBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, 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;
        unchecked {
            _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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: insufficient allowance"
            );
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

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

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

abstract contract Ownable is Context {
    address private _owner;

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

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

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        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 IUniswapV2Pair {
    function sync() external;
}

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

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

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

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

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

contract Empire is ERC20, Ownable {
    uint256 public maxBuyAmount;
    uint256 public maxSellAmount;
    uint256 public maxWalletAmount;

    IDexRouter public dexRouter;
    address public lpPair;

    bool private swapping;
    uint256 public swapTokensAtAmount;

    address taxAddress;
    address public treasury;
    address public bonding;

    uint256 public tradingActiveBlock = 0;
    uint256 public blockForPenaltyEnd;
    mapping(address => bool) public boughtEarly;
    uint256 public botsCaught;

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

    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;

    uint256 public buyTotalFees;
    uint256 public buyTaxFee;

    uint256 public sellTotalFees;
    uint256 public sellTaxFee;

    uint256 public tokensForTax;

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

    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
    event EnabledTrading();
    event RemovedLimits();
    event ExcludeFromFees(address indexed account, bool isExcluded);
    event UpdatedMaxBuyAmount(uint256 newAmount);
    event UpdatedMaxSellAmount(uint256 newAmount);
    event UpdatedMaxWalletAmount(uint256 newAmount);
    event MaxTransactionExclusion(address _address, bool excluded);
    event OwnerForcedSwapBack(uint256 timestamp);
    event CaughtEarlyBuyer(address sniper);

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

    constructor() ERC20("Teh Empire", "EMPIRE") {
        address contractOwner = msg.sender;

        IDexRouter _dexRouter = IDexRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        dexRouter = _dexRouter;

        lpPair = IDexFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );
        _excludeFromMaxTransaction(address(lpPair), true);
        _setAutomatedMarketMakerPair(address(lpPair), true);

        uint256 totalSupply = 1_000_000 * 1e18;

        maxBuyAmount = (totalSupply * 20) / 1000;
        maxSellAmount = (totalSupply * 20) / 1000;
        maxWalletAmount = (totalSupply * 20) / 1000;
        swapTokensAtAmount = (totalSupply * 1) / 1000;

        buyTaxFee = 10;
        buyTotalFees = buyTaxFee;

        sellTaxFee = 80;
        sellTotalFees = sellTaxFee;

        taxAddress = msg.sender;

        _excludeFromMaxTransaction(contractOwner, true);
        _excludeFromMaxTransaction(address(this), true);
        _excludeFromMaxTransaction(address(0xdead), true);
        _excludeFromMaxTransaction(taxAddress, true);

        excludeFromFees(contractOwner, true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);
        excludeFromFees(taxAddress, true);

        _mint(contractOwner, totalSupply);
        transferOwnership(contractOwner);
    }

    receive() external payable {}

    function enableTrading(uint256 deadBlocks) external onlyOwner {
        require(!tradingActive, "Cannot reenable trading");
        tradingActive = true;
        swapEnabled = true;
        tradingActiveBlock = block.number;
        blockForPenaltyEnd = tradingActiveBlock + deadBlocks;
        emit EnabledTrading();
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
        transferDelayEnabled = false;
        emit RemovedLimits();
    }

    function manageBoughtEarly(address wallet, bool flag) external onlyOwner {
        boughtEarly[wallet] = flag;
    }

    function massManageBoughtEarly(
        address[] calldata wallets,
        bool flag
    ) external onlyOwner {
        for (uint256 i = 0; i < wallets.length; i++) {
            boughtEarly[wallets[i]] = flag;
        }
    }

    function disableTransferDelay() external onlyOwner {
        transferDelayEnabled = false;
    }

    function updateMaxBuyAmount(uint256 newNum) external onlyOwner {
        require(
            newNum >= ((totalSupply() * 2) / 1000) / 1e18,
            "Cannot set max buy amount lower than 0.2%"
        );
        maxBuyAmount = newNum * (10 ** 18);
        emit UpdatedMaxBuyAmount(maxBuyAmount);
    }

    function updateMaxSellAmount(uint256 newNum) external onlyOwner {
        require(
            newNum >= ((totalSupply() * 2) / 1000) / 1e18,
            "Cannot set max sell amount lower than 0.2%"
        );
        maxSellAmount = newNum * (10 ** 18);
        emit UpdatedMaxSellAmount(maxSellAmount);
    }

    function updateMaxWalletAmount(uint256 newNum) external onlyOwner {
        require(
            newNum >= ((totalSupply() * 3) / 1000) / 1e18,
            "Cannot set max wallet amount lower than 0.3%"
        );
        maxWalletAmount = newNum * (10 ** 18);
        emit UpdatedMaxWalletAmount(maxWalletAmount);
    }

    function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner {
        require(
            newAmount >= (totalSupply() * 1) / 100000,
            "Swap amount cannot be lower than 0.001% total supply."
        );
        require(
            newAmount <= (totalSupply() * 1) / 1000,
            "Swap amount cannot be higher than 0.1% total supply."
        );
        swapTokensAtAmount = newAmount;
    }

    function _excludeFromMaxTransaction(
        address updAds,
        bool isExcluded
    ) private {
        _isExcludedMaxTransactionAmount[updAds] = isExcluded;
        emit MaxTransactionExclusion(updAds, isExcluded);
    }

    function excludeFromMaxTransaction(
        address updAds,
        bool isEx
    ) external onlyOwner {
        if (!isEx) {
            require(
                updAds != lpPair,
                "Cannot remove Uniswap pair from max txn"
            );
        }
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    function setAutomatedMarketMakerPair(
        address pair,
        bool value
    ) external onlyOwner {
        require(
            pair != lpPair,
            "The pair cannot be removed from automatedMarketMakerPairs"
        );

        _setAutomatedMarketMakerPair(pair, value);
        emit SetAutomatedMarketMakerPair(pair, value);
    }

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

        _excludeFromMaxTransaction(pair, value);
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function setSwapToEth(bool _swapToEth) public onlyOwner {
        swapToEth = _swapToEth;
    }

    function updateBuyFees(uint256 _taxFee) external onlyOwner {
        buyTaxFee = _taxFee;
        buyTotalFees = buyTaxFee;
        require(buyTotalFees <= 10, "Must keep fees at 10% or less.");
    }

    function updateSellFees(uint256 _taxFee) external onlyOwner {
        sellTaxFee = _taxFee;
        sellTotalFees = sellTaxFee;
        require(sellTotalFees <= 10, "Must keep fees at 10% or less.");
    }

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

    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");
        require(amount > 0, "amount must be greater than 0");

        if (!tradingActive) {
            require(
                _isExcludedFromFees[from] || _isExcludedFromFees[to],
                "Trading is not active."
            );
        }

        if (blockForPenaltyEnd > 0) {
            require(
                !boughtEarly[from] || to == owner() || to == address(0xdead),
                "Bots cannot transfer tokens in or out except to owner or dead address."
            );
        }

        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0) &&
                to != address(0xdead) &&
                !_isExcludedFromFees[from] &&
                !_isExcludedFromFees[to]
            ) {
                if (transferDelayEnabled) {
                    if (to != address(dexRouter) && to != address(lpPair)) {
                        require(
                            _holderLastTransferTimestamp[tx.origin] <
                                block.number - 2 &&
                                _holderLastTransferTimestamp[to] <
                                block.number - 2,
                            "_transfer:: Transfer Delay enabled.  Try again later."
                        );
                        _holderLastTransferTimestamp[tx.origin] = block.number;
                        _holderLastTransferTimestamp[to] = block.number;
                    }
                }

                if (
                    automatedMarketMakerPairs[from] &&
                    !_isExcludedMaxTransactionAmount[to]
                ) {
                    require(
                        amount <= maxBuyAmount,
                        "Buy transfer amount exceeds the max buy."
                    );
                    require(
                        amount + balanceOf(to) <= maxWalletAmount,
                        "Cannot exceed max wallet."
                    );
                } else if (
                    automatedMarketMakerPairs[to] &&
                    !_isExcludedMaxTransactionAmount[from]
                ) {
                    require(
                        amount <= maxSellAmount,
                        "Sell transfer amount exceeds the max sell."
                    );
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(
                        amount + balanceOf(to) <= maxWalletAmount,
                        "Cannot exceed max wallet."
                    );
                }
            }
        }

        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 = true;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        if (takeFee) {
            if (
                earlyBuyPenaltyInEffect() &&
                automatedMarketMakerPairs[from] &&
                !automatedMarketMakerPairs[to] &&
                buyTotalFees > 0
            ) {
                if (!boughtEarly[to]) {
                    boughtEarly[to] = true;
                    botsCaught += 1;
                    emit CaughtEarlyBuyer(to);
                }

                fees = (amount * 99) / 100;
                tokensForTax += (fees * buyTaxFee) / buyTotalFees;
            } else if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                fees = (amount * sellTotalFees) / 100;
                tokensForTax += (fees * sellTaxFee) / sellTotalFees;
            } else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = (amount * buyTotalFees) / 100;
                tokensForTax += (fees * buyTaxFee) / buyTotalFees;
            }

            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }

            amount -= fees;
        }

        super._transfer(from, to, amount);
    }

    function earlyBuyPenaltyInEffect() public view returns (bool) {
        return block.number < blockForPenaltyEnd;
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        _approve(address(this), address(dexRouter), tokenAmount);

        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = tokensForTax;

        if (contractBalance == 0 || totalTokensToSwap == 0) {
            return;
        }

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

        bool success;

        if (swapToEth) {
            swapTokensForEth(contractBalance);
            tokensForTax = 0;
            (success, ) = address(taxAddress).call{
                value: address(this).balance
            }("");
        }

        if (!swapToEth) {
            _transfer(address(this), taxAddress, contractBalance);
            tokensForTax = 0;
            success = true;
        }
    }

    // Withdraw ETH from contract address
    function withdrawStuckETH() external onlyOwner {
        bool success;
        (success, ) = address(msg.sender).call{value: address(this).balance}(
            ""
        );
    }

    function updateTaxAddress(address _taxAddress) external onlyOwner {
        require(_taxAddress != address(0), "_taxAddress address cannot be 0");
        taxAddress = payable(_taxAddress);
    }

    function forceSwapBack() external onlyOwner {
        require(
            balanceOf(address(this)) >= swapTokensAtAmount,
            "Can only swap when token amount is at or higher than restriction"
        );
        swapping = true;
        swapBack();
        swapping = false;
        emit OwnerForcedSwapBack(block.timestamp);
    }

    // Treasury & Bonding functions

    function mint(address account, uint256 amount) external {
        require(msg.sender == treasury || msg.sender == bonding);
        _mint(account, amount);
    }

    function burn(address account, uint256 amount) external {
        require(msg.sender == treasury);
        _burn(account, amount);
    }

    function setTreasury(address _treasury) external {
        require(msg.sender == owner());
        treasury = _treasury;
    }

    function setBonding(address _bonding) external {
        require(msg.sender == owner() || msg.sender == bonding);
        bonding = _bonding;
    }

    function manualBurnLiquidityPairTokens(uint256 amount)
        external
        returns (bool)
    {
        require(msg.sender == bonding);
        _burn(lpPair, amount);
      
        IUniswapV2Pair pair = IUniswapV2Pair(lpPair);
        pair.sync();
        return true;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 1000
  },
  "viaIR": true,
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

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":"address","name":"sniper","type":"address"}],"name":"CaughtEarlyBuyer","type":"event"},{"anonymous":false,"inputs":[],"name":"EnabledTrading","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":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"excluded","type":"bool"}],"name":"MaxTransactionExclusion","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"OwnerForcedSwapBack","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":[],"name":"RemovedLimits","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":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedMaxBuyAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedMaxSellAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedMaxWalletAmount","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":"blockForPenaltyEnd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bonding","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"botsCaught","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"boughtEarly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"earlyBuyPenaltyInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"deadBlocks","type":"uint256"}],"name":"enableTrading","outputs":[],"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":[],"name":"forceSwapBack","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":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"manageBoughtEarly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualBurnLiquidityPairTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"massManageBoughtEarly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","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":[{"internalType":"address","name":"_bonding","type":"address"}],"name":"setBonding","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapToEth","type":"bool"}],"name":"setSwapToEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"setTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapToEth","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":"tokensForTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"tradingActiveBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxSellAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_taxAddress","type":"address"}],"name":"updateTaxAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604090808252346200070a5762000018816200070f565b600a8082526020906954656820456d7069726560b01b8284015283519262000040846200070f565b6006845265454d5049524560d01b838501528051916001600160401b038084116200060a5760038054946001948587811c97168015620006ff575b88881014620006e9578190601f9788811162000693575b5088908883116001146200062c5760009262000620575b505060001982841b1c191690851b1781555b86519182116200060a5760049687548581811c91168015620005ff575b88821014620005ea579081878594931162000592575b50879087841160011462000527576000936200051b575b505082851b92600019911b1c19161785555b6200012233620007c9565b6000600f55630100000163ffffffff19601354161760135560ff199180836015541617601555737a250d5630b4cf539739df2c5dacb4c659f2488d9060018060a01b03198281600954161760095588519363c45a015560e01b855287858a81875afa948515620004ca5789948991600097620004f7575b508b516315ab88c960e31b815295869182905afa938415620004ca5760009489918691620004d5575b508b516364e329cb60e11b815230818d01526001600160a01b03918216602482015290969095869160449183918a165af18015620004ca57856200021b918a9660009162000496575b5016808484541617835562000812565b828582541680600052601d86528b60002082898254161790556200023f8162000812565b7fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab600080a369043c33c19375648000008060065580600755600855683635c9adc5dea00000600b5580601755601655605060195560506018553390600c541617600c55620002ad3362000812565b620002b83062000812565b61dead9283600052601c8352886000208286825416179055600080516020620037558339815191528980518681528486820152a1620002fb81600c541662000812565b6200030562000770565b33600052601b83528860002082868254161790558851938285527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df79485853392a26200035062000770565b30600052601b8452896000208387825416179055895183815285853092a26200037862000770565b80600052601b845289600020838782541617905584848b51858152a2600c541693620003a362000770565b84600052601b83528189600020918254161790558751908152a2331562000457575060025469d3c21bcecceda1000000928382018092116200044257506000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160025533835282815284832084815401905584519384523393a36200042962000770565b6200043433620007c9565b51612f009081620008558239f35b601190634e487b7160e01b6000525260246000fd5b90606493519262461bcd60e51b845283015260248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b620004bb9150873d8911620004c2575b620004b281836200072b565b8101906200074f565b386200020b565b503d620004a6565b8a513d6000823e3d90fd5b620004f09150823d8411620004c257620004b281836200072b565b38620001c2565b62000513919750823d8411620004c257620004b281836200072b565b953862000199565b01519150388062000105565b9190869450601f198416928a600052896000209360005b8b8282106200057b575050851162000560575b50505050811b01855562000117565b01519060f884600019921b161c191690553880808062000551565b8385015187558a989096019593840193016200053e565b9091925088600052876000208780860160051c8201928a8710620005e0575b91889187969594930160051c01915b828110620005d0575050620000ee565b60008155869550889101620005c0565b92508192620005b1565b602289634e487b7160e01b6000525260246000fd5b90607f1690620000d8565b634e487b7160e01b600052604160045260246000fd5b015190503880620000a9565b90879350601f19831691856000528a6000209260005b8c8282106200067c575050841162000663575b505050811b018155620000bb565b015160001983861b60f8161c1916905538808062000655565b8385015186558b9790950194938401930162000642565b90915083600052886000208880850160051c8201928b8610620006df575b918991869594930160051c01915b828110620006cf57505062000092565b60008155859450899101620006bf565b92508192620006b1565b634e487b7160e01b600052602260045260246000fd5b96607f16966200007b565b600080fd5b604081019081106001600160401b038211176200060a57604052565b601f909101601f19168101906001600160401b038211908210176200060a57604052565b908160209103126200070a57516001600160a01b03811681036200070a5790565b6005546001600160a01b031633036200078557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b600580546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b6040600080516020620037558339815191529160018060a01b031680600052601c60205281600020600160ff19825416179055815190815260016020820152a156fe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600090813560e01c90816306fdde03146119c9575080630758d924146119a1578063095ea7b31461197757806310d5de531461193b578063130a2c3c14611868578063172cc3351461181057806318160ddd146117f157806323b872dd14611727578063281f2a0a146116e55780632be32b61146115ec578063313ce567146115d0578063395093511461158157806340c10f191461149d578063452ed4f1146114755780634a62bb651461145157806351f205e41461136d57806358a6d5311461134c5780635adf655a146112c057806361d027b31461129857806366d602ae146112795780636a486a8e1461125a5780636b0a894c1461123b5780636d7adcad1461121c5780636ddd1713146111f557806370a08231146111bf578063715018a61461116457806371fc468814611133578063751039fc146110e15780637571336a1461100757806382aa7c6814610f5157806385ecfd2814610f1557806388e765ff14610ef65780638da5cb5b14610ece578063941fa5cd14610eaf57806395d89b4114610dac5780639845755914610d845780639a7a23d614610c3c5780639dc29fac14610c04578063a457c2d714610b46578063a62068ce14610b27578063a9059cbb14610af6578063aa4bde2814610ad7578063b62496f514610a9b578063bbc0c74214610a74578063c0246668146109f3578063c18bc195146108fa578063c876d0b9146108d6578063d257b34f146107a3578063d85ba06314610784578063dc3f0d0f14610665578063dd62ed3e1461061c578063e2f45605146105fd578063e620a25c146105d6578063e800dff714610583578063e884f2601461055d578063eba4c33314610529578063ee40166e1461050a578063f0f44260146104c7578063f2fde38b146103e7578063f5648a4f146103b9578063f8a25a941461039a5763fe72b27a036100125734610397576020366003190112610397576001600160a01b0380600e5416330361039357610308843582600a5416612d8e565b600a5416803b1561039357818091858551809581937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1801561038757610357575b6020835160018152f35b67ffffffffffffffff82116103745750602092508152388061034d565b80604185634e487b7160e01b6024945252fd5b508251903d90823e3d90fd5b5080fd5b80fd5b5090346103935781600319360112610393576020906019549051908152f35b50346103975780600319360112610397576103d2611ce5565b8080808047335af1506103e3612aa4565b5080f35b5091346104c35760203660031901126104c357610402611b08565b9061040b611ce5565b6001600160a01b0380921692831561045a575050600554826001600160a01b0319821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5034610397576020366003190112610397576104e1611b08565b6001600160a01b0390816005541633036104c357166001600160a01b0319600d541617600d5580f35b509034610393578160031936011261039357602090600f549051908152f35b50823461039357602036600319011261039357600a61055a913561054b611ce5565b80601955806018551115611d9c565b80f35b5034610397578060031936011261039757610576611ce5565b60ff196015541660155580f35b50903461039357806003193601126103935761055a906105a1611b08565b906001600160a01b036105b2611b39565b926105bb611ce5565b168452601160205283209060ff801983541691151516179055565b50903461039357816003193601126103935760209060ff60135460181c1690519015158152f35b509034610393578160031936011261039357602090600b549051908152f35b5090346103935780600319360112610393578060209261063a611b08565b610642611b23565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b50903461039357602036600319011261039357823592610683611ce5565b600254938460011b9480860460021490151715610771576103e89394670de0b6b3a764000094859104048110610708578381029381850414901517156106f55750816020917f53c4eb831d8cfeb750f1c62590d8cd30f4c6f0380d29a05caa09f0d92588560e9360075551908152a180f35b836011602492634e487b7160e01b835252fd5b506020608492519162461bcd60e51b8352820152602a60248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f77657260448201527f207468616e20302e3225000000000000000000000000000000000000000000006064820152fd5b602484601184634e487b7160e01b835252fd5b5090346103935781600319360112610393576020906016549051908152f35b5091346104c35760203660031901126104c3578035916107c1611ce5565b600254808004600114811517156108c357620186a08104841061085a576103e8900483116107f1575050600b5580f35b906020608492519162461bcd60e51b8352820152603460248201527f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160448201527f6e20302e312520746f74616c20737570706c792e0000000000000000000000006064820152fd5b608483602084519162461bcd60e51b8352820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527f20302e3030312520746f74616c20737570706c792e00000000000000000000006064820152fd5b602485601185634e487b7160e01b835252fd5b50903461039357816003193601126103935760209060ff6015541690519015158152f35b50903461039357602036600319011261039357823592610918611ce5565b60025493600385029480860460031490151715610771576103e89394670de0b6b3a76400009485910404811061098a578381029381850414901517156106f55750816020917fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc9360085551908152a180f35b506020608492519162461bcd60e51b8352820152602c60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760448201527f6572207468616e20302e332500000000000000000000000000000000000000006064820152fd5b5090346103935780600319360112610393577f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df76020610a30611b08565b6001600160a01b03610a40611b39565b91610a49611ce5565b1693848652601b8352610a6a828288209060ff801983541691151516179055565b519015158152a280f35b50903461039357816003193601126103935760209060ff60135460081c1690519015158152f35b5090346103935760203660031901126103935760ff816020936001600160a01b03610ac4611b08565b168152601d855220541690519015158152f35b5090346103935781600319360112610393576020906008549051908152f35b509034610393578060031936011261039357602090610b20610b16611b08565b60243590336121b0565b5160018152f35b5090346103935781600319360112610393576020906010549051908152f35b50829034610397578260031936011261039757610b61611b08565b91836024359233815260016020528181206001600160a01b0386168252602052205490828210610b9b57602085610b208585038733611bb1565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b5090346103935736600319011261039757610c1d611b08565b6001600160a01b03600d541633036103935761055a9060243590612d8e565b509190346104c357806003193601126104c357610c57611b08565b90610c60611b39565b92610c69611ce5565b6001600160a01b0380600a54169316928314610d1c57507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd674690828552601d602052610cc2848287209060ff801983541691151516179055565b601c602052610cdf848287209060ff801983541691151516179055565b805193838552151593846020820152a17fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab8282828680a38380a380f35b6020608492519162461bcd60e51b8352820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152fd5b5090346103935781600319360112610393576020906001600160a01b03600e54169051908152f35b509034610393578160031936011261039357805191809380549160019083821c92828516948515610ea5575b6020958686108114610e9257858952908115610e6e5750600114610e16575b610e128787610e08828c0383611b48565b5191829182611abf565b0390f35b81529295507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610e5b5750505082610e1294610e0892820101943880610df7565b8054868501880152928601928101610e3d565b60ff19168887015250505050151560051b8301019250610e0882610e123880610df7565b602484602285634e487b7160e01b835252fd5b93607f1693610dd8565b5090346103935781600319360112610393576020906017549051908152f35b5090346103935781600319360112610393576020906001600160a01b03600554169051908152f35b5090346103935781600319360112610393576020906006549051908152f35b5090346103935760203660031901126103935760ff816020936001600160a01b03610f3e611b08565b1681526011855220541690519015158152f35b509190346104c35760203660031901126104c357610f6d611ce5565b6013549060ff8260081c16610fc557509062010100610f9b9262ffff0019161760135543600f553543611ba4565b6010557fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb78180a180f35b5162461bcd60e51b8152602081840152601760248201527f43616e6e6f74207265656e61626c652074726164696e670000000000000000006044820152606490fd5b508234610393578260031936011261039357611021611b08565b611029611b39565b91611032611ce5565b8215611063575b50926001600160a01b0361055a9394168452601c60205283209060ff801983541691151516179055565b6001600160a01b0380600a54169083160361103957608490602086519162461bcd60e51b8352820152602760248201527f43616e6e6f742072656d6f766520556e697377617020706169722066726f6d2060448201527f6d61782074786e000000000000000000000000000000000000000000000000006064820152fd5b50346103975780600319360112610397576110fa611ce5565b60ff198060135416601355601554166015557fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c8180a180f35b50823461039357602036600319011261039357600a61055a9135611155611ce5565b80601755806016551115611d9c565b503461039757806003193601126103975761117d611ce5565b806001600160a01b036005546001600160a01b03198116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50903461039357602036600319011261039357806020926001600160a01b036111e6611b08565b16815280845220549051908152f35b50903461039357816003193601126103935760209060ff60135460101c1690519015158152f35b509034610393578160031936011261039357602090601a549051908152f35b5090346103935781600319360112610393576020906012549051908152f35b5090346103935781600319360112610393576020906018549051908152f35b5090346103935781600319360112610393576020906007549051908152f35b5090346103935781600319360112610393576020906001600160a01b03600d54169051908152f35b5091346104c35760203660031901126104c3576001600160a01b036112e3611b08565b6112eb611ce5565b169182156113095750506001600160a01b0319600c541617600c5580f35b906020606492519162461bcd60e51b8352820152601f60248201527f5f7461784164647265737320616464726573732063616e6e6f742062652030006044820152fd5b50903461039357816003193601126103935760209060105443109051908152f35b5091346104c357826003193601126104c357611387611ce5565b3083528260205281832054600b54116113ea575060207f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329160ff60a01b19600160a01b81600a541617600a556113db612ae4565b600a5416600a5551428152a180f35b816020608493519262461bcd60e51b845283015260248201527f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060448201527f6973206174206f7220686967686572207468616e207265737472696374696f6e6064820152fd5b50903461039357816003193601126103935760209060ff6013541690519015158152f35b5090346103935781600319360112610393576020906001600160a01b03600a54169051908152f35b509190346104c357806003193601126104c3576114b8611b08565b90602435916001600160a01b039081600d541633148015611574575b15611570571692831561152e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926115148795600254611ba4565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b8580fd5b5081600e541633146114d4565b509034610393578060031936011261039357610b206020926115c96115a4611b08565b91338152600186528481206001600160a01b0384168252865284602435912054611ba4565b9033611bb1565b5090346103935781600319360112610393576020905160128152f35b5090346103935760203660031901126103935782359261160a611ce5565b600254938460011b9480860460021490151715610771576103e89394670de0b6b3a76400009485910404811061167c578381029381850414901517156106f55750816020917ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de410099360065551908152a180f35b506020608492519162461bcd60e51b8352820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f7765722060448201527f7468616e20302e322500000000000000000000000000000000000000000000006064820152fd5b50823461039357602036600319011261039357358015158091036103935761170b611ce5565b63ff0000006013549160181b169063ff00000019161760135580f35b50823461039357606036600319011261039357611742611b08565b61174a611b23565b9184604435946001600160a01b038416815260016020528181203382526020522054906000198203611785575b602086610b208787876121b0565b8482106117ae57509183916117a360209695610b2095033383611bb1565b919394819350611777565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5090346103935781600319360112610393576020906002549051908152f35b50346103975760203660031901126103975761182a611b08565b6001600160a01b039081600554163314801561185b575b156104c357166001600160a01b0319600e541617600e5580f35b5081600e54163314611841565b5091346104c357816003193601126104c35767ffffffffffffffff9080358281116119375736602382011215611937578082013592831161193757602493600591368686851b83010111611933576118be611b39565b926118c7611ce5565b875b8681106118d4578880f35b8781831b840101356001600160a01b03811680910361192f578952601160205261190c85858b209060ff801983541691151516179055565b600019811461191d576001016118c9565b8789601188634e487b7160e01b835252fd5b8980fd5b8680fd5b8480fd5b5090346103935760203660031901126103935760ff816020936001600160a01b03611964611b08565b168152601c855220541690519015158152f35b509034610393578060031936011261039357602090610b20611997611b08565b6024359033611bb1565b5090346103935781600319360112610393576020906001600160a01b03600954169051908152f35b9050828434611abb5783600319360112611abb57600354600181811c9186908281168015611ab1575b6020958686108214611a9e5750848852908115611a7c5750600114611a23575b610e128686610e08828b0383611b48565b929550600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410611a695750505082610e1294610e08928201019486611a12565b8054868501880152928601928101611a4c565b60ff191687860152505050151560051b8301019250610e0882610e1286611a12565b836022602492634e487b7160e01b835252fd5b93607f16936119f2565b8380fd5b6020808252825181830181905290939260005b828110611af457505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501611ad2565b600435906001600160a01b0382168203611b1e57565b600080fd5b602435906001600160a01b0382168203611b1e57565b602435908115158203611b1e57565b90601f8019910116810190811067ffffffffffffffff821117611b6a57604052565b634e487b7160e01b600052604160045260246000fd5b9060018201809211611b8e57565b634e487b7160e01b600052601160045260246000fd5b91908201809211611b8e57565b6001600160a01b03809116918215611c7c5716918215611c125760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b6001600160a01b03600554163303611cf957565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b90606382029180830460631490151715611b8e57565b90601482029180830460141490151715611b8e57565b81810292918115918404141715611b8e57565b8115611d86570490565b634e487b7160e01b600052601260045260246000fd5b15611da357565b606460405162461bcd60e51b815260206004820152601e60248201527f4d757374206b656570206665657320617420313025206f72206c6573732e00006044820152fd5b15611dee57565b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b15611e5f57565b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b15611ed057565b606460405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152fd5b15611f1b57565b606460405162461bcd60e51b815260206004820152601660248201527f54726164696e67206973206e6f74206163746976652e000000000000000000006044820152fd5b15611f6657565b60a460405162461bcd60e51b815260206004820152604660248201527f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60448201527f72206f75742065786365707420746f206f776e6572206f72206465616420616460648201527f64726573732e00000000000000000000000000000000000000000000000000006084820152fd5b600119810191908211611b8e57565b91908203918211611b8e57565b1561201957565b608460405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e202054727920616761696e206c617465722e00000000000000000000006064820152fd5b1561208a57565b606460405162461bcd60e51b815260206004820152601960248201527f43616e6e6f7420657863656564206d61782077616c6c65742e000000000000006044820152fd5b156120d557565b608460405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201527f206d61782073656c6c2e000000000000000000000000000000000000000000006064820152fd5b1561214657565b608460405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527f6d6178206275792e0000000000000000000000000000000000000000000000006064820152fd5b91906001600160a01b03808416906121c9821515611de7565b8216908115156121d881611e58565b6121e3851515611ec9565b60ff601354818160081c161561295a575b6010546128f3575b166125ea575b505050612222306001600160a01b03166000526000602052604060002090565b54600b541115806125db575b806125c4575b8061259b575b80612572575b80612549575b61250c575b612292926001612278612271836001600160a01b0316600052601b602052604060002090565b5460ff1690565b80156124e6575b6124de575b600090612294575b506129ba565b565b9261232c91936010544310806124b8575b8061248f575b80612484575b156123bd57506122de6122da612271856001600160a01b03166000526011602052604060002090565b1590565b612343575b6122f66122ef82611d3d565b6064900490565b9061232261231d61231561230c60175486611d69565b60165490611d7c565b601a54611ba4565b601a55565b8161233357612005565b913861228c565b61233e8230876129ba565b612005565b612370612363846001600160a01b03166000526011602052604060002090565b805460ff19166001179055565b61238361237e601254611b80565b601255565b6040516001600160a01b03841681527f55678e47d0a699d3ab99b0184c4ff14f2246ba80522deb921aa0c8823578c44a90602090a16122e3565b6123dd612271856001600160a01b0316600052601d602052604060002090565b80612479575b1561241a57506018549061241561231d6123156124036122ef8686611d69565b9461241060195487611d69565b611d7c565b612322565b9061243b612271866001600160a01b0316600052601d602052604060002090565b8061246e575b1561232257601654915061241561231d6123156124616122ef8686611d69565b9461241060175487611d69565b506016541515612441565b5060185415156123e3565b5060165415156122b1565b506124b36122da612271866001600160a01b0316600052601d602052604060002090565b6122ab565b506124d9612271866001600160a01b0316600052601d602052604060002090565b6122a5565b506000612284565b50612507612271846001600160a01b0316600052601b602052604060002090565b61227f565b612524600160a01b60ff60a01b19600a541617600a55565b61252c612ae4565b6122929261254260ff60a01b19600a5416600a55565b925061224b565b5061256d6122da612271836001600160a01b0316600052601b602052604060002090565b612246565b506125966122da612271856001600160a01b0316600052601b602052604060002090565b612240565b506125bf6122da612271856001600160a01b0316600052601d602052604060002090565b61223a565b50600a546125d69060a01c60ff161590565b612234565b5060135460101c60ff1661222e565b61260b6125ff6005546001600160a01b031690565b6001600160a01b031690565b8092141591826128e8575b50816128e0575b50806128d4575b806128ab575b80612882575b61263c575b8080612202565b60155460ff16612796575b50612668612271846001600160a01b0316600052601d602052604060002090565b8061276d575b156126bb5761268160065483111561213f565b6126b56126ab6126a4836001600160a01b03166000526000602052604060002090565b5484611ba4565b6008541015612083565b38612635565b6126db612271826001600160a01b0316600052601d602052604060002090565b80612744575b156126f9576126f46007548311156120ce565b6126b5565b61271c6122da612271836001600160a01b0316600052601c602052604060002090565b156126b5576126f46126ab6126a4836001600160a01b03166000526000602052604060002090565b506127686122da612271856001600160a01b0316600052601c602052604060002090565b6126e1565b506127916122da612271836001600160a01b0316600052601c602052604060002090565b61266e565b6127ae6125ff6125ff6009546001600160a01b031690565b8114159081612863575b506127c4575b38612647565b326000908152601460205260409020546127dd43611ff6565b1180612830575b6127ed90612012565b4361280b326001600160a01b03166000526014602052604060002090565b554361282a826001600160a01b03166000526014602052604060002090565b556127be565b506127ed612851826001600160a01b03166000526014602052604060002090565b5461285b43611ff6565b1190506127e4565b905061287a6125ff600a546001600160a01b031690565b1415386127b8565b506128a66122da612271846001600160a01b0316600052601b602052604060002090565b612630565b506128cf6122da612271866001600160a01b0316600052601b602052604060002090565b61262a565b5061dead811415612624565b90503861261d565b831415915038612616565b6129166122da6122718a6001600160a01b03166000526011602052604060002090565b801561293d575b8015612932575b61292d90611f5f565b6121fc565b5061dead8514612924565b506129536125ff6005546001600160a01b031690565b851461291d565b61297a612271896001600160a01b0316600052601b602052604060002090565b801561298f575b61298a90611f14565b6121f4565b5061298a6129b3612271886001600160a01b0316600052601b602052604060002090565b9050612981565b6001600160a01b03809116916129d1831515611de7565b16916129de831515611e58565b600082815280602052604081205491808310612a3a57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b3d15612adf573d9067ffffffffffffffff8211611b6a5760405191612ad3601f8201601f191660200184611b48565b82523d6000602084013e565b606090565b612b01306001600160a01b03166000526000602052604060002090565b54601a548115908115612bc4575b50612bc157600b54612b2081611d53565b8211612bb1575b5060135460181c60ff16612b74575b601354612b479060181c60ff161590565b612b4e5750565b612b6a90612b64600c546001600160a01b031690565b306121b0565b6122926000601a55565b612b7d81612bcd565b612b876000601a55565b6000808080612b9e600c546001600160a01b031690565b47905af150612bab612aa4565b50612b36565b612bbb9150611d53565b38612b27565b50565b90501538612b0f565b604080519167ffffffffffffffff906060840182811185821017611b6a5783526002845260208085019084368337855115612d33573082526001600160a01b03928360095416918651927fad5c46480000000000000000000000000000000000000000000000000000000084528184600481845afa938415612d8357600094612d49575b50885193600194851015612d3357612c7191878592168a8c015230611bb1565b846009541694853b15611b1e5791879894939198519889957f791ac94700000000000000000000000000000000000000000000000000000000875260a487019260048801526000602488015260a060448801525180925260c4860194936000905b838210612d19575050505050509181600081819530606483015242608483015203925af18015612d0e57612d0557505050565b8211611b6a5752565b82513d6000823e3d90fd5b8551811687528b9750958201959482019490840190612cd2565b634e487b7160e01b600052603260045260246000fd5b8281819693963d8311612d7c575b612d618183611b48565b81010312610393575190868216820361039757509238612c51565b503d612d57565b88513d6000823e3d90fd5b6001600160a01b03168015612e6057600091818352826020526040832054818110612df657817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926020928587528684520360408620558060025403600255604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fdfea26469706673582212206d8f446cedf0bfd2008142d079938fb61e524742418a47d7f74431517ce50b5964736f6c634300081100336b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746

Deployed Bytecode

0x6080604081815260049182361015610022575b505050361561002057600080fd5b005b600090813560e01c90816306fdde03146119c9575080630758d924146119a1578063095ea7b31461197757806310d5de531461193b578063130a2c3c14611868578063172cc3351461181057806318160ddd146117f157806323b872dd14611727578063281f2a0a146116e55780632be32b61146115ec578063313ce567146115d0578063395093511461158157806340c10f191461149d578063452ed4f1146114755780634a62bb651461145157806351f205e41461136d57806358a6d5311461134c5780635adf655a146112c057806361d027b31461129857806366d602ae146112795780636a486a8e1461125a5780636b0a894c1461123b5780636d7adcad1461121c5780636ddd1713146111f557806370a08231146111bf578063715018a61461116457806371fc468814611133578063751039fc146110e15780637571336a1461100757806382aa7c6814610f5157806385ecfd2814610f1557806388e765ff14610ef65780638da5cb5b14610ece578063941fa5cd14610eaf57806395d89b4114610dac5780639845755914610d845780639a7a23d614610c3c5780639dc29fac14610c04578063a457c2d714610b46578063a62068ce14610b27578063a9059cbb14610af6578063aa4bde2814610ad7578063b62496f514610a9b578063bbc0c74214610a74578063c0246668146109f3578063c18bc195146108fa578063c876d0b9146108d6578063d257b34f146107a3578063d85ba06314610784578063dc3f0d0f14610665578063dd62ed3e1461061c578063e2f45605146105fd578063e620a25c146105d6578063e800dff714610583578063e884f2601461055d578063eba4c33314610529578063ee40166e1461050a578063f0f44260146104c7578063f2fde38b146103e7578063f5648a4f146103b9578063f8a25a941461039a5763fe72b27a036100125734610397576020366003190112610397576001600160a01b0380600e5416330361039357610308843582600a5416612d8e565b600a5416803b1561039357818091858551809581937ffff6cae90000000000000000000000000000000000000000000000000000000083525af1801561038757610357575b6020835160018152f35b67ffffffffffffffff82116103745750602092508152388061034d565b80604185634e487b7160e01b6024945252fd5b508251903d90823e3d90fd5b5080fd5b80fd5b5090346103935781600319360112610393576020906019549051908152f35b50346103975780600319360112610397576103d2611ce5565b8080808047335af1506103e3612aa4565b5080f35b5091346104c35760203660031901126104c357610402611b08565b9061040b611ce5565b6001600160a01b0380921692831561045a575050600554826001600160a01b0319821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5034610397576020366003190112610397576104e1611b08565b6001600160a01b0390816005541633036104c357166001600160a01b0319600d541617600d5580f35b509034610393578160031936011261039357602090600f549051908152f35b50823461039357602036600319011261039357600a61055a913561054b611ce5565b80601955806018551115611d9c565b80f35b5034610397578060031936011261039757610576611ce5565b60ff196015541660155580f35b50903461039357806003193601126103935761055a906105a1611b08565b906001600160a01b036105b2611b39565b926105bb611ce5565b168452601160205283209060ff801983541691151516179055565b50903461039357816003193601126103935760209060ff60135460181c1690519015158152f35b509034610393578160031936011261039357602090600b549051908152f35b5090346103935780600319360112610393578060209261063a611b08565b610642611b23565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b50903461039357602036600319011261039357823592610683611ce5565b600254938460011b9480860460021490151715610771576103e89394670de0b6b3a764000094859104048110610708578381029381850414901517156106f55750816020917f53c4eb831d8cfeb750f1c62590d8cd30f4c6f0380d29a05caa09f0d92588560e9360075551908152a180f35b836011602492634e487b7160e01b835252fd5b506020608492519162461bcd60e51b8352820152602a60248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f77657260448201527f207468616e20302e3225000000000000000000000000000000000000000000006064820152fd5b602484601184634e487b7160e01b835252fd5b5090346103935781600319360112610393576020906016549051908152f35b5091346104c35760203660031901126104c3578035916107c1611ce5565b600254808004600114811517156108c357620186a08104841061085a576103e8900483116107f1575050600b5580f35b906020608492519162461bcd60e51b8352820152603460248201527f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160448201527f6e20302e312520746f74616c20737570706c792e0000000000000000000000006064820152fd5b608483602084519162461bcd60e51b8352820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527f20302e3030312520746f74616c20737570706c792e00000000000000000000006064820152fd5b602485601185634e487b7160e01b835252fd5b50903461039357816003193601126103935760209060ff6015541690519015158152f35b50903461039357602036600319011261039357823592610918611ce5565b60025493600385029480860460031490151715610771576103e89394670de0b6b3a76400009485910404811061098a578381029381850414901517156106f55750816020917fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc9360085551908152a180f35b506020608492519162461bcd60e51b8352820152602c60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760448201527f6572207468616e20302e332500000000000000000000000000000000000000006064820152fd5b5090346103935780600319360112610393577f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df76020610a30611b08565b6001600160a01b03610a40611b39565b91610a49611ce5565b1693848652601b8352610a6a828288209060ff801983541691151516179055565b519015158152a280f35b50903461039357816003193601126103935760209060ff60135460081c1690519015158152f35b5090346103935760203660031901126103935760ff816020936001600160a01b03610ac4611b08565b168152601d855220541690519015158152f35b5090346103935781600319360112610393576020906008549051908152f35b509034610393578060031936011261039357602090610b20610b16611b08565b60243590336121b0565b5160018152f35b5090346103935781600319360112610393576020906010549051908152f35b50829034610397578260031936011261039757610b61611b08565b91836024359233815260016020528181206001600160a01b0386168252602052205490828210610b9b57602085610b208585038733611bb1565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b5090346103935736600319011261039757610c1d611b08565b6001600160a01b03600d541633036103935761055a9060243590612d8e565b509190346104c357806003193601126104c357610c57611b08565b90610c60611b39565b92610c69611ce5565b6001600160a01b0380600a54169316928314610d1c57507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd674690828552601d602052610cc2848287209060ff801983541691151516179055565b601c602052610cdf848287209060ff801983541691151516179055565b805193838552151593846020820152a17fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab8282828680a38380a380f35b6020608492519162461bcd60e51b8352820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152fd5b5090346103935781600319360112610393576020906001600160a01b03600e54169051908152f35b509034610393578160031936011261039357805191809380549160019083821c92828516948515610ea5575b6020958686108114610e9257858952908115610e6e5750600114610e16575b610e128787610e08828c0383611b48565b5191829182611abf565b0390f35b81529295507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610e5b5750505082610e1294610e0892820101943880610df7565b8054868501880152928601928101610e3d565b60ff19168887015250505050151560051b8301019250610e0882610e123880610df7565b602484602285634e487b7160e01b835252fd5b93607f1693610dd8565b5090346103935781600319360112610393576020906017549051908152f35b5090346103935781600319360112610393576020906001600160a01b03600554169051908152f35b5090346103935781600319360112610393576020906006549051908152f35b5090346103935760203660031901126103935760ff816020936001600160a01b03610f3e611b08565b1681526011855220541690519015158152f35b509190346104c35760203660031901126104c357610f6d611ce5565b6013549060ff8260081c16610fc557509062010100610f9b9262ffff0019161760135543600f553543611ba4565b6010557fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb78180a180f35b5162461bcd60e51b8152602081840152601760248201527f43616e6e6f74207265656e61626c652074726164696e670000000000000000006044820152606490fd5b508234610393578260031936011261039357611021611b08565b611029611b39565b91611032611ce5565b8215611063575b50926001600160a01b0361055a9394168452601c60205283209060ff801983541691151516179055565b6001600160a01b0380600a54169083160361103957608490602086519162461bcd60e51b8352820152602760248201527f43616e6e6f742072656d6f766520556e697377617020706169722066726f6d2060448201527f6d61782074786e000000000000000000000000000000000000000000000000006064820152fd5b50346103975780600319360112610397576110fa611ce5565b60ff198060135416601355601554166015557fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c8180a180f35b50823461039357602036600319011261039357600a61055a9135611155611ce5565b80601755806016551115611d9c565b503461039757806003193601126103975761117d611ce5565b806001600160a01b036005546001600160a01b03198116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50903461039357602036600319011261039357806020926001600160a01b036111e6611b08565b16815280845220549051908152f35b50903461039357816003193601126103935760209060ff60135460101c1690519015158152f35b509034610393578160031936011261039357602090601a549051908152f35b5090346103935781600319360112610393576020906012549051908152f35b5090346103935781600319360112610393576020906018549051908152f35b5090346103935781600319360112610393576020906007549051908152f35b5090346103935781600319360112610393576020906001600160a01b03600d54169051908152f35b5091346104c35760203660031901126104c3576001600160a01b036112e3611b08565b6112eb611ce5565b169182156113095750506001600160a01b0319600c541617600c5580f35b906020606492519162461bcd60e51b8352820152601f60248201527f5f7461784164647265737320616464726573732063616e6e6f742062652030006044820152fd5b50903461039357816003193601126103935760209060105443109051908152f35b5091346104c357826003193601126104c357611387611ce5565b3083528260205281832054600b54116113ea575060207f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329160ff60a01b19600160a01b81600a541617600a556113db612ae4565b600a5416600a5551428152a180f35b816020608493519262461bcd60e51b845283015260248201527f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060448201527f6973206174206f7220686967686572207468616e207265737472696374696f6e6064820152fd5b50903461039357816003193601126103935760209060ff6013541690519015158152f35b5090346103935781600319360112610393576020906001600160a01b03600a54169051908152f35b509190346104c357806003193601126104c3576114b8611b08565b90602435916001600160a01b039081600d541633148015611574575b15611570571692831561152e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926115148795600254611ba4565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b8580fd5b5081600e541633146114d4565b509034610393578060031936011261039357610b206020926115c96115a4611b08565b91338152600186528481206001600160a01b0384168252865284602435912054611ba4565b9033611bb1565b5090346103935781600319360112610393576020905160128152f35b5090346103935760203660031901126103935782359261160a611ce5565b600254938460011b9480860460021490151715610771576103e89394670de0b6b3a76400009485910404811061167c578381029381850414901517156106f55750816020917ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de410099360065551908152a180f35b506020608492519162461bcd60e51b8352820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f7765722060448201527f7468616e20302e322500000000000000000000000000000000000000000000006064820152fd5b50823461039357602036600319011261039357358015158091036103935761170b611ce5565b63ff0000006013549160181b169063ff00000019161760135580f35b50823461039357606036600319011261039357611742611b08565b61174a611b23565b9184604435946001600160a01b038416815260016020528181203382526020522054906000198203611785575b602086610b208787876121b0565b8482106117ae57509183916117a360209695610b2095033383611bb1565b919394819350611777565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5090346103935781600319360112610393576020906002549051908152f35b50346103975760203660031901126103975761182a611b08565b6001600160a01b039081600554163314801561185b575b156104c357166001600160a01b0319600e541617600e5580f35b5081600e54163314611841565b5091346104c357816003193601126104c35767ffffffffffffffff9080358281116119375736602382011215611937578082013592831161193757602493600591368686851b83010111611933576118be611b39565b926118c7611ce5565b875b8681106118d4578880f35b8781831b840101356001600160a01b03811680910361192f578952601160205261190c85858b209060ff801983541691151516179055565b600019811461191d576001016118c9565b8789601188634e487b7160e01b835252fd5b8980fd5b8680fd5b8480fd5b5090346103935760203660031901126103935760ff816020936001600160a01b03611964611b08565b168152601c855220541690519015158152f35b509034610393578060031936011261039357602090610b20611997611b08565b6024359033611bb1565b5090346103935781600319360112610393576020906001600160a01b03600954169051908152f35b9050828434611abb5783600319360112611abb57600354600181811c9186908281168015611ab1575b6020958686108214611a9e5750848852908115611a7c5750600114611a23575b610e128686610e08828b0383611b48565b929550600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410611a695750505082610e1294610e08928201019486611a12565b8054868501880152928601928101611a4c565b60ff191687860152505050151560051b8301019250610e0882610e1286611a12565b836022602492634e487b7160e01b835252fd5b93607f16936119f2565b8380fd5b6020808252825181830181905290939260005b828110611af457505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501611ad2565b600435906001600160a01b0382168203611b1e57565b600080fd5b602435906001600160a01b0382168203611b1e57565b602435908115158203611b1e57565b90601f8019910116810190811067ffffffffffffffff821117611b6a57604052565b634e487b7160e01b600052604160045260246000fd5b9060018201809211611b8e57565b634e487b7160e01b600052601160045260246000fd5b91908201809211611b8e57565b6001600160a01b03809116918215611c7c5716918215611c125760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b6001600160a01b03600554163303611cf957565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b90606382029180830460631490151715611b8e57565b90601482029180830460141490151715611b8e57565b81810292918115918404141715611b8e57565b8115611d86570490565b634e487b7160e01b600052601260045260246000fd5b15611da357565b606460405162461bcd60e51b815260206004820152601e60248201527f4d757374206b656570206665657320617420313025206f72206c6573732e00006044820152fd5b15611dee57565b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b15611e5f57565b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b15611ed057565b606460405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152fd5b15611f1b57565b606460405162461bcd60e51b815260206004820152601660248201527f54726164696e67206973206e6f74206163746976652e000000000000000000006044820152fd5b15611f6657565b60a460405162461bcd60e51b815260206004820152604660248201527f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60448201527f72206f75742065786365707420746f206f776e6572206f72206465616420616460648201527f64726573732e00000000000000000000000000000000000000000000000000006084820152fd5b600119810191908211611b8e57565b91908203918211611b8e57565b1561201957565b608460405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e202054727920616761696e206c617465722e00000000000000000000006064820152fd5b1561208a57565b606460405162461bcd60e51b815260206004820152601960248201527f43616e6e6f7420657863656564206d61782077616c6c65742e000000000000006044820152fd5b156120d557565b608460405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201527f206d61782073656c6c2e000000000000000000000000000000000000000000006064820152fd5b1561214657565b608460405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527f6d6178206275792e0000000000000000000000000000000000000000000000006064820152fd5b91906001600160a01b03808416906121c9821515611de7565b8216908115156121d881611e58565b6121e3851515611ec9565b60ff601354818160081c161561295a575b6010546128f3575b166125ea575b505050612222306001600160a01b03166000526000602052604060002090565b54600b541115806125db575b806125c4575b8061259b575b80612572575b80612549575b61250c575b612292926001612278612271836001600160a01b0316600052601b602052604060002090565b5460ff1690565b80156124e6575b6124de575b600090612294575b506129ba565b565b9261232c91936010544310806124b8575b8061248f575b80612484575b156123bd57506122de6122da612271856001600160a01b03166000526011602052604060002090565b1590565b612343575b6122f66122ef82611d3d565b6064900490565b9061232261231d61231561230c60175486611d69565b60165490611d7c565b601a54611ba4565b601a55565b8161233357612005565b913861228c565b61233e8230876129ba565b612005565b612370612363846001600160a01b03166000526011602052604060002090565b805460ff19166001179055565b61238361237e601254611b80565b601255565b6040516001600160a01b03841681527f55678e47d0a699d3ab99b0184c4ff14f2246ba80522deb921aa0c8823578c44a90602090a16122e3565b6123dd612271856001600160a01b0316600052601d602052604060002090565b80612479575b1561241a57506018549061241561231d6123156124036122ef8686611d69565b9461241060195487611d69565b611d7c565b612322565b9061243b612271866001600160a01b0316600052601d602052604060002090565b8061246e575b1561232257601654915061241561231d6123156124616122ef8686611d69565b9461241060175487611d69565b506016541515612441565b5060185415156123e3565b5060165415156122b1565b506124b36122da612271866001600160a01b0316600052601d602052604060002090565b6122ab565b506124d9612271866001600160a01b0316600052601d602052604060002090565b6122a5565b506000612284565b50612507612271846001600160a01b0316600052601b602052604060002090565b61227f565b612524600160a01b60ff60a01b19600a541617600a55565b61252c612ae4565b6122929261254260ff60a01b19600a5416600a55565b925061224b565b5061256d6122da612271836001600160a01b0316600052601b602052604060002090565b612246565b506125966122da612271856001600160a01b0316600052601b602052604060002090565b612240565b506125bf6122da612271856001600160a01b0316600052601d602052604060002090565b61223a565b50600a546125d69060a01c60ff161590565b612234565b5060135460101c60ff1661222e565b61260b6125ff6005546001600160a01b031690565b6001600160a01b031690565b8092141591826128e8575b50816128e0575b50806128d4575b806128ab575b80612882575b61263c575b8080612202565b60155460ff16612796575b50612668612271846001600160a01b0316600052601d602052604060002090565b8061276d575b156126bb5761268160065483111561213f565b6126b56126ab6126a4836001600160a01b03166000526000602052604060002090565b5484611ba4565b6008541015612083565b38612635565b6126db612271826001600160a01b0316600052601d602052604060002090565b80612744575b156126f9576126f46007548311156120ce565b6126b5565b61271c6122da612271836001600160a01b0316600052601c602052604060002090565b156126b5576126f46126ab6126a4836001600160a01b03166000526000602052604060002090565b506127686122da612271856001600160a01b0316600052601c602052604060002090565b6126e1565b506127916122da612271836001600160a01b0316600052601c602052604060002090565b61266e565b6127ae6125ff6125ff6009546001600160a01b031690565b8114159081612863575b506127c4575b38612647565b326000908152601460205260409020546127dd43611ff6565b1180612830575b6127ed90612012565b4361280b326001600160a01b03166000526014602052604060002090565b554361282a826001600160a01b03166000526014602052604060002090565b556127be565b506127ed612851826001600160a01b03166000526014602052604060002090565b5461285b43611ff6565b1190506127e4565b905061287a6125ff600a546001600160a01b031690565b1415386127b8565b506128a66122da612271846001600160a01b0316600052601b602052604060002090565b612630565b506128cf6122da612271866001600160a01b0316600052601b602052604060002090565b61262a565b5061dead811415612624565b90503861261d565b831415915038612616565b6129166122da6122718a6001600160a01b03166000526011602052604060002090565b801561293d575b8015612932575b61292d90611f5f565b6121fc565b5061dead8514612924565b506129536125ff6005546001600160a01b031690565b851461291d565b61297a612271896001600160a01b0316600052601b602052604060002090565b801561298f575b61298a90611f14565b6121f4565b5061298a6129b3612271886001600160a01b0316600052601b602052604060002090565b9050612981565b6001600160a01b03809116916129d1831515611de7565b16916129de831515611e58565b600082815280602052604081205491808310612a3a57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b3d15612adf573d9067ffffffffffffffff8211611b6a5760405191612ad3601f8201601f191660200184611b48565b82523d6000602084013e565b606090565b612b01306001600160a01b03166000526000602052604060002090565b54601a548115908115612bc4575b50612bc157600b54612b2081611d53565b8211612bb1575b5060135460181c60ff16612b74575b601354612b479060181c60ff161590565b612b4e5750565b612b6a90612b64600c546001600160a01b031690565b306121b0565b6122926000601a55565b612b7d81612bcd565b612b876000601a55565b6000808080612b9e600c546001600160a01b031690565b47905af150612bab612aa4565b50612b36565b612bbb9150611d53565b38612b27565b50565b90501538612b0f565b604080519167ffffffffffffffff906060840182811185821017611b6a5783526002845260208085019084368337855115612d33573082526001600160a01b03928360095416918651927fad5c46480000000000000000000000000000000000000000000000000000000084528184600481845afa938415612d8357600094612d49575b50885193600194851015612d3357612c7191878592168a8c015230611bb1565b846009541694853b15611b1e5791879894939198519889957f791ac94700000000000000000000000000000000000000000000000000000000875260a487019260048801526000602488015260a060448801525180925260c4860194936000905b838210612d19575050505050509181600081819530606483015242608483015203925af18015612d0e57612d0557505050565b8211611b6a5752565b82513d6000823e3d90fd5b8551811687528b9750958201959482019490840190612cd2565b634e487b7160e01b600052603260045260246000fd5b8281819693963d8311612d7c575b612d618183611b48565b81010312610393575190868216820361039757509238612c51565b503d612d57565b88513d6000823e3d90fd5b6001600160a01b03168015612e6057600091818352826020526040832054818110612df657817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926020928587528684520360408620558060025403600255604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fdfea26469706673582212206d8f446cedf0bfd2008142d079938fb61e524742418a47d7f74431517ce50b5964736f6c63430008110033

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.