ETH Price: $3,278.06 (-0.05%)
Gas: 4 Gwei

Token

Community Trust Fund (CTF)
 

Overview

Max Total Supply

998,591 CTF

Holders

78 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.173710187 CTF

Value
$0.00
0xbcce76cf634be9970450fb4dd3888e768589d4b9
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Community Trust Fund (CTF) is a decentralized crypto token that lets the community decide which projects to fund. Empowering collective decision-making, CTF aims to invest in initiatives that align with the community's interests, promoting transparency and accountability.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
CTF

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 2000 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-17
*/

/**

Website: https://ctf.vision

Twitter: https://twitter.com/CommunityTF

Telegram: https://t.me/communitytrustfund

*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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

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

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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 IUniswapV2Router02 {
    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;
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

contract CTF is IERC20Metadata, Ownable {
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public isExcludedFromFee;
    mapping(address => bool) public isExcludedFromMaxWalletToken;

    address payable public marketingWallet;
    address payable public devWallet;
    address payable public constant burnWallet = payable(0x000000000000000000000000000000000000dEaD);
    address payable public lpWallet;

    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 10**6 * 10**_decimals;
    string private constant _name = "Community Trust Fund";
    string private constant _symbol = "CTF";

    uint256 public swapMinTokens = 10**3 * 10**_decimals;

    uint256 public buyTax = 30;
    uint256 public sellTax = 30;
    uint256 public maxTransactionTax = 5;

    uint256 public marketingPct = 40;
    uint256 public devPct = 40;
    uint256 public lpPct = 20;
    uint256 public maxPct = 100;

    uint256 public maxWalletSize = (_tTotal * 2) / maxPct;

    IUniswapV2Router02 public _uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;

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

    event UpdateLpWallet(address newLp_, address oldLpWallet);
    event UpdatedBuySellTaxes(uint256 buyTax, uint256 sellTax);
    event UpdatedPercentTaxes(uint256 marketing, uint256 dev, uint256 lp);
    event UpdatedIsExcludedFromFee(address account, bool flag);
    event UpdatedIsExcludedFromMaxWallet(address account, bool flag);
    event UpdatedMarketingAndDevWallet(address marketing, address dev);

    modifier lockTheSwap() {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor(address uniswapRouterAddress, address marketing, address dev, address lpWalletAddress) {
        _tOwned[owner()] = _tTotal;

        _uniswapV2Router = IUniswapV2Router02(uniswapRouterAddress);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        marketingWallet = payable(marketing);
        devWallet = payable(dev);
        lpWallet = payable(lpWalletAddress);

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[marketingWallet] = true;
        isExcludedFromFee[devWallet] = true;
        isExcludedFromFee[burnWallet] = true;
        isExcludedFromFee[lpWallet] = true;
        isExcludedFromFee[uniswapRouterAddress] = true;

        isExcludedFromMaxWalletToken[uniswapRouterAddress] = true;
        isExcludedFromMaxWalletToken[owner()] = true;
        isExcludedFromMaxWalletToken[address(this)] = true;
        isExcludedFromMaxWalletToken[marketingWallet] = true;
        isExcludedFromMaxWalletToken[devWallet] = true;
        isExcludedFromMaxWalletToken[burnWallet] = true;
        isExcludedFromMaxWalletToken[lpWallet] = true;
        isExcludedFromMaxWalletToken[uniswapV2Pair] = 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) {
        return _tOwned[account];
    }

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] - subtractedValue
        );
        return true;
    }

    receive() external payable {}

    function _approve(
        address theOwner,
        address theSpender,
        uint256 amount
    ) private {
        require(
            theOwner != address(0) && theSpender != address(0),
            "Zero address."
        );
        _allowances[theOwner][theSpender] = amount;
        emit Approval(theOwner, theSpender, amount);
    }

    function setLpWallet(address newLp_) external onlyOwner {
        require(newLp_ != address(0), "TTF::Lp wallet cannot be zero address");

        address oldLpWallet = lpWallet;
        lpWallet = payable(newLp_);

        emit UpdateLpWallet(newLp_, oldLpWallet);
    }

    function setTax(
        uint256 buy,
        uint256 sell
    ) public onlyOwner {
        require(buy <= maxTransactionTax, "Buy tax cannot exceed the maximum.");
        require(sell <= maxTransactionTax, "Sell tax cannot exceed the maximum.");

        buyTax = buy;
        sellTax = sell;

        emit UpdatedBuySellTaxes(buy, sell);
    }

    function setPercentTax(
        uint256 marketing,
        uint256 dev,
        uint256 lp
    ) public onlyOwner {
        require(marketing + dev + lp == maxPct, "The sum of percentages must equal 100.");
        marketingPct = marketing;
        devPct = dev;
        lpPct = lp;

        emit UpdatedPercentTaxes(marketing, dev,lp);
    }
    function excludeFromFee(address account) external onlyOwner {
        isExcludedFromFee[account] = true;

        emit UpdatedIsExcludedFromFee(account, true);
    }

    function includeInFee(address account) external onlyOwner {
        isExcludedFromFee[account] = false;

        emit UpdatedIsExcludedFromFee(account, false);
    }

	function excludeMaxWallet(address account) external onlyOwner {
        isExcludedFromMaxWalletToken[account] = true;
        emit UpdatedIsExcludedFromMaxWallet(account, true);
    }

    function includeMaxWallet(address account) external onlyOwner {
        isExcludedFromMaxWalletToken[account] = false;
        emit UpdatedIsExcludedFromMaxWallet(account, false);
    }

    function setWallets(
        address marketing,
        address dev
    ) public onlyOwner {
        require(marketing != address(0) && dev != address(0), "Invalid wallet addresses.");
        isExcludedFromFee[marketingWallet] = false;
        isExcludedFromFee[devWallet] = false;

        marketingWallet = payable(marketing);
        devWallet = payable(dev);

        isExcludedFromFee[marketing] = true;
        isExcludedFromFee[dev] = true;

        emit UpdatedMarketingAndDevWallet(marketing, dev);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        if (!isExcludedFromMaxWalletToken[to]) {
            uint256 heldTokens = balanceOf(to);
            require(
                (heldTokens + amount) <= maxWalletSize,
                "Over wallet limit."
            );
        }

        require(
            from != address(0) && to != address(0),
            "Using 0 address!"
        );

        require(amount > 0, "Token value must be higher than zero.");

        if (
            balanceOf(address(this)) >= swapMinTokens &&
            !inSwapAndLiquify &&
            from != uniswapV2Pair
        ) {
            swapAndDistributeTaxes();
        }

        _tokenTransfer(from, to, amount);
    }

   function multipleAirdrop(
        address[] memory _address,
        uint256[] memory _amount
    ) external onlyOwner {
        require(_address.length == _amount.length, "Arrays length mismatch");
        uint256 totalAmount = 0;
        for (uint256 i = 0; i < _amount.length; i++) {
            totalAmount += _amount[i];
        }
        require(balanceOf(msg.sender) >= totalAmount * 10**decimals(), "Insufficient balance");

        for (uint256 i = 0; i < _amount.length; i++) {
            address adr = _address[i];
            uint256 amnt = _amount[i] * 10**decimals();
            _transfer(msg.sender, adr, amnt);
        }
    }

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

    function setSwapMinTokens(uint256 minTokens) external onlyOwner {
        swapMinTokens = minTokens * 10**decimals();
        require(swapMinTokens < totalSupply(), "Min tokens for swap is too high.");
    }

    function swapAndDistributeTaxes() private lockTheSwap {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 marketingTokensShare = (contractTokenBalance * marketingPct) / maxPct;
        uint256 devTokensShare = (contractTokenBalance * devPct) / maxPct;
        uint256 lpTokensHalfShare = (contractTokenBalance * lpPct) / (2 * maxPct);

        uint256 bnbBalanceBeforeSwap = address(this).balance;
        swapTokensForBNB(lpTokensHalfShare + marketingTokensShare + devTokensShare);
        uint256 bnbReceived = address(this).balance - bnbBalanceBeforeSwap;

        uint256 marketingSplit = (marketingPct * maxPct) / (lpPct + marketingPct + devPct);
        uint256 bnbToMarketing = (bnbReceived * marketingSplit) / maxPct;

        uint256 devSplit = (devPct * maxPct) / (lpPct + marketingPct + devPct);
        uint256 bnbToDev = (bnbReceived * devSplit) / maxPct;

        addLiquidity(lpTokensHalfShare, (bnbReceived - bnbToMarketing - bnbToDev));
        emit SwapAndLiquify(
            lpTokensHalfShare,
            (bnbReceived - bnbToMarketing - bnbToDev),
            lpTokensHalfShare
        );

        _sendToWallet(marketingWallet, bnbToMarketing);
        _sendToWallet(devWallet, address(this).balance);
    }

    function swapTokensForBNB(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();
        _approve(address(this), address(_uniswapV2Router), tokenAmount);
        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 BNBAmount) private {
        _approve(address(this), address(_uniswapV2Router), tokenAmount);
        _uniswapV2Router.addLiquidityETH{value: BNBAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            lpWallet, // Add liquidity to lp wallet
            block.timestamp
        );
    }

    function withdraw() external onlyOwner {
        uint256 contractBalance = address(this).balance;
        require(contractBalance > 0, "TTF::Contract balance is empty");

        (bool status, ) = payable(owner()).call{value: contractBalance}("");

        require(status, "TTF::Failed to send contract balance");
    }

    function removeStuckTokens (
        address tokenAddress,
        uint256 pctOfTokens
    ) public returns (bool _sent) {
        require(
            tokenAddress != address(this),
            "Can not remove native token."
        );
        require(pctOfTokens <= 100, "Percentage must be less than or equal to 100.");
        uint256 totalRandom = IERC20(tokenAddress).balanceOf(address(this));
        uint256 removeRandom = (totalRandom * pctOfTokens) / maxPct;
        _sent = IERC20(tokenAddress).transfer(devWallet, removeRandom);
    }

    function _tokenTransfer(
        address from,
        address to,
        uint256 tAmount
    ) private {
        bool isBuy = (from == uniswapV2Pair);
        bool isSell = (to == uniswapV2Pair);
        bool isBuyOrSell = isBuy || isSell;
        bool takeFee = isBuyOrSell && !(isExcludedFromFee[from] || isExcludedFromFee[to]);

        uint256 fee = !takeFee
            ? 0
            : isBuy
                ? (tAmount * buyTax) / maxPct
                : (tAmount * sellTax) / maxPct;
        uint256 tTransferAmount = tAmount - fee;

        _tOwned[from] = _tOwned[from] - tAmount;
        _tOwned[to] = _tOwned[to] + tTransferAmount;
        _tOwned[address(this)] = _tOwned[address(this)] + fee;
        emit Transfer(from, to, tTransferAmount);
        if (to == burnWallet) _tTotal = _tTotal - tTransferAmount;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"uniswapRouterAddress","type":"address"},{"internalType":"address","name":"marketing","type":"address"},{"internalType":"address","name":"dev","type":"address"},{"internalType":"address","name":"lpWalletAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"newLp_","type":"address"},{"indexed":false,"internalType":"address","name":"oldLpWallet","type":"address"}],"name":"UpdateLpWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buyTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellTax","type":"uint256"}],"name":"UpdatedBuySellTaxes","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"flag","type":"bool"}],"name":"UpdatedIsExcludedFromFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"flag","type":"bool"}],"name":"UpdatedIsExcludedFromMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketing","type":"address"},{"indexed":false,"internalType":"address","name":"dev","type":"address"}],"name":"UpdatedMarketingAndDevWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"marketing","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"dev","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lp","type":"uint256"}],"name":"UpdatedPercentTaxes","type":"event"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeMaxWallet","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":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxWalletToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"multipleAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"pctOfTokens","type":"uint256"}],"name":"removeStuckTokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newLp_","type":"address"}],"name":"setLpWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"},{"internalType":"uint256","name":"lp","type":"uint256"}],"name":"setPercentTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minTokens","type":"uint256"}],"name":"setSwapMinTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketing","type":"address"},{"internalType":"address","name":"dev","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapMinTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000631565b6200002190620f424062000649565b600855620000326009600a62000631565b62000040906103e862000649565b600955601e600a55601e600b556005600c556028600d556028600e556014600f55606460105560105460085460026200007a919062000649565b62000086919062000663565b6011553480156200009657600080fd5b50604051620030c7380380620030c7833981016040819052620000b991620006a3565b620000c433620004cc565b60085460016000620000de6000546001600160a01b031690565b6001600160a01b039081168252602080830193909352604091820160002093909355601280546001600160a01b0319169388169384179055805163c45a015560e01b8152905163c45a0155926004808401939192918290030181865afa1580156200014d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000173919062000700565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fc919062000700565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200024a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000270919062000700565b601380546001600160a01b03199081166001600160a01b039384161790915560058054821686841617905560068054821685841617905560078054909116918316919091179055600160036000620002d06000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600384528281208054861660019081179091556005548316825283822080548716821790556006548316825283822080548716821790557f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c80548716821790556007548316825283822080548716821790559189168152828120805486168317905560049384905291822080549094168117909355620003a96000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260049093528183208054851660019081179091556005548216845282842080548616821790556006548216845282842080548616821790557f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd8054861682179055600754821684528284208054861682179055601354909116835291208054909216179055620004726000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600854604051620004ba91815260200190565b60405180910390a3505050506200071e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005735781600019048211156200055757620005576200051c565b808516156200056557918102915b93841c939080029062000537565b509250929050565b6000826200058c575060016200062b565b816200059b575060006200062b565b8160018114620005b45760028114620005bf57620005df565b60019150506200062b565b60ff841115620005d357620005d36200051c565b50506001821b6200062b565b5060208310610133831016604e8410600b841016171562000604575081810a6200062b565b62000610838362000532565b80600019048211156200062757620006276200051c565b0290505b92915050565b60006200064260ff8416836200057b565b9392505050565b80820281158282048414176200062b576200062b6200051c565b6000826200068157634e487b7160e01b600052601260045260246000fd5b500490565b80516001600160a01b03811681146200069e57600080fd5b919050565b60008060008060808587031215620006ba57600080fd5b620006c58562000686565b9350620006d56020860162000686565b9250620006e56040860162000686565b9150620006f56060860162000686565b905092959194509250565b6000602082840312156200071357600080fd5b620006428262000686565b612999806200072e6000396000f3fe6080604052600436106102eb5760003560e01c80635450e093116101845780638ea5220f116100d6578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e14610866578063ea2f0b37146108ac578063f2fde38b146108cc57600080fd5b8063a9059cbb14610810578063cc1776d314610830578063d3f6a1571461084657600080fd5b8063950fdad7116100bb578063950fdad71461079457806395d89b41146107aa578063a457c2d7146107f057600080fd5b80638ea5220f1461075e5780638f3fa8601461077e57600080fd5b8063667f65261161013857806375f0a8741161011257806375f0a874146107005780637df6ccf5146107205780638da5cb5b1461074057600080fd5b8063667f65261461069557806370a08231146106b5578063715018a6146106eb57600080fd5b8063583e056811610169578063583e0568146106355780636303516c146106555780636476b0691461067557600080fd5b80635450e093146105ff578063546417a91461061557600080fd5b8063395093511161023d57806349bd5a5e116101f15780634fb639f3116101cb5780634fb639f314610599578063522ac058146105b95780635342acb4146105cf57600080fd5b806349bd5a5e146105435780634a73a280146105635780634f7041a51461058357600080fd5b8063437823ec11610222578063437823ec146104e357806343f07b5814610503578063468c7ee21461052357600080fd5b806339509351146104ac5780633ccfd60b146104cc57600080fd5b806311f9262f1161029f578063220f669611610279578063220f66961461043e57806323b872dd14610470578063313ce5671461049057600080fd5b806311f9262f146103fd5780631783e0521461041357806318160ddd1461042957600080fd5b8063095ea7b3116102d0578063095ea7b3146103795780630fe0eb0f146103a95780630ff974e7146103cd57600080fd5b806306228749146102f757806306fdde031461032a57600080fd5b366102f257005b600080fd5b34801561030357600080fd5b5061030d61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561033657600080fd5b5060408051808201909152601481527f436f6d6d756e6974792054727573742046756e6400000000000000000000000060208201525b60405161032191906123a8565b34801561038557600080fd5b5061039961039436600461240b565b6108ec565b6040519015158152602001610321565b3480156103b557600080fd5b506103bf600c5481565b604051908152602001610321565b3480156103d957600080fd5b506103996103e8366004612437565b60046020526000908152604090205460ff1681565b34801561040957600080fd5b506103bf600f5481565b34801561041f57600080fd5b506103bf60095481565b34801561043557600080fd5b506008546103bf565b34801561044a57600080fd5b506013546103999074010000000000000000000000000000000000000000900460ff1681565b34801561047c57600080fd5b5061039961048b36600461245b565b610903565b34801561049c57600080fd5b5060405160098152602001610321565b3480156104b857600080fd5b506103996104c736600461240b565b610955565b3480156104d857600080fd5b506104e161098c565b005b3480156104ef57600080fd5b506104e16104fe366004612437565b610b05565b34801561050f57600080fd5b506104e161051e366004612437565b610bc1565b34801561052f57600080fd5b506104e161053e366004612437565b610c72565b34801561054f57600080fd5b5060135461030d906001600160a01b031681565b34801561056f57600080fd5b506104e161057e366004612572565b610db5565b34801561058f57600080fd5b506103bf600a5481565b3480156105a557600080fd5b506104e16105b4366004612634565b610fa6565b3480156105c557600080fd5b506103bf60105481565b3480156105db57600080fd5b506103996105ea366004612437565b60036020526000908152604090205460ff1681565b34801561060b57600080fd5b506103bf600d5481565b34801561062157600080fd5b506104e1610630366004612437565b61106f565b34801561064157600080fd5b5060125461030d906001600160a01b031681565b34801561066157600080fd5b5060075461030d906001600160a01b031681565b34801561068157600080fd5b5061039961069036600461240b565b611124565b3480156106a157600080fd5b506104e16106b036600461264d565b611331565b3480156106c157600080fd5b506103bf6106d0366004612437565b6001600160a01b031660009081526001602052604090205490565b3480156106f757600080fd5b506104e16114bb565b34801561070c57600080fd5b5060055461030d906001600160a01b031681565b34801561072c57600080fd5b506104e161073b36600461266f565b611521565b34801561074c57600080fd5b506000546001600160a01b031661030d565b34801561076a57600080fd5b5060065461030d906001600160a01b031681565b34801561078a57600080fd5b506103bf60115481565b3480156107a057600080fd5b506103bf600e5481565b3480156107b657600080fd5b5060408051808201909152600381527f4354460000000000000000000000000000000000000000000000000000000000602082015261036c565b3480156107fc57600080fd5b5061039961080b36600461240b565b61165b565b34801561081c57600080fd5b5061039961082b36600461240b565b611692565b34801561083c57600080fd5b506103bf600b5481565b34801561085257600080fd5b506104e161086136600461269b565b61169f565b34801561087257600080fd5b506103bf61088136600461269b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156108b857600080fd5b506104e16108c7366004612437565b611826565b3480156108d857600080fd5b506104e16108e7366004612437565b6118d7565b60006108f93384846119b6565b5060015b92915050565b6000610910848484611a83565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461094b9186916109469086906126ea565b6119b6565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916108f99185906109469086906126fd565b6000546001600160a01b031633146109eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b4780610a395760405162461bcd60e51b815260206004820152601e60248201527f5454463a3a436f6e74726163742062616c616e636520697320656d707479000060448201526064016109e2565b600080546040516001600160a01b039091169083908381818185875af1925050503d8060008114610a86576040519150601f19603f3d011682016040523d82523d6000602084013e610a8b565b606091505b5050905080610b015760405162461bcd60e51b8152602060048201526024808201527f5454463a3a4661696c656420746f2073656e6420636f6e74726163742062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016109e2565b5050565b6000546001600160a01b03163314610b5f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b038116600081815260036020908152604091829020805460ff191660019081179091558251938452908301527ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f434791015b60405180910390a150565b6000546001600160a01b03163314610c1b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b0381166000818152600460209081526040808320805460ff191690558051938452908301919091527f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4119101610bb6565b6000546001600160a01b03163314610ccc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b038116610d485760405162461bcd60e51b815260206004820152602560248201527f5454463a3a4c702077616c6c65742063616e6e6f74206265207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016109e2565b600780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff198316811790935560408051938452911660208301819052917f9b605aae8f83676cfb10dbe7d27053ddf283489a08a395c9b1b33166857ed16d91015b60405180910390a15050565b6000546001600160a01b03163314610e0f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b8051825114610e605760405162461bcd60e51b815260206004820152601660248201527f417272617973206c656e677468206d69736d617463680000000000000000000060448201526064016109e2565b6000805b8251811015610ea657828181518110610e7f57610e7f612710565b602002602001015182610e9291906126fd565b915080610e9e81612726565b915050610e64565b50610eb36009600a612824565b610ebd9082612833565b336000908152600160205260409020541015610f1b5760405162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e742062616c616e636500000000000000000000000060448201526064016109e2565b60005b8251811015610fa0576000848281518110610f3b57610f3b612710565b602002602001015190506000610f4f600990565b610f5a90600a612824565b858481518110610f6c57610f6c612710565b6020026020010151610f7e9190612833565b9050610f8b338383611a83565b50508080610f9890612726565b915050610f1e565b50505050565b6000546001600160a01b031633146110005760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b61100c6009600a612824565b6110169082612833565b6009556008546009541061106c5760405162461bcd60e51b815260206004820181905260248201527f4d696e20746f6b656e7320666f72207377617020697320746f6f20686967682e60448201526064016109e2565b50565b6000546001600160a01b031633146110c95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b038116600081815260046020908152604091829020805460ff191660019081179091558251938452908301527f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4119101610bb6565b6000306001600160a01b0384160361117e5760405162461bcd60e51b815260206004820152601c60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e2e0000000060448201526064016109e2565b60648211156111f55760405162461bcd60e51b815260206004820152602d60248201527f50657263656e74616765206d757374206265206c657373207468616e206f722060448201527f657175616c20746f203130302e0000000000000000000000000000000000000060648201526084016109e2565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611255573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611279919061284a565b90506000601054848361128c9190612833565b6112969190612863565b6006546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015611304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113289190612885565b95945050505050565b6000546001600160a01b0316331461138b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b600c548211156114035760405162461bcd60e51b815260206004820152602260248201527f427579207461782063616e6e6f742065786365656420746865206d6178696d7560448201527f6d2e00000000000000000000000000000000000000000000000000000000000060648201526084016109e2565b600c5481111561147b5760405162461bcd60e51b815260206004820152602360248201527f53656c6c207461782063616e6e6f742065786365656420746865206d6178696d60448201527f756d2e000000000000000000000000000000000000000000000000000000000060648201526084016109e2565b600a829055600b81905560408051838152602081018390527fee384adbada91a649af3c708314e31b6fe6974f02a951d6be3674ad17c956efe9101610da9565b6000546001600160a01b031633146115155760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b61151f6000611c6e565b565b6000546001600160a01b0316331461157b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6010548161158984866126fd565b61159391906126fd565b146116065760405162461bcd60e51b815260206004820152602660248201527f5468652073756d206f662070657263656e7461676573206d757374206571756160448201527f6c203130302e000000000000000000000000000000000000000000000000000060648201526084016109e2565b600d839055600e829055600f81905560408051848152602081018490529081018290527f12cef84d4d9918df500462be0ba79e5a447be771e44a010c8624661a6a108cbc9060600160405180910390a1505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916108f99185906109469086906126ea565b60006108f9338484611a83565b6000546001600160a01b031633146116f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b0382161580159061171957506001600160a01b03811615155b6117655760405162461bcd60e51b815260206004820152601960248201527f496e76616c69642077616c6c6574206164647265737365732e0000000000000060448201526064016109e2565b600580546001600160a01b039081166000908152600360209081526040808320805460ff199081169091556006805486168552828520805483169055865489871673ffffffffffffffffffffffffffffffffffffffff199182168117909855815496891696168617905585845281842080548216600190811790915585855293829020805490911690931790925581519384528301919091527f1e28ff4341fc5e5dbba78e864f67855d4b87ecce752be336375b358c90b529ec9101610da9565b6000546001600160a01b031633146118805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b0381166000818152600360209081526040808320805460ff191690558051938452908301919091527ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f43479101610bb6565b6000546001600160a01b031633146119315760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b0381166119ad5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109e2565b61106c81611c6e565b6001600160a01b038316158015906119d657506001600160a01b03821615155b611a225760405162461bcd60e51b815260206004820152600d60248201527f5a65726f20616464726573732e0000000000000000000000000000000000000060448201526064016109e2565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821660009081526004602052604090205460ff16611b19576001600160a01b038216600090815260016020526040902054601154611ac983836126fd565b1115611b175760405162461bcd60e51b815260206004820152601260248201527f4f7665722077616c6c6574206c696d69742e000000000000000000000000000060448201526064016109e2565b505b6001600160a01b03831615801590611b3957506001600160a01b03821615155b611b855760405162461bcd60e51b815260206004820152601060248201527f5573696e6720302061646472657373210000000000000000000000000000000060448201526064016109e2565b60008111611bfb5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060448201527f7a65726f2e00000000000000000000000000000000000000000000000000000060648201526084016109e2565b6009543060009081526001602052604090205410158015611c37575060135474010000000000000000000000000000000000000000900460ff16155b8015611c5157506013546001600160a01b03848116911614155b15611c5e57611c5e611ccb565b611c69838383611f34565b505050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b601380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790553060009081526001602052604081205490506000601054600d5483611d2f9190612833565b611d399190612863565b90506000601054600e5484611d4e9190612833565b611d589190612863565b905060006010546002611d6b9190612833565b600f54611d789086612833565b611d829190612863565b905047611da283611d9386856126fd565b611d9d91906126fd565b612119565b6000611dae82476126ea565b90506000600e54600d54600f54611dc591906126fd565b611dcf91906126fd565b601054600d54611ddf9190612833565b611de99190612863565b905060006010548284611dfc9190612833565b611e069190612863565b90506000600e54600d54600f54611e1d91906126fd565b611e2791906126fd565b601054600e54611e379190612833565b611e419190612863565b905060006010548286611e549190612833565b611e5e9190612863565b9050611e7e8782611e6f86896126ea565b611e7991906126ea565b6122a5565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618782611eab86896126ea565b611eb591906126ea565b604080519283526020830191909152810189905260600160405180910390a1600554611eea906001600160a01b031684612372565b600654611f00906001600160a01b031647612372565b5050601380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690555050505050505050565b6013546001600160a01b0390811684821681149184161460008280611f565750815b90506000818015611fa357506001600160a01b03871660009081526003602052604090205460ff1680611fa157506001600160a01b03861660009081526003602052604090205460ff165b155b905060008115611fe15784611fd157601054600b54611fc29088612833565b611fcc9190612863565b611fe4565b601054600a54611fc29088612833565b60005b90506000611ff282886126ea565b6001600160a01b038a166000908152600160205260409020549091506120199088906126ea565b6001600160a01b03808b1660009081526001602052604080822093909355908a16815220546120499082906126fd565b6001600160a01b0389166000908152600160205260408082209290925530815220546120769083906126fd565b3060009081526001602090815260409182902092909255518281526001600160a01b038a811692908c16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21536001600160a01b0389160161210e578060085461210a91906126ea565b6008555b505050505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061214e5761214e612710565b6001600160a01b03928316602091820292909201810191909152601254604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa1580156121c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e491906128a7565b816001815181106121f7576121f7612710565b6001600160a01b03928316602091820292909201015260125461221d91309116846119b6565b6012546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac9479061226f9085906000908690309042906004016128c4565b600060405180830381600087803b15801561228957600080fd5b505af115801561229d573d6000803e3d6000fd5b505050505050565b6012546122bd9030906001600160a01b0316846119b6565b6012546007546040517ff305d7190000000000000000000000000000000000000000000000000000000081523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015612346573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061236b9190612935565b5050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611c69573d6000803e3d6000fd5b600060208083528351808285015260005b818110156123d5578581018301518582016040015282016123b9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461106c57600080fd5b6000806040838503121561241e57600080fd5b8235612429816123f6565b946020939093013593505050565b60006020828403121561244957600080fd5b8135612454816123f6565b9392505050565b60008060006060848603121561247057600080fd5b833561247b816123f6565b9250602084013561248b816123f6565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156124db576124db61249c565b604052919050565b600067ffffffffffffffff8211156124fd576124fd61249c565b5060051b60200190565b600082601f83011261251857600080fd5b8135602061252d612528836124e3565b6124b2565b82815260059290921b8401810191818101908684111561254c57600080fd5b8286015b848110156125675780358352918301918301612550565b509695505050505050565b6000806040838503121561258557600080fd5b823567ffffffffffffffff8082111561259d57600080fd5b818501915085601f8301126125b157600080fd5b813560206125c1612528836124e3565b82815260059290921b840181019181810190898411156125e057600080fd5b948201945b838610156126075785356125f8816123f6565b825294820194908201906125e5565b9650508601359250508082111561261d57600080fd5b5061262a85828601612507565b9150509250929050565b60006020828403121561264657600080fd5b5035919050565b6000806040838503121561266057600080fd5b50508035926020909101359150565b60008060006060848603121561268457600080fd5b505081359360208301359350604090920135919050565b600080604083850312156126ae57600080fd5b82356126b9816123f6565b915060208301356126c9816123f6565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156108fd576108fd6126d4565b808201808211156108fd576108fd6126d4565b634e487b7160e01b600052603260045260246000fd5b60006000198203612739576127396126d4565b5060010190565b600181815b8085111561277b578160001904821115612761576127616126d4565b8085161561276e57918102915b93841c9390800290612745565b509250929050565b600082612792575060016108fd565b8161279f575060006108fd565b81600181146127b557600281146127bf576127db565b60019150506108fd565b60ff8411156127d0576127d06126d4565b50506001821b6108fd565b5060208310610133831016604e8410600b84101617156127fe575081810a6108fd565b6128088383612740565b806000190482111561281c5761281c6126d4565b029392505050565b600061245460ff841683612783565b80820281158282048414176108fd576108fd6126d4565b60006020828403121561285c57600080fd5b5051919050565b60008261288057634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561289757600080fd5b8151801515811461245457600080fd5b6000602082840312156128b957600080fd5b8151612454816123f6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129145784516001600160a01b0316835293830193918301916001016128ef565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561294a57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220ba866c0fbdf2c60f3a0866f096f21e1be7e8130263b032ac7ff14767e35c23f064736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000b4d066f903e5bb45ace82ab5f06e66090caed13900000000000000000000000088b3c9f414b15d29d06fa561050b98a5342b5b90000000000000000000000000f070a778f1c2bf63eb9481488ace9d434ffee643

Deployed Bytecode

0x6080604052600436106102eb5760003560e01c80635450e093116101845780638ea5220f116100d6578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e14610866578063ea2f0b37146108ac578063f2fde38b146108cc57600080fd5b8063a9059cbb14610810578063cc1776d314610830578063d3f6a1571461084657600080fd5b8063950fdad7116100bb578063950fdad71461079457806395d89b41146107aa578063a457c2d7146107f057600080fd5b80638ea5220f1461075e5780638f3fa8601461077e57600080fd5b8063667f65261161013857806375f0a8741161011257806375f0a874146107005780637df6ccf5146107205780638da5cb5b1461074057600080fd5b8063667f65261461069557806370a08231146106b5578063715018a6146106eb57600080fd5b8063583e056811610169578063583e0568146106355780636303516c146106555780636476b0691461067557600080fd5b80635450e093146105ff578063546417a91461061557600080fd5b8063395093511161023d57806349bd5a5e116101f15780634fb639f3116101cb5780634fb639f314610599578063522ac058146105b95780635342acb4146105cf57600080fd5b806349bd5a5e146105435780634a73a280146105635780634f7041a51461058357600080fd5b8063437823ec11610222578063437823ec146104e357806343f07b5814610503578063468c7ee21461052357600080fd5b806339509351146104ac5780633ccfd60b146104cc57600080fd5b806311f9262f1161029f578063220f669611610279578063220f66961461043e57806323b872dd14610470578063313ce5671461049057600080fd5b806311f9262f146103fd5780631783e0521461041357806318160ddd1461042957600080fd5b8063095ea7b3116102d0578063095ea7b3146103795780630fe0eb0f146103a95780630ff974e7146103cd57600080fd5b806306228749146102f757806306fdde031461032a57600080fd5b366102f257005b600080fd5b34801561030357600080fd5b5061030d61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561033657600080fd5b5060408051808201909152601481527f436f6d6d756e6974792054727573742046756e6400000000000000000000000060208201525b60405161032191906123a8565b34801561038557600080fd5b5061039961039436600461240b565b6108ec565b6040519015158152602001610321565b3480156103b557600080fd5b506103bf600c5481565b604051908152602001610321565b3480156103d957600080fd5b506103996103e8366004612437565b60046020526000908152604090205460ff1681565b34801561040957600080fd5b506103bf600f5481565b34801561041f57600080fd5b506103bf60095481565b34801561043557600080fd5b506008546103bf565b34801561044a57600080fd5b506013546103999074010000000000000000000000000000000000000000900460ff1681565b34801561047c57600080fd5b5061039961048b36600461245b565b610903565b34801561049c57600080fd5b5060405160098152602001610321565b3480156104b857600080fd5b506103996104c736600461240b565b610955565b3480156104d857600080fd5b506104e161098c565b005b3480156104ef57600080fd5b506104e16104fe366004612437565b610b05565b34801561050f57600080fd5b506104e161051e366004612437565b610bc1565b34801561052f57600080fd5b506104e161053e366004612437565b610c72565b34801561054f57600080fd5b5060135461030d906001600160a01b031681565b34801561056f57600080fd5b506104e161057e366004612572565b610db5565b34801561058f57600080fd5b506103bf600a5481565b3480156105a557600080fd5b506104e16105b4366004612634565b610fa6565b3480156105c557600080fd5b506103bf60105481565b3480156105db57600080fd5b506103996105ea366004612437565b60036020526000908152604090205460ff1681565b34801561060b57600080fd5b506103bf600d5481565b34801561062157600080fd5b506104e1610630366004612437565b61106f565b34801561064157600080fd5b5060125461030d906001600160a01b031681565b34801561066157600080fd5b5060075461030d906001600160a01b031681565b34801561068157600080fd5b5061039961069036600461240b565b611124565b3480156106a157600080fd5b506104e16106b036600461264d565b611331565b3480156106c157600080fd5b506103bf6106d0366004612437565b6001600160a01b031660009081526001602052604090205490565b3480156106f757600080fd5b506104e16114bb565b34801561070c57600080fd5b5060055461030d906001600160a01b031681565b34801561072c57600080fd5b506104e161073b36600461266f565b611521565b34801561074c57600080fd5b506000546001600160a01b031661030d565b34801561076a57600080fd5b5060065461030d906001600160a01b031681565b34801561078a57600080fd5b506103bf60115481565b3480156107a057600080fd5b506103bf600e5481565b3480156107b657600080fd5b5060408051808201909152600381527f4354460000000000000000000000000000000000000000000000000000000000602082015261036c565b3480156107fc57600080fd5b5061039961080b36600461240b565b61165b565b34801561081c57600080fd5b5061039961082b36600461240b565b611692565b34801561083c57600080fd5b506103bf600b5481565b34801561085257600080fd5b506104e161086136600461269b565b61169f565b34801561087257600080fd5b506103bf61088136600461269b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156108b857600080fd5b506104e16108c7366004612437565b611826565b3480156108d857600080fd5b506104e16108e7366004612437565b6118d7565b60006108f93384846119b6565b5060015b92915050565b6000610910848484611a83565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461094b9186916109469086906126ea565b6119b6565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916108f99185906109469086906126fd565b6000546001600160a01b031633146109eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b4780610a395760405162461bcd60e51b815260206004820152601e60248201527f5454463a3a436f6e74726163742062616c616e636520697320656d707479000060448201526064016109e2565b600080546040516001600160a01b039091169083908381818185875af1925050503d8060008114610a86576040519150601f19603f3d011682016040523d82523d6000602084013e610a8b565b606091505b5050905080610b015760405162461bcd60e51b8152602060048201526024808201527f5454463a3a4661696c656420746f2073656e6420636f6e74726163742062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016109e2565b5050565b6000546001600160a01b03163314610b5f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b038116600081815260036020908152604091829020805460ff191660019081179091558251938452908301527ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f434791015b60405180910390a150565b6000546001600160a01b03163314610c1b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b0381166000818152600460209081526040808320805460ff191690558051938452908301919091527f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4119101610bb6565b6000546001600160a01b03163314610ccc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b038116610d485760405162461bcd60e51b815260206004820152602560248201527f5454463a3a4c702077616c6c65742063616e6e6f74206265207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016109e2565b600780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff198316811790935560408051938452911660208301819052917f9b605aae8f83676cfb10dbe7d27053ddf283489a08a395c9b1b33166857ed16d91015b60405180910390a15050565b6000546001600160a01b03163314610e0f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b8051825114610e605760405162461bcd60e51b815260206004820152601660248201527f417272617973206c656e677468206d69736d617463680000000000000000000060448201526064016109e2565b6000805b8251811015610ea657828181518110610e7f57610e7f612710565b602002602001015182610e9291906126fd565b915080610e9e81612726565b915050610e64565b50610eb36009600a612824565b610ebd9082612833565b336000908152600160205260409020541015610f1b5760405162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e742062616c616e636500000000000000000000000060448201526064016109e2565b60005b8251811015610fa0576000848281518110610f3b57610f3b612710565b602002602001015190506000610f4f600990565b610f5a90600a612824565b858481518110610f6c57610f6c612710565b6020026020010151610f7e9190612833565b9050610f8b338383611a83565b50508080610f9890612726565b915050610f1e565b50505050565b6000546001600160a01b031633146110005760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b61100c6009600a612824565b6110169082612833565b6009556008546009541061106c5760405162461bcd60e51b815260206004820181905260248201527f4d696e20746f6b656e7320666f72207377617020697320746f6f20686967682e60448201526064016109e2565b50565b6000546001600160a01b031633146110c95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b038116600081815260046020908152604091829020805460ff191660019081179091558251938452908301527f99daa791459a6f561a09f304798c43002eb4416e52640c5f42ebdc73a4eda4119101610bb6565b6000306001600160a01b0384160361117e5760405162461bcd60e51b815260206004820152601c60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e2e0000000060448201526064016109e2565b60648211156111f55760405162461bcd60e51b815260206004820152602d60248201527f50657263656e74616765206d757374206265206c657373207468616e206f722060448201527f657175616c20746f203130302e0000000000000000000000000000000000000060648201526084016109e2565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611255573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611279919061284a565b90506000601054848361128c9190612833565b6112969190612863565b6006546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015611304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113289190612885565b95945050505050565b6000546001600160a01b0316331461138b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b600c548211156114035760405162461bcd60e51b815260206004820152602260248201527f427579207461782063616e6e6f742065786365656420746865206d6178696d7560448201527f6d2e00000000000000000000000000000000000000000000000000000000000060648201526084016109e2565b600c5481111561147b5760405162461bcd60e51b815260206004820152602360248201527f53656c6c207461782063616e6e6f742065786365656420746865206d6178696d60448201527f756d2e000000000000000000000000000000000000000000000000000000000060648201526084016109e2565b600a829055600b81905560408051838152602081018390527fee384adbada91a649af3c708314e31b6fe6974f02a951d6be3674ad17c956efe9101610da9565b6000546001600160a01b031633146115155760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b61151f6000611c6e565b565b6000546001600160a01b0316331461157b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6010548161158984866126fd565b61159391906126fd565b146116065760405162461bcd60e51b815260206004820152602660248201527f5468652073756d206f662070657263656e7461676573206d757374206571756160448201527f6c203130302e000000000000000000000000000000000000000000000000000060648201526084016109e2565b600d839055600e829055600f81905560408051848152602081018490529081018290527f12cef84d4d9918df500462be0ba79e5a447be771e44a010c8624661a6a108cbc9060600160405180910390a1505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916108f99185906109469086906126ea565b60006108f9338484611a83565b6000546001600160a01b031633146116f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b0382161580159061171957506001600160a01b03811615155b6117655760405162461bcd60e51b815260206004820152601960248201527f496e76616c69642077616c6c6574206164647265737365732e0000000000000060448201526064016109e2565b600580546001600160a01b039081166000908152600360209081526040808320805460ff199081169091556006805486168552828520805483169055865489871673ffffffffffffffffffffffffffffffffffffffff199182168117909855815496891696168617905585845281842080548216600190811790915585855293829020805490911690931790925581519384528301919091527f1e28ff4341fc5e5dbba78e864f67855d4b87ecce752be336375b358c90b529ec9101610da9565b6000546001600160a01b031633146118805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b0381166000818152600360209081526040808320805460ff191690558051938452908301919091527ff410d6c4def96d69e5baed8146061b716dd4ace2384481d53122138bbe4f43479101610bb6565b6000546001600160a01b031633146119315760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109e2565b6001600160a01b0381166119ad5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109e2565b61106c81611c6e565b6001600160a01b038316158015906119d657506001600160a01b03821615155b611a225760405162461bcd60e51b815260206004820152600d60248201527f5a65726f20616464726573732e0000000000000000000000000000000000000060448201526064016109e2565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821660009081526004602052604090205460ff16611b19576001600160a01b038216600090815260016020526040902054601154611ac983836126fd565b1115611b175760405162461bcd60e51b815260206004820152601260248201527f4f7665722077616c6c6574206c696d69742e000000000000000000000000000060448201526064016109e2565b505b6001600160a01b03831615801590611b3957506001600160a01b03821615155b611b855760405162461bcd60e51b815260206004820152601060248201527f5573696e6720302061646472657373210000000000000000000000000000000060448201526064016109e2565b60008111611bfb5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060448201527f7a65726f2e00000000000000000000000000000000000000000000000000000060648201526084016109e2565b6009543060009081526001602052604090205410158015611c37575060135474010000000000000000000000000000000000000000900460ff16155b8015611c5157506013546001600160a01b03848116911614155b15611c5e57611c5e611ccb565b611c69838383611f34565b505050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b601380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790553060009081526001602052604081205490506000601054600d5483611d2f9190612833565b611d399190612863565b90506000601054600e5484611d4e9190612833565b611d589190612863565b905060006010546002611d6b9190612833565b600f54611d789086612833565b611d829190612863565b905047611da283611d9386856126fd565b611d9d91906126fd565b612119565b6000611dae82476126ea565b90506000600e54600d54600f54611dc591906126fd565b611dcf91906126fd565b601054600d54611ddf9190612833565b611de99190612863565b905060006010548284611dfc9190612833565b611e069190612863565b90506000600e54600d54600f54611e1d91906126fd565b611e2791906126fd565b601054600e54611e379190612833565b611e419190612863565b905060006010548286611e549190612833565b611e5e9190612863565b9050611e7e8782611e6f86896126ea565b611e7991906126ea565b6122a5565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618782611eab86896126ea565b611eb591906126ea565b604080519283526020830191909152810189905260600160405180910390a1600554611eea906001600160a01b031684612372565b600654611f00906001600160a01b031647612372565b5050601380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690555050505050505050565b6013546001600160a01b0390811684821681149184161460008280611f565750815b90506000818015611fa357506001600160a01b03871660009081526003602052604090205460ff1680611fa157506001600160a01b03861660009081526003602052604090205460ff165b155b905060008115611fe15784611fd157601054600b54611fc29088612833565b611fcc9190612863565b611fe4565b601054600a54611fc29088612833565b60005b90506000611ff282886126ea565b6001600160a01b038a166000908152600160205260409020549091506120199088906126ea565b6001600160a01b03808b1660009081526001602052604080822093909355908a16815220546120499082906126fd565b6001600160a01b0389166000908152600160205260408082209290925530815220546120769083906126fd565b3060009081526001602090815260409182902092909255518281526001600160a01b038a811692908c16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21536001600160a01b0389160161210e578060085461210a91906126ea565b6008555b505050505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061214e5761214e612710565b6001600160a01b03928316602091820292909201810191909152601254604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa1580156121c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e491906128a7565b816001815181106121f7576121f7612710565b6001600160a01b03928316602091820292909201015260125461221d91309116846119b6565b6012546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac9479061226f9085906000908690309042906004016128c4565b600060405180830381600087803b15801561228957600080fd5b505af115801561229d573d6000803e3d6000fd5b505050505050565b6012546122bd9030906001600160a01b0316846119b6565b6012546007546040517ff305d7190000000000000000000000000000000000000000000000000000000081523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015612346573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061236b9190612935565b5050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611c69573d6000803e3d6000fd5b600060208083528351808285015260005b818110156123d5578581018301518582016040015282016123b9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461106c57600080fd5b6000806040838503121561241e57600080fd5b8235612429816123f6565b946020939093013593505050565b60006020828403121561244957600080fd5b8135612454816123f6565b9392505050565b60008060006060848603121561247057600080fd5b833561247b816123f6565b9250602084013561248b816123f6565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156124db576124db61249c565b604052919050565b600067ffffffffffffffff8211156124fd576124fd61249c565b5060051b60200190565b600082601f83011261251857600080fd5b8135602061252d612528836124e3565b6124b2565b82815260059290921b8401810191818101908684111561254c57600080fd5b8286015b848110156125675780358352918301918301612550565b509695505050505050565b6000806040838503121561258557600080fd5b823567ffffffffffffffff8082111561259d57600080fd5b818501915085601f8301126125b157600080fd5b813560206125c1612528836124e3565b82815260059290921b840181019181810190898411156125e057600080fd5b948201945b838610156126075785356125f8816123f6565b825294820194908201906125e5565b9650508601359250508082111561261d57600080fd5b5061262a85828601612507565b9150509250929050565b60006020828403121561264657600080fd5b5035919050565b6000806040838503121561266057600080fd5b50508035926020909101359150565b60008060006060848603121561268457600080fd5b505081359360208301359350604090920135919050565b600080604083850312156126ae57600080fd5b82356126b9816123f6565b915060208301356126c9816123f6565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156108fd576108fd6126d4565b808201808211156108fd576108fd6126d4565b634e487b7160e01b600052603260045260246000fd5b60006000198203612739576127396126d4565b5060010190565b600181815b8085111561277b578160001904821115612761576127616126d4565b8085161561276e57918102915b93841c9390800290612745565b509250929050565b600082612792575060016108fd565b8161279f575060006108fd565b81600181146127b557600281146127bf576127db565b60019150506108fd565b60ff8411156127d0576127d06126d4565b50506001821b6108fd565b5060208310610133831016604e8410600b84101617156127fe575081810a6108fd565b6128088383612740565b806000190482111561281c5761281c6126d4565b029392505050565b600061245460ff841683612783565b80820281158282048414176108fd576108fd6126d4565b60006020828403121561285c57600080fd5b5051919050565b60008261288057634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561289757600080fd5b8151801515811461245457600080fd5b6000602082840312156128b957600080fd5b8151612454816123f6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129145784516001600160a01b0316835293830193918301916001016128ef565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561294a57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220ba866c0fbdf2c60f3a0866f096f21e1be7e8130263b032ac7ff14767e35c23f064736f6c63430008130033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000b4d066f903e5bb45ace82ab5f06e66090caed13900000000000000000000000088b3c9f414b15d29d06fa561050b98a5342b5b90000000000000000000000000f070a778f1c2bf63eb9481488ace9d434ffee643

-----Decoded View---------------
Arg [0] : uniswapRouterAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : marketing (address): 0xb4D066f903e5BB45acE82ab5f06e66090caed139
Arg [2] : dev (address): 0x88B3c9F414b15D29d06fa561050B98a5342B5B90
Arg [3] : lpWalletAddress (address): 0xF070a778f1c2Bf63eb9481488AcE9D434FfeE643

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000b4d066f903e5bb45ace82ab5f06e66090caed139
Arg [2] : 00000000000000000000000088b3c9f414b15d29d06fa561050b98a5342b5b90
Arg [3] : 000000000000000000000000f070a778f1c2bf63eb9481488ace9d434ffee643


Deployed Bytecode Sourcemap

3598:13790:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3978:96;;;;;;;;;;;;4031:42;3978:96;;;;;-1:-1:-1;;;;;194:55:1;;;176:74;;164:2;149:18;3978:96:0;;;;;;;;6865:83;;;;;;;;;;-1:-1:-1;6935:5:0;;;;;;;;;;;;;;;;;6865:83;;;;;;;:::i;7781:193::-;;;;;;;;;;-1:-1:-1;7781:193:0;;;;;:::i;:::-;;:::i;:::-;;;1517:14:1;;1510:22;1492:41;;1480:2;1465:18;7781:193:0;1352:187:1;4455:36:0;;;;;;;;;;;;;;;;;;;1690:25:1;;;1678:2;1663:18;4455:36:0;1544:177:1;3825:60:0;;;;;;;;;;-1:-1:-1;3825:60:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4572:25;;;;;;;;;;;;;;;;4327:52;;;;;;;;;;;;;;;;7142:95;;;;;;;;;;-1:-1:-1;7222:7:0;;7142:95;;4786:28;;;;;;;;;;-1:-1:-1;4786:28:0;;;;;;;;;;;7982:350;;;;;;;;;;-1:-1:-1;7982:350:0;;;;;:::i;:::-;;:::i;7051:83::-;;;;;;;;;;-1:-1:-1;7051:83:0;;4156:1;2581:36:1;;2569:2;2554:18;7051:83:0;2439:184:1;8340:297:0;;;;;;;;;;-1:-1:-1;8340:297:0;;;;;:::i;:::-;;:::i;15631:326::-;;;;;;;;;;;;;:::i;:::-;;10368:169;;;;;;;;;;-1:-1:-1;10368:169:0;;;;;:::i;:::-;;:::i;10913:188::-;;;;;;;;;;-1:-1:-1;10913:188:0;;;;;:::i;:::-;;:::i;9358:278::-;;;;;;;;;;-1:-1:-1;9358:278:0;;;;;:::i;:::-;;:::i;4751:28::-;;;;;;;;;;-1:-1:-1;4751:28:0;;;;-1:-1:-1;;;;;4751:28:0;;;12448:660;;;;;;;;;;-1:-1:-1;12448:660:0;;;;;:::i;:::-;;:::i;4388:26::-;;;;;;;;;;;;;;;;13237:210;;;;;;;;;;-1:-1:-1;13237:210:0;;;;;:::i;:::-;;:::i;4604:27::-;;;;;;;;;;;;;;;;3769:49;;;;;;;;;;-1:-1:-1;3769:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4500:32;;;;;;;;;;;;;;;;10719:186;;;;;;;;;;-1:-1:-1;10719:186:0;;;;;:::i;:::-;;:::i;4702:42::-;;;;;;;;;;-1:-1:-1;4702:42:0;;;;-1:-1:-1;;;;;4702:42:0;;;4081:31;;;;;;;;;;-1:-1:-1;4081:31:0;;;;-1:-1:-1;;;;;4081:31:0;;;15965:558;;;;;;;;;;-1:-1:-1;15965:558:0;;;;;:::i;:::-;;:::i;9644:357::-;;;;;;;;;;-1:-1:-1;9644:357:0;;;;;:::i;:::-;;:::i;7245:117::-;;;;;;;;;;-1:-1:-1;7245:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;7338:16:0;7311:7;7338:16;;;:7;:16;;;;;;;7245:117;1824:94;;;;;;;;;;;;;:::i;3894:38::-;;;;;;;;;;-1:-1:-1;3894:38:0;;;;-1:-1:-1;;;;;3894:38:0;;;10009:353;;;;;;;;;;-1:-1:-1;10009:353:0;;;;;:::i;:::-;;:::i;1601:87::-;;;;;;;;;;-1:-1:-1;1647:7:0;1674:6;-1:-1:-1;;;;;1674:6:0;1601:87;;3939:32;;;;;;;;;;-1:-1:-1;3939:32:0;;;;-1:-1:-1;;;;;3939:32:0;;;4640:53;;;;;;;;;;;;;;;;4539:26;;;;;;;;;;;;;;;;6956:87;;;;;;;;;;-1:-1:-1;7028:7:0;;;;;;;;;;;;;;;;;6956:87;;8645:307;;;;;;;;;;-1:-1:-1;8645:307:0;;;;;:::i;:::-;;:::i;7370:199::-;;;;;;;;;;-1:-1:-1;7370:199:0;;;;;:::i;:::-;;:::i;4421:27::-;;;;;;;;;;;;;;;;11109:529;;;;;;;;;;-1:-1:-1;11109:529:0;;;;;:::i;:::-;;:::i;7577:196::-;;;;;;;;;;-1:-1:-1;7577:196:0;;;;;:::i;:::-;-1:-1:-1;;;;;7732:21:0;;;7700:7;7732:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;7577:196;10545:169;;;;;;;;;;-1:-1:-1;10545:169:0;;;;;:::i;:::-;;:::i;1926:192::-;;;;;;;;;;-1:-1:-1;1926:192:0;;;;;:::i;:::-;;:::i;7781:193::-;7883:4;7905:39;304:10;7928:7;7937:6;7905:8;:39::i;:::-;-1:-1:-1;7962:4:0;7781:193;;;;;:::o;7982:350::-;8114:4;8131:36;8141:6;8149:9;8160:6;8131:9;:36::i;:::-;-1:-1:-1;;;;;8249:19:0;;;;;;:11;:19;;;;;;;;304:10;8249:33;;;;;;;;;8178:124;;8201:6;;8249:42;;8285:6;;8249:42;:::i;:::-;8178:8;:124::i;:::-;-1:-1:-1;8320:4:0;7982:350;;;;;:::o;8340:297::-;304:10;8455:4;8549:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8549:34:0;;;;;;;;;;8455:4;;8477:130;;8527:7;;8549:47;;8586:10;;8549:47;:::i;15631:326::-;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;;;;;;;;;15707:21:::1;15747:19:::0;15739:62:::1;;;::::0;-1:-1:-1;;;15739:62:0;;7886:2:1;15739:62:0::1;::::0;::::1;7868:21:1::0;7925:2;7905:18;;;7898:30;7964:32;7944:18;;;7937:60;8014:18;;15739:62:0::1;7684:354:1::0;15739:62:0::1;15815:11;1674:6:::0;;15832:49:::1;::::0;-1:-1:-1;;;;;1674:6:0;;;;15861:15;;15815:11;15832:49;15815:11;15832:49;15861:15;1674:6;15832:49:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15814:67;;;15902:6;15894:55;;;::::0;-1:-1:-1;;;15894:55:0;;8455:2:1;15894:55:0::1;::::0;::::1;8437:21:1::0;8494:2;8474:18;;;8467:30;8533:34;8513:18;;;8506:62;8604:6;8584:18;;;8577:34;8628:19;;15894:55:0::1;8253:400:1::0;15894:55:0::1;15670:287;;15631:326::o:0;10368:169::-;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;7323:356:1;1728:68:0;-1:-1:-1;;;;;10439:26:0;::::1;;::::0;;;:17:::1;:26;::::0;;;;;;;;:33;;-1:-1:-1;;10439:33:0::1;10468:4;10439:33:::0;;::::1;::::0;;;10490:39;;8826:74:1;;;8916:18;;;8909:50;10490:39:0::1;::::0;8799:18:1;10490:39:0::1;;;;;;;;10368:169:::0;:::o;10913:188::-;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;7323:356:1;1728:68:0;-1:-1:-1;;;;;10986:37:0;::::1;11026:5;10986:37:::0;;;:28:::1;:37;::::0;;;;;;;:45;;-1:-1:-1;;10986:45:0::1;::::0;;11047:46;;8826:74:1;;;8916:18;;;8909:50;;;;11047:46:0::1;::::0;8799:18:1;11047:46:0::1;8658:307:1::0;9358:278:0;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;7323:356:1;1728:68:0;-1:-1:-1;;;;;9433:20:0;::::1;9425:70;;;::::0;-1:-1:-1;;;9425:70:0;;9172:2:1;9425:70:0::1;::::0;::::1;9154:21:1::0;9211:2;9191:18;;;9184:30;9250:34;9230:18;;;9223:62;9321:7;9301:18;;;9294:35;9346:19;;9425:70:0::1;8970:401:1::0;9425:70:0::1;9530:8;::::0;;-1:-1:-1;;;;;9549:26:0;;::::1;-1:-1:-1::0;;9549:26:0;::::1;::::0;::::1;::::0;;;9593:35:::1;::::0;;9611:34:1;;;9530:8:0;::::1;9676:2:1::0;9661:18;;9654:43;;;9530:8:0;9593:35:::1;::::0;9523:18:1;9593:35:0::1;;;;;;;;9414:222;9358:278:::0;:::o;12448:660::-;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;7323:356:1;1728:68:0;12608:7:::1;:14;12589:8;:15;:33;12581:68;;;::::0;-1:-1:-1;;;12581:68:0;;9910:2:1;12581:68:0::1;::::0;::::1;9892:21:1::0;9949:2;9929:18;;;9922:30;9988:24;9968:18;;;9961:52;10030:18;;12581:68:0::1;9708:346:1::0;12581:68:0::1;12660:19;12699:9:::0;12694:97:::1;12718:7;:14;12714:1;:18;12694:97;;;12769:7;12777:1;12769:10;;;;;;;;:::i;:::-;;;;;;;12754:25;;;;;:::i;:::-;::::0;-1:-1:-1;12734:3:0;::::1;::::0;::::1;:::i;:::-;;;;12694:97;;;-1:-1:-1::0;12848:14:0::1;4156:1:::0;12848:2:::1;:14;:::i;:::-;12834:28;::::0;:11;:28:::1;:::i;:::-;12819:10;7311:7:::0;7338:16;;;:7;:16;;;;;;12809:53:::1;;12801:86;;;::::0;-1:-1:-1;;;12801:86:0;;12326:2:1;12801:86:0::1;::::0;::::1;12308:21:1::0;12365:2;12345:18;;;12338:30;12404:22;12384:18;;;12377:50;12444:18;;12801:86:0::1;12124:344:1::0;12801:86:0::1;12905:9;12900:201;12924:7;:14;12920:1;:18;12900:201;;;12960:11;12974:8;12983:1;12974:11;;;;;;;;:::i;:::-;;;;;;;12960:25;;13000:12;13032:10;4156:1:::0;;7051:83;13032:10:::1;13028:14;::::0;:2:::1;:14;:::i;:::-;13015:7;13023:1;13015:10;;;;;;;;:::i;:::-;;;;;;;:27;;;;:::i;:::-;13000:42;;13057:32;13067:10;13079:3;13084:4;13057:9;:32::i;:::-;12945:156;;12940:3;;;;;:::i;:::-;;;;12900:201;;;;12570:538;12448:660:::0;;:::o;13237:210::-;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;7323:356:1;1728:68:0;13340:14:::1;4156:1:::0;13340:2:::1;:14;:::i;:::-;13328:26;::::0;:9;:26:::1;:::i;:::-;13312:13;:42:::0;7222:7;;13373:13:::1;;:29;13365:74;;;::::0;-1:-1:-1;;;13365:74:0;;12675:2:1;13365:74:0::1;::::0;::::1;12657:21:1::0;;;12694:18;;;12687:30;12753:34;12733:18;;;12726:62;12805:18;;13365:74:0::1;12473:356:1::0;13365:74:0::1;13237:210:::0;:::o;10719:186::-;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;7323:356:1;1728:68:0;-1:-1:-1;;;;;10792:37:0;::::1;;::::0;;;:28:::1;:37;::::0;;;;;;;;:44;;-1:-1:-1;;10792:44:0::1;10832:4;10792:44:::0;;::::1;::::0;;;10852:45;;8826:74:1;;;8916:18;;;8909:50;10852:45:0::1;::::0;8799:18:1;10852:45:0::1;8658:307:1::0;15965:558:0;16077:10;16146:4;-1:-1:-1;;;;;16122:29:0;;;16100:107;;;;-1:-1:-1;;;16100:107:0;;13036:2:1;16100:107:0;;;13018:21:1;13075:2;13055:18;;;13048:30;13114;13094:18;;;13087:58;13162:18;;16100:107:0;12834:352:1;16100:107:0;16241:3;16226:11;:18;;16218:76;;;;-1:-1:-1;;;16218:76:0;;13393:2:1;16218:76:0;;;13375:21:1;13432:2;13412:18;;;13405:30;13471:34;13451:18;;;13444:62;13542:15;13522:18;;;13515:43;13575:19;;16218:76:0;13191:409:1;16218:76:0;16327:45;;;;;16366:4;16327:45;;;176:74:1;16305:19:0;;-1:-1:-1;;;;;16327:30:0;;;;;149:18:1;;16327:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16305:67;;16383:20;16436:6;;16421:11;16407;:25;;;;:::i;:::-;16406:36;;;;:::i;:::-;16491:9;;16461:54;;;;;-1:-1:-1;;;;;16491:9:0;;;16461:54;;;14255:74:1;14345:18;;;14338:34;;;16383:59:0;;-1:-1:-1;16461:29:0;;;;;14228:18:1;;16461:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16453:62;15965:558;-1:-1:-1;;;;;15965:558:0:o;9644:357::-;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;7323:356:1;1728:68:0;9755:17:::1;;9748:3;:24;;9740:71;;;::::0;-1:-1:-1;;;9740:71:0;;14867:2:1;9740:71:0::1;::::0;::::1;14849:21:1::0;14906:2;14886:18;;;14879:30;14945:34;14925:18;;;14918:62;15016:4;14996:18;;;14989:32;15038:19;;9740:71:0::1;14665:398:1::0;9740:71:0::1;9838:17;;9830:4;:25;;9822:73;;;::::0;-1:-1:-1;;;9822:73:0;;15270:2:1;9822:73:0::1;::::0;::::1;15252:21:1::0;15309:2;15289:18;;;15282:30;15348:34;15328:18;;;15321:62;15419:5;15399:18;;;15392:33;15442:19;;9822:73:0::1;15068:399:1::0;9822:73:0::1;9908:6;:12:::0;;;9931:7:::1;:14:::0;;;9963:30:::1;::::0;;15646:25:1;;;15702:2;15687:18;;15680:34;;;9963:30:0::1;::::0;15619:18:1;9963:30:0::1;15472:248:1::0;1824:94:0;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;7323:356:1;1728:68:0;1889:21:::1;1907:1;1889:9;:21::i;:::-;1824:94::o:0;10009:353::-;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;7323:356:1;1728:68:0;10170:6:::1;::::0;10164:2;10146:15:::1;10158:3:::0;10146:9;:15:::1;:::i;:::-;:20;;;;:::i;:::-;:30;10138:81;;;::::0;-1:-1:-1;;;10138:81:0;;15927:2:1;10138:81:0::1;::::0;::::1;15909:21:1::0;15966:2;15946:18;;;15939:30;16005:34;15985:18;;;15978:62;16076:8;16056:18;;;16049:36;16102:19;;10138:81:0::1;15725:402:1::0;10138:81:0::1;10230:12;:24:::0;;;10265:6:::1;:12:::0;;;10288:5:::1;:10:::0;;;10316:38:::1;::::0;;16334:25:1;;;16390:2;16375:18;;16368:34;;;16418:18;;;16411:34;;;10316:38:0::1;::::0;16322:2:1;16307:18;10316:38:0::1;;;;;;;10009:353:::0;;;:::o;8645:307::-;304:10;8765:4;8859:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8859:34:0;;;;;;;;;;8765:4;;8787:135;;8837:7;;8859:52;;8896:15;;8859:52;:::i;7370:199::-;7475:4;7497:42;304:10;7521:9;7532:6;7497:9;:42::i;11109:529::-;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;7323:356:1;1728:68:0;-1:-1:-1;;;;;11222:23:0;::::1;::::0;;::::1;::::0;:44:::1;;-1:-1:-1::0;;;;;;11249:17:0;::::1;::::0;::::1;11222:44;11214:82;;;::::0;-1:-1:-1;;;11214:82:0;;16658:2:1;11214:82:0::1;::::0;::::1;16640:21:1::0;16697:2;16677:18;;;16670:30;16736:27;16716:18;;;16709:55;16781:18;;11214:82:0::1;16456:349:1::0;11214:82:0::1;11325:15;::::0;;-1:-1:-1;;;;;11325:15:0;;::::1;11344:5;11307:34:::0;;;:17:::1;:34;::::0;;;;;;;:42;;-1:-1:-1;;11307:42:0;;::::1;::::0;;;11378:9:::1;::::0;;;::::1;11360:28:::0;;;;;:36;;;::::1;::::0;;11409;;;;::::1;-1:-1:-1::0;;11409:36:0;;::::1;::::0;::::1;::::0;;;11456:24;;;;::::1;::::0;::::1;::::0;::::1;::::0;;11493:28;;;;;;:35;;;::::1;-1:-1:-1::0;11493:35:0;;::::1;::::0;;;11539:22;;;;;;;:29;;;;::::1;::::0;;::::1;::::0;;;11586:44;;9611:34:1;;;9661:18;;9654:43;;;;11586:44:0::1;::::0;9523:18:1;11586:44:0::1;9376:327:1::0;10545:169:0;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;7323:356:1;1728:68:0;-1:-1:-1;;;;;10614:26:0;::::1;10643:5;10614:26:::0;;;:17:::1;:26;::::0;;;;;;;:34;;-1:-1:-1;;10614:34:0::1;::::0;;10666:40;;8826:74:1;;;8916:18;;;8909:50;;;;10666:40:0::1;::::0;8799:18:1;10666:40:0::1;8658:307:1::0;1926:192:0;1647:7;1674:6;-1:-1:-1;;;;;1674:6:0;304:10;1736:23;1728:68;;;;-1:-1:-1;;;1728:68:0;;7525:2:1;1728:68:0;;;7507:21:1;;;7544:18;;;7537:30;7603:34;7583:18;;;7576:62;7655:18;;1728:68:0;7323:356:1;1728:68:0;-1:-1:-1;;;;;2015:22:0;::::1;2007:73;;;::::0;-1:-1:-1;;;2007:73:0;;17012:2:1;2007:73:0::1;::::0;::::1;16994:21:1::0;17051:2;17031:18;;;17024:30;17090:34;17070:18;;;17063:62;17161:8;17141:18;;;17134:36;17187:19;;2007:73:0::1;16810:402:1::0;2007:73:0::1;2091:19;2101:8;2091:9;:19::i;8997:353::-:0;-1:-1:-1;;;;;9144:22:0;;;;;;:50;;-1:-1:-1;;;;;;9170:24:0;;;;9144:50;9122:113;;;;-1:-1:-1;;;9122:113:0;;17419:2:1;9122:113:0;;;17401:21:1;17458:2;17438:18;;;17431:30;17497:15;17477:18;;;17470:43;17530:18;;9122:113:0;17217:337:1;9122:113:0;-1:-1:-1;;;;;9246:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;9304:38;;1690:25:1;;;9304:38:0;;1663:18:1;9304:38:0;;;;;;;8997:353;;;:::o;11646:795::-;-1:-1:-1;;;;;11765:32:0;;;;;;:28;:32;;;;;;;;11760:233;;-1:-1:-1;;;;;7338:16:0;;11814:18;7338:16;;;:7;:16;;;;;;11914:13;;11890:19;11903:6;7338:16;11890:19;:::i;:::-;11889:38;;11863:118;;;;-1:-1:-1;;;11863:118:0;;17761:2:1;11863:118:0;;;17743:21:1;17800:2;17780:18;;;17773:30;17839:20;17819:18;;;17812:48;17877:18;;11863:118:0;17559:342:1;11863:118:0;11799:194;11760:233;-1:-1:-1;;;;;12027:18:0;;;;;;:38;;-1:-1:-1;;;;;;12049:16:0;;;;12027:38;12005:104;;;;-1:-1:-1;;;12005:104:0;;18108:2:1;12005:104:0;;;18090:21:1;18147:2;18127:18;;;18120:30;18186:18;18166;;;18159:46;18222:18;;12005:104:0;17906:340:1;12005:104:0;12139:1;12130:6;:10;12122:60;;;;-1:-1:-1;;;12122:60:0;;18453:2:1;12122:60:0;;;18435:21:1;18492:2;18472:18;;;18465:30;18531:34;18511:18;;;18504:62;18602:7;18582:18;;;18575:35;18627:19;;12122:60:0;18251:401:1;12122:60:0;12241:13;;12231:4;7311:7;7338:16;;;:7;:16;;;;;;12213:41;;:75;;;;-1:-1:-1;12272:16:0;;;;;;;12271:17;12213:75;:113;;;;-1:-1:-1;12313:13:0;;-1:-1:-1;;;;;12305:21:0;;;12313:13;;12305:21;;12213:113;12195:194;;;12353:24;:22;:24::i;:::-;12401:32;12416:4;12422:2;12426:6;12401:14;:32::i;:::-;11646:795;;;:::o;2126:173::-;2182:16;2201:6;;-1:-1:-1;;;;;2218:17:0;;;-1:-1:-1;;2218:17:0;;;;;;2251:40;;2201:6;;;;;;;2251:40;;2182:16;2251:40;2171:128;2126:173;:::o;13455:1285::-;5408:16;:23;;;;;;;;13569:4:::1;-1:-1:-1::0;7338:16:0;;;-1:-1:-1;7338:16:0;;;;;;13520:55:::1;;13586:28;13657:6;;13641:12;;13618:20;:35;;;;:::i;:::-;13617:46;;;;:::i;:::-;13586:77;;13674:22;13733:6;;13723;;13700:20;:29;;;;:::i;:::-;13699:40;;;;:::i;:::-;13674:65;;13750:25;13816:6;;13812:1;:10;;;;:::i;:::-;13802:5;::::0;13779:28:::1;::::0;:20;:28:::1;:::i;:::-;13778:45;;;;:::i;:::-;13750:73:::0;-1:-1:-1;13867:21:0::1;13899:75;13959:14:::0;13916:40:::1;13936:20:::0;13750:73;13916:40:::1;:::i;:::-;:57;;;;:::i;:::-;13899:16;:75::i;:::-;13985:19;14007:44;14031:20:::0;14007:21:::1;:44;:::i;:::-;13985:66;;14064:22;14139:6;;14124:12;;14116:5;;:20;;;;:::i;:::-;:29;;;;:::i;:::-;14105:6;;14090:12;;:21;;;;:::i;:::-;14089:57;;;;:::i;:::-;14064:82;;14157:22;14215:6;;14197:14;14183:11;:28;;;;:::i;:::-;14182:39;;;;:::i;:::-;14157:64;;14234:16;14297:6;;14282:12;;14274:5;;:20;;;;:::i;:::-;:29;;;;:::i;:::-;14263:6;;14254;;:15;;;;:::i;:::-;14253:51;;;;:::i;:::-;14234:70;;14315:16;14361:6;;14349:8;14335:11;:22;;;;:::i;:::-;14334:33;;;;:::i;:::-;14315:52:::0;-1:-1:-1;14380:74:0::1;14393:17:::0;14315:52;14413:28:::1;14427:14:::0;14413:11;:28:::1;:::i;:::-;:39;;;;:::i;:::-;14380:12;:74::i;:::-;14470:145;14499:17:::0;14563:8;14532:28:::1;14546:14:::0;14532:11;:28:::1;:::i;:::-;:39;;;;:::i;:::-;14470:145;::::0;;16334:25:1;;;16390:2;16375:18;;16368:34;;;;16418:18;;16411:34;;;16322:2;16307:18;14470:145:0::1;;;;;;;14642:15;::::0;14628:46:::1;::::0;-1:-1:-1;;;;;14642:15:0::1;14659:14:::0;14628:13:::1;:46::i;:::-;14699:9;::::0;14685:47:::1;::::0;-1:-1:-1;;;;;14699:9:0::1;14710:21;14685:13;:47::i;:::-;-1:-1:-1::0;;5454:16:0;:24;;;;;;-1:-1:-1;;;;;;;;13455:1285:0:o;16531:854::-;16673:13;;-1:-1:-1;;;;;16673:13:0;;;16665:21;;;;;;16713:19;;;16651:10;16665:21;;16763:15;;;16772:6;16763:15;16744:34;;16789:12;16804:11;:66;;;;-1:-1:-1;;;;;;16821:23:0;;;;;;:17;:23;;;;;;;;;:48;;-1:-1:-1;;;;;;16848:21:0;;;;;;:17;:21;;;;;;;;16821:48;16819:51;16804:66;16789:81;;16883:11;16898:7;16897:8;:141;;16938:5;:100;;17032:6;;17021:7;;17011:17;;:7;:17;:::i;:::-;17010:28;;;;:::i;:::-;16897:141;;16938:100;16984:6;;16974;;16964:16;;:7;:16;:::i;16897:141::-;16921:1;16897:141;16883:155;-1:-1:-1;17049:23:0;17075:13;16883:155;17075:7;:13;:::i;:::-;-1:-1:-1;;;;;17117:13:0;;;;;;:7;:13;;;;;;17049:39;;-1:-1:-1;17117:23:0;;17133:7;;17117:23;:::i;:::-;-1:-1:-1;;;;;17101:13:0;;;;;;;:7;:13;;;;;;:39;;;;17165:11;;;;;;;:29;;17179:15;;17165:29;:::i;:::-;-1:-1:-1;;;;;17151:11:0;;;;;;:7;:11;;;;;;:43;;;;17246:4;17230:22;;;;:28;;17255:3;;17230:28;:::i;:::-;17221:4;17205:22;;;;:7;:22;;;;;;;;;:53;;;;17274:35;1690:25:1;;;-1:-1:-1;;;;;17274:35:0;;;;;;;;;;1663:18:1;17274:35:0;;;;;;;17324:16;-1:-1:-1;;;;;17324:16:0;;;17320:57;;17362:15;17352:7;;:25;;;;:::i;:::-;17342:7;:35;17320:57;16640:745;;;;;;16531:854;;;:::o;14748:474::-;14838:16;;;14852:1;14838:16;;;;;;;;14814:21;;14838:16;;;;;;;;;;-1:-1:-1;14838:16:0;14814:40;;14883:4;14865;14870:1;14865:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14865:23:0;;;:7;;;;;;;;;;:23;;;;14909:16;;:23;;;;;;;;:16;;;;;:21;;:23;;;;;14865:7;;14909:23;;;;;:16;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14899:4;14904:1;14899:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14899:33:0;;;:7;;;;;;;;;:33;14975:16;;14943:63;;14960:4;;14975:16;14994:11;14943:8;:63::i;:::-;15017:16;;:197;;;;;-1:-1:-1;;;;;15017:16:0;;;;:67;;:197;;15099:11;;15017:16;;15141:4;;15168;;15188:15;;15017:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14803:419;14748:474;:::o;15230:393::-;15343:16;;15311:63;;15328:4;;-1:-1:-1;;;;;15343:16:0;15362:11;15311:8;:63::i;:::-;15385:16;;15536:8;;15385:230;;;;;15458:4;15385:230;;;20316:34:1;20366:18;;;20359:34;;;15385:16:0;20409:18:1;;;20402:34;;;20452:18;;;20445:34;-1:-1:-1;;;;;15536:8:0;;;20495:19:1;;;20488:44;15589:15:0;20548:19:1;;;20541:35;15385:16:0;;;:32;;15425:9;;20227:19:1;;15385:230:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15230:393;;:::o;13116:113::-;13198:23;;-1:-1:-1;;;;;13198:15:0;;;:23;;;;;13214:6;;13198:23;;;;13214:6;13198:15;:23;;;;;;;;;;;;;;;;;;;261:607:1;373:4;402:2;431;420:9;413:21;463:6;457:13;506:6;501:2;490:9;486:18;479:34;531:1;541:140;555:6;552:1;549:13;541:140;;;650:14;;;646:23;;640:30;616:17;;;635:2;612:26;605:66;570:10;;541:140;;;545:3;730:1;725:2;716:6;705:9;701:22;697:31;690:42;859:2;-1:-1:-1;;784:2:1;776:6;772:15;768:88;757:9;753:104;749:113;741:121;;;;261:607;;;;:::o;873:154::-;-1:-1:-1;;;;;952:5:1;948:54;941:5;938:65;928:93;;1017:1;1014;1007:12;1032:315;1100:6;1108;1161:2;1149:9;1140:7;1136:23;1132:32;1129:52;;;1177:1;1174;1167:12;1129:52;1216:9;1203:23;1235:31;1260:5;1235:31;:::i;:::-;1285:5;1337:2;1322:18;;;;1309:32;;-1:-1:-1;;;1032:315:1:o;1726:247::-;1785:6;1838:2;1826:9;1817:7;1813:23;1809:32;1806:52;;;1854:1;1851;1844:12;1806:52;1893:9;1880:23;1912:31;1937:5;1912:31;:::i;:::-;1962:5;1726:247;-1:-1:-1;;;1726:247:1:o;1978:456::-;2055:6;2063;2071;2124:2;2112:9;2103:7;2099:23;2095:32;2092:52;;;2140:1;2137;2130:12;2092:52;2179:9;2166:23;2198:31;2223:5;2198:31;:::i;:::-;2248:5;-1:-1:-1;2305:2:1;2290:18;;2277:32;2318:33;2277:32;2318:33;:::i;:::-;1978:456;;2370:7;;-1:-1:-1;;;2424:2:1;2409:18;;;;2396:32;;1978:456::o;2859:184::-;-1:-1:-1;;;2908:1:1;2901:88;3008:4;3005:1;2998:15;3032:4;3029:1;3022:15;3048:334;3119:2;3113:9;3175:2;3165:13;;-1:-1:-1;;3161:86:1;3149:99;;3278:18;3263:34;;3299:22;;;3260:62;3257:88;;;3325:18;;:::i;:::-;3361:2;3354:22;3048:334;;-1:-1:-1;3048:334:1:o;3387:183::-;3447:4;3480:18;3472:6;3469:30;3466:56;;;3502:18;;:::i;:::-;-1:-1:-1;3547:1:1;3543:14;3559:4;3539:25;;3387:183::o;3575:662::-;3629:5;3682:3;3675:4;3667:6;3663:17;3659:27;3649:55;;3700:1;3697;3690:12;3649:55;3736:6;3723:20;3762:4;3786:60;3802:43;3842:2;3802:43;:::i;:::-;3786:60;:::i;:::-;3880:15;;;3966:1;3962:10;;;;3950:23;;3946:32;;;3911:12;;;;3990:15;;;3987:35;;;4018:1;4015;4008:12;3987:35;4054:2;4046:6;4042:15;4066:142;4082:6;4077:3;4074:15;4066:142;;;4148:17;;4136:30;;4186:12;;;;4099;;4066:142;;;-1:-1:-1;4226:5:1;3575:662;-1:-1:-1;;;;;;3575:662:1:o;4242:1215::-;4360:6;4368;4421:2;4409:9;4400:7;4396:23;4392:32;4389:52;;;4437:1;4434;4427:12;4389:52;4477:9;4464:23;4506:18;4547:2;4539:6;4536:14;4533:34;;;4563:1;4560;4553:12;4533:34;4601:6;4590:9;4586:22;4576:32;;4646:7;4639:4;4635:2;4631:13;4627:27;4617:55;;4668:1;4665;4658:12;4617:55;4704:2;4691:16;4726:4;4750:60;4766:43;4806:2;4766:43;:::i;4750:60::-;4844:15;;;4926:1;4922:10;;;;4914:19;;4910:28;;;4875:12;;;;4950:19;;;4947:39;;;4982:1;4979;4972:12;4947:39;5006:11;;;;5026:217;5042:6;5037:3;5034:15;5026:217;;;5122:3;5109:17;5139:31;5164:5;5139:31;:::i;:::-;5183:18;;5059:12;;;;5221;;;;5026:217;;;5262:5;-1:-1:-1;;5305:18:1;;5292:32;;-1:-1:-1;;5336:16:1;;;5333:36;;;5365:1;5362;5355:12;5333:36;;5388:63;5443:7;5432:8;5421:9;5417:24;5388:63;:::i;:::-;5378:73;;;4242:1215;;;;;:::o;5462:180::-;5521:6;5574:2;5562:9;5553:7;5549:23;5545:32;5542:52;;;5590:1;5587;5580:12;5542:52;-1:-1:-1;5613:23:1;;5462:180;-1:-1:-1;5462:180:1:o;5904:248::-;5972:6;5980;6033:2;6021:9;6012:7;6008:23;6004:32;6001:52;;;6049:1;6046;6039:12;6001:52;-1:-1:-1;;6072:23:1;;;6142:2;6127:18;;;6114:32;;-1:-1:-1;5904:248:1:o;6157:316::-;6234:6;6242;6250;6303:2;6291:9;6282:7;6278:23;6274:32;6271:52;;;6319:1;6316;6309:12;6271:52;-1:-1:-1;;6342:23:1;;;6412:2;6397:18;;6384:32;;-1:-1:-1;6463:2:1;6448:18;;;6435:32;;6157:316;-1:-1:-1;6157:316:1:o;6478:388::-;6546:6;6554;6607:2;6595:9;6586:7;6582:23;6578:32;6575:52;;;6623:1;6620;6613:12;6575:52;6662:9;6649:23;6681:31;6706:5;6681:31;:::i;:::-;6731:5;-1:-1:-1;6788:2:1;6773:18;;6760:32;6801:33;6760:32;6801:33;:::i;:::-;6853:7;6843:17;;;6478:388;;;;;:::o;6871:184::-;-1:-1:-1;;;6920:1:1;6913:88;7020:4;7017:1;7010:15;7044:4;7041:1;7034:15;7060:128;7127:9;;;7148:11;;;7145:37;;;7162:18;;:::i;7193:125::-;7258:9;;;7279:10;;;7276:36;;;7292:18;;:::i;10059:184::-;-1:-1:-1;;;10108:1:1;10101:88;10208:4;10205:1;10198:15;10232:4;10229:1;10222:15;10248:195;10287:3;-1:-1:-1;;10311:5:1;10308:77;10305:103;;10388:18;;:::i;:::-;-1:-1:-1;10435:1:1;10424:13;;10248:195::o;10448:482::-;10537:1;10580:5;10537:1;10594:330;10615:7;10605:8;10602:21;10594:330;;;10734:4;-1:-1:-1;;10662:77:1;10656:4;10653:87;10650:113;;;10743:18;;:::i;:::-;10793:7;10783:8;10779:22;10776:55;;;10813:16;;;;10776:55;10892:22;;;;10852:15;;;;10594:330;;;10598:3;10448:482;;;;;:::o;10935:866::-;10984:5;11014:8;11004:80;;-1:-1:-1;11055:1:1;11069:5;;11004:80;11103:4;11093:76;;-1:-1:-1;11140:1:1;11154:5;;11093:76;11185:4;11203:1;11198:59;;;;11271:1;11266:130;;;;11178:218;;11198:59;11228:1;11219:10;;11242:5;;;11266:130;11303:3;11293:8;11290:17;11287:43;;;11310:18;;:::i;:::-;-1:-1:-1;;11366:1:1;11352:16;;11381:5;;11178:218;;11480:2;11470:8;11467:16;11461:3;11455:4;11452:13;11448:36;11442:2;11432:8;11429:16;11424:2;11418:4;11415:12;11411:35;11408:77;11405:159;;;-1:-1:-1;11517:19:1;;;11549:5;;11405:159;11596:34;11621:8;11615:4;11596:34;:::i;:::-;11726:6;-1:-1:-1;;11654:79:1;11645:7;11642:92;11639:118;;;11737:18;;:::i;:::-;11775:20;;10935:866;-1:-1:-1;;;10935:866:1:o;11806:140::-;11864:5;11893:47;11934:4;11924:8;11920:19;11914:4;11893:47;:::i;11951:168::-;12024:9;;;12055;;12072:15;;;12066:22;;12052:37;12042:71;;12093:18;;:::i;13605:184::-;13675:6;13728:2;13716:9;13707:7;13703:23;13699:32;13696:52;;;13744:1;13741;13734:12;13696:52;-1:-1:-1;13767:16:1;;13605:184;-1:-1:-1;13605:184:1:o;13794:274::-;13834:1;13860;13850:189;;-1:-1:-1;;;13892:1:1;13885:88;13996:4;13993:1;13986:15;14024:4;14021:1;14014:15;13850:189;-1:-1:-1;14053:9:1;;13794:274::o;14383:277::-;14450:6;14503:2;14491:9;14482:7;14478:23;14474:32;14471:52;;;14519:1;14516;14509:12;14471:52;14551:9;14545:16;14604:5;14597:13;14590:21;14583:5;14580:32;14570:60;;14626:1;14623;14616:12;18657:251;18727:6;18780:2;18768:9;18759:7;18755:23;18751:32;18748:52;;;18796:1;18793;18786:12;18748:52;18828:9;18822:16;18847:31;18872:5;18847:31;:::i;18913:1026::-;19175:4;19223:3;19212:9;19208:19;19254:6;19243:9;19236:25;19280:2;19318:6;19313:2;19302:9;19298:18;19291:34;19361:3;19356:2;19345:9;19341:18;19334:31;19385:6;19420;19414:13;19451:6;19443;19436:22;19489:3;19478:9;19474:19;19467:26;;19528:2;19520:6;19516:15;19502:29;;19549:1;19559:218;19573:6;19570:1;19567:13;19559:218;;;19638:13;;-1:-1:-1;;;;;19634:62:1;19622:75;;19752:15;;;;19717:12;;;;19595:1;19588:9;19559:218;;;-1:-1:-1;;;;;;;19833:55:1;;;;19828:2;19813:18;;19806:83;-1:-1:-1;;;19920:3:1;19905:19;19898:35;19794:3;18913:1026;-1:-1:-1;;;18913:1026:1:o;20587:306::-;20675:6;20683;20691;20744:2;20732:9;20723:7;20719:23;20715:32;20712:52;;;20760:1;20757;20750:12;20712:52;20789:9;20783:16;20773:26;;20839:2;20828:9;20824:18;20818:25;20808:35;;20883:2;20872:9;20868:18;20862:25;20852:35;;20587:306;;;;;:::o

Swarm Source

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