ETH Price: $2,311.05 (+0.17%)

Token

Robot Bender (BENDER)
 

Overview

Max Total Supply

1,000,000,000 BENDER

Holders

105

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
15,000,000 BENDER

Value
$0.00
0xb362f3B1479a65EaE9ecf51323670dbf1CFC6EF9
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:
BENDER

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
I'm Going To create my own Token With Blackjack and Hookers.

Website: https://www.robotbender.xyz
Telegram: https://t.me/bender_erc
Twitter: https://twitter.com/bender_erc20
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.19;

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

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

interface IDEXFactory {
    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;
}

library LibAddress {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "LibAddress: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "LibAddress: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "LibAddress: 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, "LibAddress: 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, "LibAddress: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "LibAddress: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        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 IUniswapRouter01 {
    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 IUniswapRouter02 is IUniswapRouter01 {
    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 BENDER is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using LibAddress for address;
    string private _name ="Robot Bender";
    string private _symbol = "BENDER";
    uint8 private _decimals = 9;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromLimits;
    mapping (address => bool) public _isMaxWalletExcluded;
    mapping (address => bool) public _isMaxTxExcluded;
    mapping (address => bool) public _automaticMarketMakers;

    uint256 private _tTotal = 10 ** 9 * 10**9;
    uint256 public _maxTx = 2 * 10 ** 7 * 10**9;
    uint256 public _maxWallet = 2 * 10 ** 7 * 10**9;
    uint256 private _swapThreshold = 10 ** 5 * 10**9; 

    address payable private devWallet = payable(0xc0631500b995611D81bbB281Bac1BB5C6A4B8ED0);
    address payable private marketingWallet = payable(0xc0631500b995611D81bbB281Bac1BB5C6A4B8ED0);

    uint256 public _buyLiquidityTax = 0;
    uint256 public _buyMarketTax = 25;
    uint256 public _buyDevTax = 0;

    uint256 public _sellLiquidityTax = 0;
    uint256 public _sellMarketTax = 25;
    uint256 public _sellDevTax = 0;

    uint256 public _lpShare = 0;
    uint256 public _marketingShare = 10;
    uint256 public _devShare = 0;

    uint256 public _buyTotalTax = 25;
    uint256 public _sellTotalTax = 25;
    uint256 public _totalShare = 10;

    IUniswapRouter02 public _router;
    address public _pairAddress;
    
    bool _swapping;
    bool public swapEnabled = true;
    bool public _hasSwapLimit = false;
    bool public _hasWalletLimit = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        _swapping = true;
        _;
        _swapping = false;
    }
    
    constructor () {
        
        IUniswapRouter02 _uniswapV2Router = IUniswapRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 

        _pairAddress = IDEXFactory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _router = _uniswapV2Router;
        _allowances[address(this)][address(_router)] = _tTotal;

        _isExcludedFromLimits[owner()] = true;
        _isExcludedFromLimits[devWallet] = true;
        _isExcludedFromLimits[marketingWallet] = true;
        
        _buyTotalTax = _buyLiquidityTax.add(_buyMarketTax).add(_buyDevTax);
        _sellTotalTax = _sellLiquidityTax.add(_sellMarketTax).add(_sellDevTax);
        _totalShare = _lpShare.add(_marketingShare).add(_devShare);

        _isMaxWalletExcluded[owner()] = true;
        _isMaxWalletExcluded[address(_pairAddress)] = true;
        _isMaxWalletExcluded[address(this)] = true;
        
        _isMaxTxExcluded[owner()] = true;
        _isMaxTxExcluded[devWallet] = true;
        _isMaxTxExcluded[marketingWallet] = true;
        _isMaxTxExcluded[address(this)] = true;

        _automaticMarketMakers[address(_pairAddress)] = true;

        _balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

    function takeFeesOnTransfer(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        
        if(_automaticMarketMakers[sender]) {
            feeAmount = amount.mul(_buyTotalTax).div(100);
        }
        else if(_automaticMarketMakers[recipient]) {
            feeAmount = amount.mul(_sellTotalTax).div(100);
        }
        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        if(_swapping)
        { 
            return _originalTransfer(sender, recipient, amount); 
        }
        else
        {
            if(!_isMaxTxExcluded[sender] && !_isMaxTxExcluded[recipient]) {
                require(amount <= _maxTx, "Transfer amount exceeds the maxTxAmount.");
            }            

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= _swapThreshold;
            
            if (overMinimumTokenBalance && !_swapping && _automaticMarketMakers[recipient] && swapEnabled && !_isExcludedFromLimits[sender] && amount > _swapThreshold) 
            {
                if(_hasSwapLimit)
                    contractTokenBalance = _swapThreshold;
                swapBack(contractTokenBalance);    
            }

            uint256 fAmount = (_isExcludedFromLimits[sender] || _isExcludedFromLimits[recipient]) ? 
                                         amount : takeFeesOnTransfer(sender, recipient, amount);

            if(_hasWalletLimit && !_isMaxWalletExcluded[recipient])
                require(balanceOf(recipient).add(fAmount) <= _maxWallet);

            uint256 sAmount = (!_hasWalletLimit && _isExcludedFromLimits[sender]) ? amount.sub(fAmount) : amount;
            _balances[sender] = _balances[sender].sub(sAmount, "Insufficient Balance");
            _balances[recipient] = _balances[recipient].add(fAmount);

            emit Transfer(sender, recipient, fAmount);
            return true;
        }
    }
    function transferETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

     //to recieve ETH from _router when swaping
    receive() external payable {}

    function _originalTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapBack(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.mul(_lpShare).div(_totalShare).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapToETH(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalETHFee = _totalShare.sub(_lpShare.div(2));
        
        uint256 amountETHLiquidity = amountReceived.mul(_lpShare).div(totalETHFee).div(2);
        uint256 amountETHDevelopment = amountReceived.mul(_devShare).div(totalETHFee);
        uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(amountETHDevelopment);

        if(amountETHMarketing > 0)
            transferETH(devWallet, amountETHMarketing);

        if(amountETHDevelopment > 0)
            transferETH(marketingWallet, amountETHDevelopment);

        if(amountETHLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountETHLiquidity);
    }
    
    function swapToETH(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _router.WETH();

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

        // make the swap
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }
    
    function removeLimits() external onlyOwner {
        _maxTx = _tTotal;
        _hasWalletLimit = false;
        _buyMarketTax = 1;
        _sellMarketTax = 1;
        _buyTotalTax = 1;
        _sellTotalTax = 1;
    }

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(_router), tokenAmount);

        // add the liquidity
        _router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }
}

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":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":[{"internalType":"address","name":"","type":"address"}],"name":"_automaticMarketMakers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDevTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTotalTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_hasSwapLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_hasWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isMaxTxExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isMaxWalletExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lpShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_router","outputs":[{"internalType":"contract IUniswapRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDevTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTotalTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600c60809081526b2937b137ba102132b73232b960a11b60a0526002906200002d90826200068f565b506040805180820190915260068152652122a72222a960d11b60208201526003906200005a90826200068f565b5060048054600960ff19909116179055670de0b6b3a7640000600b5566470de4df820000600c819055600d55655af3107a4000600e55600f805473c0631500b995611d81bbb281bac1bb5c6a4b8ed06001600160a01b03199182168117909255601080549091169091179055600060118190556019601281905560138290556014829055601581905560168290556017829055600a6018819055918155601a819055601b55601c55601e805462ffffff60a81b19166201000160a81b1790553480156200012657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e691906200075b565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000234573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025a91906200075b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ce91906200075b565b601e80546001600160a01b039283166001600160a01b031991821617909155601d80549284169290911682179055600b5430600090815260066020908152604080832094835293905291822055600190600790620003346000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600f54821681526007909352818320805485166001908117909155601054909116835291208054909216179055601354601254601154620003b19291620003aa91906200057b565b906200057b565b601a55601654601554601454620003cf9291620003aa91906200057b565b601b55601954601854601754620003ed9291620003aa91906200057b565b601c55600160086000620004096000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601e549091168152600890925280822080548416600190811790915530835290822080549093168117909255600990620004796000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600f5482168152600984528281208054861660019081179091556010548316825283822080548716821790553082528382208054871682179055601e549092168152600a909352908220805490931617909155600b5490600590620005093390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516200056c91815260200190565b60405180910390a350620007a8565b6000806200058a838562000786565b905083811015620005e15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200061557607f821691505b6020821081036200063657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200068a57600081815260208120601f850160051c81016020861015620006655750805b601f850160051c820191505b81811015620006865782815560010162000671565b5050505b505050565b81516001600160401b03811115620006ab57620006ab620005ea565b620006c381620006bc845462000600565b846200063c565b602080601f831160018114620006fb5760008415620006e25750858301515b600019600386901b1c1916600185901b17855562000686565b600085815260208120601f198616915b828110156200072c578886015182559484019460019091019084016200070b565b50858210156200074b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200076e57600080fd5b81516001600160a01b0381168114620005e157600080fd5b80820180821115620005e457634e487b7160e01b600052601160045260246000fd5b611a1680620007b86000396000f3fe6080604052600436106102135760003560e01c8063715018a611610118578063aca905ad116100a0578063da7624591161006f578063da762459146105d9578063dd62ed3e146105ef578063e550573d14610635578063edae876f14610665578063f2fde38b1461068557600080fd5b8063aca905ad14610576578063bf6326611461058c578063c7e37918146105a2578063d3084560146105b857600080fd5b806382247ec0116100e757806382247ec0146104dd5780638da5cb5b146104f357806395d89b4114610511578063a1d7b38814610526578063a9059cbb1461055657600080fd5b8063715018a614610485578063751039fc1461049c5780637830b072146104b15780637f90eaa2146104c757600080fd5b8063313ce5671161019b57806361a23c691161016a57806361a23c69146103ec5780636a7ca4c8146104025780636b363ca1146104185780636ddd17131461042e57806370a082311461044f57600080fd5b8063313ce567146103495780633d10a2ac1461036b57806350853c131461039b57806351c221f4146103bc57600080fd5b806319967a37116101e257806319967a37146102af5780631a76ae70146102c55780631b355427146102db57806323b872dd14610313578063280f30d11461033357600080fd5b806302c9ddb91461021f57806306fdde0314610248578063095ea7b31461026a57806318160ddd1461029a57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5061023560115481565b6040519081526020015b60405180910390f35b34801561025457600080fd5b5061025d6106a5565b60405161023f91906116a9565b34801561027657600080fd5b5061028a61028536600461170f565b610737565b604051901515815260200161023f565b3480156102a657600080fd5b50600b54610235565b3480156102bb57600080fd5b50610235601c5481565b3480156102d157600080fd5b5061023560155481565b3480156102e757600080fd5b50601e546102fb906001600160a01b031681565b6040516001600160a01b03909116815260200161023f565b34801561031f57600080fd5b5061028a61032e36600461173b565b61074e565b34801561033f57600080fd5b50610235601b5481565b34801561035557600080fd5b5060045460405160ff909116815260200161023f565b34801561037757600080fd5b5061028a61038636600461177c565b60096020526000908152604090205460ff1681565b3480156103a757600080fd5b50601e5461028a90600160b01b900460ff1681565b3480156103c857600080fd5b5061028a6103d736600461177c565b60086020526000908152604090205460ff1681565b3480156103f857600080fd5b5061023560185481565b34801561040e57600080fd5b5061023560135481565b34801561042457600080fd5b5061023560195481565b34801561043a57600080fd5b50601e5461028a90600160a81b900460ff1681565b34801561045b57600080fd5b5061023561046a36600461177c565b6001600160a01b031660009081526005602052604090205490565b34801561049157600080fd5b5061049a6107b9565b005b3480156104a857600080fd5b5061049a610836565b3480156104bd57600080fd5b50610235600c5481565b3480156104d357600080fd5b5061023560175481565b3480156104e957600080fd5b50610235600d5481565b3480156104ff57600080fd5b506000546001600160a01b03166102fb565b34801561051d57600080fd5b5061025d610889565b34801561053257600080fd5b5061028a61054136600461177c565b600a6020526000908152604090205460ff1681565b34801561056257600080fd5b5061028a61057136600461170f565b610898565b34801561058257600080fd5b50610235601a5481565b34801561059857600080fd5b5061023560145481565b3480156105ae57600080fd5b5061023560165481565b3480156105c457600080fd5b50601e5461028a90600160b81b900460ff1681565b3480156105e557600080fd5b5061023560125481565b3480156105fb57600080fd5b5061023561060a366004611799565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561064157600080fd5b5061028a61065036600461177c565b60076020526000908152604090205460ff1681565b34801561067157600080fd5b50601d546102fb906001600160a01b031681565b34801561069157600080fd5b5061049a6106a036600461177c565b6108a5565b6060600280546106b4906117d2565b80601f01602080910402602001604051908101604052809291908181526020018280546106e0906117d2565b801561072d5780601f106107025761010080835404028352916020019161072d565b820191906000526020600020905b81548152906001019060200180831161071057829003601f168201915b5050505050905090565b600061074433848461098f565b5060015b92915050565b600061075b848484610ab3565b506107ae84336107a9856040518060600160405280602881526020016119b9602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610f17565b61098f565b5060015b9392505050565b6000546001600160a01b031633146107ec5760405162461bcd60e51b81526004016107e39061180c565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108605760405162461bcd60e51b81526004016107e39061180c565b600b54600c55601e805460ff60b81b19169055600160128190556015819055601a819055601b55565b6060600380546106b4906117d2565b60006107ae338484610ab3565b6000546001600160a01b031633146108cf5760405162461bcd60e51b81526004016107e39061180c565b6001600160a01b0381166109345760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107e3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109f15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107e3565b6001600160a01b038216610a525760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107e3565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b195760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107e3565b6001600160a01b038316610b7b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107e3565b601e54600160a01b900460ff1615610b9f57610b98848484610f51565b90506107b2565b6001600160a01b03841660009081526009602052604090205460ff16158015610be157506001600160a01b03831660009081526009602052604090205460ff16155b15610c4957600c54821115610c495760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016107e3565b30600090815260056020526040902054600e5481108015908190610c775750601e54600160a01b900460ff16155b8015610c9b57506001600160a01b0385166000908152600a602052604090205460ff165b8015610cb05750601e54600160a81b900460ff165b8015610cd557506001600160a01b03861660009081526007602052604090205460ff16155b8015610ce25750600e5484115b15610d0857601e54600160b01b900460ff1615610cff57600e5491505b610d0882611037565b6001600160a01b03861660009081526007602052604081205460ff1680610d4757506001600160a01b03861660009081526007602052604090205460ff165b610d5b57610d5687878761116d565b610d5d565b845b601e54909150600160b81b900460ff168015610d9257506001600160a01b03861660009081526008602052604090205460ff16155b15610dce57600d54610dc382610dbd896001600160a01b031660009081526005602052604090205490565b90611273565b1115610dce57600080fd5b601e54600090600160b81b900460ff16158015610e0357506001600160a01b03881660009081526007602052604090205460ff165b610e0d5785610e17565b610e1786836112d2565b9050610e7f8160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600560008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610f179092919063ffffffff16565b6001600160a01b03808a166000908152600560205260408082209390935590891681522054610eae9083611273565b6001600160a01b0380891660008181526005602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f029086815260200190565b60405180910390a360019450505050506107b2565b60008184841115610f3b5760405162461bcd60e51b81526004016107e391906116a9565b506000610f488486611857565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610fa2918490610f17565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610fd19083611273565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110259086815260200190565b60405180910390a35060019392505050565b601e805460ff60a01b1916600160a01b179055601c5460175460009161106d916002916110679182908790611314565b90611396565b9050600061107b83836112d2565b9050611086816113d8565b60175447906000906110a69061109d906002611396565b601c54906112d2565b905060006110c86002611067846110676017548861131490919063ffffffff16565b905060006110e5836110676019548761131490919063ffffffff16565b905060006110fd826110f787866112d2565b906112d2565b9050801561111b57600f5461111b906001600160a01b03168261156b565b811561113757601054611137906001600160a01b03168361156b565b6000831180156111475750600087115b156111565761115687846115a6565b5050601e805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600a6020526040812054819060ff16156111b1576111aa6064611067601a548661131490919063ffffffff16565b90506111ef565b6001600160a01b0384166000908152600a602052604090205460ff16156111ef576111ec6064611067601b548661131490919063ffffffff16565b90505b8015611269573060009081526005602052604090205461120f9082611273565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112609085815260200190565b60405180910390a35b610f4883826112d2565b600080611280838561186a565b9050838110156107b25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107e3565b60006107b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f17565b60008260000361132657506000610748565b6000611332838561187d565b90508261133f8583611894565b146107b25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107e3565b60006107b283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061167b565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061140d5761140d6118b6565b6001600160a01b03928316602091820292909201810191909152601d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148a91906118cc565b8160018151811061149d5761149d6118b6565b6001600160a01b039283166020918202929092010152601d546114c3913091168461098f565b601d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114fc90859060009086903090429060040161192d565b600060405180830381600087803b15801561151657600080fd5b505af115801561152a573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161155f929190611969565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156115a1573d6000803e3d6000fd5b505050565b601d546115be9030906001600160a01b03168461098f565b601d546001600160a01b031663f305d7198230856000806115e76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561164f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611674919061198a565b5050505050565b6000818361169c5760405162461bcd60e51b81526004016107e391906116a9565b506000610f488486611894565b600060208083528351808285015260005b818110156116d6578581018301518582016040015282016116ba565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461170c57600080fd5b50565b6000806040838503121561172257600080fd5b823561172d816116f7565b946020939093013593505050565b60008060006060848603121561175057600080fd5b833561175b816116f7565b9250602084013561176b816116f7565b929592945050506040919091013590565b60006020828403121561178e57600080fd5b81356107b2816116f7565b600080604083850312156117ac57600080fd5b82356117b7816116f7565b915060208301356117c7816116f7565b809150509250929050565b600181811c908216806117e657607f821691505b60208210810361180657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561074857610748611841565b8082018082111561074857610748611841565b808202811582820484141761074857610748611841565b6000826118b157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118de57600080fd5b81516107b2816116f7565b600081518084526020808501945080840160005b838110156119225781516001600160a01b0316875295820195908201906001016118fd565b509495945050505050565b85815284602082015260a06040820152600061194c60a08301866118e9565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061198260408301846118e9565b949350505050565b60008060006060848603121561199f57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d257dfccfbdde41633bf17a3219a36b7d0ec871c99508e1f88fa9c17643f6cd964736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102135760003560e01c8063715018a611610118578063aca905ad116100a0578063da7624591161006f578063da762459146105d9578063dd62ed3e146105ef578063e550573d14610635578063edae876f14610665578063f2fde38b1461068557600080fd5b8063aca905ad14610576578063bf6326611461058c578063c7e37918146105a2578063d3084560146105b857600080fd5b806382247ec0116100e757806382247ec0146104dd5780638da5cb5b146104f357806395d89b4114610511578063a1d7b38814610526578063a9059cbb1461055657600080fd5b8063715018a614610485578063751039fc1461049c5780637830b072146104b15780637f90eaa2146104c757600080fd5b8063313ce5671161019b57806361a23c691161016a57806361a23c69146103ec5780636a7ca4c8146104025780636b363ca1146104185780636ddd17131461042e57806370a082311461044f57600080fd5b8063313ce567146103495780633d10a2ac1461036b57806350853c131461039b57806351c221f4146103bc57600080fd5b806319967a37116101e257806319967a37146102af5780631a76ae70146102c55780631b355427146102db57806323b872dd14610313578063280f30d11461033357600080fd5b806302c9ddb91461021f57806306fdde0314610248578063095ea7b31461026a57806318160ddd1461029a57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5061023560115481565b6040519081526020015b60405180910390f35b34801561025457600080fd5b5061025d6106a5565b60405161023f91906116a9565b34801561027657600080fd5b5061028a61028536600461170f565b610737565b604051901515815260200161023f565b3480156102a657600080fd5b50600b54610235565b3480156102bb57600080fd5b50610235601c5481565b3480156102d157600080fd5b5061023560155481565b3480156102e757600080fd5b50601e546102fb906001600160a01b031681565b6040516001600160a01b03909116815260200161023f565b34801561031f57600080fd5b5061028a61032e36600461173b565b61074e565b34801561033f57600080fd5b50610235601b5481565b34801561035557600080fd5b5060045460405160ff909116815260200161023f565b34801561037757600080fd5b5061028a61038636600461177c565b60096020526000908152604090205460ff1681565b3480156103a757600080fd5b50601e5461028a90600160b01b900460ff1681565b3480156103c857600080fd5b5061028a6103d736600461177c565b60086020526000908152604090205460ff1681565b3480156103f857600080fd5b5061023560185481565b34801561040e57600080fd5b5061023560135481565b34801561042457600080fd5b5061023560195481565b34801561043a57600080fd5b50601e5461028a90600160a81b900460ff1681565b34801561045b57600080fd5b5061023561046a36600461177c565b6001600160a01b031660009081526005602052604090205490565b34801561049157600080fd5b5061049a6107b9565b005b3480156104a857600080fd5b5061049a610836565b3480156104bd57600080fd5b50610235600c5481565b3480156104d357600080fd5b5061023560175481565b3480156104e957600080fd5b50610235600d5481565b3480156104ff57600080fd5b506000546001600160a01b03166102fb565b34801561051d57600080fd5b5061025d610889565b34801561053257600080fd5b5061028a61054136600461177c565b600a6020526000908152604090205460ff1681565b34801561056257600080fd5b5061028a61057136600461170f565b610898565b34801561058257600080fd5b50610235601a5481565b34801561059857600080fd5b5061023560145481565b3480156105ae57600080fd5b5061023560165481565b3480156105c457600080fd5b50601e5461028a90600160b81b900460ff1681565b3480156105e557600080fd5b5061023560125481565b3480156105fb57600080fd5b5061023561060a366004611799565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561064157600080fd5b5061028a61065036600461177c565b60076020526000908152604090205460ff1681565b34801561067157600080fd5b50601d546102fb906001600160a01b031681565b34801561069157600080fd5b5061049a6106a036600461177c565b6108a5565b6060600280546106b4906117d2565b80601f01602080910402602001604051908101604052809291908181526020018280546106e0906117d2565b801561072d5780601f106107025761010080835404028352916020019161072d565b820191906000526020600020905b81548152906001019060200180831161071057829003601f168201915b5050505050905090565b600061074433848461098f565b5060015b92915050565b600061075b848484610ab3565b506107ae84336107a9856040518060600160405280602881526020016119b9602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610f17565b61098f565b5060015b9392505050565b6000546001600160a01b031633146107ec5760405162461bcd60e51b81526004016107e39061180c565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108605760405162461bcd60e51b81526004016107e39061180c565b600b54600c55601e805460ff60b81b19169055600160128190556015819055601a819055601b55565b6060600380546106b4906117d2565b60006107ae338484610ab3565b6000546001600160a01b031633146108cf5760405162461bcd60e51b81526004016107e39061180c565b6001600160a01b0381166109345760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107e3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109f15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107e3565b6001600160a01b038216610a525760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107e3565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b195760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107e3565b6001600160a01b038316610b7b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107e3565b601e54600160a01b900460ff1615610b9f57610b98848484610f51565b90506107b2565b6001600160a01b03841660009081526009602052604090205460ff16158015610be157506001600160a01b03831660009081526009602052604090205460ff16155b15610c4957600c54821115610c495760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016107e3565b30600090815260056020526040902054600e5481108015908190610c775750601e54600160a01b900460ff16155b8015610c9b57506001600160a01b0385166000908152600a602052604090205460ff165b8015610cb05750601e54600160a81b900460ff165b8015610cd557506001600160a01b03861660009081526007602052604090205460ff16155b8015610ce25750600e5484115b15610d0857601e54600160b01b900460ff1615610cff57600e5491505b610d0882611037565b6001600160a01b03861660009081526007602052604081205460ff1680610d4757506001600160a01b03861660009081526007602052604090205460ff165b610d5b57610d5687878761116d565b610d5d565b845b601e54909150600160b81b900460ff168015610d9257506001600160a01b03861660009081526008602052604090205460ff16155b15610dce57600d54610dc382610dbd896001600160a01b031660009081526005602052604090205490565b90611273565b1115610dce57600080fd5b601e54600090600160b81b900460ff16158015610e0357506001600160a01b03881660009081526007602052604090205460ff165b610e0d5785610e17565b610e1786836112d2565b9050610e7f8160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600560008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610f179092919063ffffffff16565b6001600160a01b03808a166000908152600560205260408082209390935590891681522054610eae9083611273565b6001600160a01b0380891660008181526005602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f029086815260200190565b60405180910390a360019450505050506107b2565b60008184841115610f3b5760405162461bcd60e51b81526004016107e391906116a9565b506000610f488486611857565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610fa2918490610f17565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610fd19083611273565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110259086815260200190565b60405180910390a35060019392505050565b601e805460ff60a01b1916600160a01b179055601c5460175460009161106d916002916110679182908790611314565b90611396565b9050600061107b83836112d2565b9050611086816113d8565b60175447906000906110a69061109d906002611396565b601c54906112d2565b905060006110c86002611067846110676017548861131490919063ffffffff16565b905060006110e5836110676019548761131490919063ffffffff16565b905060006110fd826110f787866112d2565b906112d2565b9050801561111b57600f5461111b906001600160a01b03168261156b565b811561113757601054611137906001600160a01b03168361156b565b6000831180156111475750600087115b156111565761115687846115a6565b5050601e805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600a6020526040812054819060ff16156111b1576111aa6064611067601a548661131490919063ffffffff16565b90506111ef565b6001600160a01b0384166000908152600a602052604090205460ff16156111ef576111ec6064611067601b548661131490919063ffffffff16565b90505b8015611269573060009081526005602052604090205461120f9082611273565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112609085815260200190565b60405180910390a35b610f4883826112d2565b600080611280838561186a565b9050838110156107b25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107e3565b60006107b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f17565b60008260000361132657506000610748565b6000611332838561187d565b90508261133f8583611894565b146107b25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107e3565b60006107b283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061167b565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061140d5761140d6118b6565b6001600160a01b03928316602091820292909201810191909152601d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148a91906118cc565b8160018151811061149d5761149d6118b6565b6001600160a01b039283166020918202929092010152601d546114c3913091168461098f565b601d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114fc90859060009086903090429060040161192d565b600060405180830381600087803b15801561151657600080fd5b505af115801561152a573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161155f929190611969565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156115a1573d6000803e3d6000fd5b505050565b601d546115be9030906001600160a01b03168461098f565b601d546001600160a01b031663f305d7198230856000806115e76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561164f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611674919061198a565b5050505050565b6000818361169c5760405162461bcd60e51b81526004016107e391906116a9565b506000610f488486611894565b600060208083528351808285015260005b818110156116d6578581018301518582016040015282016116ba565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461170c57600080fd5b50565b6000806040838503121561172257600080fd5b823561172d816116f7565b946020939093013593505050565b60008060006060848603121561175057600080fd5b833561175b816116f7565b9250602084013561176b816116f7565b929592945050506040919091013590565b60006020828403121561178e57600080fd5b81356107b2816116f7565b600080604083850312156117ac57600080fd5b82356117b7816116f7565b915060208301356117c7816116f7565b809150509250929050565b600181811c908216806117e657607f821691505b60208210810361180657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561074857610748611841565b8082018082111561074857610748611841565b808202811582820484141761074857610748611841565b6000826118b157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118de57600080fd5b81516107b2816116f7565b600081518084526020808501945080840160005b838110156119225781516001600160a01b0316875295820195908201906001016118fd565b509495945050505050565b85815284602082015260a06040820152600061194c60a08301866118e9565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061198260408301846118e9565b949350505050565b60008060006060848603121561199f57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d257dfccfbdde41633bf17a3219a36b7d0ec871c99508e1f88fa9c17643f6cd964736f6c63430008130033

Deployed Bytecode Sourcemap

12105:10585:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13111:35;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;13111:35:0;;;;;;;;15604:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;16262:161::-;;;;;;;;;;-1:-1:-1;16262:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;16262:161:0;1205:187:1;15881:95:0;;;;;;;;;;-1:-1:-1;15961:7:0;;15881:95;;13546:31;;;;;;;;;;;;;;;;13274:34;;;;;;;;;;;;;;;;13624:27;;;;;;;;;;-1:-1:-1;13624:27:0;;;;-1:-1:-1;;;;;13624:27:0;;;;;;-1:-1:-1;;;;;1561:32:1;;;1543:51;;1531:2;1516:18;13624:27:0;1397:203:1;17257:313:0;;;;;;;;;;-1:-1:-1;17257:313:0;;;;;:::i;:::-;;:::i;13506:33::-;;;;;;;;;;;;;;;;15790:83;;;;;;;;;;-1:-1:-1;15856:9:0;;15790:83;;15856:9;;;;2208:36:1;;2196:2;2181:18;15790:83:0;2066:184:1;12585:49:0;;;;;;;;;;-1:-1:-1;12585:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13722:33;;;;;;;;;;-1:-1:-1;13722:33:0;;;;-1:-1:-1;;;13722:33:0;;;;;;12525:53;;;;;;;;;;-1:-1:-1;12525:53:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13388:35;;;;;;;;;;;;;;;;13193:29;;;;;;;;;;;;;;;;13430:28;;;;;;;;;;;;;;;;13685:30;;;;;;;;;;-1:-1:-1;13685:30:0;;;;-1:-1:-1;;;13685:30:0;;;;;;15984:119;;;;;;;;;;-1:-1:-1;15984:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;16077:18:0;16050:7;16077:18;;;:9;:18;;;;;;;15984:119;1236:148;;;;;;;;;;;;;:::i;:::-;;21613:224;;;;;;;;;;;;;:::i;12753:43::-;;;;;;;;;;;;;;;;13354:27;;;;;;;;;;;;;;;;12803:47;;;;;;;;;;;;;;;;1011:79;;;;;;;;;;-1:-1:-1;1049:7:0;1076:6;-1:-1:-1;;;;;1076:6:0;1011:79;;15695:87;;;;;;;;;;;;;:::i;12641:55::-;;;;;;;;;;-1:-1:-1;12641:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17082:167;;;;;;;;;;-1:-1:-1;17082:167:0;;;;;:::i;:::-;;:::i;13467:32::-;;;;;;;;;;;;;;;;13231:36;;;;;;;;;;;;;;;;13315:30;;;;;;;;;;;;;;;;13762:34;;;;;;;;;;-1:-1:-1;13762:34:0;;;;-1:-1:-1;;;13762:34:0;;;;;;13153:33;;;;;;;;;;;;;;;;16111:143;;;;;;;;;;-1:-1:-1;16111:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;16219:18:0;;;16192:7;16219:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16111:143;12464:54;;;;;;;;;;-1:-1:-1;12464:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13586:31;;;;;;;;;;-1:-1:-1;13586:31:0;;;;-1:-1:-1;;;;;13586:31:0;;;1392:244;;;;;;;;;;-1:-1:-1;1392:244:0;;;;;:::i;:::-;;:::i;15604:83::-;15641:13;15674:5;15667:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15604:83;:::o;16262:161::-;16337:4;16354:39;387:10;16377:7;16386:6;16354:8;:39::i;:::-;-1:-1:-1;16411:4:0;16262:161;;;;;:::o;17257:313::-;17355:4;17372:36;17382:6;17390:9;17401:6;17372:9;:36::i;:::-;-1:-1:-1;17419:121:0;17428:6;387:10;17450:89;17488:6;17450:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17450:19:0;;;;;;:11;:19;;;;;;;;387:10;17450:33;;;;;;;;;;:37;:89::i;:::-;17419:8;:121::i;:::-;-1:-1:-1;17558:4:0;17257:313;;;;;;:::o;1236:148::-;1145:6;;-1:-1:-1;;;;;1145:6:0;387:10;1145:22;1137:67;;;;-1:-1:-1;;;1137:67:0;;;;;;;:::i;:::-;;;;;;;;;1343:1:::1;1327:6:::0;;1306:40:::1;::::0;-1:-1:-1;;;;;1327:6:0;;::::1;::::0;1306:40:::1;::::0;1343:1;;1306:40:::1;1374:1;1357:19:::0;;-1:-1:-1;;;;;;1357:19:0::1;::::0;;1236:148::o;21613:224::-;1145:6;;-1:-1:-1;;;;;1145:6:0;387:10;1145:22;1137:67;;;;-1:-1:-1;;;1137:67:0;;;;;;;:::i;:::-;21676:7:::1;::::0;21667:6:::1;:16:::0;21694:15:::1;:23:::0;;-1:-1:-1;;;;21694:23:0::1;::::0;;;21728:13:::1;:17:::0;;;21756:14:::1;:18:::0;;;21785:12:::1;:16:::0;;;21812:13:::1;:17:::0;21613:224::o;15695:87::-;15734:13;15767:7;15760:14;;;;;:::i;17082:167::-;17160:4;17177:42;387:10;17201:9;17212:6;17177:9;:42::i;1392:244::-;1145:6;;-1:-1:-1;;;;;1145:6:0;387:10;1145:22;1137:67;;;;-1:-1:-1;;;1137:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1481:22:0;::::1;1473:73;;;::::0;-1:-1:-1;;;1473:73:0;;4081:2:1;1473:73:0::1;::::0;::::1;4063:21:1::0;4120:2;4100:18;;;4093:30;4159:34;4139:18;;;4132:62;-1:-1:-1;;;4210:18:1;;;4203:36;4256:19;;1473:73:0::1;3879:402:1::0;1473:73:0::1;1583:6;::::0;;1562:38:::1;::::0;-1:-1:-1;;;;;1562:38:0;;::::1;::::0;1583:6;::::1;::::0;1562:38:::1;::::0;::::1;1611:6;:17:::0;;-1:-1:-1;;;;;;1611:17:0::1;-1:-1:-1::0;;;;;1611:17:0;;;::::1;::::0;;;::::1;::::0;;1392:244::o;21845:337::-;-1:-1:-1;;;;;21938:19:0;;21930:68;;;;-1:-1:-1;;;21930:68:0;;4488:2:1;21930:68:0;;;4470:21:1;4527:2;4507:18;;;4500:30;4566:34;4546:18;;;4539:62;-1:-1:-1;;;4617:18:1;;;4610:34;4661:19;;21930:68:0;4286:400:1;21930:68:0;-1:-1:-1;;;;;22017:21:0;;22009:68;;;;-1:-1:-1;;;22009:68:0;;4893:2:1;22009:68:0;;;4875:21:1;4932:2;4912:18;;;4905:30;4971:34;4951:18;;;4944:62;-1:-1:-1;;;5022:18:1;;;5015:32;5064:19;;22009:68:0;4691:398:1;22009:68:0;-1:-1:-1;;;;;22090:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;22142:32;;160:25:1;;;22142:32:0;;133:18:1;22142:32:0;;;;;;;21845:337;;;:::o;17578:1836::-;17665:4;-1:-1:-1;;;;;17692:20:0;;17684:70;;;;-1:-1:-1;;;17684:70:0;;5296:2:1;17684:70:0;;;5278:21:1;5335:2;5315:18;;;5308:30;5374:34;5354:18;;;5347:62;-1:-1:-1;;;5425:18:1;;;5418:35;5470:19;;17684:70:0;5094:401:1;17684:70:0;-1:-1:-1;;;;;17773:23:0;;17765:71;;;;-1:-1:-1;;;17765:71:0;;5702:2:1;17765:71:0;;;5684:21:1;5741:2;5721:18;;;5714:30;5780:34;5760:18;;;5753:62;-1:-1:-1;;;5831:18:1;;;5824:33;5874:19;;17765:71:0;5500:399:1;17765:71:0;17852:9;;-1:-1:-1;;;17852:9:0;;;;17849:1558;;;17895:44;17913:6;17921:9;17932:6;17895:17;:44::i;:::-;17888:51;;;;17849:1558;-1:-1:-1;;;;;17995:24:0;;;;;;:16;:24;;;;;;;;17994:25;:57;;;;-1:-1:-1;;;;;;18024:27:0;;;;;;:16;:27;;;;;;;;18023:28;17994:57;17991:166;;;18090:6;;18080;:16;;18072:69;;;;-1:-1:-1;;;18072:69:0;;6106:2:1;18072:69:0;;;6088:21:1;6145:2;6125:18;;;6118:30;6184:34;6164:18;;;6157:62;-1:-1:-1;;;6235:18:1;;;6228:38;6283:19;;18072:69:0;5904:404:1;18072:69:0;18234:4;18185:28;16077:18;;;:9;:18;;;;;;18310:14;;18286:38;;;;;;;18357:37;;-1:-1:-1;18385:9:0;;-1:-1:-1;;;18385:9:0;;;;18384:10;18357:37;:74;;;;-1:-1:-1;;;;;;18398:33:0;;;;;;:22;:33;;;;;;;;18357:74;:89;;;;-1:-1:-1;18435:11:0;;-1:-1:-1;;;18435:11:0;;;;18357:89;:123;;;;-1:-1:-1;;;;;;18451:29:0;;;;;;:21;:29;;;;;;;;18450:30;18357:123;:150;;;;;18493:14;;18484:6;:23;18357:150;18353:334;;;18545:13;;-1:-1:-1;;;18545:13:0;;;;18542:76;;;18604:14;;18581:37;;18542:76;18637:30;18646:20;18637:8;:30::i;:::-;-1:-1:-1;;;;;18722:29:0;;18703:15;18722:29;;;:21;:29;;;;;;;;;:65;;-1:-1:-1;;;;;;18755:32:0;;;;;;:21;:32;;;;;;;;18722:65;18721:167;;18843:45;18862:6;18870:9;18881:6;18843:18;:45::i;:::-;18721:167;;;18834:6;18721:167;18908:15;;18703:185;;-1:-1:-1;;;;18908:15:0;;;;:51;;;;-1:-1:-1;;;;;;18928:31:0;;;;;;:20;:31;;;;;;;;18927:32;18908:51;18905:129;;;19023:10;;18986:33;19011:7;18986:20;18996:9;-1:-1:-1;;;;;16077:18:0;16050:7;16077:18;;;:9;:18;;;;;;;15984:119;18986:20;:24;;:33::i;:::-;:47;;18978:56;;;;;;19071:15;;19051;;-1:-1:-1;;;19071:15:0;;;;19070:16;:49;;;;-1:-1:-1;;;;;;19090:29:0;;;;;;:21;:29;;;;;;;;19070:49;19069:82;;19145:6;19069:82;;;19123:19;:6;19134:7;19123:10;:19::i;:::-;19051:100;;19186:54;19208:7;19186:54;;;;;;;;;;;;;-1:-1:-1;;;19186:54:0;;;:9;:17;19196:6;-1:-1:-1;;;;;19186:17:0;-1:-1:-1;;;;;19186:17:0;;;;;;;;;;;;;:21;;:54;;;;;:::i;:::-;-1:-1:-1;;;;;19166:17:0;;;;;;;:9;:17;;;;;;:74;;;;19278:20;;;;;;;:33;;19303:7;19278:24;:33::i;:::-;-1:-1:-1;;;;;19255:20:0;;;;;;;:9;:20;;;;;;;:56;;;;19333:36;;;;;;;;;;19361:7;160:25:1;;148:2;133:18;;14:177;19333:36:0;;;;;;;;19391:4;19384:11;;;;;;;;2677:192;2763:7;2799:12;2791:6;;;;2783:29;;;;-1:-1:-1;;;2783:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2823:9:0;2835:5;2839:1;2835;:5;:::i;:::-;2823:17;2677:192;-1:-1:-1;;;;;2677:192:0:o;19631:333::-;19764:53;;;;;;;;;;;-1:-1:-1;;;19764:53:0;;;;;;;;-1:-1:-1;;;;;19764:17:0;;19727:4;19764:17;;;:9;:17;;;;;;;:53;;19786:6;;19764:21;:53::i;:::-;-1:-1:-1;;;;;19744:17:0;;;;;;;:9;:17;;;;;;:73;;;;19851:20;;;;;;;:32;;19876:6;19851:24;:32::i;:::-;-1:-1:-1;;;;;19828:20:0;;;;;;;:9;:20;;;;;;;:55;;;;19899:35;;;;;;;;;;19927:6;160:25:1;;148:2;133:18;;14:177;19899:35:0;;;;;;;;-1:-1:-1;19952:4:0;19631:333;;;;;:::o;19972:982::-;14219:9;:16;;-1:-1:-1;;;;14219:16:0;-1:-1:-1;;;14219:16:0;;;20096:11:::1;::::0;20082:8:::1;::::0;14219:16;;20070:45:::1;::::0;20113:1:::1;::::0;20070:38:::1;::::0;;;:7;;:11:::1;:21::i;:::-;:25:::0;::::1;:38::i;:45::-;20048:67:::0;-1:-1:-1;20126:21:0::1;20150:24;:7:::0;20048:67;20150:11:::1;:24::i;:::-;20126:48;;20187:24;20197:13;20187:9;:24::i;:::-;20319:8;::::0;20247:21:::1;::::0;20222:22:::1;::::0;20303:32:::1;::::0;20319:15:::1;::::0;20332:1:::1;20319:12;:15::i;:::-;20303:11;::::0;;:15:::1;:32::i;:::-;20281:54;;20356:26;20385:52;20435:1;20385:45;20418:11;20385:28;20404:8;;20385:14;:18;;:28;;;;:::i;:52::-;20356:81;;20448:28;20479:46;20513:11;20479:29;20498:9;;20479:14;:18;;:29;;;;:::i;:46::-;20448:77:::0;-1:-1:-1;20536:26:0::1;20565:64;20448:77:::0;20565:38:::1;:14:::0;20584:18;20565::::1;:38::i;:::-;:42:::0;::::1;:64::i;:::-;20536:93:::0;-1:-1:-1;20645:22:0;;20642:82:::1;;20694:9;::::0;20682:42:::1;::::0;-1:-1:-1;;;;;20694:9:0::1;20705:18:::0;20682:11:::1;:42::i;:::-;20740:24:::0;;20737:92:::1;;20791:15;::::0;20779:50:::1;::::0;-1:-1:-1;;;;;20791:15:0::1;20808:20:::0;20779:11:::1;:50::i;:::-;20866:1;20845:18;:22;:41;;;;;20885:1;20871:11;:15;20845:41;20842:104;;;20901:45;20914:11;20927:18;20901:12;:45::i;:::-;-1:-1:-1::0;;14258:9:0;:17;;-1:-1:-1;;;;14258:17:0;;;-1:-1:-1;;;;;;19972:982:0:o;16431:643::-;-1:-1:-1;;;;;16603:30:0;;16528:7;16603:30;;;:22;:30;;;;;;16528:7;;16603:30;;16600:233;;;16662:33;16691:3;16662:24;16673:12;;16662:6;:10;;:24;;;;:::i;:33::-;16650:45;;16600:233;;;-1:-1:-1;;;;;16725:33:0;;;;;;:22;:33;;;;;;;;16722:111;;;16787:34;16817:3;16787:25;16798:13;;16787:6;:10;;:25;;;;:::i;:34::-;16775:46;;16722:111;16856:13;;16853:173;;16931:4;16913:24;;;;:9;:24;;;;;;:39;;16942:9;16913:28;:39::i;:::-;16904:4;16886:24;;;;:9;:24;;;;;;;:66;;;;16972:42;;-1:-1:-1;;;;;16972:42:0;;;;;;;17004:9;160:25:1;;148:2;133:18;;14:177;16972:42:0;;;;;;;;16853:173;17045:21;:6;17056:9;17045:10;:21::i;2344:181::-;2402:7;;2434:5;2438:1;2434;:5;:::i;:::-;2422:17;;2463:1;2458;:6;;2450:46;;;;-1:-1:-1;;;2450:46:0;;6910:2:1;2450:46:0;;;6892:21:1;6949:2;6929:18;;;6922:30;6988:29;6968:18;;;6961:57;7035:18;;2450:46:0;6708:351:1;2533:136:0;2591:7;2618:43;2622:1;2625;2618:43;;;;;;;;;;;;;;;;;:3;:43::i;2877:250::-;2935:7;2959:1;2964;2959:6;2955:47;;-1:-1:-1;2989:1:0;2982:8;;2955:47;3014:9;3026:5;3030:1;3026;:5;:::i;:::-;3014:17;-1:-1:-1;3059:1:0;3050:5;3054:1;3014:17;3050:5;:::i;:::-;:10;3042:56;;;;-1:-1:-1;;;3042:56:0;;7661:2:1;3042:56:0;;;7643:21:1;7700:2;7680:18;;;7673:30;7739:34;7719:18;;;7712:62;-1:-1:-1;;;7790:18:1;;;7783:31;7831:19;;3042:56:0;7459:397:1;3135:132:0;3193:7;3220:39;3224:1;3227;3220:39;;;;;;;;;;;;;;;;;:3;:39::i;20966:635::-;21109:16;;;21123:1;21109:16;;;;;;;;21085:21;;21109:16;;;;;;;;;;-1:-1:-1;21109:16:0;21085:40;;21154:4;21136;21141:1;21136:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21136:23:0;;;:7;;;;;;;;;;:23;;;;21180:7;;:14;;;-1:-1:-1;;;21180:14:0;;;;:7;;;;;:12;;:14;;;;;21136:7;;21180:14;;;;;:7;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21170:4;21175:1;21170:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21170:24:0;;;:7;;;;;;;;;:24;21239:7;;21207:54;;21224:4;;21239:7;21249:11;21207:8;:54::i;:::-;21300:7;;:232;;-1:-1:-1;;;21300:232:0;;-1:-1:-1;;;;;21300:7:0;;;;:58;;:232;;21373:11;;21300:7;;21443:4;;21470;;21506:15;;21300:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21558:35;21575:11;21588:4;21558:35;;;;;;;:::i;:::-;;;;;;;;21014:587;20966:635;:::o;19420:117::-;19503:26;;-1:-1:-1;;;;;19503:18:0;;;:26;;;;;19522:6;;19503:26;;;;19522:6;19503:18;:26;;;;;;;;;;;;;;;;;;;;;19420:117;;:::o;22190:497::-;22370:7;;22338:54;;22355:4;;-1:-1:-1;;;;;22370:7:0;22380:11;22338:8;:54::i;:::-;22435:7;;-1:-1:-1;;;;;22435:7:0;:23;22466:9;22499:4;22519:11;22435:7;;22631;1049;1076:6;-1:-1:-1;;;;;1076:6:0;;1011:79;22631:7;22435:244;;;;;;-1:-1:-1;;;;;;22435:244:0;;;-1:-1:-1;;;;;10130:15:1;;;22435:244:0;;;10112:34:1;10162:18;;;10155:34;;;;10205:18;;;10198:34;;;;10248:18;;;10241:34;10312:15;;;10291:19;;;10284:44;22653:15:0;10344:19:1;;;10337:35;10046:19;;22435:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22190:497;;:::o;3275:278::-;3361:7;3396:12;3389:5;3381:28;;;;-1:-1:-1;;;3381:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3420:9:0;3432:5;3436:1;3432;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;3133:380::-;3212:1;3208:12;;;;3255;;;3276:61;;3330:4;3322:6;3318:17;3308:27;;3276:61;3383:2;3375:6;3372:14;3352:18;3349:38;3346:161;;3429:10;3424:3;3420:20;3417:1;3410:31;3464:4;3461:1;3454:15;3492:4;3489:1;3482:15;3346:161;;3133:380;;;:::o;3518:356::-;3720:2;3702:21;;;3739:18;;;3732:30;3798:34;3793:2;3778:18;;3771:62;3865:2;3850:18;;3518:356::o;6313:127::-;6374:10;6369:3;6365:20;6362:1;6355:31;6405:4;6402:1;6395:15;6429:4;6426:1;6419:15;6445:128;6512:9;;;6533:11;;;6530:37;;;6547:18;;:::i;6578:125::-;6643:9;;;6664:10;;;6661:36;;;6677:18;;:::i;7064:168::-;7137:9;;;7168;;7185:15;;;7179:22;;7165:37;7155:71;;7206:18;;:::i;7237:217::-;7277:1;7303;7293:132;;7347:10;7342:3;7338:20;7335:1;7328:31;7382:4;7379:1;7372:15;7410:4;7407:1;7400:15;7293:132;-1:-1:-1;7439:9:1;;7237:217::o;7993:127::-;8054:10;8049:3;8045:20;8042:1;8035:31;8085:4;8082:1;8075:15;8109:4;8106:1;8099:15;8125:251;8195:6;8248:2;8236:9;8227:7;8223:23;8219:32;8216:52;;;8264:1;8261;8254:12;8216:52;8296:9;8290:16;8315:31;8340:5;8315:31;:::i;8381:461::-;8434:3;8472:5;8466:12;8499:6;8494:3;8487:19;8525:4;8554:2;8549:3;8545:12;8538:19;;8591:2;8584:5;8580:14;8612:1;8622:195;8636:6;8633:1;8630:13;8622:195;;;8701:13;;-1:-1:-1;;;;;8697:39:1;8685:52;;8757:12;;;;8792:15;;;;8733:1;8651:9;8622:195;;;-1:-1:-1;8833:3:1;;8381:461;-1:-1:-1;;;;;8381:461:1:o;8847:582::-;9146:6;9135:9;9128:25;9189:6;9184:2;9173:9;9169:18;9162:34;9232:3;9227:2;9216:9;9212:18;9205:31;9109:4;9253:57;9305:3;9294:9;9290:19;9282:6;9253:57;:::i;:::-;-1:-1:-1;;;;;9346:32:1;;;;9341:2;9326:18;;9319:60;-1:-1:-1;9410:3:1;9395:19;9388:35;9245:65;8847:582;-1:-1:-1;;;8847:582:1:o;9434:332::-;9641:6;9630:9;9623:25;9684:2;9679;9668:9;9664:18;9657:30;9604:4;9704:56;9756:2;9745:9;9741:18;9733:6;9704:56;:::i;:::-;9696:64;9434:332;-1:-1:-1;;;;9434:332:1:o;10383:306::-;10471:6;10479;10487;10540:2;10528:9;10519:7;10515:23;10511:32;10508:52;;;10556:1;10553;10546:12;10508:52;10585:9;10579:16;10569:26;;10635:2;10624:9;10620:18;10614:25;10604:35;;10679:2;10668:9;10664:18;10658:25;10648:35;;10383:306;;;;;:::o

Swarm Source

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