ETH Price: $2,878.21 (-5.02%)
Gas: 2 Gwei

Token

Coyote Token (coyt)
 

Overview

Max Total Supply

1,000,000,000 coyt

Holders

71

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
358,390.142650923315054954 coyt

Value
$0.00
0x449183e39d76fa4c1f516d3ea2feed3e8c99e8f1
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:
Coyote

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-15
*/

//   (                       )       
//   )\        (          ( /(   (   
// (((_)   (   )\ )   (   )\()) ))\  
// )\___   )\ (()/(   )\ (_))/ /((_) 
//((/ __| ((_) )(_)) ((_)| |_ (_))   
// | (__ / _ \| || |/ _ \|  _|/ -_)  
//  \___|\___/ \_, |\___/ \__|\___|  
//             |__/                 



// SPDX-License-Identifier: UNLICENSED
// File: @openzeppelin/contracts/token/ERC20/IERC20.sol


// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

// File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol


// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;


/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

// File: @openzeppelin/contracts/utils/Context.sol


// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

// File: @openzeppelin/contracts/token/ERC20/ERC20.sol


// OpenZeppelin Contracts (last updated v4.7.0) (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;




/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
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;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    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;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    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;
    }

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    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);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    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);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    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);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    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);
    }

    /**
     * @dev Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    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);
            }
        }
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

// File: @openzeppelin/contracts/access/Ownable.sol


// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;


/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface BURNTOKEN {
  function burn(uint256 amount) external;
}


pragma solidity ^0.8.0;

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

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

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

interface IFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

contract Coyote is Ownable, ERC20('Coyote Token', 'coyt') {
       
    IRouter public Router;
    
    uint256 public devFee;
    uint256 public burnFee;
    uint256 public NFTFee;
    address public burnToken;
    uint256 public swapAtAmount;
    address payable public  marketingWallet;
    address payable public NFTWallet;
    address public swapPair;
    mapping (address => bool) public automatedMarketMakerPairs;
    mapping (address => bool) private _isExcludedFromFees;
    
    constructor(address _router, address _MarketingWallet, address _NFTWallet, uint256 initialSupply, address _burnToken)  {
       devFee = 400;  // 100 = 1%
       burnFee = 0; // no burning but can if ever want too
       NFTFee = 100;  // 100 = 1%
       burnToken = _burnToken;
       marketingWallet = payable(_MarketingWallet);
       NFTWallet = payable(_NFTWallet);
       excludeFromFees(owner(), true);
       excludeFromFees(address(this), true);
       _mint(owner(), initialSupply * (10**18));
       swapAtAmount = totalSupply() * 10 / 1000000;  // .01% 
       updateSwapRouter(_router);   
    }
   
     event ExcludeFromFees(address indexed account, bool isExcluded);
     event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
    
    function setDevFee(uint256 _newDevFee) public onlyOwner {
      require(_newDevFee <= 1000, "Cannot exceed 1000");
      devFee = _newDevFee;
    }
    
    function setBurnFee(uint256 _newBurnFee) public onlyOwner {
      require(_newBurnFee <= 1000, "Cannot exceed 1000");
      burnFee = _newBurnFee;
    }

    function setNFTFee(uint256 _newNFTFee) public onlyOwner {
      require(_newNFTFee <= 1000, "Cannot exceed 1000");
      NFTFee = _newNFTFee;
    }
    
    function setMarketingWallet(address payable newMarketingWallet) public onlyOwner {
         if (_isExcludedFromFees[marketingWallet] = true) excludeFromFees(marketingWallet, false);
        marketingWallet = newMarketingWallet;
         if (_isExcludedFromFees[marketingWallet] = false) excludeFromFees(marketingWallet, true);
    }

    function setBurnToken(address _newBurnToken) external onlyOwner {
        burnToken = _newBurnToken;
    }
    
    function excludeFromFees(address account, bool excluded) public onlyOwner {
        require(_isExcludedFromFees[account] != excluded, "Account is already the value of 'excluded'");
        _isExcludedFromFees[account] = excluded;

        emit ExcludeFromFees(account, excluded);
    }
    
    function _setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner {
        require(automatedMarketMakerPairs[pair] != value, "Automated market maker pair is already set to that value");
        automatedMarketMakerPairs[pair] = value;
        emit SetAutomatedMarketMakerPair(pair, value);
    }
   
    function updateSwapRouter(address newAddress) public onlyOwner {
        require(newAddress != address(Router), "The router already has that address");
        Router = IRouter(newAddress);
        address bnbPair = IFactory(Router.factory())
            .getPair(address(this), Router.WETH());
        if(bnbPair == address(0)) bnbPair = IFactory(Router.factory()).createPair(address(this), Router.WETH());
        if (automatedMarketMakerPairs[bnbPair] != true && bnbPair != address(0) ){
            _setAutomatedMarketMakerPair(bnbPair, true);
        }
          _approve(address(this), address(Router), ~uint256(0));
        
        swapPair = bnbPair;
    }
    
    function isExcludedFromFees(address account) public view returns(bool) {
        return _isExcludedFromFees[account];
    }

    function setSwapAtAmount(uint256 _newSwapAtAmount) external onlyOwner {
        swapAtAmount = _newSwapAtAmount;
    }

    bool private inSwapAndLiquify;
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
           
        // if any account belongs to _isExcludedFromFee account then remove the fee
        if(!_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {

            if(automatedMarketMakerPairs[to] || automatedMarketMakerPairs[from]) {
                uint256 extraFee;
                if(devFee >0 || burnFee >0 || NFTFee >0) extraFee =(amount * devFee)/10000 + (amount * burnFee)/10000 + (amount * NFTFee)/10000;
                

                if (balanceOf(address(this)) > swapAtAmount && !inSwapAndLiquify && automatedMarketMakerPairs[to]) SwapFees();
                
                if (extraFee > 0) {
                  super._transfer(from, address(this), extraFee);
                  amount = amount - extraFee;
                }
                
            }     
        }
      super._transfer(from, to, amount);
        
   }

    function SwapFees() private lockTheSwap {
       
          address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = Router.WETH();

                Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                    balanceOf(address(this)),
                    0,
                    path,
                    address(this),
                    block.timestamp
                );

            uint256 burnAmount = address(this).balance * burnFee / (burnFee + devFee + NFTFee);
            
            address[] memory path1 = new address[](2);
            path1[0] = Router.WETH();
            path1[1] = burnToken;

                Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: burnAmount} (
                    0,
                    path1,
                    address(this),
                    block.timestamp
                );
                        
            BURNTOKEN(burnToken).burn(ERC20(burnToken).balanceOf(address(this)));

            uint256 NFTAmount = address(this).balance * NFTFee / ( devFee + NFTFee );

            payable(NFTWallet).transfer(NFTAmount);
            payable(marketingWallet).transfer(address(this).balance);
                    
    }

        function manualSwapAndBurn() external onlyOwner {
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = Router.WETH();

                Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                    balanceOf(address(this)),
                    0,
                    path,
                    address(this),
                    block.timestamp
                );

            uint256 burnAmount = address(this).balance * burnFee / (burnFee + devFee + NFTFee);
            
            address[] memory path1 = new address[](2);
            path1[0] = Router.WETH();
            path1[1] = burnToken;

                Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: burnAmount} (
                    0,
                    path1,
                    address(this),
                    block.timestamp
                );
                        
            BURNTOKEN(burnToken).burn(ERC20(burnToken).balanceOf(address(this)));

            uint256 NFTAmount = address(this).balance * NFTFee / ( devFee + NFTFee );

            payable(NFTWallet).transfer(NFTAmount);
            payable(marketingWallet).transfer(address(this).balance);
        }

        function withdawlBNB() external onlyOwner {
            payable(msg.sender).transfer(address(this).balance);
        }

        function withdrawlToken(address _tokenAddress) external onlyOwner {
            ERC20(_tokenAddress).transfer(msg.sender, ERC20(_tokenAddress).balanceOf(address(this)));
        }   
 

    // to receive Eth From Router when Swapping
    receive() external payable {}
    
    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_router","type":"address"},{"internalType":"address","name":"_MarketingWallet","type":"address"},{"internalType":"address","name":"_NFTWallet","type":"address"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"address","name":"_burnToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"NFTFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NFTWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"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":"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":"burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnToken","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":[],"name":"devFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"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":"manualSwapAndBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBurnFee","type":"uint256"}],"name":"setBurnFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newBurnToken","type":"address"}],"name":"setBurnToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newDevFee","type":"uint256"}],"name":"setDevFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMarketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newNFTFee","type":"uint256"}],"name":"setNFTFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newSwapAtAmount","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"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":[{"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":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateSwapRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdawlBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"withdrawlToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b5060405162002fd338038062002fd3833981016040819052620000349162000b09565b6040518060400160405280600c81526020016b21b7bcb7ba32902a37b5b2b760a11b8152506040518060400160405280600481526020016318dbde5d60e21b815250620000906200008a6200019960201b60201c565b6200019d565b8151620000a590600490602085019062000a46565b508051620000bb90600590602084019062000a46565b505061019060075550600060088190556064600955600a80546001600160a01b03199081166001600160a01b0385811691909117909255600c80548216888416179055600d805490911686831617905590546200011b91166001620001ed565b62000128306001620001ed565b620001596200013f6000546001600160a01b031690565b6200015384670de0b6b3a764000062000b86565b620002de565b620f42406200016760035490565b6200017490600a62000b86565b62000180919062000ba8565b600b556200018e85620003c3565b505050505062000c48565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b620001f7620007cb565b6001600160a01b03821660009081526010602052604090205460ff16151581151514156200027f5760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b60648201526084015b60405180910390fd5b6001600160a01b038216600081815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620003365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000276565b80600360008282546200034a919062000bcb565b90915550506001600160a01b038216600090815260016020526040812080548392906200037990849062000bcb565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b620003cd620007cb565b6006546001600160a01b0382811691161415620004395760405162461bcd60e51b815260206004820152602360248201527f54686520726f7574657220616c7265616479206861732074686174206164647260448201526265737360e81b606482015260840162000276565b600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b815290516000929163c45a01559160048083019260209291908290030181865afa15801562000496573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004bc919062000be6565b6001600160a01b031663e6a4390530600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200051f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000545919062000be6565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801562000591573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005b7919062000be6565b90506001600160a01b0381166200074257600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200061c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000642919062000be6565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006cb919062000be6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000719573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200073f919062000be6565b90505b6001600160a01b0381166000908152600f602052604090205460ff1615156001148015906200077957506001600160a01b03811615155b156200078c576200078c81600162000829565b600654620007a89030906001600160a01b03166000196200091e565b600e80546001600160a01b0319166001600160a01b039290921691909117905550565b6000546001600160a01b03163314620008275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000276565b565b62000833620007cb565b6001600160a01b0382166000908152600f602052604090205460ff1615158115151415620008ca5760405162461bcd60e51b815260206004820152603860248201527f4175746f6d61746564206d61726b6574206d616b65722070616972206973206160448201527f6c72656164792073657420746f20746861742076616c75650000000000000000606482015260840162000276565b6001600160a01b0382166000818152600f6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316620009825760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000276565b6001600160a01b038216620009e55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000276565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b82805462000a549062000c0b565b90600052602060002090601f01602090048101928262000a78576000855562000ac3565b82601f1062000a9357805160ff191683800117855562000ac3565b8280016001018555821562000ac3579182015b8281111562000ac357825182559160200191906001019062000aa6565b5062000ad192915062000ad5565b5090565b5b8082111562000ad1576000815560010162000ad6565b80516001600160a01b038116811462000b0457600080fd5b919050565b600080600080600060a0868803121562000b2257600080fd5b62000b2d8662000aec565b945062000b3d6020870162000aec565b935062000b4d6040870162000aec565b92506060860151915062000b646080870162000aec565b90509295509295909350565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161562000ba35762000ba362000b70565b500290565b60008262000bc657634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111562000be15762000be162000b70565b500190565b60006020828403121562000bf957600080fd5b62000c048262000aec565b9392505050565b600181811c9082168062000c2057607f821691505b6020821081141562000c4257634e487b7160e01b600052602260045260246000fd5b50919050565b61237b8062000c586000396000f3fe60806040526004361061021e5760003560e01c8063881196de11610123578063b9413b51116100ab578063e799ffb11161006f578063e799ffb114610658578063f2fde38b1461066d578063f6d7eade1461068d578063faa0a264146106ad578063fce589d8146106cd57600080fd5b8063b9413b51146105c3578063b98b677f146105d8578063c0246668146105f8578063c358798014610618578063dd62ed3e1461063857600080fd5b8063a457c2d7116100f2578063a457c2d714610513578063a7f7b36f14610533578063a9059cbb14610553578063ac5cad5614610573578063b62496f51461059357600080fd5b8063881196de146104a05780638da5cb5b146104c057806395d89b41146104de578063a2186ab5146104f357600080fd5b80634bf2c7c9116101a65780636827e764116101755780636827e7641461040957806370a082311461041f578063715018a61461045557806375f0a8741461046a578063869175241461048a57600080fd5b80634bf2c7c9146103705780634fbee193146103905780635d098b38146103c95780636402511e146103e957600080fd5b806323b872dd116101ed57806323b872dd146102c657806326991cc8146102e6578063313ce5671461031e578063395093511461033a57806342e6253b1461035a57600080fd5b806306fdde031461022a578063095ea7b31461025557806318160ddd146102855780631c75b6b2146102a457600080fd5b3661022557005b600080fd5b34801561023657600080fd5b5061023f6106e3565b60405161024c9190611fb1565b60405180910390f35b34801561026157600080fd5b5061027561027036600461201b565b610775565b604051901515815260200161024c565b34801561029157600080fd5b506003545b60405190815260200161024c565b3480156102b057600080fd5b506102c46102bf366004612047565b61078d565b005b3480156102d257600080fd5b506102756102e1366004612060565b6107c5565b3480156102f257600080fd5b50600e54610306906001600160a01b031681565b6040516001600160a01b03909116815260200161024c565b34801561032a57600080fd5b506040516012815260200161024c565b34801561034657600080fd5b5061027561035536600461201b565b6107e9565b34801561036657600080fd5b5061029660095481565b34801561037c57600080fd5b506102c461038b366004612047565b61080b565b34801561039c57600080fd5b506102756103ab3660046120a1565b6001600160a01b031660009081526010602052604090205460ff1690565b3480156103d557600080fd5b506102c46103e43660046120a1565b61083a565b3480156103f557600080fd5b506102c4610404366004612047565b6108b6565b34801561041557600080fd5b5061029660075481565b34801561042b57600080fd5b5061029661043a3660046120a1565b6001600160a01b031660009081526001602052604090205490565b34801561046157600080fd5b506102c46108c3565b34801561047657600080fd5b50600c54610306906001600160a01b031681565b34801561049657600080fd5b50610296600b5481565b3480156104ac57600080fd5b50600d54610306906001600160a01b031681565b3480156104cc57600080fd5b506000546001600160a01b0316610306565b3480156104ea57600080fd5b5061023f6108d7565b3480156104ff57600080fd5b506102c461050e366004612047565b6108e6565b34801561051f57600080fd5b5061027561052e36600461201b565b610915565b34801561053f57600080fd5b506102c461054e3660046120d3565b610990565b34801561055f57600080fd5b5061027561056e36600461201b565b610a81565b34801561057f57600080fd5b506102c461058e3660046120a1565b610a8f565b34801561059f57600080fd5b506102756105ae3660046120a1565b600f6020526000908152604090205460ff1681565b3480156105cf57600080fd5b506102c4610b7c565b3480156105e457600080fd5b506102c46105f33660046120a1565b610fcc565b34801561060457600080fd5b506102c46106133660046120d3565b6113b7565b34801561062457600080fd5b506102c46106333660046120a1565b6114a0565b34801561064457600080fd5b5061029661065336600461210c565b6114ca565b34801561066457600080fd5b506102c46114f5565b34801561067957600080fd5b506102c46106883660046120a1565b611529565b34801561069957600080fd5b50600654610306906001600160a01b031681565b3480156106b957600080fd5b50600a54610306906001600160a01b031681565b3480156106d957600080fd5b5061029660085481565b6060600480546106f29061213a565b80601f016020809104026020016040519081016040528092919081815260200182805461071e9061213a565b801561076b5780601f106107405761010080835404028352916020019161076b565b820191906000526020600020905b81548152906001019060200180831161074e57829003601f168201915b5050505050905090565b60003361078381858561159f565b5060019392505050565b6107956116c3565b6103e88111156107c05760405162461bcd60e51b81526004016107b790612175565b60405180910390fd5b600755565b6000336107d385828561171d565b6107de858585611797565b506001949350505050565b6000336107838185856107fc83836114ca565b61080691906121b7565b61159f565b6108136116c3565b6103e88111156108355760405162461bcd60e51b81526004016107b790612175565b600855565b6108426116c3565b600c546001600160a01b03166000908152601060205260409020805460ff19166001179055600c5461087e906001600160a01b031660006113b7565b600c80546001600160a01b0319166001600160a01b0383169081179091556000908152601060205260409020805460ff191690555b50565b6108be6116c3565b600b55565b6108cb6116c3565b6108d56000611934565b565b6060600580546106f29061213a565b6108ee6116c3565b6103e88111156109105760405162461bcd60e51b81526004016107b790612175565b600955565b6000338161092382866114ca565b9050838110156109835760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107b7565b6107de828686840361159f565b6109986116c3565b6001600160a01b0382166000908152600f602052604090205460ff1615158115151415610a2d5760405162461bcd60e51b815260206004820152603860248201527f4175746f6d61746564206d61726b6574206d616b65722070616972206973206160448201527f6c72656164792073657420746f20746861742076616c7565000000000000000060648201526084016107b7565b6001600160a01b0382166000818152600f6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b600033610783818585611797565b610a976116c3565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610ae5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0991906121cf565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7891906121e8565b5050565b610b846116c3565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610bb957610bb9612205565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c36919061221b565b81600181518110610c4957610c49612205565b6001600160a01b0392831660209182029290920101526006541663791ac947610c87306001600160a01b031660009081526001602052604090205490565b60008430426040518663ffffffff1660e01b8152600401610cac95949392919061227c565b600060405180830381600087803b158015610cc657600080fd5b505af1158015610cda573d6000803e3d6000fd5b505050506000600954600754600854610cf391906121b7565b610cfd91906121b7565b600854610d0a90476122b8565b610d1491906122d7565b60408051600280825260608201835292935060009290916020830190803683375050600654604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015610d83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da7919061221b565b81600081518110610dba57610dba612205565b6001600160a01b039283166020918202929092010152600a54825191169082906001908110610deb57610deb612205565b6001600160a01b03928316602091820292909201015260065460405163b6f9de9560e01b815291169063b6f9de95908490610e31906000908690309042906004016122f9565b6000604051808303818588803b158015610e4a57600080fd5b505af1158015610e5e573d6000803e3d6000fd5b5050600a546040516370a0823160e01b81523060048201526001600160a01b0390911693506342966c6892508391506370a0823190602401602060405180830381865afa158015610eb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed791906121cf565b6040518263ffffffff1660e01b8152600401610ef591815260200190565b600060405180830381600087803b158015610f0f57600080fd5b505af1158015610f23573d6000803e3d6000fd5b505050506000600954600754610f3991906121b7565b600954610f4690476122b8565b610f5091906122d7565b600d546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610f8b573d6000803e3d6000fd5b50600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610fc5573d6000803e3d6000fd5b5050505050565b610fd46116c3565b6006546001600160a01b038281169116141561103e5760405162461bcd60e51b815260206004820152602360248201527f54686520726f7574657220616c7265616479206861732074686174206164647260448201526265737360e81b60648201526084016107b7565b600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b815290516000929163c45a01559160048083019260209291908290030181865afa15801561109a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110be919061221b565b6001600160a01b031663e6a4390530600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611144919061221b565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801561118f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b3919061221b565b90506001600160a01b03811661133457600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a919061221b565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561129c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c0919061221b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561130d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611331919061221b565b90505b6001600160a01b0381166000908152600f602052604090205460ff16151560011480159061136a57506001600160a01b03811615155b1561137a5761137a816001610990565b6006546113949030906001600160a01b031660001961159f565b600e80546001600160a01b0319166001600160a01b039290921691909117905550565b6113bf6116c3565b6001600160a01b03821660009081526010602052604090205460ff16151581151514156114415760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b60648201526084016107b7565b6001600160a01b038216600081815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6114a86116c3565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6114fd6116c3565b60405133904780156108fc02916000818181858888f193505050501580156108b3573d6000803e3d6000fd5b6115316116c3565b6001600160a01b0381166115965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107b7565b6108b381611934565b6001600160a01b0383166116015760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107b7565b6001600160a01b0382166116625760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107b7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b031633146108d55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107b7565b600061172984846114ca565b9050600019811461179157818110156117845760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107b7565b611791848484840361159f565b50505050565b6001600160a01b03831660009081526010602052604090205460ff161580156117d957506001600160a01b03821660009081526010602052604090205460ff16155b15611924576001600160a01b0382166000908152600f602052604090205460ff168061181d57506001600160a01b0383166000908152600f602052604090205460ff165b1561192457600080600754118061183657506000600854115b8061184357506000600954115b156118b0576127106009548361185991906122b8565b61186391906122d7565b6127106008548461187491906122b8565b61187e91906122d7565b6127106007548561188f91906122b8565b61189991906122d7565b6118a391906121b7565b6118ad91906121b7565b90505b600b54306000908152600160205260409020541180156118d3575060115460ff16155b80156118f757506001600160a01b0383166000908152600f602052604090205460ff165b1561190457611904611984565b801561192257611915843083611de3565b61191f818361232e565b91505b505b61192f838383611de3565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6011805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106119c6576119c6612205565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a43919061221b565b81600181518110611a5657611a56612205565b6001600160a01b0392831660209182029290920101526006541663791ac947611a94306001600160a01b031660009081526001602052604090205490565b60008430426040518663ffffffff1660e01b8152600401611ab995949392919061227c565b600060405180830381600087803b158015611ad357600080fd5b505af1158015611ae7573d6000803e3d6000fd5b505050506000600954600754600854611b0091906121b7565b611b0a91906121b7565b600854611b1790476122b8565b611b2191906122d7565b60408051600280825260608201835292935060009290916020830190803683375050600654604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015611b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb4919061221b565b81600081518110611bc757611bc7612205565b6001600160a01b039283166020918202929092010152600a54825191169082906001908110611bf857611bf8612205565b6001600160a01b03928316602091820292909201015260065460405163b6f9de9560e01b815291169063b6f9de95908490611c3e906000908690309042906004016122f9565b6000604051808303818588803b158015611c5757600080fd5b505af1158015611c6b573d6000803e3d6000fd5b5050600a546040516370a0823160e01b81523060048201526001600160a01b0390911693506342966c6892508391506370a0823190602401602060405180830381865afa158015611cc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce491906121cf565b6040518263ffffffff1660e01b8152600401611d0291815260200190565b600060405180830381600087803b158015611d1c57600080fd5b505af1158015611d30573d6000803e3d6000fd5b505050506000600954600754611d4691906121b7565b600954611d5390476122b8565b611d5d91906122d7565b600d546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611d98573d6000803e3d6000fd5b50600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611dd2573d6000803e3d6000fd5b50506011805460ff19169055505050565b6001600160a01b038316611e475760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107b7565b6001600160a01b038216611ea95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107b7565b6001600160a01b03831660009081526001602052604090205481811015611f215760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107b7565b6001600160a01b03808516600090815260016020526040808220858503905591851681529081208054849290611f589084906121b7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fa491815260200190565b60405180910390a3611791565b600060208083528351808285015260005b81811015611fde57858101830151858201604001528201611fc2565b81811115611ff0576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108b357600080fd5b6000806040838503121561202e57600080fd5b823561203981612006565b946020939093013593505050565b60006020828403121561205957600080fd5b5035919050565b60008060006060848603121561207557600080fd5b833561208081612006565b9250602084013561209081612006565b929592945050506040919091013590565b6000602082840312156120b357600080fd5b81356120be81612006565b9392505050565b80151581146108b357600080fd5b600080604083850312156120e657600080fd5b82356120f181612006565b91506020830135612101816120c5565b809150509250929050565b6000806040838503121561211f57600080fd5b823561212a81612006565b9150602083013561210181612006565b600181811c9082168061214e57607f821691505b6020821081141561216f57634e487b7160e01b600052602260045260246000fd5b50919050565b602080825260129082015271043616e6e6f742065786365656420313030360741b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156121ca576121ca6121a1565b500190565b6000602082840312156121e157600080fd5b5051919050565b6000602082840312156121fa57600080fd5b81516120be816120c5565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561222d57600080fd5b81516120be81612006565b600081518084526020808501945080840160005b838110156122715781516001600160a01b03168752958201959082019060010161224c565b509495945050505050565b85815284602082015260a06040820152600061229b60a0830186612238565b6001600160a01b0394909416606083015250608001529392505050565b60008160001904831182151516156122d2576122d26121a1565b500290565b6000826122f457634e487b7160e01b600052601260045260246000fd5b500490565b8481526080602082015260006123126080830186612238565b6001600160a01b03949094166040830152506060015292915050565b600082821015612340576123406121a1565b50039056fea2646970667358221220b524a62016e738855055605b87fdf7d2967e02636284c170a4741393eb9ce3e564736f6c634300080b00330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005db0b216a823186f700aff8912fcbff6b4ec6aa7000000000000000000000000d419c20b7187954c2fa1c9fde405c02daa8d9f58000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce

Deployed Bytecode

0x60806040526004361061021e5760003560e01c8063881196de11610123578063b9413b51116100ab578063e799ffb11161006f578063e799ffb114610658578063f2fde38b1461066d578063f6d7eade1461068d578063faa0a264146106ad578063fce589d8146106cd57600080fd5b8063b9413b51146105c3578063b98b677f146105d8578063c0246668146105f8578063c358798014610618578063dd62ed3e1461063857600080fd5b8063a457c2d7116100f2578063a457c2d714610513578063a7f7b36f14610533578063a9059cbb14610553578063ac5cad5614610573578063b62496f51461059357600080fd5b8063881196de146104a05780638da5cb5b146104c057806395d89b41146104de578063a2186ab5146104f357600080fd5b80634bf2c7c9116101a65780636827e764116101755780636827e7641461040957806370a082311461041f578063715018a61461045557806375f0a8741461046a578063869175241461048a57600080fd5b80634bf2c7c9146103705780634fbee193146103905780635d098b38146103c95780636402511e146103e957600080fd5b806323b872dd116101ed57806323b872dd146102c657806326991cc8146102e6578063313ce5671461031e578063395093511461033a57806342e6253b1461035a57600080fd5b806306fdde031461022a578063095ea7b31461025557806318160ddd146102855780631c75b6b2146102a457600080fd5b3661022557005b600080fd5b34801561023657600080fd5b5061023f6106e3565b60405161024c9190611fb1565b60405180910390f35b34801561026157600080fd5b5061027561027036600461201b565b610775565b604051901515815260200161024c565b34801561029157600080fd5b506003545b60405190815260200161024c565b3480156102b057600080fd5b506102c46102bf366004612047565b61078d565b005b3480156102d257600080fd5b506102756102e1366004612060565b6107c5565b3480156102f257600080fd5b50600e54610306906001600160a01b031681565b6040516001600160a01b03909116815260200161024c565b34801561032a57600080fd5b506040516012815260200161024c565b34801561034657600080fd5b5061027561035536600461201b565b6107e9565b34801561036657600080fd5b5061029660095481565b34801561037c57600080fd5b506102c461038b366004612047565b61080b565b34801561039c57600080fd5b506102756103ab3660046120a1565b6001600160a01b031660009081526010602052604090205460ff1690565b3480156103d557600080fd5b506102c46103e43660046120a1565b61083a565b3480156103f557600080fd5b506102c4610404366004612047565b6108b6565b34801561041557600080fd5b5061029660075481565b34801561042b57600080fd5b5061029661043a3660046120a1565b6001600160a01b031660009081526001602052604090205490565b34801561046157600080fd5b506102c46108c3565b34801561047657600080fd5b50600c54610306906001600160a01b031681565b34801561049657600080fd5b50610296600b5481565b3480156104ac57600080fd5b50600d54610306906001600160a01b031681565b3480156104cc57600080fd5b506000546001600160a01b0316610306565b3480156104ea57600080fd5b5061023f6108d7565b3480156104ff57600080fd5b506102c461050e366004612047565b6108e6565b34801561051f57600080fd5b5061027561052e36600461201b565b610915565b34801561053f57600080fd5b506102c461054e3660046120d3565b610990565b34801561055f57600080fd5b5061027561056e36600461201b565b610a81565b34801561057f57600080fd5b506102c461058e3660046120a1565b610a8f565b34801561059f57600080fd5b506102756105ae3660046120a1565b600f6020526000908152604090205460ff1681565b3480156105cf57600080fd5b506102c4610b7c565b3480156105e457600080fd5b506102c46105f33660046120a1565b610fcc565b34801561060457600080fd5b506102c46106133660046120d3565b6113b7565b34801561062457600080fd5b506102c46106333660046120a1565b6114a0565b34801561064457600080fd5b5061029661065336600461210c565b6114ca565b34801561066457600080fd5b506102c46114f5565b34801561067957600080fd5b506102c46106883660046120a1565b611529565b34801561069957600080fd5b50600654610306906001600160a01b031681565b3480156106b957600080fd5b50600a54610306906001600160a01b031681565b3480156106d957600080fd5b5061029660085481565b6060600480546106f29061213a565b80601f016020809104026020016040519081016040528092919081815260200182805461071e9061213a565b801561076b5780601f106107405761010080835404028352916020019161076b565b820191906000526020600020905b81548152906001019060200180831161074e57829003601f168201915b5050505050905090565b60003361078381858561159f565b5060019392505050565b6107956116c3565b6103e88111156107c05760405162461bcd60e51b81526004016107b790612175565b60405180910390fd5b600755565b6000336107d385828561171d565b6107de858585611797565b506001949350505050565b6000336107838185856107fc83836114ca565b61080691906121b7565b61159f565b6108136116c3565b6103e88111156108355760405162461bcd60e51b81526004016107b790612175565b600855565b6108426116c3565b600c546001600160a01b03166000908152601060205260409020805460ff19166001179055600c5461087e906001600160a01b031660006113b7565b600c80546001600160a01b0319166001600160a01b0383169081179091556000908152601060205260409020805460ff191690555b50565b6108be6116c3565b600b55565b6108cb6116c3565b6108d56000611934565b565b6060600580546106f29061213a565b6108ee6116c3565b6103e88111156109105760405162461bcd60e51b81526004016107b790612175565b600955565b6000338161092382866114ca565b9050838110156109835760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107b7565b6107de828686840361159f565b6109986116c3565b6001600160a01b0382166000908152600f602052604090205460ff1615158115151415610a2d5760405162461bcd60e51b815260206004820152603860248201527f4175746f6d61746564206d61726b6574206d616b65722070616972206973206160448201527f6c72656164792073657420746f20746861742076616c7565000000000000000060648201526084016107b7565b6001600160a01b0382166000818152600f6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b600033610783818585611797565b610a976116c3565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610ae5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0991906121cf565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7891906121e8565b5050565b610b846116c3565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610bb957610bb9612205565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c36919061221b565b81600181518110610c4957610c49612205565b6001600160a01b0392831660209182029290920101526006541663791ac947610c87306001600160a01b031660009081526001602052604090205490565b60008430426040518663ffffffff1660e01b8152600401610cac95949392919061227c565b600060405180830381600087803b158015610cc657600080fd5b505af1158015610cda573d6000803e3d6000fd5b505050506000600954600754600854610cf391906121b7565b610cfd91906121b7565b600854610d0a90476122b8565b610d1491906122d7565b60408051600280825260608201835292935060009290916020830190803683375050600654604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015610d83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da7919061221b565b81600081518110610dba57610dba612205565b6001600160a01b039283166020918202929092010152600a54825191169082906001908110610deb57610deb612205565b6001600160a01b03928316602091820292909201015260065460405163b6f9de9560e01b815291169063b6f9de95908490610e31906000908690309042906004016122f9565b6000604051808303818588803b158015610e4a57600080fd5b505af1158015610e5e573d6000803e3d6000fd5b5050600a546040516370a0823160e01b81523060048201526001600160a01b0390911693506342966c6892508391506370a0823190602401602060405180830381865afa158015610eb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed791906121cf565b6040518263ffffffff1660e01b8152600401610ef591815260200190565b600060405180830381600087803b158015610f0f57600080fd5b505af1158015610f23573d6000803e3d6000fd5b505050506000600954600754610f3991906121b7565b600954610f4690476122b8565b610f5091906122d7565b600d546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610f8b573d6000803e3d6000fd5b50600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610fc5573d6000803e3d6000fd5b5050505050565b610fd46116c3565b6006546001600160a01b038281169116141561103e5760405162461bcd60e51b815260206004820152602360248201527f54686520726f7574657220616c7265616479206861732074686174206164647260448201526265737360e81b60648201526084016107b7565b600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b815290516000929163c45a01559160048083019260209291908290030181865afa15801561109a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110be919061221b565b6001600160a01b031663e6a4390530600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611144919061221b565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801561118f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b3919061221b565b90506001600160a01b03811661133457600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a919061221b565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561129c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c0919061221b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561130d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611331919061221b565b90505b6001600160a01b0381166000908152600f602052604090205460ff16151560011480159061136a57506001600160a01b03811615155b1561137a5761137a816001610990565b6006546113949030906001600160a01b031660001961159f565b600e80546001600160a01b0319166001600160a01b039290921691909117905550565b6113bf6116c3565b6001600160a01b03821660009081526010602052604090205460ff16151581151514156114415760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b60648201526084016107b7565b6001600160a01b038216600081815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6114a86116c3565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6114fd6116c3565b60405133904780156108fc02916000818181858888f193505050501580156108b3573d6000803e3d6000fd5b6115316116c3565b6001600160a01b0381166115965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107b7565b6108b381611934565b6001600160a01b0383166116015760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107b7565b6001600160a01b0382166116625760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107b7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b031633146108d55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107b7565b600061172984846114ca565b9050600019811461179157818110156117845760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107b7565b611791848484840361159f565b50505050565b6001600160a01b03831660009081526010602052604090205460ff161580156117d957506001600160a01b03821660009081526010602052604090205460ff16155b15611924576001600160a01b0382166000908152600f602052604090205460ff168061181d57506001600160a01b0383166000908152600f602052604090205460ff165b1561192457600080600754118061183657506000600854115b8061184357506000600954115b156118b0576127106009548361185991906122b8565b61186391906122d7565b6127106008548461187491906122b8565b61187e91906122d7565b6127106007548561188f91906122b8565b61189991906122d7565b6118a391906121b7565b6118ad91906121b7565b90505b600b54306000908152600160205260409020541180156118d3575060115460ff16155b80156118f757506001600160a01b0383166000908152600f602052604090205460ff165b1561190457611904611984565b801561192257611915843083611de3565b61191f818361232e565b91505b505b61192f838383611de3565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6011805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106119c6576119c6612205565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a43919061221b565b81600181518110611a5657611a56612205565b6001600160a01b0392831660209182029290920101526006541663791ac947611a94306001600160a01b031660009081526001602052604090205490565b60008430426040518663ffffffff1660e01b8152600401611ab995949392919061227c565b600060405180830381600087803b158015611ad357600080fd5b505af1158015611ae7573d6000803e3d6000fd5b505050506000600954600754600854611b0091906121b7565b611b0a91906121b7565b600854611b1790476122b8565b611b2191906122d7565b60408051600280825260608201835292935060009290916020830190803683375050600654604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015611b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb4919061221b565b81600081518110611bc757611bc7612205565b6001600160a01b039283166020918202929092010152600a54825191169082906001908110611bf857611bf8612205565b6001600160a01b03928316602091820292909201015260065460405163b6f9de9560e01b815291169063b6f9de95908490611c3e906000908690309042906004016122f9565b6000604051808303818588803b158015611c5757600080fd5b505af1158015611c6b573d6000803e3d6000fd5b5050600a546040516370a0823160e01b81523060048201526001600160a01b0390911693506342966c6892508391506370a0823190602401602060405180830381865afa158015611cc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce491906121cf565b6040518263ffffffff1660e01b8152600401611d0291815260200190565b600060405180830381600087803b158015611d1c57600080fd5b505af1158015611d30573d6000803e3d6000fd5b505050506000600954600754611d4691906121b7565b600954611d5390476122b8565b611d5d91906122d7565b600d546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611d98573d6000803e3d6000fd5b50600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611dd2573d6000803e3d6000fd5b50506011805460ff19169055505050565b6001600160a01b038316611e475760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107b7565b6001600160a01b038216611ea95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107b7565b6001600160a01b03831660009081526001602052604090205481811015611f215760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107b7565b6001600160a01b03808516600090815260016020526040808220858503905591851681529081208054849290611f589084906121b7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fa491815260200190565b60405180910390a3611791565b600060208083528351808285015260005b81811015611fde57858101830151858201604001528201611fc2565b81811115611ff0576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108b357600080fd5b6000806040838503121561202e57600080fd5b823561203981612006565b946020939093013593505050565b60006020828403121561205957600080fd5b5035919050565b60008060006060848603121561207557600080fd5b833561208081612006565b9250602084013561209081612006565b929592945050506040919091013590565b6000602082840312156120b357600080fd5b81356120be81612006565b9392505050565b80151581146108b357600080fd5b600080604083850312156120e657600080fd5b82356120f181612006565b91506020830135612101816120c5565b809150509250929050565b6000806040838503121561211f57600080fd5b823561212a81612006565b9150602083013561210181612006565b600181811c9082168061214e57607f821691505b6020821081141561216f57634e487b7160e01b600052602260045260246000fd5b50919050565b602080825260129082015271043616e6e6f742065786365656420313030360741b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156121ca576121ca6121a1565b500190565b6000602082840312156121e157600080fd5b5051919050565b6000602082840312156121fa57600080fd5b81516120be816120c5565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561222d57600080fd5b81516120be81612006565b600081518084526020808501945080840160005b838110156122715781516001600160a01b03168752958201959082019060010161224c565b509495945050505050565b85815284602082015260a06040820152600061229b60a0830186612238565b6001600160a01b0394909416606083015250608001529392505050565b60008160001904831182151516156122d2576122d26121a1565b500290565b6000826122f457634e487b7160e01b600052601260045260246000fd5b500490565b8481526080602082015260006123126080830186612238565b6001600160a01b03949094166040830152506060015292915050565b600082821015612340576123406121a1565b50039056fea2646970667358221220b524a62016e738855055605b87fdf7d2967e02636284c170a4741393eb9ce3e564736f6c634300080b0033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005db0b216a823186f700aff8912fcbff6b4ec6aa7000000000000000000000000d419c20b7187954c2fa1c9fde405c02daa8d9f58000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce

-----Decoded View---------------
Arg [0] : _router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : _MarketingWallet (address): 0x5DB0b216A823186f700aff8912FCbFf6B4EC6Aa7
Arg [2] : _NFTWallet (address): 0xd419c20b7187954C2Fa1c9fDe405C02dAa8d9f58
Arg [3] : initialSupply (uint256): 1000000000
Arg [4] : _burnToken (address): 0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 0000000000000000000000005db0b216a823186f700aff8912fcbff6b4ec6aa7
Arg [2] : 000000000000000000000000d419c20b7187954c2fa1c9fde405c02daa8d9f58
Arg [3] : 000000000000000000000000000000000000000000000000000000003b9aca00
Arg [4] : 00000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce


Deployed Bytecode Sourcemap

21368:7983:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7010:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9361:201;;;;;;;;;;-1:-1:-1;9361:201:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;9361:201:0;1072:187:1;8130:108:0;;;;;;;;;;-1:-1:-1;8218:12:0;;8130:108;;;1410:25:1;;;1398:2;1383:18;8130:108:0;1264:177:1;22663:150:0;;;;;;;;;;-1:-1:-1;22663:150:0;;;;;:::i;:::-;;:::i;:::-;;10142:295;;;;;;;;;;-1:-1:-1;10142:295:0;;;;;:::i;:::-;;:::i;21711:23::-;;;;;;;;;;-1:-1:-1;21711:23:0;;;;-1:-1:-1;;;;;21711:23:0;;;;;;-1:-1:-1;;;;;2256:32:1;;;2238:51;;2226:2;2211:18;21711:23:0;2092:203:1;7972:93:0;;;;;;;;;;-1:-1:-1;7972:93:0;;8055:2;2442:36:1;;2430:2;2415:18;7972:93:0;2300:184:1;10846:238:0;;;;;;;;;;-1:-1:-1;10846:238:0;;;;;:::i;:::-;;:::i;21533:21::-;;;;;;;;;;;;;;;;22825:155;;;;;;;;;;-1:-1:-1;22825:155:0;;;;;:::i;:::-;;:::i;24931:125::-;;;;;;;;;;-1:-1:-1;24931:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;25020:28:0;24996:4;25020:28;;;:19;:28;;;;;;;;;24931:125;23150:336;;;;;;;;;;-1:-1:-1;23150:336:0;;;;;:::i;:::-;;:::i;25064:120::-;;;;;;;;;;-1:-1:-1;25064:120:0;;;;;:::i;:::-;;:::i;21476:21::-;;;;;;;;;;;;;;;;8301:127;;;;;;;;;;-1:-1:-1;8301:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8402:18:0;8375:7;8402:18;;;:9;:18;;;;;;;8301:127;19679:103;;;;;;;;;;;;;:::i;21626:39::-;;;;;;;;;;-1:-1:-1;21626:39:0;;;;-1:-1:-1;;;;;21626:39:0;;;21592:27;;;;;;;;;;;;;;;;21672:32;;;;;;;;;;-1:-1:-1;21672:32:0;;;;-1:-1:-1;;;;;21672:32:0;;;19031:87;;;;;;;;;;-1:-1:-1;19077:7:0;19104:6;-1:-1:-1;;;;;19104:6:0;19031:87;;7229:104;;;;;;;;;;;;;:::i;22988:150::-;;;;;;;;;;-1:-1:-1;22988:150:0;;;;;:::i;:::-;;:::i;11587:436::-;;;;;;;;;;-1:-1:-1;11587:436:0;;;;;:::i;:::-;;:::i;23916:315::-;;;;;;;;;;-1:-1:-1;23916:315:0;;;;;:::i;:::-;;:::i;8634:193::-;;;;;;;;;;-1:-1:-1;8634:193:0;;;;;:::i;:::-;;:::i;29063:181::-;;;;;;;;;;-1:-1:-1;29063:181:0;;;;;:::i;:::-;;:::i;21741:58::-;;;;;;;;;;-1:-1:-1;21741:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;27649:1270;;;;;;;;;;;;;:::i;24242:677::-;;;;;;;;;;-1:-1:-1;24242:677:0;;;;;:::i;:::-;;:::i;23614:290::-;;;;;;;;;;-1:-1:-1;23614:290:0;;;;;:::i;:::-;;:::i;23494:108::-;;;;;;;;;;-1:-1:-1;23494:108:0;;;;;:::i;:::-;;:::i;8890:151::-;;;;;;;;;;-1:-1:-1;8890:151:0;;;;;:::i;:::-;;:::i;28931:120::-;;;;;;;;;;;;;:::i;19937:201::-;;;;;;;;;;-1:-1:-1;19937:201:0;;;;;:::i;:::-;;:::i;21442:21::-;;;;;;;;;;-1:-1:-1;21442:21:0;;;;-1:-1:-1;;;;;21442:21:0;;;21561:24;;;;;;;;;;-1:-1:-1;21561:24:0;;;;-1:-1:-1;;;;;21561:24:0;;;21504:22;;;;;;;;;;;;;;;;7010:100;7064:13;7097:5;7090:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7010:100;:::o;9361:201::-;9444:4;4730:10;9500:32;4730:10;9516:7;9525:6;9500:8;:32::i;:::-;-1:-1:-1;9550:4:0;;9361:201;-1:-1:-1;;;9361:201:0:o;22663:150::-;18917:13;:11;:13::i;:::-;22750:4:::1;22736:10;:18;;22728:49;;;;-1:-1:-1::0;;;22728:49:0::1;;;;;;;:::i;:::-;;;;;;;;;22786:6;:19:::0;22663:150::o;10142:295::-;10273:4;4730:10;10331:38;10347:4;4730:10;10362:6;10331:15;:38::i;:::-;10380:27;10390:4;10396:2;10400:6;10380:9;:27::i;:::-;-1:-1:-1;10425:4:0;;10142:295;-1:-1:-1;;;;10142:295:0:o;10846:238::-;10934:4;4730:10;10990:64;4730:10;11006:7;11043:10;11015:25;4730:10;11006:7;11015:9;:25::i;:::-;:38;;;;:::i;:::-;10990:8;:64::i;22825:155::-;18917:13;:11;:13::i;:::-;22915:4:::1;22900:11;:19;;22892:50;;;;-1:-1:-1::0;;;22892:50:0::1;;;;;;;:::i;:::-;22951:7;:21:::0;22825:155::o;23150:336::-;18917:13;:11;:13::i;:::-;23267:15:::1;::::0;-1:-1:-1;;;;;23267:15:0::1;23247:36;::::0;;;:19:::1;:36;::::0;;;;:43;;-1:-1:-1;;23247:43:0::1;23286:4;23247:43;::::0;;23308:15:::1;::::0;23292:39:::1;::::0;-1:-1:-1;;;;;23308:15:0::1;;23292;:39::i;:::-;23342:15;:36:::0;;-1:-1:-1;;;;;;23342:36:0::1;-1:-1:-1::0;;;;;23342:36:0;::::1;::::0;;::::1;::::0;;;-1:-1:-1;23394:36:0;;;:19:::1;:36;::::0;;;;:44;;-1:-1:-1;;23394:44:0::1;::::0;;23440:38:::1;23150:336:::0;:::o;25064:120::-;18917:13;:11;:13::i;:::-;25145:12:::1;:31:::0;25064:120::o;19679:103::-;18917:13;:11;:13::i;:::-;19744:30:::1;19771:1;19744:18;:30::i;:::-;19679:103::o:0;7229:104::-;7285:13;7318:7;7311:14;;;;;:::i;22988:150::-;18917:13;:11;:13::i;:::-;23075:4:::1;23061:10;:18;;23053:49;;;;-1:-1:-1::0;;;23053:49:0::1;;;;;;;:::i;:::-;23111:6;:19:::0;22988:150::o;11587:436::-;11680:4;4730:10;11680:4;11763:25;4730:10;11780:7;11763:9;:25::i;:::-;11736:52;;11827:15;11807:16;:35;;11799:85;;;;-1:-1:-1;;;11799:85:0;;5550:2:1;11799:85:0;;;5532:21:1;5589:2;5569:18;;;5562:30;5628:34;5608:18;;;5601:62;-1:-1:-1;;;5679:18:1;;;5672:35;5724:19;;11799:85:0;5348:401:1;11799:85:0;11920:60;11929:5;11936:7;11964:15;11945:16;:34;11920:8;:60::i;23916:315::-;18917:13;:11;:13::i;:::-;-1:-1:-1;;;;;24016:31:0;::::1;;::::0;;;:25:::1;:31;::::0;;;;;::::1;;:40;;::::0;::::1;;;;24008:109;;;::::0;-1:-1:-1;;;24008:109:0;;5956:2:1;24008:109:0::1;::::0;::::1;5938:21:1::0;5995:2;5975:18;;;5968:30;6034:34;6014:18;;;6007:62;6105:26;6085:18;;;6078:54;6149:19;;24008:109:0::1;5754:420:1::0;24008:109:0::1;-1:-1:-1::0;;;;;24128:31:0;::::1;;::::0;;;:25:::1;:31;::::0;;;;;:39;;-1:-1:-1;;24128:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;24183:40;;24128:39;;:31;24183:40:::1;::::0;::::1;23916:315:::0;;:::o;8634:193::-;8713:4;4730:10;8769:28;4730:10;8786:2;8790:6;8769:9;:28::i;29063:181::-;18917:13;:11;:13::i;:::-;29186:45:::1;::::0;-1:-1:-1;;;29186:45:0;;29225:4:::1;29186:45;::::0;::::1;2238:51:1::0;-1:-1:-1;;;;;29144:29:0;::::1;::::0;::::1;::::0;29174:10:::1;::::0;29144:29;;29186:30:::1;::::0;2211:18:1;;29186:45:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29144:88;::::0;-1:-1:-1;;;;;;29144:88:0::1;::::0;;;;;;-1:-1:-1;;;;;6560:32:1;;;29144:88:0::1;::::0;::::1;6542:51:1::0;6609:18;;;6602:34;6515:18;;29144:88:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;29063:181:::0;:::o;27649:1270::-;18917:13;:11;:13::i;:::-;27736:16:::1;::::0;;27750:1:::1;27736:16:::0;;;;;::::1;::::0;;27712:21:::1;::::0;27736:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;27736:16:0::1;27712:40;;27785:4;27767;27772:1;27767:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;27767:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;27815:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;27815:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;27767:7;;27815:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27805:4;27810:1;27805:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;27805:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;27849:6:::1;::::0;::::1;:57;27929:24;27947:4;-1:-1:-1::0;;;;;8402:18:0;8375:7;8402:18;;;:9;:18;;;;;;;8301:127;27929:24:::1;27976:1;28000:4;28035;28063:15;27849:248;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;28114:18;28189:6;;28180;;28170:7;;:16;;;;:::i;:::-;:25;;;;:::i;:::-;28159:7;::::0;28135:31:::1;::::0;:21:::1;:31;:::i;:::-;:61;;;;:::i;:::-;28250:16;::::0;;28264:1:::1;28250:16:::0;;;;;::::1;::::0;;28114:82;;-1:-1:-1;28225:22:0::1;::::0;28250:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;28292:6:0::1;::::0;:13:::1;::::0;;-1:-1:-1;;;28292:13:0;;;;28225:41;;-1:-1:-1;;;;;;28292:6:0;;::::1;::::0;:11:::1;::::0;-1:-1:-1;28292:13:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28281:5;28287:1;28281:8;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;28281:24:0;;::::1;:8;::::0;;::::1;::::0;;;;;:24;28331:9:::1;::::0;28320:8;;28331:9;::::1;::::0;28320:5;;28331:9;;28320:8;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;28320:20:0;;::::1;:8;::::0;;::::1;::::0;;;;;:20;28361:6:::1;::::0;:222:::1;::::0;-1:-1:-1;;;28361:222:0;;:6;::::1;::::0;:57:::1;::::0;28426:10;;28361:222:::1;::::0;:6:::1;::::0;28485:5;;28521:4:::1;::::0;28549:15:::1;::::0;28361:222:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;28634:9:0::1;::::0;28650:41:::1;::::0;-1:-1:-1;;;28650:41:0;;28685:4:::1;28650:41;::::0;::::1;2238:51:1::0;-1:-1:-1;;;;;28634:9:0;;::::1;::::0;-1:-1:-1;28624:25:0::1;::::0;-1:-1:-1;28634:9:0;;-1:-1:-1;28650:26:0::1;::::0;2211:18:1;;28650:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28624:68;;;;;;;;;;;;;1410:25:1::0;;1398:2;1383:18;;1264:177;28624:68:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;28709:17;28773:6;;28764;;:15;;;;:::i;:::-;28753:6;::::0;28729:30:::1;::::0;:21:::1;:30;:::i;:::-;:52;;;;:::i;:::-;28806:9;::::0;28798:38:::1;::::0;28709:72;;-1:-1:-1;;;;;;28806:9:0::1;::::0;28798:38;::::1;;;::::0;28709:72;;28806:9:::1;28798:38:::0;28806:9;28798:38;28709:72;28806:9;28798:38;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;28859:15:0::1;::::0;28851:56:::1;::::0;-1:-1:-1;;;;;28859:15:0;;::::1;::::0;28885:21:::1;28851:56:::0;::::1;;;::::0;28859:15:::1;28851:56:::0;28859:15;28851:56;28885:21;28859:15;28851:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;27697:1222;;;;27649:1270::o:0;24242:677::-;18917:13;:11;:13::i;:::-;24346:6:::1;::::0;-1:-1:-1;;;;;24324:29:0;;::::1;24346:6:::0;::::1;24324:29;;24316:77;;;::::0;-1:-1:-1;;;24316:77:0;;9582:2:1;24316:77:0::1;::::0;::::1;9564:21:1::0;9621:2;9601:18;;;9594:30;9660:34;9640:18;;;9633:62;-1:-1:-1;;;9711:18:1;;;9704:33;9754:19;;24316:77:0::1;9380:399:1::0;24316:77:0::1;24404:6;:28:::0;;-1:-1:-1;;;;;;24404:28:0::1;-1:-1:-1::0;;;;;24404:28:0;::::1;::::0;;::::1;::::0;;;24470:16:::1;::::0;;-1:-1:-1;;;24470:16:0;;;;-1:-1:-1;;24404:28:0;24470:14:::1;::::0;:16:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;24404:28;24470:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24461:48:0::1;;24518:4;24525:6;;;;;;;;;-1:-1:-1::0;;;;;24525:6:0::1;-1:-1:-1::0;;;;;24525:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24461:78;::::0;-1:-1:-1;;;;;;24461:78:0::1;::::0;;;;;;-1:-1:-1;;;;;10014:15:1;;;24461:78:0::1;::::0;::::1;9996:34:1::0;10066:15;;10046:18;;;10039:43;9931:18;;24461:78:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24443:96:::0;-1:-1:-1;;;;;;24553:21:0;::::1;24550:103;;24595:6;;;;;;;;;-1:-1:-1::0;;;;;24595:6:0::1;-1:-1:-1::0;;;;;24595:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24586:37:0::1;;24632:4;24639:6;;;;;;;;;-1:-1:-1::0;;;;;24639:6:0::1;-1:-1:-1::0;;;;;24639:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24586:67;::::0;-1:-1:-1;;;;;;24586:67:0::1;::::0;;;;;;-1:-1:-1;;;;;10014:15:1;;;24586:67:0::1;::::0;::::1;9996:34:1::0;10066:15;;10046:18;;;10039:43;9931:18;;24586:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24576:77;;24550:103;-1:-1:-1::0;;;;;24668:34:0;::::1;;::::0;;;:25:::1;:34;::::0;;;;;::::1;;:42;;:34:::0;:42:::1;::::0;::::1;::::0;:67:::1;;-1:-1:-1::0;;;;;;24714:21:0;::::1;::::0;::::1;24668:67;24664:143;;;24752:43;24781:7;24790:4;24752:28;:43::i;:::-;24851:6;::::0;24819:53:::1;::::0;24836:4:::1;::::0;-1:-1:-1;;;;;24851:6:0::1;-1:-1:-1::0;;24819:8:0::1;:53::i;:::-;24893:8;:18:::0;;-1:-1:-1;;;;;;24893:18:0::1;-1:-1:-1::0;;;;;24893:18:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;24242:677:0:o;23614:290::-;18917:13;:11;:13::i;:::-;-1:-1:-1;;;;;23707:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;::::1;;:40;;::::0;::::1;;;;23699:95;;;::::0;-1:-1:-1;;;23699:95:0;;10295:2:1;23699:95:0::1;::::0;::::1;10277:21:1::0;10334:2;10314:18;;;10307:30;10373:34;10353:18;;;10346:62;-1:-1:-1;;;10424:18:1;;;10417:40;10474:19;;23699:95:0::1;10093:406:1::0;23699:95:0::1;-1:-1:-1::0;;;;;23805:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;23805:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;23862:34;;1212:41:1;;;23862:34:0::1;::::0;1185:18:1;23862:34:0::1;;;;;;;23614:290:::0;;:::o;23494:108::-;18917:13;:11;:13::i;:::-;23569:9:::1;:25:::0;;-1:-1:-1;;;;;;23569:25:0::1;-1:-1:-1::0;;;;;23569:25:0;;;::::1;::::0;;;::::1;::::0;;23494:108::o;8890:151::-;-1:-1:-1;;;;;9006:18:0;;;8979:7;9006:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8890:151::o;28931:120::-;18917:13;:11;:13::i;:::-;28988:51:::1;::::0;28996:10:::1;::::0;29017:21:::1;28988:51:::0;::::1;;;::::0;::::1;::::0;;;29017:21;28996:10;28988:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;19937:201:::0;18917:13;:11;:13::i;:::-;-1:-1:-1;;;;;20026:22:0;::::1;20018:73;;;::::0;-1:-1:-1;;;20018:73:0;;10706:2:1;20018:73:0::1;::::0;::::1;10688:21:1::0;10745:2;10725:18;;;10718:30;10784:34;10764:18;;;10757:62;-1:-1:-1;;;10835:18:1;;;10828:36;10881:19;;20018:73:0::1;10504:402:1::0;20018:73:0::1;20102:28;20121:8;20102:18;:28::i;15212:380::-:0;-1:-1:-1;;;;;15348:19:0;;15340:68;;;;-1:-1:-1;;;15340:68:0;;11113:2:1;15340:68:0;;;11095:21:1;11152:2;11132:18;;;11125:30;11191:34;11171:18;;;11164:62;-1:-1:-1;;;11242:18:1;;;11235:34;11286:19;;15340:68:0;10911:400:1;15340:68:0;-1:-1:-1;;;;;15427:21:0;;15419:68;;;;-1:-1:-1;;;15419:68:0;;11518:2:1;15419:68:0;;;11500:21:1;11557:2;11537:18;;;11530:30;11596:34;11576:18;;;11569:62;-1:-1:-1;;;11647:18:1;;;11640:32;11689:19;;15419:68:0;11316:398:1;15419:68:0;-1:-1:-1;;;;;15500:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15552:32;;1410:25:1;;;15552:32:0;;1383:18:1;15552:32:0;;;;;;;15212:380;;;:::o;19196:132::-;19077:7;19104:6;-1:-1:-1;;;;;19104:6:0;4730:10;19260:23;19252:68;;;;-1:-1:-1;;;19252:68:0;;11921:2:1;19252:68:0;;;11903:21:1;;;11940:18;;;11933:30;11999:34;11979:18;;;11972:62;12051:18;;19252:68:0;11719:356:1;15883:453:0;16018:24;16045:25;16055:5;16062:7;16045:9;:25::i;:::-;16018:52;;-1:-1:-1;;16085:16:0;:37;16081:248;;16167:6;16147:16;:26;;16139:68;;;;-1:-1:-1;;;16139:68:0;;12282:2:1;16139:68:0;;;12264:21:1;12321:2;12301:18;;;12294:30;12360:31;12340:18;;;12333:59;12409:18;;16139:68:0;12080:353:1;16139:68:0;16251:51;16260:5;16267:7;16295:6;16276:16;:25;16251:8;:51::i;:::-;16007:329;15883:453;;;:::o;25350:992::-;-1:-1:-1;;;;;25576:25:0;;;;;;:19;:25;;;;;;;;25575:26;:54;;;;-1:-1:-1;;;;;;25606:23:0;;;;;;:19;:23;;;;;;;;25605:24;25575:54;25572:712;;;-1:-1:-1;;;;;25651:29:0;;;;;;:25;:29;;;;;;;;;:64;;-1:-1:-1;;;;;;25684:31:0;;;;;;:25;:31;;;;;;;;25651:64;25648:620;;;25736:16;25782:1;25774:6;;:9;:23;;;;25796:1;25787:7;;:10;25774:23;:36;;;;25809:1;25801:6;;:9;25774:36;25771:127;;;25893:5;25885:6;;25876;:15;;;;:::i;:::-;25875:23;;;;:::i;:::-;25867:5;25858:7;;25849:6;:16;;;;:::i;:::-;25848:24;;;;:::i;:::-;25840:5;25832:6;;25823;:15;;;;:::i;:::-;25822:23;;;;:::i;:::-;:50;;;;:::i;:::-;:76;;;;:::i;:::-;25812:86;;25771:127;25968:12;;25959:4;8375:7;8402:18;;;:9;:18;;;;;;25941:39;:60;;;;-1:-1:-1;25985:16:0;;;;25984:17;25941:60;:93;;;;-1:-1:-1;;;;;;26005:29:0;;;;;;:25;:29;;;;;;;;25941:93;25937:109;;;26036:10;:8;:10::i;:::-;26087:12;;26083:152;;26122:46;26138:4;26152;26159:8;26122:15;:46::i;:::-;26198:17;26207:8;26198:6;:17;:::i;:::-;26189:26;;26083:152;25717:551;25648:620;26292:33;26308:4;26314:2;26318:6;26292:15;:33::i;:::-;25350:992;;;:::o;20298:191::-;20372:16;20391:6;;-1:-1:-1;;;;;20408:17:0;;;-1:-1:-1;;;;;;20408:17:0;;;;;;20441:40;;20391:6;;;;;;;20441:40;;20372:16;20441:40;20361:128;20298:191;:::o;26350:1287::-;25260:16;:23;;-1:-1:-1;;25260:23:0;25279:4;25260:23;;;26436:16:::1;::::0;;26450:1:::1;26436:16:::0;;;;;::::1;::::0;;-1:-1:-1;;26436:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;26436:16:0::1;26412:40;;26485:4;26467;26472:1;26467:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;26467:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;26515:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;26515:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;26467:7;;26515:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26505:4;26510:1;26505:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;26505:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;26549:6:::1;::::0;::::1;:57;26629:24;26647:4;-1:-1:-1::0;;;;;8402:18:0;8375:7;8402:18;;;:9;:18;;;;;;;8301:127;26629:24:::1;26676:1;26700:4;26735;26763:15;26549:248;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;26814:18;26889:6;;26880;;26870:7;;:16;;;;:::i;:::-;:25;;;;:::i;:::-;26859:7;::::0;26835:31:::1;::::0;:21:::1;:31;:::i;:::-;:61;;;;:::i;:::-;26950:16;::::0;;26964:1:::1;26950:16:::0;;;;;::::1;::::0;;26814:82;;-1:-1:-1;26925:22:0::1;::::0;26950:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;26992:6:0::1;::::0;:13:::1;::::0;;-1:-1:-1;;;26992:13:0;;;;26925:41;;-1:-1:-1;;;;;;26992:6:0;;::::1;::::0;:11:::1;::::0;-1:-1:-1;26992:13:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26981:5;26987:1;26981:8;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;26981:24:0;;::::1;:8;::::0;;::::1;::::0;;;;;:24;27031:9:::1;::::0;27020:8;;27031:9;::::1;::::0;27020:5;;27031:9;;27020:8;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;27020:20:0;;::::1;:8;::::0;;::::1;::::0;;;;;:20;27061:6:::1;::::0;:222:::1;::::0;-1:-1:-1;;;27061:222:0;;:6;::::1;::::0;:57:::1;::::0;27126:10;;27061:222:::1;::::0;:6:::1;::::0;27185:5;;27221:4:::1;::::0;27249:15:::1;::::0;27061:222:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;27334:9:0::1;::::0;27350:41:::1;::::0;-1:-1:-1;;;27350:41:0;;27385:4:::1;27350:41;::::0;::::1;2238:51:1::0;-1:-1:-1;;;;;27334:9:0;;::::1;::::0;-1:-1:-1;27324:25:0::1;::::0;-1:-1:-1;27334:9:0;;-1:-1:-1;27350:26:0::1;::::0;2211:18:1;;27350:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27324:68;;;;;;;;;;;;;1410:25:1::0;;1398:2;1383:18;;1264:177;27324:68:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;27409:17;27473:6;;27464;;:15;;;;:::i;:::-;27453:6;::::0;27429:30:::1;::::0;:21:::1;:30;:::i;:::-;:52;;;;:::i;:::-;27506:9;::::0;27498:38:::1;::::0;27409:72;;-1:-1:-1;;;;;;27506:9:0::1;::::0;27498:38;::::1;;;::::0;27409:72;;27506:9:::1;27498:38:::0;27506:9;27498:38;27409:72;27506:9;27498:38;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;27559:15:0::1;::::0;27551:56:::1;::::0;-1:-1:-1;;;;;27559:15:0;;::::1;::::0;27585:21:::1;27551:56:::0;::::1;;;::::0;27559:15:::1;27551:56:::0;27559:15;27551:56;27585:21;27559:15;27551:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;25306:16:0;:24;;-1:-1:-1;;25306:24:0;;;-1:-1:-1;;;26350:1287:0:o;12493:671::-;-1:-1:-1;;;;;12624:18:0;;12616:68;;;;-1:-1:-1;;;12616:68:0;;12770:2:1;12616:68:0;;;12752:21:1;12809:2;12789:18;;;12782:30;12848:34;12828:18;;;12821:62;-1:-1:-1;;;12899:18:1;;;12892:35;12944:19;;12616:68:0;12568:401:1;12616:68:0;-1:-1:-1;;;;;12703:16:0;;12695:64;;;;-1:-1:-1;;;12695:64:0;;13176:2:1;12695:64:0;;;13158:21:1;13215:2;13195:18;;;13188:30;13254:34;13234:18;;;13227:62;-1:-1:-1;;;13305:18:1;;;13298:33;13348:19;;12695:64:0;12974:399:1;12695:64:0;-1:-1:-1;;;;;12845:15:0;;12823:19;12845:15;;;:9;:15;;;;;;12879:21;;;;12871:72;;;;-1:-1:-1;;;12871:72:0;;13580:2:1;12871:72:0;;;13562:21:1;13619:2;13599:18;;;13592:30;13658:34;13638:18;;;13631:62;-1:-1:-1;;;13709:18:1;;;13702:36;13755:19;;12871:72:0;13378:402:1;12871:72:0;-1:-1:-1;;;;;12979:15:0;;;;;;;:9;:15;;;;;;12997:20;;;12979:38;;13039:13;;;;;;;;:23;;13011:6;;12979:15;13039:23;;13011:6;;13039:23;:::i;:::-;;;;;;;;13095:2;-1:-1:-1;;;;;13080:26:0;13089:4;-1:-1:-1;;;;;13080:26:0;;13099:6;13080:26;;;;1410:25:1;;1398:2;1383:18;;1264:177;13080:26:0;;;;;;;;13119:37;25350:992;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:180::-;1505:6;1558:2;1546:9;1537:7;1533:23;1529:32;1526:52;;;1574:1;1571;1564:12;1526:52;-1:-1:-1;1597:23:1;;1446:180;-1:-1:-1;1446:180:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:247::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;2656:9;2643:23;2675:31;2700:5;2675:31;:::i;:::-;2725:5;2489:247;-1:-1:-1;;;2489:247:1:o;3225:118::-;3311:5;3304:13;3297:21;3290:5;3287:32;3277:60;;3333:1;3330;3323:12;3348:382;3413:6;3421;3474:2;3462:9;3453:7;3449:23;3445:32;3442:52;;;3490:1;3487;3480:12;3442:52;3529:9;3516:23;3548:31;3573:5;3548:31;:::i;:::-;3598:5;-1:-1:-1;3655:2:1;3640:18;;3627:32;3668:30;3627:32;3668:30;:::i;:::-;3717:7;3707:17;;;3348:382;;;;;:::o;3735:388::-;3803:6;3811;3864:2;3852:9;3843:7;3839:23;3835:32;3832:52;;;3880:1;3877;3870:12;3832:52;3919:9;3906:23;3938:31;3963:5;3938:31;:::i;:::-;3988:5;-1:-1:-1;4045:2:1;4030:18;;4017:32;4058:33;4017:32;4058:33;:::i;4351:380::-;4430:1;4426:12;;;;4473;;;4494:61;;4548:4;4540:6;4536:17;4526:27;;4494:61;4601:2;4593:6;4590:14;4570:18;4567:38;4564:161;;;4647:10;4642:3;4638:20;4635:1;4628:31;4682:4;4679:1;4672:15;4710:4;4707:1;4700:15;4564:161;;4351:380;;;:::o;4736:342::-;4938:2;4920:21;;;4977:2;4957:18;;;4950:30;-1:-1:-1;;;5011:2:1;4996:18;;4989:48;5069:2;5054:18;;4736:342::o;5083:127::-;5144:10;5139:3;5135:20;5132:1;5125:31;5175:4;5172:1;5165:15;5199:4;5196:1;5189:15;5215:128;5255:3;5286:1;5282:6;5279:1;5276:13;5273:39;;;5292:18;;:::i;:::-;-1:-1:-1;5328:9:1;;5215:128::o;6179:184::-;6249:6;6302:2;6290:9;6281:7;6277:23;6273:32;6270:52;;;6318:1;6315;6308:12;6270:52;-1:-1:-1;6341:16:1;;6179:184;-1:-1:-1;6179:184:1:o;6647:245::-;6714:6;6767:2;6755:9;6746:7;6742:23;6738:32;6735:52;;;6783:1;6780;6773:12;6735:52;6815:9;6809:16;6834:28;6856:5;6834:28;:::i;7029:127::-;7090:10;7085:3;7081:20;7078:1;7071:31;7121:4;7118:1;7111:15;7145:4;7142:1;7135:15;7161:251;7231:6;7284:2;7272:9;7263:7;7259:23;7255:32;7252:52;;;7300:1;7297;7290:12;7252:52;7332:9;7326:16;7351:31;7376:5;7351:31;:::i;7417:461::-;7470:3;7508:5;7502:12;7535:6;7530:3;7523:19;7561:4;7590:2;7585:3;7581:12;7574:19;;7627:2;7620:5;7616:14;7648:1;7658:195;7672:6;7669:1;7666:13;7658:195;;;7737:13;;-1:-1:-1;;;;;7733:39:1;7721:52;;7793:12;;;;7828:15;;;;7769:1;7687:9;7658:195;;;-1:-1:-1;7869:3:1;;7417:461;-1:-1:-1;;;;;7417:461:1:o;7883:582::-;8182:6;8171:9;8164:25;8225:6;8220:2;8209:9;8205:18;8198:34;8268:3;8263:2;8252:9;8248:18;8241:31;8145:4;8289:57;8341:3;8330:9;8326:19;8318:6;8289:57;:::i;:::-;-1:-1:-1;;;;;8382:32:1;;;;8377:2;8362:18;;8355:60;-1:-1:-1;8446:3:1;8431:19;8424:35;8281:65;7883:582;-1:-1:-1;;;7883:582:1:o;8470:168::-;8510:7;8576:1;8572;8568:6;8564:14;8561:1;8558:21;8553:1;8546:9;8539:17;8535:45;8532:71;;;8583:18;;:::i;:::-;-1:-1:-1;8623:9:1;;8470:168::o;8643:217::-;8683:1;8709;8699:132;;8753:10;8748:3;8744:20;8741:1;8734:31;8788:4;8785:1;8778:15;8816:4;8813:1;8806:15;8699:132;-1:-1:-1;8845:9:1;;8643:217::o;8865:510::-;9136:6;9125:9;9118:25;9179:3;9174:2;9163:9;9159:18;9152:31;9099:4;9200:57;9252:3;9241:9;9237:19;9229:6;9200:57;:::i;:::-;-1:-1:-1;;;;;9293:32:1;;;;9288:2;9273:18;;9266:60;-1:-1:-1;9357:2:1;9342:18;9335:34;9192:65;8865:510;-1:-1:-1;;8865:510:1:o;12438:125::-;12478:4;12506:1;12503;12500:8;12497:34;;;12511:18;;:::i;:::-;-1:-1:-1;12548:9:1;;12438:125::o

Swarm Source

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