ETH Price: $2,405.29 (-0.79%)

Contract

0x52E11b84b027c2D44a57e9C632E9A6895450a772
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve193684072024-03-05 10:36:23214 days ago1709634983IN
Community Trust Fund: CTF Token
0 ETH0.0027124158.55306472
Transfer193681742024-03-05 9:49:35214 days ago1709632175IN
Community Trust Fund: CTF Token
0 ETH0.00480291122.63608934
Transfer193672762024-03-05 6:49:11214 days ago1709621351IN
Community Trust Fund: CTF Token
0 ETH0.00559253142.79782246
Transfer193654862024-03-05 0:48:47214 days ago1709599727IN
Community Trust Fund: CTF Token
0 ETH0.0031873681.33529554
Transfer193651932024-03-04 23:49:23214 days ago1709596163IN
Community Trust Fund: CTF Token
0 ETH0.0032768583.64437575
Transfer193635462024-03-04 18:19:23215 days ago1709576363IN
Community Trust Fund: CTF Token
0 ETH0.01144734292.20303558
Transfer193634702024-03-04 18:04:11215 days ago1709575451IN
Community Trust Fund: CTF Token
0 ETH0.00506464129.23965991
Transfer193631602024-03-04 17:02:11215 days ago1709571731IN
Community Trust Fund: CTF Token
0 ETH0.00715553162.71446
Transfer193615912024-03-04 11:46:59215 days ago1709552819IN
Community Trust Fund: CTF Token
0 ETH0.002524764.44518484
Transfer193589522024-03-04 2:55:59215 days ago1709520959IN
Community Trust Fund: CTF Token
0 ETH0.0021267654.27089124
Transfer193575882024-03-03 22:21:35215 days ago1709504495IN
Community Trust Fund: CTF Token
0 ETH0.0024642762.90259403
Transfer193575872024-03-03 22:21:23215 days ago1709504483IN
Community Trust Fund: CTF Token
0 ETH0.0025241364.41096592
Transfer193565842024-03-03 18:59:47216 days ago1709492387IN
Community Trust Fund: CTF Token
0 ETH0.0025649765.45313469
Transfer193564012024-03-03 18:22:47216 days ago1709490167IN
Community Trust Fund: CTF Token
0 ETH0.0024547462.65945898
Transfer193562632024-03-03 17:54:59216 days ago1709488499IN
Community Trust Fund: CTF Token
0 ETH0.0022694657.93000904
Transfer193559752024-03-03 16:56:47216 days ago1709485007IN
Community Trust Fund: CTF Token
0 ETH0.0032863383.8865245
Transfer193547352024-03-03 12:46:35216 days ago1709469995IN
Community Trust Fund: CTF Token
0 ETH0.0029007874.02223217
Transfer193544862024-03-03 11:56:35216 days ago1709466995IN
Community Trust Fund: CTF Token
0 ETH0.0016029440.90388127
Transfer193541602024-03-03 10:50:47216 days ago1709463047IN
Community Trust Fund: CTF Token
0 ETH0.0016913743.16055873
Transfer193541202024-03-03 10:42:47216 days ago1709462567IN
Community Trust Fund: CTF Token
0 ETH0.001489538.0093069
Transfer193540982024-03-03 10:38:23216 days ago1709462303IN
Community Trust Fund: CTF Token
0 ETH0.0015654639.94751612
Transfer193538032024-03-03 9:39:23216 days ago1709458763IN
Community Trust Fund: CTF Token
0 ETH0.0034219987.32249461
Transfer193537742024-03-03 9:33:35216 days ago1709458415IN
Community Trust Fund: CTF Token
0 ETH0.0033128684.53765813
Transfer193518342024-03-03 3:03:47216 days ago1709435027IN
Community Trust Fund: CTF Token
0 ETH0.001454537.13887208
Transfer193517602024-03-03 2:48:59216 days ago1709434139IN
Community Trust Fund: CTF Token
0 ETH0.0015198638.78404542
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
192711882024-02-20 20:07:47228 days ago1708459667
Community Trust Fund: CTF Token
0.01523798 ETH
192711882024-02-20 20:07:47228 days ago1708459667
Community Trust Fund: CTF Token
0.0124515 ETH
192711882024-02-20 20:07:47228 days ago1708459667
Community Trust Fund: CTF Token
0.00278647 ETH
192711882024-02-20 20:07:47228 days ago1708459667
Community Trust Fund: CTF Token
0.00622575 ETH
192711882024-02-20 20:07:47228 days ago1708459667
Community Trust Fund: CTF Token
0.03112877 ETH
192064502024-02-11 17:58:23237 days ago1707674303
Community Trust Fund: CTF Token
0.05597378 ETH
192064502024-02-11 17:58:23237 days ago1707674303
Community Trust Fund: CTF Token
0.04551881 ETH
192064502024-02-11 17:58:23237 days ago1707674303
Community Trust Fund: CTF Token
0.01045496 ETH
192064502024-02-11 17:58:23237 days ago1707674303
Community Trust Fund: CTF Token
0.0227594 ETH
192064502024-02-11 17:58:23237 days ago1707674303
Community Trust Fund: CTF Token
0.11379704 ETH
192060042024-02-11 16:27:35237 days ago1707668855
Community Trust Fund: CTF Token
0.00890015 ETH
192060042024-02-11 16:27:35237 days ago1707668855
Community Trust Fund: CTF Token
0.00727398 ETH
192060042024-02-11 16:27:35237 days ago1707668855
Community Trust Fund: CTF Token
0.00162616 ETH
192060042024-02-11 16:27:35237 days ago1707668855
Community Trust Fund: CTF Token
0.00363699 ETH
192060042024-02-11 16:27:35237 days ago1707668855
Community Trust Fund: CTF Token
0.01818497 ETH
192058512024-02-11 15:56:23237 days ago1707666983
Community Trust Fund: CTF Token
0.0089339 ETH
192058512024-02-11 15:56:23237 days ago1707666983
Community Trust Fund: CTF Token
0.00730373 ETH
192058512024-02-11 15:56:23237 days ago1707666983
Community Trust Fund: CTF Token
0.00163017 ETH
192058512024-02-11 15:56:23237 days ago1707666983
Community Trust Fund: CTF Token
0.00365186 ETH
192058512024-02-11 15:56:23237 days ago1707666983
Community Trust Fund: CTF Token
0.01825934 ETH
192058452024-02-11 15:55:11237 days ago1707666911
Community Trust Fund: CTF Token
0.02218947 ETH
192058452024-02-11 15:55:11237 days ago1707666911
Community Trust Fund: CTF Token
0.01811075 ETH
192058452024-02-11 15:55:11237 days ago1707666911
Community Trust Fund: CTF Token
0.00407872 ETH
192058452024-02-11 15:55:11237 days ago1707666911
Community Trust Fund: CTF Token
0.00905537 ETH
192058452024-02-11 15:55:11237 days ago1707666911
Community Trust Fund: CTF Token
0.04527689 ETH
View All Internal Transactions
Loading...
Loading

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

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.