ETH Price: $3,394.86 (-0.68%)
Gas: 22 Gwei

Token

Nomad's Vision (NOMAD)
 

Overview

Max Total Supply

100,000,000 NOMAD

Holders

22

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
677,952.823547562 NOMAD

Value
$0.00
0x85c5078e24631b69f0f310176d23bcd980004741
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:
NOMAD

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-14
*/

/*

\/ Dreams shape the world, dreams create the world anew. \/

\/ Website: https://nomadsvision.co/ \/
\/ Twitter: https://twitter.com/NomadVisionETH \/
\/ Medium: https://medium.com/@nomadsvision \/
\/ Telegram: https://t.me/NOMADPortal \/

*/

// SPDX-License-Identifier: NOLICENSE


pragma solidity ^0.8.6;

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 Address{
    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");
    }
}



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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

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

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



contract NOMAD is Context, IERC20, Ownable {
    using Address for address payable;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    mapping (address => bool) private _isBot;
    mapping (address => bool)  _allowedTransfer;

    address[] private _excluded;

    bool public swapEnabled;
    bool private swapping;
    bool public tradingEnabled;

    IRouter public router;
    address public pair;

    uint8 private constant _decimals = 9;
    uint256 private constant MAX = ~uint256(0);

    uint256 private _tTotal = 100_000_000 * 10**_decimals;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));

    uint256 public swapTokensAtAmount = 50000 * 10**_decimals;
    uint256 public maxWalletBalance = 40_000_000 * 10**_decimals;

    string private constant _name = "Nomad's Vision";
    string private constant _symbol = "NOMAD";
    
    address public marketingWallet = 0x88b8F72BE0deE2DE8412AD23D4FC6e214ecE4B8F;

    struct Taxes {
      uint256 rfi;
      uint256 marketing;
      uint256 liquidity;
    }

    Taxes public buyTaxes = Taxes(0,3,0);
    Taxes public sellTaxes = Taxes(0,3,0); 

    struct TotFeesPaidStruct{
        uint256 rfi;
        uint256 marketing;
        uint256 liquidity;
    }
    TotFeesPaidStruct public totFeesPaid;

    struct valuesFromGetValues{
      uint256 rAmount;
      uint256 rTransferAmount;
      uint256 rRfi;
      uint256 rMarketing;
      uint256 rLiquidity;
      uint256 tTransferAmount;
      uint256 tRfi;
      uint256 tMarketing;
      uint256 tLiquidity;
    }

    event FeesChanged();
    event UpdatedRouter(address oldRouter, address newRouter);
    
    modifier antiSniper(address account){
        require(tradingEnabled || _allowedTransfer[account], "Trading not enabled yet");
        _;
    }


    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }

    constructor (address routerAddress) {
        IRouter _router = IRouter(routerAddress);
        address _pair = IFactory(_router.factory())
            .createPair(address(this), _router.WETH());

        router = _router;
        pair = _pair;

        excludeFromReward(pair);
        
        _rOwned[owner()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingWallet] = true;
        
        _allowedTransfer[owner()] = true;
        _allowedTransfer[marketingWallet] = true;
        _allowedTransfer[address(this)] = 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 balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        return tokenFromReflection(_rOwned[account]);
    }

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override antiSniper(sender) returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }

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

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

    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferRfi) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferRfi) {
            valuesFromGetValues memory s = _getValues(tAmount, true, buyTaxes);
            return s.rAmount;
        } else {
            valuesFromGetValues memory s = _getValues(tAmount, true, buyTaxes);
            return s.rTransferAmount;
        }
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount/currentRate;
    }

    function excludeFromReward(address account) internal {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeInReward(address account) internal {
        require(_isExcluded[account], "Account is not excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
    
    function setAllowedTransfer(address account, bool value) external onlyOwner{
        _allowedTransfer[account] = value;
    }
    
    function setTradingEnabled(bool _enabled) external onlyOwner{
        tradingEnabled = _enabled;
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function _reflectRfi(uint256 rRfi, uint256 tRfi) private {
        _rTotal -=rRfi;
        totFeesPaid.rfi +=tRfi;
    }


    function _takeMarketing(uint256 rMarketing, uint256 tMarketing) private {
        totFeesPaid.marketing +=tMarketing;

        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tMarketing;
        }
        _rOwned[address(this)] +=rMarketing;
    }

    function _takeLiquidity(uint256 rLiquidity, uint256 tLiquidity) private {
        totFeesPaid.liquidity +=tLiquidity;

        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tLiquidity;
        }
        _rOwned[address(this)] +=rLiquidity;
    }

    function _getValues(uint256 tAmount, bool takeFee, Taxes memory temp) private view returns (valuesFromGetValues memory to_return) {
        to_return = _getTValues(tAmount, takeFee, temp);
        (to_return.rAmount, to_return.rTransferAmount, to_return.rRfi, to_return.rMarketing, to_return.rLiquidity) = _getRValues(to_return, tAmount, takeFee, _getRate());
        return to_return;
    }

    function _getTValues(uint256 tAmount, bool takeFee, Taxes memory temp) private pure returns (valuesFromGetValues memory s) {

        if(!takeFee) {
          s.tTransferAmount = tAmount;
          return s;
        }
        s.tRfi = tAmount*temp.rfi/100;
        s.tMarketing = tAmount*temp.marketing/100;
        s.tLiquidity = tAmount*temp.liquidity/100;
        s.tTransferAmount = tAmount-s.tRfi-s.tMarketing-s.tLiquidity;
        return s;
    }

    function _getRValues(valuesFromGetValues memory s, uint256 tAmount, bool takeFee, uint256 currentRate) private pure returns (uint256 rAmount, uint256 rTransferAmount, uint256 rRfi, uint256 rMarketing, uint256 rLiquidity) {
        rAmount = tAmount*currentRate;

        if(!takeFee) {
          return(rAmount, rAmount, 0,0,0);
        }

        rRfi = s.tRfi*currentRate;
        rMarketing = s.tMarketing*currentRate;
        rLiquidity = s.tLiquidity*currentRate;
        rTransferAmount =  rAmount-rRfi-rMarketing-rLiquidity;
        return (rAmount, rTransferAmount, rRfi,rMarketing,rLiquidity);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply/tSupply;
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply-_rOwned[_excluded[i]];
            tSupply = tSupply-_tOwned[_excluded[i]];
        }
        if (rSupply < _rTotal/_tTotal) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(amount <= balanceOf(from),"You are trying to transfer more than your balance");
        require(!_isBot[from] && !_isBot[to], "Bots are not allowed");

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to] && to != pair){
            require(balanceOf(to) + amount <= maxWalletBalance, "You are exceeding maxWalletBalance");
        }
    
        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= swapTokensAtAmount;
        if(!swapping && swapEnabled && canSwap && to == pair && !_isExcludedFromFee[from] &&  !_isExcludedFromFee[to]){
            swapAndLiquify(swapTokensAtAmount);
        }
        
        bool takeFee = false;
        if(!_isExcludedFromFee[from] &&  !_isExcludedFromFee[to] && to == pair || from == pair){
            takeFee = true;
        }

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


    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee) private {
        Taxes memory temp;
        if(takeFee){
            if(recipient == pair) temp = sellTaxes;
            else if(sender == pair) temp = buyTaxes;
        }
        valuesFromGetValues memory s = _getValues(tAmount, takeFee, temp);

        if (_isExcluded[sender] ) {  //from excluded
                _tOwned[sender] = _tOwned[sender]-tAmount;
        }
        if (_isExcluded[recipient]) { //to excluded
                _tOwned[recipient] = _tOwned[recipient]+s.tTransferAmount;
        }

        _rOwned[sender] = _rOwned[sender]-s.rAmount;
        _rOwned[recipient] = _rOwned[recipient]+s.rTransferAmount;
        if(s.rRfi > 0 || s.tRfi > 0) _reflectRfi(s.rRfi, s.tRfi);
        if(s.rMarketing > 0 || s.tMarketing > 0) _takeMarketing(s.rMarketing,s.tMarketing);
        if(s.rLiquidity > 0 || s.tLiquidity > 0) _takeLiquidity(s.rLiquidity, s.tLiquidity);
        emit Transfer(sender, recipient, s.tTransferAmount);
        emit Transfer(sender, address(this), s.tMarketing + s.tLiquidity);
    }

    function swapAndLiquify(uint256 contractBalance ) private lockTheSwap{
        // Split the contract balance into halves
            uint256 denominator = (sellTaxes.liquidity + sellTaxes.marketing) * 2;
            uint256 tokensToAddLiquidityWith = contractBalance * sellTaxes.liquidity / denominator;
            uint256 toSwap = contractBalance - tokensToAddLiquidityWith;
    
            uint256 initialBalance = address(this).balance;
    
            swapTokensForETH(toSwap);
    
            uint256 deltaBalance = address(this).balance - initialBalance;
            uint256 unitBalance= deltaBalance / (denominator - sellTaxes.liquidity);
            uint256 ethToAddLiquidityWith = unitBalance * sellTaxes.liquidity;
    
            if(ethToAddLiquidityWith > 0){
                // Add liquidity to pancake
                addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith);
            }
    
            uint256 marketingAmt = unitBalance * 2 * sellTaxes.marketing;
            if(marketingAmt > 0){
                payable(marketingWallet).sendValue(marketingAmt);
            }
    }

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

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

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

    }

    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
        );
    }
    
    function updateMarketingWallet(address newWallet) external onlyOwner{
        marketingWallet = newWallet;
    }

    function updateSwapTokensAtAmount(uint256 amount) external onlyOwner{
        swapTokensAtAmount = amount * 10**_decimals;
    }

    function updateSwapEnabled(bool _enabled) external onlyOwner{
        swapEnabled = _enabled;
    }
    
    function setBot(address _user, bool value) external onlyOwner{
        _isBot[_user] = value;
    }

    function setBuyTaxes(uint256 rfi, uint256 liquidity, uint256 marketing) external onlyOwner{
        buyTaxes = Taxes(rfi, marketing, liquidity);
    }
    function setSellTaxes(uint256 rfi, uint256 liquidity, uint256 marketing) external onlyOwner{
        sellTaxes = Taxes(rfi, marketing, liquidity);
    }
    
    function setMaxWallet(uint256 amount) external onlyOwner{
        maxWalletBalance = amount * 10**_decimals;
    }
    
    function isBot(address _bot) external view returns(bool){
        return _isBot[_bot];
    }


    receive() external payable{
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"FeesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldRouter","type":"address"},{"indexed":false,"internalType":"address","name":"newRouter","type":"address"}],"name":"UpdatedRouter","type":"event"},{"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":"buyTaxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","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":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bot","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferRfi","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAllowedTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"name":"setSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setTradingEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totFeesPaid","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620008f9565b62000022906305f5e100620009ba565b600b819055620000359060001962000a14565b6200004390600019620009dc565b600c55620000546009600a620008f9565b620000629061c350620009ba565b600d55620000736009600a620008f9565b62000083906302625a00620009ba565b600e55600f80546001600160a01b0319167388b8f72be0dee2de8412ad23d4fc6e214ece4b8f179055604080516060808201835260008083526003602080850182905293850182905260108290556011819055601282905584519283018552818352928201839052920182905260138290556014556015553480156200010857600080fd5b506040516200322f3803806200322f8339810160408190526200012b916200086e565b620001363362000491565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017757600080fd5b505afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b291906200086e565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001fb57600080fd5b505afa15801562000210573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023691906200086e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200027f57600080fd5b505af115801562000294573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ba91906200086e565b600980546001600160a01b038086166301000000026301000000600160b81b031990921691909117909155600a80549183166001600160a01b0319909216821790559091506200030a90620004e1565b600c5460016000620003246000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600460006200035e6200061360201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600f54909116835290822080549093168117909255600790620003ce6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600f549091168152600790925280822080548416600190811790915530835291208054909216179055620004386000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516200048091815260200190565b60405180910390a350505062000a6d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811660009081526005602052604090205460ff1615620005505760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064015b60405180910390fd5b6001600160a01b03811660009081526001602052604090205415620005ad576001600160a01b038116600090815260016020526040902054620005939062000622565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b6000546001600160a01b031690565b6000600c548211156200068b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840162000547565b600062000697620006ac565b9050620006a5818462000899565b9392505050565b60008080620006ba620006d2565b9092509050620006cb818362000899565b9250505090565b600c54600b546000918291825b6008548110156200083a5782600160006008848154811062000705576200070562000a57565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806200077457508160026000600884815481106200074d576200074d62000a57565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156200078b57600c54600b54945094505050509091565b6001600060088381548110620007a557620007a562000a57565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620007d69084620009dc565b92506002600060088381548110620007f257620007f262000a57565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620008239083620009dc565b9150806200083181620009f6565b915050620006df565b50600b54600c546200084d919062000899565b8210156200086557600c54600b549350935050509091565b90939092509050565b6000602082840312156200088157600080fd5b81516001600160a01b0381168114620006a557600080fd5b600082620008ab57620008ab62000a41565b500490565b600181815b80851115620008f1578160001904821115620008d557620008d562000a2b565b80851615620008e357918102915b93841c9390800290620008b5565b509250929050565b6000620006a560ff8416836000826200091557506001620009b4565b816200092457506000620009b4565b81600181146200093d5760028114620009485762000968565b6001915050620009b4565b60ff8411156200095c576200095c62000a2b565b50506001821b620009b4565b5060208310610133831016604e8410600b84101617156200098d575081810a620009b4565b620009998383620008b0565b8060001904821115620009b057620009b062000a2b565b0290505b92915050565b6000816000190483118215151615620009d757620009d762000a2b565b500290565b600082821015620009f157620009f162000a2b565b500390565b600060001982141562000a0d5762000a0d62000a2b565b5060010190565b60008262000a265762000a2662000a41565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6127b28062000a7d6000396000f3fe60806040526004361061023f5760003560e01c806375f0a8741161012e578063aacebbe3116100ab578063e2f456051161006f578063e2f4560514610774578063ea2f0b371461078a578063f2fde38b146107aa578063f66895a3146107ca578063f887ea40146107e957600080fd5b8063aacebbe3146106b8578063bbde77c1146106d8578063c2e5ec04146106ee578063d257b34f1461070e578063dd62ed3e1461072e57600080fd5b806395d89b41116100f257806395d89b411461060b5780639ba5e4d514610639578063a457c2d714610658578063a8aa1b3114610678578063a9059cbb1461069857600080fd5b806375f0a87414610522578063864701a51461055a57806388f82020146105945780638da5cb5b146105cd578063924de9b7146105eb57600080fd5b80633bbac579116101bc5780635d0044ca116101805780635d0044ca1461049357806369c6a59c146104b35780636ddd1713146104d357806370a08231146104ed578063715018a61461050d57600080fd5b80633bbac579146103c1578063437823ec146103fa5780634549b0391461041a5780634ada218b1461043a5780635342acb41461045a57600080fd5b806323b872dd1161020357806323b872dd146103255780632d83811914610345578063313ce56714610365578063342aa8b51461038157806339509351146103a157600080fd5b806306fdde031461024b5780630873321414610294578063095ea7b3146102b657806318160ddd146102e65780631870517a1461030557600080fd5b3661024657005b600080fd5b34801561025757600080fd5b5060408051808201909152600e81526d2737b6b0b213b9902b34b9b4b7b760911b60208201525b60405161028b9190612490565b60405180910390f35b3480156102a057600080fd5b506102b46102af366004612436565b610810565b005b3480156102c257600080fd5b506102d66102d13660046123b3565b61086c565b604051901515815260200161028b565b3480156102f257600080fd5b50600b545b60405190815260200161028b565b34801561031157600080fd5b506102b4610320366004612436565b6108d1565b34801561033157600080fd5b506102d661034036600461233d565b610924565b34801561035157600080fd5b506102f76103603660046123fa565b610a24565b34801561037157600080fd5b506040516009815260200161028b565b34801561038d57600080fd5b506102b461039c36600461237e565b610aa8565b3480156103ad57600080fd5b506102d66103bc3660046123b3565b610afd565b3480156103cd57600080fd5b506102d66103dc3660046122ca565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561040657600080fd5b506102b46104153660046122ca565b610b83565b34801561042657600080fd5b506102f7610435366004612413565b610bd1565b34801561044657600080fd5b506009546102d69062010000900460ff1681565b34801561046657600080fd5b506102d66104753660046122ca565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561049f57600080fd5b506102b46104ae3660046123fa565b610cab565b3480156104bf57600080fd5b506102b46104ce36600461237e565b610cf1565b3480156104df57600080fd5b506009546102d69060ff1681565b3480156104f957600080fd5b506102f76105083660046122ca565b610d46565b34801561051957600080fd5b506102b4610da5565b34801561052e57600080fd5b50600f54610542906001600160a01b031681565b6040516001600160a01b03909116815260200161028b565b34801561056657600080fd5b5060105460115460125461057992919083565b6040805193845260208401929092529082015260600161028b565b3480156105a057600080fd5b506102d66105af3660046122ca565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156105d957600080fd5b506000546001600160a01b0316610542565b3480156105f757600080fd5b506102b46106063660046123df565b610ddb565b34801561061757600080fd5b506040805180820190915260058152641393d3505160da1b602082015261027e565b34801561064557600080fd5b5060165460175460185461057992919083565b34801561066457600080fd5b506102d66106733660046123b3565b610e18565b34801561068457600080fd5b50600a54610542906001600160a01b031681565b3480156106a457600080fd5b506102d66106b33660046123b3565b610f04565b3480156106c457600080fd5b506102b46106d33660046122ca565b610f5f565b3480156106e457600080fd5b506102f7600e5481565b3480156106fa57600080fd5b506102b46107093660046123df565b610fab565b34801561071a57600080fd5b506102b46107293660046123fa565b610ff1565b34801561073a57600080fd5b506102f7610749366004612304565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561078057600080fd5b506102f7600d5481565b34801561079657600080fd5b506102b46107a53660046122ca565b611037565b3480156107b657600080fd5b506102b46107c53660046122ca565b611082565b3480156107d657600080fd5b5060135460145460155461057992919083565b3480156107f557600080fd5b5060095461054290630100000090046001600160a01b031681565b6000546001600160a01b031633146108435760405162461bcd60e51b815260040161083a906124e5565b60405180910390fd5b604080516060810182528481526020810183905201829052601392909255601491909155601555565b600954600090339062010000900460ff16806108a057506001600160a01b03811660009081526007602052604090205460ff165b6108bc5760405162461bcd60e51b815260040161083a9061251a565b6108c733858561111d565b5060019392505050565b6000546001600160a01b031633146108fb5760405162461bcd60e51b815260040161083a906124e5565b604080516060810182528481526020810183905201829052601092909255601191909155601255565b600954600090849062010000900460ff168061095857506001600160a01b03811660009081526007602052604090205460ff165b6109745760405162461bcd60e51b815260040161083a9061251a565b61097f858585611241565b6001600160a01b038516600090815260036020908152604080832033845290915290205483811015610a045760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161083a565b610a188633610a138785612709565b61111d565b50600195945050505050565b6000600c54821115610a8b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161083a565b6000610a9561166c565b9050610aa181846125da565b9392505050565b6000546001600160a01b03163314610ad25760405162461bcd60e51b815260040161083a906124e5565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600954600090339062010000900460ff1680610b3157506001600160a01b03811660009081526007602052604090205460ff165b610b4d5760405162461bcd60e51b815260040161083a9061251a565b3360008181526003602090815260408083206001600160a01b03891684529091529020546108c791908690610a139087906125c2565b6000546001600160a01b03163314610bad5760405162461bcd60e51b815260040161083a906124e5565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000600b54831115610c255760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015260640161083a565b81610c6657604080516060810182526010548152601154602082015260125491810191909152600090610c5c90859060019061168f565b519150610ca59050565b604080516060810182526010548152601154602082015260125491810191909152600090610c9890859060019061168f565b602001519150610ca59050565b92915050565b6000546001600160a01b03163314610cd55760405162461bcd60e51b815260040161083a906124e5565b610ce16009600a61263f565b610ceb90826126ea565b600e5550565b6000546001600160a01b03163314610d1b5760405162461bcd60e51b815260040161083a906124e5565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526005602052604081205460ff1615610d8357506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610ca590610a24565b6000546001600160a01b03163314610dcf5760405162461bcd60e51b815260040161083a906124e5565b610dd960006116d4565b565b6000546001600160a01b03163314610e055760405162461bcd60e51b815260040161083a906124e5565b6009805460ff1916911515919091179055565b600954600090339062010000900460ff1680610e4c57506001600160a01b03811660009081526007602052604090205460ff165b610e685760405162461bcd60e51b815260040161083a9061251a565b3360009081526003602090815260408083206001600160a01b038816845290915290205483811015610eea5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161083a565b610ef93386610a138785612709565b506001949350505050565b600954600090339062010000900460ff1680610f3857506001600160a01b03811660009081526007602052604090205460ff165b610f545760405162461bcd60e51b815260040161083a9061251a565b6108c7338585611241565b6000546001600160a01b03163314610f895760405162461bcd60e51b815260040161083a906124e5565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610fd55760405162461bcd60e51b815260040161083a906124e5565b60098054911515620100000262ff000019909216919091179055565b6000546001600160a01b0316331461101b5760405162461bcd60e51b815260040161083a906124e5565b6110276009600a61263f565b61103190826126ea565b600d5550565b6000546001600160a01b031633146110615760405162461bcd60e51b815260040161083a906124e5565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146110ac5760405162461bcd60e51b815260040161083a906124e5565b6001600160a01b0381166111115760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161083a565b61111a816116d4565b50565b6001600160a01b03831661117f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161083a565b6001600160a01b0382166111e05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161083a565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112a55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161083a565b6001600160a01b0382166113075760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161083a565b600081116113695760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161083a565b61137283610d46565b8111156113db5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161083a565b6001600160a01b03831660009081526006602052604090205460ff1615801561141d57506001600160a01b03821660009081526006602052604090205460ff16155b6114605760405162461bcd60e51b8152602060048201526014602482015273109bdd1cc8185c99481b9bdd08185b1b1bddd95960621b604482015260640161083a565b6001600160a01b03831660009081526004602052604090205460ff161580156114a257506001600160a01b03821660009081526004602052604090205460ff16155b80156114bc5750600a546001600160a01b03838116911614155b1561153157600e54816114ce84610d46565b6114d891906125c2565b11156115315760405162461bcd60e51b815260206004820152602260248201527f596f752061726520657863656564696e67206d617857616c6c657442616c616e604482015261636560f01b606482015260840161083a565b600061153c30610d46565b600d5460095491925082101590610100900460ff16158015611560575060095460ff165b80156115695750805b80156115825750600a546001600160a01b038581169116145b80156115a757506001600160a01b03851660009081526004602052604090205460ff16155b80156115cc57506001600160a01b03841660009081526004602052604090205460ff16155b156115dc576115dc600d54611724565b6001600160a01b03851660009081526004602052604081205460ff1615801561161e57506001600160a01b03851660009081526004602052604090205460ff16155b80156116375750600a546001600160a01b038681169116145b8061164f5750600a546001600160a01b038781169116145b15611658575060015b61166486868684611827565b505050505050565b6000806000611679611b50565b909250905061168881836125da565b9250505090565b611697612269565b6116a2848484611cd3565b90506116b78185856116b261166c565b611d83565b608086015260608501526040840152602083015281529392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6009805461ff001916610100179055601454601554600091611745916125c2565b6117509060026126ea565b90506000816013600201548461176691906126ea565b61177091906125da565b9050600061177e8285612709565b90504761178a82611e10565b60006117968247612709565b6015549091506000906117a99087612709565b6117b390836125da565b6015549091506000906117c690836126ea565b905080156117d8576117d88682611f98565b6014546000906117e98460026126ea565b6117f391906126ea565b9050801561181157600f54611811906001600160a01b03168261208b565b50506009805461ff001916905550505050505050565b61184b60405180606001604052806000815260200160008152602001600081525090565b81156118c757600a546001600160a01b038581169116141561188e57506040805160608101825260135481526014546020820152601554918101919091526118c7565b600a546001600160a01b03868116911614156118c757506040805160608101825260105481526011546020820152601254918101919091525b60006118d484848461168f565b6001600160a01b03871660009081526005602052604090205490915060ff1615611936576001600160a01b03861660009081526002602052604090205461191c908590612709565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526005602052604090205460ff16156119995760a08101516001600160a01b03861660009081526002602052604090205461197f91906125c2565b6001600160a01b0386166000908152600260205260409020555b80516001600160a01b0387166000908152600160205260409020546119be9190612709565b6001600160a01b03808816600090815260016020908152604080832094909455840151918816815291909120546119f591906125c2565b6001600160a01b0386166000908152600160205260409081902091909155810151151580611a27575060008160c00151115b15611a3e57611a3e81604001518260c001516121a9565b600081606001511180611a55575060008160e00151115b15611a6c57611a6c81606001518260e001516121de565b600081608001511180611a8457506000816101000151115b15611a9c57611a9c8160800151826101000151612254565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360a00151604051611ae591815260200190565b60405180910390a3306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361010001518460e00151611b3791906125c2565b60405190815260200160405180910390a3505050505050565b600c54600b546000918291825b600854811015611ca257826001600060088481548110611b7f57611b7f612751565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611bea5750816002600060088481548110611bc357611bc3612751565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611c0057600c54600b54945094505050509091565b6001600060088381548110611c1757611c17612751565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c469084612709565b92506002600060088381548110611c5f57611c5f612751565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c8e9083612709565b915080611c9a81612720565b915050611b5d565b50600b54600c54611cb391906125da565b821015611cca57600c54600b549350935050509091565b90939092509050565b611cdb612269565b82611cec5760a08101849052610aa1565b8151606490611cfb90866126ea565b611d0591906125da565b60c08201526020820151606490611d1c90866126ea565b611d2691906125da565b60e08201526040820151606490611d3d90866126ea565b611d4791906125da565b610100820181905260e082015160c0830151611d639087612709565b611d6d9190612709565b611d779190612709565b60a08201529392505050565b600080808080611d9386896126ea565b945086611dab57508392506000915081905080611e05565b858960c00151611dbb91906126ea565b9250858960e00151611dcd91906126ea565b915085896101000151611de091906126ea565b90508082611dee8588612709565b611df89190612709565b611e029190612709565b93505b945094509450945094565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611e4557611e45612751565b60200260200101906001600160a01b031690816001600160a01b031681525050600960039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb357600080fd5b505afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb91906122e7565b81600181518110611efe57611efe612751565b6001600160a01b039283166020918202929092010152600954611f2b91309163010000009004168461111d565b60095460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790611f6a908590600090869030904290600401612551565b600060405180830381600087803b158015611f8457600080fd5b505af1158015611664573d6000803e3d6000fd5b600954611fb7903090630100000090046001600160a01b03168461111d565b6009546001600160a01b0363010000009091041663f305d719823085600080611fe86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561204b57600080fd5b505af115801561205f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120849190612462565b5050505050565b804710156120db5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161083a565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612128576040519150601f19603f3d011682016040523d82523d6000602084013e61212d565b606091505b50509050806121a45760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161083a565b505050565b81600c60008282546121bb9190612709565b9091555050601680548291906000906121d59084906125c2565b90915550505050565b80601660010160008282546121f391906125c2565b90915550503060009081526005602052604090205460ff161561223557306000908152600260205260408120805483929061222f9084906125c2565b90915550505b30600090815260016020526040812080548492906121d59084906125c2565b80601660020160008282546121f391906125c2565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803580151581146122c557600080fd5b919050565b6000602082840312156122dc57600080fd5b8135610aa181612767565b6000602082840312156122f957600080fd5b8151610aa181612767565b6000806040838503121561231757600080fd5b823561232281612767565b9150602083013561233281612767565b809150509250929050565b60008060006060848603121561235257600080fd5b833561235d81612767565b9250602084013561236d81612767565b929592945050506040919091013590565b6000806040838503121561239157600080fd5b823561239c81612767565b91506123aa602084016122b5565b90509250929050565b600080604083850312156123c657600080fd5b82356123d181612767565b946020939093013593505050565b6000602082840312156123f157600080fd5b610aa1826122b5565b60006020828403121561240c57600080fd5b5035919050565b6000806040838503121561242657600080fd5b823591506123aa602084016122b5565b60008060006060848603121561244b57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561247757600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156124bd578581018301518582016040015282016124a1565b818111156124cf576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125a15784516001600160a01b03168352938301939183019160010161257c565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156125d5576125d561273b565b500190565b6000826125f757634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561263757816000190482111561261d5761261d61273b565b8085161561262a57918102915b93841c9390800290612601565b509250929050565b6000610aa160ff84168360008261265857506001610ca5565b8161266557506000610ca5565b816001811461267b5760028114612685576126a1565b6001915050610ca5565b60ff8411156126965761269661273b565b50506001821b610ca5565b5060208310610133831016604e8410600b84101617156126c4575081810a610ca5565b6126ce83836125fc565b80600019048211156126e2576126e261273b565b029392505050565b60008160001904831182151516156127045761270461273b565b500290565b60008282101561271b5761271b61273b565b500390565b60006000198214156127345761273461273b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461111a57600080fdfea2646970667358221220b3111773b401b92cdc8636369e2c33ba3bddca85162a8a2000b2d8e9cf4a28a564736f6c634300080600330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x60806040526004361061023f5760003560e01c806375f0a8741161012e578063aacebbe3116100ab578063e2f456051161006f578063e2f4560514610774578063ea2f0b371461078a578063f2fde38b146107aa578063f66895a3146107ca578063f887ea40146107e957600080fd5b8063aacebbe3146106b8578063bbde77c1146106d8578063c2e5ec04146106ee578063d257b34f1461070e578063dd62ed3e1461072e57600080fd5b806395d89b41116100f257806395d89b411461060b5780639ba5e4d514610639578063a457c2d714610658578063a8aa1b3114610678578063a9059cbb1461069857600080fd5b806375f0a87414610522578063864701a51461055a57806388f82020146105945780638da5cb5b146105cd578063924de9b7146105eb57600080fd5b80633bbac579116101bc5780635d0044ca116101805780635d0044ca1461049357806369c6a59c146104b35780636ddd1713146104d357806370a08231146104ed578063715018a61461050d57600080fd5b80633bbac579146103c1578063437823ec146103fa5780634549b0391461041a5780634ada218b1461043a5780635342acb41461045a57600080fd5b806323b872dd1161020357806323b872dd146103255780632d83811914610345578063313ce56714610365578063342aa8b51461038157806339509351146103a157600080fd5b806306fdde031461024b5780630873321414610294578063095ea7b3146102b657806318160ddd146102e65780631870517a1461030557600080fd5b3661024657005b600080fd5b34801561025757600080fd5b5060408051808201909152600e81526d2737b6b0b213b9902b34b9b4b7b760911b60208201525b60405161028b9190612490565b60405180910390f35b3480156102a057600080fd5b506102b46102af366004612436565b610810565b005b3480156102c257600080fd5b506102d66102d13660046123b3565b61086c565b604051901515815260200161028b565b3480156102f257600080fd5b50600b545b60405190815260200161028b565b34801561031157600080fd5b506102b4610320366004612436565b6108d1565b34801561033157600080fd5b506102d661034036600461233d565b610924565b34801561035157600080fd5b506102f76103603660046123fa565b610a24565b34801561037157600080fd5b506040516009815260200161028b565b34801561038d57600080fd5b506102b461039c36600461237e565b610aa8565b3480156103ad57600080fd5b506102d66103bc3660046123b3565b610afd565b3480156103cd57600080fd5b506102d66103dc3660046122ca565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561040657600080fd5b506102b46104153660046122ca565b610b83565b34801561042657600080fd5b506102f7610435366004612413565b610bd1565b34801561044657600080fd5b506009546102d69062010000900460ff1681565b34801561046657600080fd5b506102d66104753660046122ca565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561049f57600080fd5b506102b46104ae3660046123fa565b610cab565b3480156104bf57600080fd5b506102b46104ce36600461237e565b610cf1565b3480156104df57600080fd5b506009546102d69060ff1681565b3480156104f957600080fd5b506102f76105083660046122ca565b610d46565b34801561051957600080fd5b506102b4610da5565b34801561052e57600080fd5b50600f54610542906001600160a01b031681565b6040516001600160a01b03909116815260200161028b565b34801561056657600080fd5b5060105460115460125461057992919083565b6040805193845260208401929092529082015260600161028b565b3480156105a057600080fd5b506102d66105af3660046122ca565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156105d957600080fd5b506000546001600160a01b0316610542565b3480156105f757600080fd5b506102b46106063660046123df565b610ddb565b34801561061757600080fd5b506040805180820190915260058152641393d3505160da1b602082015261027e565b34801561064557600080fd5b5060165460175460185461057992919083565b34801561066457600080fd5b506102d66106733660046123b3565b610e18565b34801561068457600080fd5b50600a54610542906001600160a01b031681565b3480156106a457600080fd5b506102d66106b33660046123b3565b610f04565b3480156106c457600080fd5b506102b46106d33660046122ca565b610f5f565b3480156106e457600080fd5b506102f7600e5481565b3480156106fa57600080fd5b506102b46107093660046123df565b610fab565b34801561071a57600080fd5b506102b46107293660046123fa565b610ff1565b34801561073a57600080fd5b506102f7610749366004612304565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561078057600080fd5b506102f7600d5481565b34801561079657600080fd5b506102b46107a53660046122ca565b611037565b3480156107b657600080fd5b506102b46107c53660046122ca565b611082565b3480156107d657600080fd5b5060135460145460155461057992919083565b3480156107f557600080fd5b5060095461054290630100000090046001600160a01b031681565b6000546001600160a01b031633146108435760405162461bcd60e51b815260040161083a906124e5565b60405180910390fd5b604080516060810182528481526020810183905201829052601392909255601491909155601555565b600954600090339062010000900460ff16806108a057506001600160a01b03811660009081526007602052604090205460ff165b6108bc5760405162461bcd60e51b815260040161083a9061251a565b6108c733858561111d565b5060019392505050565b6000546001600160a01b031633146108fb5760405162461bcd60e51b815260040161083a906124e5565b604080516060810182528481526020810183905201829052601092909255601191909155601255565b600954600090849062010000900460ff168061095857506001600160a01b03811660009081526007602052604090205460ff165b6109745760405162461bcd60e51b815260040161083a9061251a565b61097f858585611241565b6001600160a01b038516600090815260036020908152604080832033845290915290205483811015610a045760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161083a565b610a188633610a138785612709565b61111d565b50600195945050505050565b6000600c54821115610a8b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161083a565b6000610a9561166c565b9050610aa181846125da565b9392505050565b6000546001600160a01b03163314610ad25760405162461bcd60e51b815260040161083a906124e5565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600954600090339062010000900460ff1680610b3157506001600160a01b03811660009081526007602052604090205460ff165b610b4d5760405162461bcd60e51b815260040161083a9061251a565b3360008181526003602090815260408083206001600160a01b03891684529091529020546108c791908690610a139087906125c2565b6000546001600160a01b03163314610bad5760405162461bcd60e51b815260040161083a906124e5565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000600b54831115610c255760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015260640161083a565b81610c6657604080516060810182526010548152601154602082015260125491810191909152600090610c5c90859060019061168f565b519150610ca59050565b604080516060810182526010548152601154602082015260125491810191909152600090610c9890859060019061168f565b602001519150610ca59050565b92915050565b6000546001600160a01b03163314610cd55760405162461bcd60e51b815260040161083a906124e5565b610ce16009600a61263f565b610ceb90826126ea565b600e5550565b6000546001600160a01b03163314610d1b5760405162461bcd60e51b815260040161083a906124e5565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6001600160a01b03811660009081526005602052604081205460ff1615610d8357506001600160a01b031660009081526002602052604090205490565b6001600160a01b038216600090815260016020526040902054610ca590610a24565b6000546001600160a01b03163314610dcf5760405162461bcd60e51b815260040161083a906124e5565b610dd960006116d4565b565b6000546001600160a01b03163314610e055760405162461bcd60e51b815260040161083a906124e5565b6009805460ff1916911515919091179055565b600954600090339062010000900460ff1680610e4c57506001600160a01b03811660009081526007602052604090205460ff165b610e685760405162461bcd60e51b815260040161083a9061251a565b3360009081526003602090815260408083206001600160a01b038816845290915290205483811015610eea5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161083a565b610ef93386610a138785612709565b506001949350505050565b600954600090339062010000900460ff1680610f3857506001600160a01b03811660009081526007602052604090205460ff165b610f545760405162461bcd60e51b815260040161083a9061251a565b6108c7338585611241565b6000546001600160a01b03163314610f895760405162461bcd60e51b815260040161083a906124e5565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610fd55760405162461bcd60e51b815260040161083a906124e5565b60098054911515620100000262ff000019909216919091179055565b6000546001600160a01b0316331461101b5760405162461bcd60e51b815260040161083a906124e5565b6110276009600a61263f565b61103190826126ea565b600d5550565b6000546001600160a01b031633146110615760405162461bcd60e51b815260040161083a906124e5565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146110ac5760405162461bcd60e51b815260040161083a906124e5565b6001600160a01b0381166111115760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161083a565b61111a816116d4565b50565b6001600160a01b03831661117f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161083a565b6001600160a01b0382166111e05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161083a565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112a55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161083a565b6001600160a01b0382166113075760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161083a565b600081116113695760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161083a565b61137283610d46565b8111156113db5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161083a565b6001600160a01b03831660009081526006602052604090205460ff1615801561141d57506001600160a01b03821660009081526006602052604090205460ff16155b6114605760405162461bcd60e51b8152602060048201526014602482015273109bdd1cc8185c99481b9bdd08185b1b1bddd95960621b604482015260640161083a565b6001600160a01b03831660009081526004602052604090205460ff161580156114a257506001600160a01b03821660009081526004602052604090205460ff16155b80156114bc5750600a546001600160a01b03838116911614155b1561153157600e54816114ce84610d46565b6114d891906125c2565b11156115315760405162461bcd60e51b815260206004820152602260248201527f596f752061726520657863656564696e67206d617857616c6c657442616c616e604482015261636560f01b606482015260840161083a565b600061153c30610d46565b600d5460095491925082101590610100900460ff16158015611560575060095460ff165b80156115695750805b80156115825750600a546001600160a01b038581169116145b80156115a757506001600160a01b03851660009081526004602052604090205460ff16155b80156115cc57506001600160a01b03841660009081526004602052604090205460ff16155b156115dc576115dc600d54611724565b6001600160a01b03851660009081526004602052604081205460ff1615801561161e57506001600160a01b03851660009081526004602052604090205460ff16155b80156116375750600a546001600160a01b038681169116145b8061164f5750600a546001600160a01b038781169116145b15611658575060015b61166486868684611827565b505050505050565b6000806000611679611b50565b909250905061168881836125da565b9250505090565b611697612269565b6116a2848484611cd3565b90506116b78185856116b261166c565b611d83565b608086015260608501526040840152602083015281529392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6009805461ff001916610100179055601454601554600091611745916125c2565b6117509060026126ea565b90506000816013600201548461176691906126ea565b61177091906125da565b9050600061177e8285612709565b90504761178a82611e10565b60006117968247612709565b6015549091506000906117a99087612709565b6117b390836125da565b6015549091506000906117c690836126ea565b905080156117d8576117d88682611f98565b6014546000906117e98460026126ea565b6117f391906126ea565b9050801561181157600f54611811906001600160a01b03168261208b565b50506009805461ff001916905550505050505050565b61184b60405180606001604052806000815260200160008152602001600081525090565b81156118c757600a546001600160a01b038581169116141561188e57506040805160608101825260135481526014546020820152601554918101919091526118c7565b600a546001600160a01b03868116911614156118c757506040805160608101825260105481526011546020820152601254918101919091525b60006118d484848461168f565b6001600160a01b03871660009081526005602052604090205490915060ff1615611936576001600160a01b03861660009081526002602052604090205461191c908590612709565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526005602052604090205460ff16156119995760a08101516001600160a01b03861660009081526002602052604090205461197f91906125c2565b6001600160a01b0386166000908152600260205260409020555b80516001600160a01b0387166000908152600160205260409020546119be9190612709565b6001600160a01b03808816600090815260016020908152604080832094909455840151918816815291909120546119f591906125c2565b6001600160a01b0386166000908152600160205260409081902091909155810151151580611a27575060008160c00151115b15611a3e57611a3e81604001518260c001516121a9565b600081606001511180611a55575060008160e00151115b15611a6c57611a6c81606001518260e001516121de565b600081608001511180611a8457506000816101000151115b15611a9c57611a9c8160800151826101000151612254565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360a00151604051611ae591815260200190565b60405180910390a3306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361010001518460e00151611b3791906125c2565b60405190815260200160405180910390a3505050505050565b600c54600b546000918291825b600854811015611ca257826001600060088481548110611b7f57611b7f612751565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611bea5750816002600060088481548110611bc357611bc3612751565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611c0057600c54600b54945094505050509091565b6001600060088381548110611c1757611c17612751565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c469084612709565b92506002600060088381548110611c5f57611c5f612751565b60009182526020808320909101546001600160a01b03168352820192909252604001902054611c8e9083612709565b915080611c9a81612720565b915050611b5d565b50600b54600c54611cb391906125da565b821015611cca57600c54600b549350935050509091565b90939092509050565b611cdb612269565b82611cec5760a08101849052610aa1565b8151606490611cfb90866126ea565b611d0591906125da565b60c08201526020820151606490611d1c90866126ea565b611d2691906125da565b60e08201526040820151606490611d3d90866126ea565b611d4791906125da565b610100820181905260e082015160c0830151611d639087612709565b611d6d9190612709565b611d779190612709565b60a08201529392505050565b600080808080611d9386896126ea565b945086611dab57508392506000915081905080611e05565b858960c00151611dbb91906126ea565b9250858960e00151611dcd91906126ea565b915085896101000151611de091906126ea565b90508082611dee8588612709565b611df89190612709565b611e029190612709565b93505b945094509450945094565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611e4557611e45612751565b60200260200101906001600160a01b031690816001600160a01b031681525050600960039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb357600080fd5b505afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb91906122e7565b81600181518110611efe57611efe612751565b6001600160a01b039283166020918202929092010152600954611f2b91309163010000009004168461111d565b60095460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790611f6a908590600090869030904290600401612551565b600060405180830381600087803b158015611f8457600080fd5b505af1158015611664573d6000803e3d6000fd5b600954611fb7903090630100000090046001600160a01b03168461111d565b6009546001600160a01b0363010000009091041663f305d719823085600080611fe86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561204b57600080fd5b505af115801561205f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120849190612462565b5050505050565b804710156120db5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161083a565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612128576040519150601f19603f3d011682016040523d82523d6000602084013e61212d565b606091505b50509050806121a45760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161083a565b505050565b81600c60008282546121bb9190612709565b9091555050601680548291906000906121d59084906125c2565b90915550505050565b80601660010160008282546121f391906125c2565b90915550503060009081526005602052604090205460ff161561223557306000908152600260205260408120805483929061222f9084906125c2565b90915550505b30600090815260016020526040812080548492906121d59084906125c2565b80601660020160008282546121f391906125c2565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803580151581146122c557600080fd5b919050565b6000602082840312156122dc57600080fd5b8135610aa181612767565b6000602082840312156122f957600080fd5b8151610aa181612767565b6000806040838503121561231757600080fd5b823561232281612767565b9150602083013561233281612767565b809150509250929050565b60008060006060848603121561235257600080fd5b833561235d81612767565b9250602084013561236d81612767565b929592945050506040919091013590565b6000806040838503121561239157600080fd5b823561239c81612767565b91506123aa602084016122b5565b90509250929050565b600080604083850312156123c657600080fd5b82356123d181612767565b946020939093013593505050565b6000602082840312156123f157600080fd5b610aa1826122b5565b60006020828403121561240c57600080fd5b5035919050565b6000806040838503121561242657600080fd5b823591506123aa602084016122b5565b60008060006060848603121561244b57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561247757600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156124bd578581018301518582016040015282016124a1565b818111156124cf576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125a15784516001600160a01b03168352938301939183019160010161257c565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156125d5576125d561273b565b500190565b6000826125f757634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561263757816000190482111561261d5761261d61273b565b8085161561262a57918102915b93841c9390800290612601565b509250929050565b6000610aa160ff84168360008261265857506001610ca5565b8161266557506000610ca5565b816001811461267b5760028114612685576126a1565b6001915050610ca5565b60ff8411156126965761269661273b565b50506001821b610ca5565b5060208310610133831016604e8410600b84101617156126c4575081810a610ca5565b6126ce83836125fc565b80600019048211156126e2576126e261273b565b029392505050565b60008160001904831182151516156127045761270461273b565b500290565b60008282101561271b5761271b61273b565b500390565b60006000198214156127345761273461273b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461111a57600080fdfea2646970667358221220b3111773b401b92cdc8636369e2c33ba3bddca85162a8a2000b2d8e9cf4a28a564736f6c63430008060033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

3468:16317:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6363:83;;;;;;;;;;-1:-1:-1;6433:5:0;;;;;;;;;;;;-1:-1:-1;;;6433:5:0;;;;6363:83;;;;;;;:::i;:::-;;;;;;;;19350:154;;;;;;;;;;-1:-1:-1;19350:154:0;;;;;:::i;:::-;;:::i;:::-;;7294:184;;;;;;;;;;-1:-1:-1;7294:184:0;;;;;:::i;:::-;;:::i;:::-;;;4631:14:1;;4624:22;4606:41;;4594:2;4579:18;7294:184:0;4561:92:1;6636:95:0;;;;;;;;;;-1:-1:-1;6716:7:0;;6636:95;;;12318:25:1;;;12306:2;12291:18;6636:95:0;12273:76:1;19192:152:0;;;;;;;;;;-1:-1:-1;19192:152:0;;;;;:::i;:::-;;:::i;7486:437::-;;;;;;;;;;-1:-1:-1;7486:437:0;;;;;:::i;:::-;;:::i;9193:248::-;;;;;;;;;;-1:-1:-1;9193:248:0;;;;;:::i;:::-;;:::i;6545:83::-;;;;;;;;;;-1:-1:-1;6545:83:0;;4168:1;13805:36:1;;13793:2;13778:18;6545:83:0;13760:87:1;19083:101:0;;;;;;;;;;-1:-1:-1;19083:101:0;;;;;:::i;:::-;;:::i;7931:236::-;;;;;;;;;;-1:-1:-1;7931:236:0;;;;;:::i;:::-;;:::i;19644:94::-;;;;;;;;;;-1:-1:-1;19644:94:0;;;;;:::i;:::-;-1:-1:-1;;;;;19718:12:0;19695:4;19718:12;;;:6;:12;;;;;;;;;19644:94;10251:111;;;;;;;;;;-1:-1:-1;10251:111:0;;;;;:::i;:::-;;:::i;8709:476::-;;;;;;;;;;-1:-1:-1;8709:476:0;;;;;:::i;:::-;;:::i;4042:26::-;;;;;;;;;;-1:-1:-1;4042:26:0;;;;;;;;;;;10743:123;;;;;;;;;;-1:-1:-1;10743:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10831:27:0;10807:4;10831:27;;;:18;:27;;;;;;;;;10743:123;19516:116;;;;;;;;;;-1:-1:-1;19516:116:0;;;;;:::i;:::-;;:::i;10492:127::-;;;;;;;;;;-1:-1:-1;10492:127:0;;;;;:::i;:::-;;:::i;3984:23::-;;;;;;;;;;-1:-1:-1;3984:23:0;;;;;;;;6739:198;;;;;;;;;;-1:-1:-1;6739:198:0;;;;;:::i;:::-;;:::i;2239:94::-;;;;;;;;;;;;;:::i;4587:75::-;;;;;;;;;;-1:-1:-1;4587:75:0;;;;-1:-1:-1;;;;;4587:75:0;;;;;;-1:-1:-1;;;;;3810:32:1;;;3792:51;;3780:2;3765:18;4587:75:0;3747:102:1;4772:36:0;;;;;;;;;;-1:-1:-1;4772:36:0;;;;;;;;;;;;;;;;13541:25:1;;;13597:2;13582:18;;13575:34;;;;13625:18;;;13618:34;13529:2;13514:18;4772:36:0;13496:162:1;8581:120:0;;;;;;;;;;-1:-1:-1;8581:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;8673:20:0;8649:4;8673:20;;;:11;:20;;;;;;;;;8581:120;2016:87;;;;;;;;;;-1:-1:-1;2062:7:0;2089:6;-1:-1:-1;;;;;2089:6:0;2016:87;;18970:101;;;;;;;;;;-1:-1:-1;18970:101:0;;;;;:::i;:::-;;:::i;6452:87::-;;;;;;;;;;-1:-1:-1;6524:7:0;;;;;;;;;;;;-1:-1:-1;;;6524:7:0;;;;6452:87;;4978:36;;;;;;;;;;-1:-1:-1;4978:36:0;;;;;;;;;;;;8175:398;;;;;;;;;;-1:-1:-1;8175:398:0;;;;;:::i;:::-;;:::i;4105:19::-;;;;;;;;;;-1:-1:-1;4105:19:0;;;;-1:-1:-1;;;;;4105:19:0;;;6945:190;;;;;;;;;;-1:-1:-1;6945:190:0;;;;;:::i;:::-;;:::i;18710:114::-;;;;;;;;;;-1:-1:-1;18710:114:0;;;;;:::i;:::-;;:::i;4409:60::-;;;;;;;;;;;;;;;;10631:104;;;;;;;;;;-1:-1:-1;10631:104:0;;;;;:::i;:::-;;:::i;18832:130::-;;;;;;;;;;-1:-1:-1;18832:130:0;;;;;:::i;:::-;;:::i;7143:143::-;;;;;;;;;;-1:-1:-1;7143:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7251:18:0;;;7224:7;7251:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7143:143;4345:57;;;;;;;;;;;;;;;;10370:110;;;;;;;;;;-1:-1:-1;10370:110:0;;;;;:::i;:::-;;:::i;2341:192::-;;;;;;;;;;-1:-1:-1;2341:192:0;;;;;:::i;:::-;;:::i;4815:37::-;;;;;;;;;;-1:-1:-1;4815:37:0;;;;;;;;;;;;4077:21;;;;;;;;;;-1:-1:-1;4077:21:0;;;;;;;-1:-1:-1;;;;;4077:21:0;;;19350:154;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;;;;;;;;;19464:32:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;19452:9:::1;:44:::0;;;;;;;;;;;19350:154::o;7294:184::-;5454:14;;7392:4;;7371:10;;5454:14;;;;;;:43;;-1:-1:-1;;;;;;5472:25:0;;;;;;:16;:25;;;;;;;;5454:43;5446:79;;;;-1:-1:-1;;;5446:79:0;;;;;;;:::i;:::-;7409:39:::1;1517:10:::0;7432:7:::1;7441:6;7409:8;:39::i;:::-;-1:-1:-1::0;7466:4:0::1;::::0;7294:184;-1:-1:-1;;;7294:184:0:o;19192:152::-;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;19304:32:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;19293:8:::1;:43:::0;;;;;;;;;;;19192:152::o;7486:437::-;5454:14;;7611:4;;7594:6;;5454:14;;;;;;:43;;-1:-1:-1;;;;;;5472:25:0;;;;;;:16;:25;;;;;;;;5454:43;5446:79;;;;-1:-1:-1;;;5446:79:0;;;;;;;:::i;:::-;7628:36:::1;7638:6;7646:9;7657:6;7628:9;:36::i;:::-;-1:-1:-1::0;;;;;7702:19:0;::::1;7675:24;7702:19:::0;;;:11:::1;:19;::::0;;;;;;;1517:10;7702:33;;;;;;;;7754:26;;::::1;;7746:79;;;::::0;-1:-1:-1;;;7746:79:0;;9276:2:1;7746:79:0::1;::::0;::::1;9258:21:1::0;9315:2;9295:18;;;9288:30;9354:34;9334:18;;;9327:62;-1:-1:-1;;;9405:18:1;;;9398:38;9453:19;;7746:79:0::1;9248:230:1::0;7746:79:0::1;7836:57;7845:6:::0;1517:10;7867:25:::1;7886:6:::0;7867:16;:25:::1;:::i;:::-;7836:8;:57::i;:::-;-1:-1:-1::0;7911:4:0::1;::::0;7486:437;-1:-1:-1;;;;;7486:437:0:o;9193:248::-;9259:7;9298;;9287;:18;;9279:73;;;;-1:-1:-1;;;9279:73:0;;6910:2:1;9279:73:0;;;6892:21:1;6949:2;6929:18;;;6922:30;6988:34;6968:18;;;6961:62;-1:-1:-1;;;7039:18:1;;;7032:40;7089:19;;9279:73:0;6882:232:1;9279:73:0;9363:19;9386:10;:8;:10::i;:::-;9363:33;-1:-1:-1;9414:19:0;9363:33;9414:7;:19;:::i;:::-;9407:26;9193:248;-1:-1:-1;;;9193:248:0:o;19083:101::-;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19155:13:0;;;::::1;;::::0;;;:6:::1;:13;::::0;;;;:21;;-1:-1:-1;;19155:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19083:101::o;7931:236::-;5454:14;;8042:4;;8021:10;;5454:14;;;;;;:43;;-1:-1:-1;;;;;;5472:25:0;;;;;;:16;:25;;;;;;;;5454:43;5446:79;;;;-1:-1:-1;;;5446:79:0;;;;;;;:::i;:::-;1517:10;8091:25:::1;::::0;;;:11:::1;:25;::::0;;;;;;;-1:-1:-1;;;;;8091:34:0;::::1;::::0;;;;;;;;8059:78:::1;::::0;1517:10;8082:7;;8091:45:::1;::::0;8126:10;;8091:45:::1;:::i;10251:111::-:0;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10320:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;10320:34:0::1;10350:4;10320:34;::::0;;10251:111::o;8709:476::-;8799:7;8838;;8827;:18;;8819:62;;;;-1:-1:-1;;;8819:62:0;;8916:2:1;8819:62:0;;;8898:21:1;8955:2;8935:18;;;8928:30;8994:33;8974:18;;;8967:61;9045:18;;8819:62:0;8888:181:1;8819:62:0;8897:17;8892:286;;8962:35;;;;;;;;8988:8;8962:35;;;;;;;;;;;;;;;;;;8931:28;;8962:35;;8973:7;;8982:4;;8962:10;:35::i;:::-;9019:9;;-1:-1:-1;9012:16:0;;-1:-1:-1;9012:16:0;8892:286;9092:35;;;;;;;;9118:8;9092:35;;;;;;;;;;;;;;;;;;9061:28;;9092:35;;9103:7;;9112:4;;9092:10;:35::i;:::-;9149:17;;;;-1:-1:-1;9142:24:0;;-1:-1:-1;9142:24:0;8892:286;8709:476;;;;:::o;19516:116::-;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;19611:13:::1;4168:1;19611:2;:13;:::i;:::-;19602:22;::::0;:6;:22:::1;:::i;:::-;19583:16;:41:::0;-1:-1:-1;19516:116:0:o;10492:127::-;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10578:25:0;;;::::1;;::::0;;;:16:::1;:25;::::0;;;;:33;;-1:-1:-1;;10578:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10492:127::o;6739:198::-;-1:-1:-1;;;;;6829:20:0;;6805:7;6829:20;;;:11;:20;;;;;;;;6825:49;;;-1:-1:-1;;;;;;6858:16:0;;;;;:7;:16;;;;;;;6739:198::o;6825:49::-;-1:-1:-1;;;;;6912:16:0;;;;;;:7;:16;;;;;;6892:37;;:19;:37::i;2239:94::-;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;2304:21:::1;2322:1;2304:9;:21::i;:::-;2239:94::o:0;18970:101::-;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;19041:11:::1;:22:::0;;-1:-1:-1;;19041:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18970:101::o;8175:398::-;5454:14;;8291:4;;8270:10;;5454:14;;;;;;:43;;-1:-1:-1;;;;;;5472:25:0;;;;;;:16;:25;;;;;;;;5454:43;5446:79;;;;-1:-1:-1;;;5446:79:0;;;;;;;:::i;:::-;1517:10;8308:24:::1;8335:25:::0;;;:11:::1;:25;::::0;;;;;;;-1:-1:-1;;;;;8335:34:0;::::1;::::0;;;;;;;;8388:35;;::::1;;8380:85;;;::::0;-1:-1:-1;;;8380:85:0;;11968:2:1;8380:85:0::1;::::0;::::1;11950:21:1::0;12007:2;11987:18;;;11980:30;12046:34;12026:18;;;12019:62;-1:-1:-1;;;12097:18:1;;;12090:35;12142:19;;8380:85:0::1;11940:227:1::0;8380:85:0::1;8476:67;1517:10:::0;8499:7;8508:34:::1;8527:15:::0;8508:16;:34:::1;:::i;8476:67::-;-1:-1:-1::0;8561:4:0::1;::::0;8175:398;-1:-1:-1;;;;8175:398:0:o;6945:190::-;5454:14;;7046:4;;7025:10;;5454:14;;;;;;:43;;-1:-1:-1;;;;;;5472:25:0;;;;;;:16;:25;;;;;;;;5454:43;5446:79;;;;-1:-1:-1;;;5446:79:0;;;;;;;:::i;:::-;7063:42:::1;1517:10:::0;7087:9:::1;7098:6;7063:9;:42::i;18710:114::-:0;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;18789:15:::1;:27:::0;;-1:-1:-1;;;;;;18789:27:0::1;-1:-1:-1::0;;;;;18789:27:0;;;::::1;::::0;;;::::1;::::0;;18710:114::o;10631:104::-;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;10702:14:::1;:25:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;10702:25:0;;::::1;::::0;;;::::1;::::0;;10631:104::o;18832:130::-;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;18941:13:::1;4168:1;18941:2;:13;:::i;:::-;18932:22;::::0;:6;:22:::1;:::i;:::-;18911:18;:43:::0;-1:-1:-1;18832:130:0:o;10370:110::-;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10437:27:0::1;10467:5;10437:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;10437:35:0::1;::::0;;10370:110::o;2341:192::-;2062:7;2089:6;-1:-1:-1;;;;;2089:6:0;1517:10;2151:23;2143:68;;;;-1:-1:-1;;;2143:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2430:22:0;::::1;2422:73;;;::::0;-1:-1:-1;;;2422:73:0;;7321:2:1;2422:73:0::1;::::0;::::1;7303:21:1::0;7360:2;7340:18;;;7333:30;7399:34;7379:18;;;7372:62;-1:-1:-1;;;7450:18:1;;;7443:36;7496:19;;2422:73:0::1;7293:228:1::0;2422:73:0::1;2506:19;2516:8;2506:9;:19::i;:::-;2341:192:::0;:::o;13807:335::-;-1:-1:-1;;;;;13900:19:0;;13892:68;;;;-1:-1:-1;;;13892:68:0;;11211:2:1;13892:68:0;;;11193:21:1;11250:2;11230:18;;;11223:30;11289:34;11269:18;;;11262:62;-1:-1:-1;;;11340:18:1;;;11333:34;11384:19;;13892:68:0;11183:226:1;13892:68:0;-1:-1:-1;;;;;13979:21:0;;13971:68;;;;-1:-1:-1;;;13971:68:0;;7728:2:1;13971:68:0;;;7710:21:1;7767:2;7747:18;;;7740:30;7806:34;7786:18;;;7779:62;-1:-1:-1;;;7857:18:1;;;7850:32;7899:19;;13971:68:0;7700:224:1;13971:68:0;-1:-1:-1;;;;;14050:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14102:32;;12318:25:1;;;14102:32:0;;12291:18:1;14102:32:0;;;;;;;13807:335;;;:::o;14150:1227::-;-1:-1:-1;;;;;14238:18:0;;14230:68;;;;-1:-1:-1;;;14230:68:0;;10456:2:1;14230:68:0;;;10438:21:1;10495:2;10475:18;;;10468:30;10534:34;10514:18;;;10507:62;-1:-1:-1;;;10585:18:1;;;10578:35;10630:19;;14230:68:0;10428:227:1;14230:68:0;-1:-1:-1;;;;;14317:16:0;;14309:64;;;;-1:-1:-1;;;14309:64:0;;5685:2:1;14309:64:0;;;5667:21:1;5724:2;5704:18;;;5697:30;5763:34;5743:18;;;5736:62;-1:-1:-1;;;5814:18:1;;;5807:33;5857:19;;14309:64:0;5657:225:1;14309:64:0;14401:1;14392:6;:10;14384:64;;;;-1:-1:-1;;;14384:64:0;;10046:2:1;14384:64:0;;;10028:21:1;10085:2;10065:18;;;10058:30;10124:34;10104:18;;;10097:62;-1:-1:-1;;;10175:18:1;;;10168:39;10224:19;;14384:64:0;10018:231:1;14384:64:0;14477:15;14487:4;14477:9;:15::i;:::-;14467:6;:25;;14459:86;;;;-1:-1:-1;;;14459:86:0;;6492:2:1;14459:86:0;;;6474:21:1;6531:2;6511:18;;;6504:30;6570:34;6550:18;;;6543:62;-1:-1:-1;;;6621:18:1;;;6614:47;6678:19;;14459:86:0;6464:239:1;14459:86:0;-1:-1:-1;;;;;14565:12:0;;;;;;:6;:12;;;;;;;;14564:13;:28;;;;-1:-1:-1;;;;;;14582:10:0;;;;;;:6;:10;;;;;;;;14581:11;14564:28;14556:61;;;;-1:-1:-1;;;14556:61:0;;10862:2:1;14556:61:0;;;10844:21:1;10901:2;10881:18;;;10874:30;-1:-1:-1;;;10920:18:1;;;10913:50;10980:18;;14556:61:0;10834:170:1;14556:61:0;-1:-1:-1;;;;;14634:24:0;;;;;;:18;:24;;;;;;;;14633:25;:52;;;;-1:-1:-1;;;;;;14663:22:0;;;;;;:18;:22;;;;;;;;14662:23;14633:52;:66;;;;-1:-1:-1;14695:4:0;;-1:-1:-1;;;;;14689:10:0;;;14695:4;;14689:10;;14633:66;14630:186;;;14749:16;;14739:6;14723:13;14733:2;14723:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;14715:89;;;;-1:-1:-1;;;14715:89:0;;6089:2:1;14715:89:0;;;6071:21:1;6128:2;6108:18;;;6101:30;6167:34;6147:18;;;6140:62;-1:-1:-1;;;6218:18:1;;;6211:32;6260:19;;14715:89:0;6061:224:1;14715:89:0;14832:28;14863:24;14881:4;14863:9;:24::i;:::-;14937:18;;14970:8;;14832:55;;-1:-1:-1;14913:42:0;;;;14970:8;;;;;14969:9;:24;;;;-1:-1:-1;14982:11:0;;;;14969:24;:35;;;;;14997:7;14969:35;:49;;;;-1:-1:-1;15014:4:0;;-1:-1:-1;;;;;15008:10:0;;;15014:4;;15008:10;14969:49;:78;;;;-1:-1:-1;;;;;;15023:24:0;;;;;;:18;:24;;;;;;;;15022:25;14969:78;:106;;;;-1:-1:-1;;;;;;15053:22:0;;;;;;:18;:22;;;;;;;;15052:23;14969:106;14966:171;;;15091:34;15106:18;;15091:14;:34::i;:::-;-1:-1:-1;;;;;15192:24:0;;15157:12;15192:24;;;:18;:24;;;;;;;;15191:25;:53;;;;-1:-1:-1;;;;;;15222:22:0;;;;;;:18;:22;;;;;;;;15221:23;15191:53;:67;;;;-1:-1:-1;15254:4:0;;-1:-1:-1;;;;;15248:10:0;;;15254:4;;15248:10;15191:67;:83;;;-1:-1:-1;15270:4:0;;-1:-1:-1;;;;;15262:12:0;;;15270:4;;15262:12;15191:83;15188:128;;;-1:-1:-1;15300:4:0;15188:128;15328:41;15343:4;15349:2;15353:6;15361:7;15328:14;:41::i;:::-;14219:1158;;;14150:1227;;;:::o;13093:158::-;13134:7;13155:15;13172;13191:19;:17;:19::i;:::-;13154:56;;-1:-1:-1;13154:56:0;-1:-1:-1;13228:15:0;13154:56;;13228:15;:::i;:::-;13221:22;;;;13093:158;:::o;11591:395::-;11683:36;;:::i;:::-;11744:35;11756:7;11765;11774:4;11744:11;:35::i;:::-;11732:47;;11899:52;11911:9;11922:7;11931;11940:10;:8;:10::i;:::-;11899:11;:52::i;:::-;11875:20;;;11790:161;11853:20;;;11790:161;11837:14;;;11790:161;11810:25;;;11790:161;;;11591:395;;;;;:::o;2541:173::-;2597:16;2616:6;;-1:-1:-1;;;;;2633:17:0;;;-1:-1:-1;;;;;;2633:17:0;;;;;;2666:40;;2616:6;;;;;;;2666:40;;2597:16;2666:40;2586:128;2541:173;:::o;16601:1135::-;5587:8;:15;;-1:-1:-1;;5587:15:0;;;;;16781:19;;16759;;5587:15;;16759:41:::1;::::0;::::1;:::i;:::-;16758:47;::::0;16804:1:::1;16758:47;:::i;:::-;16736:69;;16820:32;16895:11;16873:9;:19;;;16855:15;:37;;;;:::i;:::-;:51;;;;:::i;:::-;16820:86:::0;-1:-1:-1;16921:14:0::1;16938:42;16820:86:::0;16938:15;:42:::1;:::i;:::-;16921:59:::0;-1:-1:-1;17026:21:0::1;17068:24;16921:59:::0;17068:16:::1;:24::i;:::-;17113:20;17136:38;17160:14:::0;17136:21:::1;:38;:::i;:::-;17240:19:::0;;17113:61;;-1:-1:-1;17189:19:0::1;::::0;17226:33:::1;::::0;:11;:33:::1;:::i;:::-;17210:50;::::0;:12;:50:::1;:::i;:::-;17321:19:::0;;17189:71;;-1:-1:-1;17275:29:0::1;::::0;17307:33:::1;::::0;17189:71;17307:33:::1;:::i;:::-;17275:65:::0;-1:-1:-1;17364:25:0;;17361:170:::1;;17454:61;17467:24;17493:21;17454:12;:61::i;:::-;17592:19:::0;;17551:20:::1;::::0;17574:15:::1;:11:::0;17588:1:::1;17574:15;:::i;:::-;:37;;;;:::i;:::-;17551:60:::0;-1:-1:-1;17629:16:0;;17626:103:::1;;17673:15;::::0;17665:48:::1;::::0;-1:-1:-1;;;;;17673:15:0::1;17700:12:::0;17665:34:::1;:48::i;:::-;-1:-1:-1::0;;5625:8:0;:16;;-1:-1:-1;;5625:16:0;;;-1:-1:-1;;;;;;;16601:1135:0:o;15460:1133::-;15569:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;15569:17:0;15600:7;15597:130;;;15639:4;;-1:-1:-1;;;;;15626:17:0;;;15639:4;;15626:17;15623:92;;;-1:-1:-1;15645:16:0;;;;;;;;15652:9;15645:16;;;;;;;;;;;;;;;;;;15623:92;;;15694:4;;-1:-1:-1;;;;;15684:14:0;;;15694:4;;15684:14;15681:34;;;-1:-1:-1;15700:15:0;;;;;;;;15707:8;15700:15;;;;;;;;;;;;;;;;;;15681:34;15737:28;15768:34;15779:7;15788;15797:4;15768:10;:34::i;:::-;-1:-1:-1;;;;;15819:19:0;;;;;;:11;:19;;;;;;15737:65;;-1:-1:-1;15819:19:0;;15815:115;;;-1:-1:-1;;;;;15895:15:0;;;;;;:7;:15;;;;;;:23;;15911:7;;15895:23;:::i;:::-;-1:-1:-1;;;;;15877:15:0;;;;;;:7;:15;;;;;:41;15815:115;-1:-1:-1;;;;;15944:22:0;;;;;;:11;:22;;;;;;;;15940:130;;;16041:17;;;;-1:-1:-1;;;;;16022:18:0;;;;;;:7;:18;;;;;;:36;;16041:17;16022:36;:::i;:::-;-1:-1:-1;;;;;16001:18:0;;;;;;:7;:18;;;;;:57;15940:130;16116:9;;-1:-1:-1;;;;;16100:15:0;;16116:9;16100:15;;;:7;:15;;;;;;:25;;16116:9;16100:25;:::i;:::-;-1:-1:-1;;;;;16082:15:0;;;;;;;:7;:15;;;;;;;;:43;;;;16176:17;;;16157:18;;;;;;;;;;:36;;16176:17;16157:36;:::i;:::-;-1:-1:-1;;;;;16136:18:0;;;;;;:7;:18;;;;;;;:57;;;;16207:6;;;:10;;;:24;;;16230:1;16221;:6;;;:10;16207:24;16204:56;;;16233:27;16245:1;:6;;;16253:1;:6;;;16233:11;:27::i;:::-;16289:1;16274;:12;;;:16;:36;;;;16309:1;16294;:12;;;:16;16274:36;16271:82;;;16312:41;16327:1;:12;;;16340:1;:12;;;16312:14;:41::i;:::-;16382:1;16367;:12;;;:16;:36;;;;16402:1;16387;:12;;;:16;16367:36;16364:83;;;16405:42;16420:1;:12;;;16434:1;:12;;;16405:14;:42::i;:::-;16480:9;-1:-1:-1;;;;;16463:46:0;16472:6;-1:-1:-1;;;;;16463:46:0;;16491:1;:17;;;16463:46;;;;12318:25:1;;12306:2;12291:18;;12273:76;16463:46:0;;;;;;;;16550:4;-1:-1:-1;;;;;16525:60:0;16534:6;-1:-1:-1;;;;;16525:60:0;;16572:1;:12;;;16557:1;:12;;;:27;;;;:::i;:::-;16525:60;;12318:25:1;;;12306:2;12291:18;16525:60:0;;;;;;;15558:1035;;15460:1133;;;;:::o;13259:540::-;13356:7;;13392;;13309;;;;;13410:279;13434:9;:16;13430:20;;13410:279;;;13500:7;13476;:21;13484:9;13494:1;13484:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13484:12:0;13476:21;;;;;;;;;;;;;:31;;:66;;;13535:7;13511;:21;13519:9;13529:1;13519:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13519:12:0;13511:21;;;;;;;;;;;;;:31;13476:66;13472:97;;;13552:7;;13561;;13544:25;;;;;;;13259:540;;:::o;13472:97::-;13602:7;:21;13610:9;13620:1;13610:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13610:12:0;13602:21;;;;;;;;;;;;;13594:29;;:7;:29;:::i;:::-;13584:39;;13656:7;:21;13664:9;13674:1;13664:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13664:12:0;13656:21;;;;;;;;;;;;;13648:29;;:7;:29;:::i;:::-;13638:39;-1:-1:-1;13452:3:0;;;;:::i;:::-;;;;13410:279;;;;13721:7;;13713;;:15;;;;:::i;:::-;13703:7;:25;13699:56;;;13738:7;;13747;;13730:25;;;;;;13259:540;;:::o;13699:56::-;13774:7;;13783;;-1:-1:-1;13259:540:0;-1:-1:-1;13259:540:0:o;11994:463::-;12087:28;;:::i;:::-;12134:7;12130:86;;12156:17;;;:27;;;12196:8;;12130:86;12243:8;;12252:3;;12235:16;;:7;:16;:::i;:::-;:20;;;;:::i;:::-;12226:6;;;:29;12289:14;;;;12304:3;;12281:22;;:7;:22;:::i;:::-;:26;;;;:::i;:::-;12266:12;;;:41;12341:14;;;;12356:3;;12333:22;;:7;:22;:::i;:::-;:26;;;;:::i;:::-;12318:12;;;:41;;;12405:12;;;;12398:6;;;;12390:14;;:7;:14;:::i;:::-;:27;;;;:::i;:::-;:40;;;;:::i;:::-;12370:17;;;:60;11994:463;;;;;:::o;12465:620::-;12590:15;;;;;12707:19;12715:11;12707:7;:19;:::i;:::-;12697:29;;12743:7;12739:69;;-1:-1:-1;12772:7:0;;-1:-1:-1;12790:1:0;;-1:-1:-1;12790:1:0;;-1:-1:-1;12790:1:0;12765:31;;12739:69;12834:11;12827:1;:6;;;:18;;;;:::i;:::-;12820:25;;12882:11;12869:1;:12;;;:24;;;;:::i;:::-;12856:37;;12930:11;12917:1;:12;;;:24;;;;:::i;:::-;12904:37;-1:-1:-1;12904:37:0;12984:10;12971:12;12979:4;12971:7;:12;:::i;:::-;:23;;;;:::i;:::-;:34;;;;:::i;:::-;12952:53;;12465:620;;;;;;;;;;:::o;17744:451::-;17834:16;;;17848:1;17834:16;;;;;;;;17810:21;;17834:16;;;;;;;;;;-1:-1:-1;17834:16:0;17810:40;;17879:4;17861;17866:1;17861:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;17861:23:0;;;-1:-1:-1;;;;;17861:23:0;;;;;17905:6;;;;;;;;;-1:-1:-1;;;;;17905:6:0;-1:-1:-1;;;;;17905:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17895:4;17900:1;17895:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17895:23:0;;;:7;;;;;;;;;:23;17963:6;;17931:53;;17948:4;;17963:6;;;;17972:11;17931:8;:53::i;:::-;17997:6;;:188;;-1:-1:-1;;;17997:188:0;;:6;;;;-1:-1:-1;;;;;17997:6:0;;:57;;:188;;18069:11;;18095:1;;18112:4;;18139;;18159:15;;17997:188;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18203:495;18383:6;;18351:53;;18368:4;;18383:6;;;-1:-1:-1;;;;;18383:6:0;18392:11;18351:8;:53::i;:::-;18447:6;;-1:-1:-1;;;;;18447:6:0;;;;;:22;18477:9;18510:4;18530:11;18556:1;;18642:7;2062;2089:6;-1:-1:-1;;;;;2089:6:0;;2016:87;18642:7;18447:243;;;;;;-1:-1:-1;;;;;;18447:243:0;;;-1:-1:-1;;;;;4213:15:1;;;18447:243:0;;;4195:34:1;4245:18;;;4238:34;;;;4288:18;;;4281:34;;;;4331:18;;;4324:34;4395:15;;;4374:19;;;4367:44;18664:15:0;4427:19:1;;;4420:35;4129:19;;18447:243:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18203:495;;:::o;1076:317::-;1191:6;1166:21;:31;;1158:73;;;;-1:-1:-1;;;1158:73:0;;8558:2:1;1158:73:0;;;8540:21:1;8597:2;8577:18;;;8570:30;8636:31;8616:18;;;8609:59;8685:18;;1158:73:0;8530:179:1;1158:73:0;1245:12;1263:9;-1:-1:-1;;;;;1263:14:0;1285:6;1263:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1244:52;;;1315:7;1307:78;;;;-1:-1:-1;;;1307:78:0;;8131:2:1;1307:78:0;;;8113:21:1;8170:2;8150:18;;;8143:30;8209:34;8189:18;;;8182:62;8280:28;8260:18;;;8253:56;8326:19;;1307:78:0;8103:248:1;1307:78:0;1147:246;1076:317;;:::o;10874:123::-;10952:4;10942:7;;:14;;;;;;;:::i;:::-;;;;-1:-1:-1;;10967:11:0;:22;;10985:4;;10967:11;:15;;:22;;10985:4;;10967:22;:::i;:::-;;;;-1:-1:-1;;;;10874:123:0:o;11007:284::-;11114:10;11090:11;:21;;;:34;;;;;;;:::i;:::-;;;;-1:-1:-1;;11160:4:0;11140:26;;;;:11;:26;;;;;;;;11137:101;;;11208:4;11192:22;;;;:7;:22;;;;;:34;;11216:10;;11192:22;:34;;11216:10;;11192:34;:::i;:::-;;;;-1:-1:-1;;11137:101:0;11264:4;11248:22;;;;:7;:22;;;;;:35;;11273:10;;11248:22;:35;;11273:10;;11248:35;:::i;11299:284::-;11406:10;11382:11;:21;;;:34;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;307:1;304;297:12;259:2;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:2;;;570:1;567;560:12;522:2;602:9;596:16;621:31;646:5;621:31;:::i;687:388::-;755:6;763;816:2;804:9;795:7;791:23;787:32;784:2;;;832:1;829;822:12;784:2;871:9;858:23;890:31;915:5;890:31;:::i;:::-;940:5;-1:-1:-1;997:2:1;982:18;;969:32;1010:33;969:32;1010:33;:::i;:::-;1062:7;1052:17;;;774:301;;;;;:::o;1080:456::-;1157:6;1165;1173;1226:2;1214:9;1205:7;1201:23;1197:32;1194:2;;;1242:1;1239;1232:12;1194:2;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;:::-;1350:5;-1:-1:-1;1407:2:1;1392:18;;1379:32;1420:33;1379:32;1420:33;:::i;:::-;1184:352;;1472:7;;-1:-1:-1;;;1526:2:1;1511:18;;;;1498:32;;1184:352::o;1541:315::-;1606:6;1614;1667:2;1655:9;1646:7;1642:23;1638:32;1635:2;;;1683:1;1680;1673:12;1635:2;1722:9;1709:23;1741:31;1766:5;1741:31;:::i;:::-;1791:5;-1:-1:-1;1815:35:1;1846:2;1831:18;;1815:35;:::i;:::-;1805:45;;1625:231;;;;;:::o;1861:315::-;1929:6;1937;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2045:9;2032:23;2064:31;2089:5;2064:31;:::i;:::-;2114:5;2166:2;2151:18;;;;2138:32;;-1:-1:-1;;;1948:228:1:o;2181:180::-;2237:6;2290:2;2278:9;2269:7;2265:23;2261:32;2258:2;;;2306:1;2303;2296:12;2258:2;2329:26;2345:9;2329:26;:::i;2366:180::-;2425:6;2478:2;2466:9;2457:7;2453:23;2449:32;2446:2;;;2494:1;2491;2484:12;2446:2;-1:-1:-1;2517:23:1;;2436:110;-1:-1:-1;2436:110:1:o;2551:248::-;2616:6;2624;2677:2;2665:9;2656:7;2652:23;2648:32;2645:2;;;2693:1;2690;2683:12;2645:2;2729:9;2716:23;2706:33;;2758:35;2789:2;2778:9;2774:18;2758:35;:::i;2804:316::-;2881:6;2889;2897;2950:2;2938:9;2929:7;2925:23;2921:32;2918:2;;;2966:1;2963;2956:12;2918:2;-1:-1:-1;;2989:23:1;;;3059:2;3044:18;;3031:32;;-1:-1:-1;3110:2:1;3095:18;;;3082:32;;2908:212;-1:-1:-1;2908:212:1:o;3125:306::-;3213:6;3221;3229;3282:2;3270:9;3261:7;3257:23;3253:32;3250:2;;;3298:1;3295;3288:12;3250:2;3327:9;3321:16;3311:26;;3377:2;3366:9;3362:18;3356:25;3346:35;;3421:2;3410:9;3406:18;3400:25;3390:35;;3240:191;;;;;:::o;4881:597::-;4993:4;5022:2;5051;5040:9;5033:21;5083:6;5077:13;5126:6;5121:2;5110:9;5106:18;5099:34;5151:1;5161:140;5175:6;5172:1;5169:13;5161:140;;;5270:14;;;5266:23;;5260:30;5236:17;;;5255:2;5232:26;5225:66;5190:10;;5161:140;;;5319:6;5316:1;5313:13;5310:2;;;5389:1;5384:2;5375:6;5364:9;5360:22;5356:31;5349:42;5310:2;-1:-1:-1;5462:2:1;5441:15;-1:-1:-1;;5437:29:1;5422:45;;;;5469:2;5418:54;;5002:476;-1:-1:-1;;;5002:476:1:o;9483:356::-;9685:2;9667:21;;;9704:18;;;9697:30;9763:34;9758:2;9743:18;;9736:62;9830:2;9815:18;;9657:182::o;11414:347::-;11616:2;11598:21;;;11655:2;11635:18;;;11628:30;11694:25;11689:2;11674:18;;11667:53;11752:2;11737:18;;11588:173::o;12354:980::-;12616:4;12664:3;12653:9;12649:19;12695:6;12684:9;12677:25;12721:2;12759:6;12754:2;12743:9;12739:18;12732:34;12802:3;12797:2;12786:9;12782:18;12775:31;12826:6;12861;12855:13;12892:6;12884;12877:22;12930:3;12919:9;12915:19;12908:26;;12969:2;12961:6;12957:15;12943:29;;12990:1;13000:195;13014:6;13011:1;13008:13;13000:195;;;13079:13;;-1:-1:-1;;;;;13075:39:1;13063:52;;13170:15;;;;13135:12;;;;13111:1;13029:9;13000:195;;;-1:-1:-1;;;;;;;13251:32:1;;;;13246:2;13231:18;;13224:60;-1:-1:-1;;;13315:3:1;13300:19;13293:35;13212:3;12625:709;-1:-1:-1;;;12625:709:1:o;13852:128::-;13892:3;13923:1;13919:6;13916:1;13913:13;13910:2;;;13929:18;;:::i;:::-;-1:-1:-1;13965:9:1;;13900:80::o;13985:217::-;14025:1;14051;14041:2;;14095:10;14090:3;14086:20;14083:1;14076:31;14130:4;14127:1;14120:15;14158:4;14155:1;14148:15;14041:2;-1:-1:-1;14187:9:1;;14031:171::o;14207:422::-;14296:1;14339:5;14296:1;14353:270;14374:7;14364:8;14361:21;14353:270;;;14433:4;14429:1;14425:6;14421:17;14415:4;14412:27;14409:2;;;14442:18;;:::i;:::-;14492:7;14482:8;14478:22;14475:2;;;14512:16;;;;14475:2;14591:22;;;;14551:15;;;;14353:270;;;14357:3;14271:358;;;;;:::o;14634:140::-;14692:5;14721:47;14762:4;14752:8;14748:19;14742:4;14828:5;14858:8;14848:2;;-1:-1:-1;14899:1:1;14913:5;;14848:2;14947:4;14937:2;;-1:-1:-1;14984:1:1;14998:5;;14937:2;15029:4;15047:1;15042:59;;;;15115:1;15110:130;;;;15022:218;;15042:59;15072:1;15063:10;;15086:5;;;15110:130;15147:3;15137:8;15134:17;15131:2;;;15154:18;;:::i;:::-;-1:-1:-1;;15210:1:1;15196:16;;15225:5;;15022:218;;15324:2;15314:8;15311:16;15305:3;15299:4;15296:13;15292:36;15286:2;15276:8;15273:16;15268:2;15262:4;15259:12;15255:35;15252:77;15249:2;;;-1:-1:-1;15361:19:1;;;15393:5;;15249:2;15440:34;15465:8;15459:4;15440:34;:::i;:::-;15510:6;15506:1;15502:6;15498:19;15489:7;15486:32;15483:2;;;15521:18;;:::i;:::-;15559:20;;14838:747;-1:-1:-1;;;14838:747:1:o;15590:168::-;15630:7;15696:1;15692;15688:6;15684:14;15681:1;15678:21;15673:1;15666:9;15659:17;15655:45;15652:2;;;15703:18;;:::i;:::-;-1:-1:-1;15743:9:1;;15642:116::o;15763:125::-;15803:4;15831:1;15828;15825:8;15822:2;;;15836:18;;:::i;:::-;-1:-1:-1;15873:9:1;;15812:76::o;15893:135::-;15932:3;-1:-1:-1;;15953:17:1;;15950:2;;;15973:18;;:::i;:::-;-1:-1:-1;16020:1:1;16009:13;;15940:88::o;16033:127::-;16094:10;16089:3;16085:20;16082:1;16075:31;16125:4;16122:1;16115:15;16149:4;16146:1;16139:15;16165:127;16226:10;16221:3;16217:20;16214:1;16207:31;16257:4;16254:1;16247:15;16281:4;16278:1;16271:15;16429:131;-1:-1:-1;;;;;16504:31:1;;16494:42;;16484:2;;16550:1;16547;16540:12

Swarm Source

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