ETH Price: $3,395.07 (-0.86%)

Contract

0xC6221AC4E99066ea5443ACd67D6108F874E2533D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer237147522025-11-02 22:54:235 days ago1762124063IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000271493.08882044
Approve236664562025-10-27 4:39:3512 days ago1761539975IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000004910.18496281
Approve236664562025-10-27 4:39:3512 days ago1761539975IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000008590.18496281
Approve236363672025-10-22 23:34:4716 days ago1761176087IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000004710.19489195
Approve235771232025-10-14 16:26:5925 days ago1760459219IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000089343.69455683
Transfer235702202025-10-13 17:16:2326 days ago1760375783IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000263513.72082052
Approve235696852025-10-13 15:28:4726 days ago1760369327IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000041420.89159349
Transfer235632012025-10-12 17:41:2327 days ago1760290883IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000237752.7038173
Transfer235621932025-10-12 14:18:4727 days ago1760278727IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000121.69418332
Approve235562712025-10-11 18:28:4728 days ago1760207327IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000018320.39454204
Transfer234850142025-10-01 19:24:2337 days ago1759346663IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000303513.4530522
Approve234821572025-10-01 9:47:3538 days ago1759312055IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000031830.68528002
Transfer234798302025-10-01 1:58:2338 days ago1759283903IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000275063.12892879
Transfer234394612025-09-25 10:29:4744 days ago1758796187IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000285163.24428466
Transfer234263672025-09-23 14:36:2346 days ago1758638183IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000333694.71256455
Transfer234049652025-09-20 14:47:2349 days ago1758379643IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000283363.22381669
Transfer233967502025-09-19 11:13:1150 days ago1758280391IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000112991.28514324
Transfer233924912025-09-18 20:56:2350 days ago1758228983IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000301273.42759977
Approve233890312025-09-18 9:20:3551 days ago1758187235IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000019370.41715675
Transfer233864782025-09-18 0:47:4751 days ago1758156467IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000266981.23587975
Transfer233862742025-09-18 0:06:4751 days ago1758154007IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000113541.29164333
Approve233845752025-09-17 18:25:1152 days ago1758133511IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000067151.45204261
Approve233834222025-09-17 14:33:1152 days ago1758119591IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000059911.28771716
Approve233493572025-09-12 20:25:2356 days ago1757708723IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000040410.86922862
Approve233488322025-09-12 18:39:3557 days ago1757702375IN
Decentralized Cloud Infrastructure: DCI Token
0 ETH0.000041140.89098218
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer235665292025-10-13 4:51:4726 days ago1760331107
Decentralized Cloud Infrastructure: DCI Token
0.00095129 ETH
Transfer235665292025-10-13 4:51:4726 days ago1760331107
Decentralized Cloud Infrastructure: DCI Token
0.00095129 ETH
Transfer233864782025-09-18 0:47:4751 days ago1758156467
Decentralized Cloud Infrastructure: DCI Token
0.00382035 ETH
Transfer233864782025-09-18 0:47:4751 days ago1758156467
Decentralized Cloud Infrastructure: DCI Token
0.00382035 ETH
Transfer230310142025-07-30 9:21:59101 days ago1753867319
Decentralized Cloud Infrastructure: DCI Token
0.00392979 ETH
Transfer230310142025-07-30 9:21:59101 days ago1753867319
Decentralized Cloud Infrastructure: DCI Token
0.00392979 ETH
Transfer226433312025-06-06 4:59:35155 days ago1749185975
Decentralized Cloud Infrastructure: DCI Token
0.00052066 ETH
Transfer226433312025-06-06 4:59:35155 days ago1749185975
Decentralized Cloud Infrastructure: DCI Token
0.00052066 ETH
Transfer225973862025-05-30 18:37:35162 days ago1748630255
Decentralized Cloud Infrastructure: DCI Token
0.0034035 ETH
Transfer225973862025-05-30 18:37:35162 days ago1748630255
Decentralized Cloud Infrastructure: DCI Token
0.0034035 ETH
Transfer225496962025-05-24 2:21:35168 days ago1748053295
Decentralized Cloud Infrastructure: DCI Token
0.00888843 ETH
Transfer225496962025-05-24 2:21:35168 days ago1748053295
Decentralized Cloud Infrastructure: DCI Token
0.00888843 ETH
Transfer224937252025-05-16 6:01:23176 days ago1747375283
Decentralized Cloud Infrastructure: DCI Token
0.01311739 ETH
Transfer224937252025-05-16 6:01:23176 days ago1747375283
Decentralized Cloud Infrastructure: DCI Token
0.01311739 ETH
Transfer224771492025-05-13 22:04:35178 days ago1747173875
Decentralized Cloud Infrastructure: DCI Token
0.01845412 ETH
Transfer224771492025-05-13 22:04:35178 days ago1747173875
Decentralized Cloud Infrastructure: DCI Token
0.01845412 ETH
Transfer224469752025-05-09 16:06:47183 days ago1746806807
Decentralized Cloud Infrastructure: DCI Token
0.00174027 ETH
Transfer224469752025-05-09 16:06:47183 days ago1746806807
Decentralized Cloud Infrastructure: DCI Token
0.00174027 ETH
Transfer224182852025-05-05 14:59:23187 days ago1746457163
Decentralized Cloud Infrastructure: DCI Token
0.00002765 ETH
Transfer224182852025-05-05 14:59:23187 days ago1746457163
Decentralized Cloud Infrastructure: DCI Token
0.00002765 ETH
Transfer224062842025-05-03 22:37:23188 days ago1746311843
Decentralized Cloud Infrastructure: DCI Token
0.00004769 ETH
Transfer224062842025-05-03 22:37:23188 days ago1746311843
Decentralized Cloud Infrastructure: DCI Token
0.00004769 ETH
Transfer224041432025-05-03 15:26:23189 days ago1746285983
Decentralized Cloud Infrastructure: DCI Token
0.00007368 ETH
Transfer224041432025-05-03 15:26:23189 days ago1746285983
Decentralized Cloud Infrastructure: DCI Token
0.00007368 ETH
Transfer224041422025-05-03 15:26:11189 days ago1746285971
Decentralized Cloud Infrastructure: DCI Token
0.00022964 ETH
View All Internal Transactions
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DecentralizedCloudInfrastructure

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-03-26
*/

/*
===================================================================================================>

██████╗ ███████╗ ██████╗███████╗███╗   ██╗████████╗██████╗  █████╗ ██╗     ██╗███████╗███████╗██████╗ 
██╔══██╗██╔════╝██╔════╝██╔════╝████╗  ██║╚══██╔══╝██╔══██╗██╔══██╗██║     ██║╚══███╔╝██╔════╝██╔══██╗
██║  ██║█████╗  ██║     █████╗  ██╔██╗ ██║   ██║   ██████╔╝███████║██║     ██║  ███╔╝ █████╗  ██║  ██║
██║  ██║██╔══╝  ██║     ██╔══╝  ██║╚██╗██║   ██║   ██╔══██╗██╔══██║██║     ██║ ███╔╝  ██╔══╝  ██║  ██║
██████╔╝███████╗╚██████╗███████╗██║ ╚████║   ██║   ██║  ██║██║  ██║███████╗██║███████╗███████╗██████╔╝
╚═════╝ ╚══════╝ ╚═════╝╚══════╝╚═╝  ╚═══╝   ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝╚═╝╚══════╝╚══════╝╚═════╝                                                                                     
         ██████╗██╗      ██████╗ ██╗   ██╗██████╗ \-
        ██╔════╝██║     ██╔═══██╗██║   ██║██╔══██╗ \
        ██║     ██║     ██║   ██║██║   ██║██║  ██║  \
        ██║     ██║     ██║   ██║██║   ██║██║  ██║   \
        ╚██████╗███████╗╚██████╔╝╚██████╔╝██████╔╝    \
         ╚═════╝╚══════╝ ╚═════╝  ╚═════╝ ╚═════╝      \-
                ██╗███╗   ██╗███████╗██████╗  █████╗ ███████╗████████╗██████╗ ██╗   ██╗ ██████╗████████╗██╗   ██╗██████╗ ███████╗
                ██║████╗  ██║██╔════╝██╔══██╗██╔══██╗██╔════╝╚══██╔══╝██╔══██╗██║   ██║██╔════╝╚══██╔══╝██║   ██║██╔══██╗██╔════╝
                ██║██╔██╗ ██║█████╗  ██████╔╝███████║███████╗   ██║   ██████╔╝██║   ██║██║        ██║   ██║   ██║██████╔╝█████╗  
                ██║██║╚██╗██║██╔══╝  ██╔══██╗██╔══██║╚════██║   ██║   ██╔══██╗██║   ██║██║        ██║   ██║   ██║██╔══██╗██╔══╝  
                ██║██║ ╚████║██║     ██║  ██║██║  ██║███████║   ██║   ██║  ██║╚██████╔╝╚██████╗   ██║   ╚██████╔╝██║  ██║███████╗
                ╚═╝╚═╝  ╚═══╝╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝   ╚═╝   ╚═╝  ╚═╝ ╚═════╝  ╚═════╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝╚══════╝
======================================================================================================================================>
Telegram Bot: https://t.me/DecentralizedCloud_bot
Telegram: https://t.me/DCI_AI
Twitter: https://x.com/dcicloudai
Website: https://dcicloud.ai
Gitbook: https://docs-gitbook.dcicloud.ai
dApp: https://dapp.dcicloud.ai
*/

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

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}
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 Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;


    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }


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

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

  
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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


    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

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

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

    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }


    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }


    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

  
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

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

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


    function _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}

   
    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}



abstract contract Ownable is Context {
    address private _owner;

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


    constructor() {
        _transferOwnership(_msgSender());
    }

  
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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


    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

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

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

   
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address UNISWAP_V2_PAIR);
}

contract DecentralizedCloudInfrastructure is IERC20, Ownable {
    event Reflect(uint256 amountReflected, uint256 newTotalProportion);


    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    IUniswapV2Router02 public constant UNISWAP_V2_ROUTER =
        IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public immutable UNISWAP_V2_PAIR;

    struct Fee {
        uint8 reflection;
        uint8 dev;
        uint128 total;
    }

    string _name = "Decentralized Cloud Infrastructure";
    string _symbol = "DCI";

    uint256 _totalSupply = 10000000 * 10 ** 18;
    address private marketingWallet;
    address private partnershipWallet;

    uint256 public _maxTxAmount = (_totalSupply * 1) / 100;
    uint256 public _maxWalletSize =  (_totalSupply * 1) / 100; 
    mapping(address => uint256) public _rOwned;
    uint256 public _totalProportion = _totalSupply;

    mapping(address => mapping(address => uint256)) _allowances;

    bool public limitsEnabled = true;
    bool public trading = false;
    mapping(address => bool) isFeeExempt;
    mapping(address => bool) isTxLimitExempt;

    Fee public initialBuyFee = Fee({ reflection: 0, dev: 5, total: 5});
    Fee public initialSellFee = Fee({ reflection: 0, dev: 5, total: 5});
    Fee public finalBuyFee = Fee({ reflection: 1, dev: 4, total: 5});
    Fee public finalSellFee =  Fee({ reflection: 1, dev: 4, total: 5});
    Fee public buyFee;
    Fee public sellFee;
    address private devWallet;

    bool public claimingFees = true;
    uint256 public swapThreshold = (_totalSupply * 5) / 10000; // 0.05%
    uint256 public customMultiplier = 20;
    bool inSwap;

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }


    constructor(address _devWallet, address _marketingWallet, address _partnershipWallet) {
        buyFee = initialBuyFee;
        sellFee = initialSellFee;
        address _uniswapPair =
            IUniswapV2Factory(UNISWAP_V2_ROUTER.factory()).createPair(address(this), UNISWAP_V2_ROUTER.WETH());
        UNISWAP_V2_PAIR = _uniswapPair;
      
        _allowances[address(this)][address(UNISWAP_V2_ROUTER)] = type(uint256).max;
        _allowances[address(this)][tx.origin] = type(uint256).max;

        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[address(UNISWAP_V2_ROUTER)] = true;
        isTxLimitExempt[_uniswapPair] = true;
        isTxLimitExempt[tx.origin] = true;
        isFeeExempt[tx.origin] = true;
        isFeeExempt[address(this)] = true;
        marketingWallet = _marketingWallet;
        partnershipWallet = _partnershipWallet;

        isFeeExempt[marketingWallet] = true;
        isTxLimitExempt[marketingWallet] = true;

        isFeeExempt[partnershipWallet] = true;
        isTxLimitExempt[partnershipWallet] = true;

        devWallet = _devWallet;
        uint256 marketingWalletSupply = (_totalSupply * 8) / 100;
        _rOwned[marketingWallet] = marketingWalletSupply;

        uint256 partnershipWalletSupply = (_totalSupply * 8) / 100;
        _rOwned[partnershipWallet] = partnershipWalletSupply;

        // Allocate the remaining supply to the tx.origin
        _rOwned[tx.origin] = _totalSupply - (marketingWalletSupply + partnershipWalletSupply);

        // Emit transfer events
        emit Transfer(address(0), marketingWallet, marketingWalletSupply);
        emit Transfer(address(0), partnershipWallet, partnershipWalletSupply);
        emit Transfer(address(0), tx.origin, _rOwned[tx.origin]);
    }

    receive() external payable {}

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }
    function setFees(uint8 buyReflection, uint8 buyDev, uint8 sellReflection, uint8 sellDev) public onlyOwner {
        buyFee = Fee({reflection: buyReflection, dev: buyDev, total: uint128(buyReflection) + uint128(buyDev)});
        sellFee = Fee({reflection: sellReflection, dev: sellDev, total: uint128(sellReflection) + uint128(sellDev)});
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            require(_allowances[sender][msg.sender] >= amount, "ERC20: insufficient allowance");
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }

        return _transferFrom(sender, recipient, amount);
    }


    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

    function decimals() external pure returns (uint8) {
        return 18;
    }

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

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

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

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

    function tokensToProportion(uint256 tokens) public view returns (uint256) {
        return tokens * _totalProportion / _totalSupply;
    }

    function tokenFromReflection(uint256 proportion) public view returns (uint256) {
        return proportion * _totalSupply / _totalProportion;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO);
    }


    function clearStuckBalance() external onlyOwner {
        (bool success,) = payable(msg.sender).call{value: address(this).balance}("");
        require(success);
    }

    function clearStuckToken() external onlyOwner {
        _transferFrom(address(this), msg.sender, balanceOf(address(this)));
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        claimingFees = _enabled;
        swapThreshold =  (_totalSupply * _amount) / 10000;
    }

  function setCustomMultiplier(uint256 _customMultiplier) public onlyOwner {
        customMultiplier = _customMultiplier;
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
    }

    function setFeeReceivers(address m_) external onlyOwner {
        marketingWallet = m_;
    }

    function setMaxTxBasisPoint(uint256 p_) external onlyOwner {
        _maxTxAmount = _totalSupply * p_ / 10000;
    }

    function removeLimits() external onlyOwner {
        limitsEnabled = false;
        buyFee = finalBuyFee;
        sellFee = finalSellFee;
    }

    function openTrading() external onlyOwner {
        trading = true;
    }
    
   function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
        if (!trading) {
            require(isFeeExempt[sender], "Trading not enabled yet");
        }
        if (limitsEnabled && sender == UNISWAP_V2_PAIR && !isTxLimitExempt[recipient]) {
            require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
                require(balanceOf(recipient) + amount <= _maxWalletSize, "Exceeds maxWalletSize.");
            }
        if (_shouldSwapBack()) {
            _swapBack();
        }

        uint256 proportionAmount = tokensToProportion(amount);
        require(_rOwned[sender] >= proportionAmount, "Insufficient Balance");
        _rOwned[sender] = _rOwned[sender] - proportionAmount;


        uint256 proportionReceived = _shouldTakeFee(sender, recipient)
        ? _takeFeeInProportions(sender == UNISWAP_V2_PAIR ? true : false, sender, proportionAmount)
        : proportionAmount;
        _rOwned[recipient] = _rOwned[recipient] + proportionReceived;

        emit Transfer(sender, recipient, tokenFromReflection(proportionReceived));
        return true;
    }
 
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        uint256 proportionAmount = tokensToProportion(amount);
        require(_rOwned[sender] >= proportionAmount, "Insufficient Balance");
        _rOwned[sender] = _rOwned[sender] - proportionAmount;
        _rOwned[recipient] = _rOwned[recipient] + proportionAmount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    
    function _takeFeeInProportions(bool buying, address sender, uint256 proportionAmount) internal returns (uint256) {
        Fee memory __buyFee = buyFee;
        Fee memory __sellFee = sellFee;

        uint256 proportionFeeAmount =
            buying == true ? proportionAmount * __buyFee.total / 100 : proportionAmount * __sellFee.total / 100;


        uint256 proportionReflected = buying == true
            ? proportionFeeAmount * __buyFee.reflection / __buyFee.total
            : proportionFeeAmount * __sellFee.reflection / __sellFee.total;

        _totalProportion = _totalProportion - proportionReflected;

       
        uint256 _proportionToContract = proportionFeeAmount - proportionReflected;
        if (_proportionToContract > 0) {
            _rOwned[address(this)] = _rOwned[address(this)] + _proportionToContract;

            emit Transfer(sender, address(this), tokenFromReflection(_proportionToContract));
        }
        emit Reflect(proportionReflected, _totalProportion);
        return proportionAmount - proportionFeeAmount;
    }

    function _shouldSwapBack() internal view returns (bool) {
        return msg.sender != UNISWAP_V2_PAIR && !inSwap && claimingFees && balanceOf(address(this)) >= swapThreshold;
    }

    function _swapBack() internal swapping {
        Fee memory __sellFee = sellFee;
        uint256 contractBalance = balanceOf(address(this));
        uint256 __swapThreshold = swapThreshold;
        uint256 amountToSwap = __swapThreshold;

        if (contractBalance == 0 || amountToSwap == 0) {
            return;
        }

        if (contractBalance > swapThreshold * customMultiplier) {
            contractBalance = swapThreshold * customMultiplier;
        }
        approve(address(UNISWAP_V2_ROUTER), contractBalance);


        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = UNISWAP_V2_ROUTER.WETH();

        UNISWAP_V2_ROUTER.swapExactTokensForETHSupportingFeeOnTransferTokens(
            contractBalance, 0, path, address(this), block.timestamp
        );

        uint256 amountETH = address(this).balance;

        uint256 totalSwapFee = __sellFee.total - __sellFee.reflection;
        uint256 mktcash = amountETH * __sellFee.dev / totalSwapFee;


        (bool tmpSuccess,) = payable(marketingWallet).call{value: mktcash}("");
        require(tmpSuccess, "Transfer failed.");

    }

    function _shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_devWallet","type":"address"},{"internalType":"address","name":"_marketingWallet","type":"address"},{"internalType":"address","name":"_partnershipWallet","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":"amountReflected","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalProportion","type":"uint256"}],"name":"Reflect","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"UNISWAP_V2_PAIR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNISWAP_V2_ROUTER","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","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":"","type":"address"}],"name":"_rOwned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","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":"buyFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimingFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"customMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"finalBuyFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalSellFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialBuyFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialSellFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"dev","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_customMultiplier","type":"uint256"}],"name":"setCustomMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"m_","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"buyReflection","type":"uint8"},{"internalType":"uint8","name":"buyDev","type":"uint8"},{"internalType":"uint8","name":"sellReflection","type":"uint8"},{"internalType":"uint8","name":"sellDev","type":"uint8"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"p_","type":"uint256"}],"name":"setMaxTxBasisPoint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proportion","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"tokensToProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

610100604052602260a081815290620026a160c0396001906200002390826200073a565b5060408051808201909152600381526244434960e81b60208201526002906200004d90826200073a565b506a084595161401484a0000006003556064600354600162000070919062000816565b6200007c919062000836565b6006556064600354600162000092919062000816565b6200009e919062000836565b6007556003546009819055600b805461ffff1916600190811790915560408051606080820183525f80835260056020808501829052938501819052600e8054620505006001600160901b0319918216811790925586518086018852938452838601839052928601829052600f80548416909117905584518084018652868152600481860181905290860182905260108054620504019085168117909155865194850187529684529383019390935292018190526011805490921690921790556014805460ff60a01b1916600160a01b179055612710916200017f9162000816565b6200018b919062000836565b60155560146016553480156200019f575f80fd5b50604051620026e3380380620026e3833981016040819052620001c29162000872565b620001cd336200064b565b600e546012805460ff80841661ffff1992831617610100808604831681029190911762010000600160901b031990811662010000968790046001600160801b03908116880291909117909555600f546013805482861696169590951783820490941690920292909217909116908490049092169092021790556040805163c45a015560e01b815290515f91737a250d5630b4cf539739df2c5dacb4c659f2488d9163c45a0155916004808201926020929091908290030181865afa15801562000298573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002be9190620008b9565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200031e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003449190620008b9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200038f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003b59190620008b9565b6001600160a01b038181166080819052305f818152600a60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845282528083205f19908190553280855282852091909155848452600d8084528285208054600160ff1991821681179092557fe491d3ddab46a3ddc2b907c015f7e2686859fac31a4f174b9b79a82620b0324e805482168317905597865283862080548916821790559185528285208054881683179055600c80855283862080548916841790559585528285208054881683179055600480546001600160a01b03199081168e8b1690811783556005805483168f8d1617815590885285882080548b168617905591548a16875282865284872080548a168517905581548a1687529685528386208054891684179055548816855290925282208054909416179092556014805490911692881692909217909155600354919250906064906200051590600862000816565b62000521919062000836565b6004546001600160a01b03165f9081526008602081905260408220839055600354929350909160649162000556919062000816565b62000562919062000836565b6005546001600160a01b03165f90815260086020526040902081905590506200058c8183620008dc565b6003546200059b9190620008f2565b325f9081526008602090815260408083209390935560045492518581526001600160a01b03909316925f80516020620026c3833981519152910160405180910390a36005546040518281526001600160a01b03909116905f905f80516020620026c38339815191529060200160405180910390a3325f8181526008602090815260408083205490519081525f80516020620026c3833981519152910160405180910390a350505050505062000908565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620006c357607f821691505b602082108103620006e257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000735575f81815260208120601f850160051c81016020861015620007105750805b601f850160051c820191505b8181101562000731578281556001016200071c565b5050505b505050565b81516001600160401b038111156200075657620007566200069a565b6200076e81620007678454620006ae565b84620006e8565b602080601f831160018114620007a4575f84156200078c5750858301515b5f19600386901b1c1916600185901b17855562000731565b5f85815260208120601f198616915b82811015620007d457888601518255948401946001909101908401620007b3565b5085821015620007f257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141762000830576200083062000802565b92915050565b5f826200085157634e487b7160e01b5f52601260045260245ffd5b500490565b80516001600160a01b03811681146200086d575f80fd5b919050565b5f805f6060848603121562000885575f80fd5b620008908462000856565b9250620008a06020850162000856565b9150620008b06040850162000856565b90509250925092565b5f60208284031215620008ca575f80fd5b620008d58262000856565b9392505050565b8082018082111562000830576200083062000802565b8181038181111562000830576200083062000802565b608051611d6b620009365f395f818161081801528181610f600152818161115501526113ff0152611d6b5ff3fe608060405260043610610262575f3560e01c806378de607b1161013f578063d85a2828116100b3578063e6990a9011610078578063e6990a9014610762578063e6d40d6014610796578063ec44acf2146107ca578063f2fde38b146107e8578063f40acc3d14610807578063f84ba65d1461083a575f80fd5b8063d85a2828146106ad578063dd62ed3e146106c1578063df20fd4914610705578063e01bb68814610724578063e186ec7414610743575f80fd5b806395d89b411161010457806395d89b41146106005780639faa7cfd14610614578063a82ed9ec14610633578063a9059cbb1461065a578063b0f7ec3814610679578063c9567bf914610699575f80fd5b806378de607b146105725780637d1db4a514610587578063875fa0851461059c5780638da5cb5b146105bb5780638f9a55c0146105eb575f80fd5b8063313ce567116101d6578063470624021161019b57806347062402146104b9578063571ac8b0146104ed578063658d4b7f1461050c57806370a082311461052b578063715018a61461054a578063751039fc1461055e575f80fd5b8063313ce5671461041c57806331e02e0b146104375780633582ad231461046b578063364333f41461048457806345ce53651461049a575f80fd5b806318160ddd1161022757806318160ddd1461032557806323b872dd146103395780632b112e49146103585780632b14ca561461036c5780632b36a6d2146103c95780632d838119146103fd575f80fd5b80630445b6671461026d57806306fdde0314610295578063095ea7b3146102b65780630cfc15f9146102e55780631780028714610310575f80fd5b3661026957005b5f80fd5b348015610278575f80fd5b5061028260155481565b6040519081526020015b60405180910390f35b3480156102a0575f80fd5b506102a9610859565b60405161028c91906119b6565b3480156102c1575f80fd5b506102d56102d0366004611a15565b6108e9565b604051901515815260200161028c565b3480156102f0575f80fd5b506102826102ff366004611a3f565b60086020525f908152604090205481565b34801561031b575f80fd5b5061028260095481565b348015610330575f80fd5b50600354610282565b348015610344575f80fd5b506102d5610353366004611a5a565b610955565b348015610363575f80fd5b50610282610a5d565b348015610377575f80fd5b506013546103a09060ff808216916101008104909116906201000090046001600160801b031683565b6040805160ff94851681529390921660208401526001600160801b03169082015260600161028c565b3480156103d4575f80fd5b50600f546103a09060ff808216916101008104909116906201000090046001600160801b031683565b348015610408575f80fd5b50610282610417366004611a98565b610a8e565b348015610427575f80fd5b506040516012815260200161028c565b348015610442575f80fd5b50600e546103a09060ff808216916101008104909116906201000090046001600160801b031683565b348015610476575f80fd5b50600b546102d59060ff1681565b34801561048f575f80fd5b50610498610aaa565b005b3480156104a5575f80fd5b506102826104b4366004611a98565b610b06565b3480156104c4575f80fd5b506012546103a09060ff808216916101008104909116906201000090046001600160801b031683565b3480156104f8575f80fd5b506102d5610507366004611a3f565b610b18565b348015610517575f80fd5b50610498610526366004611ac3565b610b24565b348015610536575f80fd5b50610282610545366004611a3f565b610b56565b348015610555575f80fd5b50610498610b77565b348015610569575f80fd5b50610498610b8a565b34801561057d575f80fd5b5061028260165481565b348015610592575f80fd5b5061028260065481565b3480156105a7575f80fd5b506104986105b6366004611a98565b610c17565b3480156105c6575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161028c565b3480156105f6575f80fd5b5061028260075481565b34801561060b575f80fd5b506102a9610c24565b34801561061f575f80fd5b5061049861062e366004611b06565b610c33565b34801561063e575f80fd5b506105d3737a250d5630b4cf539739df2c5dacb4c659f2488d81565b348015610665575f80fd5b506102d5610674366004611a15565b610d3f565b348015610684575f80fd5b506014546102d590600160a01b900460ff1681565b3480156106a4575f80fd5b50610498610d4b565b3480156106b8575f80fd5b50610498610d64565b3480156106cc575f80fd5b506102826106db366004611b57565b6001600160a01b039182165f908152600a6020908152604080832093909416825291909152205490565b348015610710575f80fd5b5061049861071f366004611b8e565b610d7f565b34801561072f575f80fd5b5061049861073e366004611a3f565b610dc1565b34801561074e575f80fd5b5061049861075d366004611a98565b610deb565b34801561076d575f80fd5b506011546103a09060ff808216916101008104909116906201000090046001600160801b031683565b3480156107a1575f80fd5b506010546103a09060ff808216916101008104909116906201000090046001600160801b031683565b3480156107d5575f80fd5b50600b546102d590610100900460ff1681565b3480156107f3575f80fd5b50610498610802366004611a3f565b610e14565b348015610812575f80fd5b506105d37f000000000000000000000000000000000000000000000000000000000000000081565b348015610845575f80fd5b50610498610854366004611ac3565b610e8a565b60606001805461086890611ba8565b80601f016020809104026020016040519081016040528092919081815260200182805461089490611ba8565b80156108df5780601f106108b6576101008083540402835291602001916108df565b820191905f5260205f20905b8154815290600101906020018083116108c257829003601f168201915b5050505050905090565b335f818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109439086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f908152600a602090815260408083203384529091528120545f1914610a48576001600160a01b0384165f908152600a602090815260408083203384529091529020548211156109f65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064015b60405180910390fd5b6001600160a01b0384165f908152600a60209081526040808320338452909152902054610a24908390611bf4565b6001600160a01b0385165f908152600a602090815260408083203384529091529020555b610a53848484610ebc565b90505b9392505050565b5f610a675f610b56565b610a7261dead610b56565b600354610a7f9190611bf4565b610a899190611bf4565b905090565b5f60095460035483610aa09190611c07565b61094f9190611c1e565b610ab2611227565b6040515f90339047908381818185875af1925050503d805f8114610af1576040519150601f19603f3d011682016040523d82523d5f602084013e610af6565b606091505b5050905080610b03575f80fd5b50565b5f60035460095483610aa09190611c07565b5f61094f825f196108e9565b610b2c611227565b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b0381165f9081526008602052604081205461094f90610a8e565b610b7f611227565b610b885f611280565b565b610b92611227565b600b805460ff191690556010546012805460ff80841661ffff1992831617610100808604831681029190911762010000600160901b031990811662010000968790046001600160801b03908116880291909117909555601154601380548286169616959095178382049094169092029290921790911690849004909216909202179055565b610c1f611227565b601655565b60606002805461086890611ba8565b610c3b611227565b60405180606001604052808560ff1681526020018460ff1681526020018460ff168660ff16610c6a9190611c3d565b6001600160801b03908116909152815160128054602080860151604096870151909516620100000262010000600160901b031960ff9687166101000261ffff19909416958716959095179290921793909316179055825160608101845285831680825292851691810182905292830191610ce49190611c3d565b6001600160801b039081169091528151601380546020850151604090950151909316620100000262010000600160901b031960ff9586166101000261ffff199095169590931694909417929092171691909117905550505050565b5f610a56338484610ebc565b610d53611227565b600b805461ff001916610100179055565b610d6c611227565b610b033033610d7a30610b56565b610ebc565b610d87611227565b6014805460ff60a01b1916600160a01b8415150217905560035461271090610db0908390611c07565b610dba9190611c1e565b6015555050565b610dc9611227565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b610df3611227565b61271081600354610e049190611c07565b610e0e9190611c1e565b60065550565b610e1c611227565b6001600160a01b038116610e815760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109ed565b610b0381611280565b610e92611227565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b6017545f9060ff1615610edb57610ed48484846112cf565b9050610a56565b600b54610100900460ff16610f51576001600160a01b0384165f908152600c602052604090205460ff16610f515760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c65642079657400000000000000000060448201526064016109ed565b600b5460ff168015610f9457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b8015610fb857506001600160a01b0383165f908152600d602052604090205460ff16155b1561107e576006548211156110205760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016109ed565b6007548261102d85610b56565b6110379190611c64565b111561107e5760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b2399036b0bc2bb0b63632ba29b4bd329760511b60448201526064016109ed565b6110866113f3565b156110935761109361145f565b5f61109d83610b06565b6001600160a01b0386165f908152600860205260409020549091508111156110fe5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b60448201526064016109ed565b6001600160a01b0385165f90815260086020526040902054611121908290611bf4565b6001600160a01b0386165f908152600860205260408120919091556111468686611763565b611150578161119c565b61119c7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b031614611192575f611195565b60015b87846117a7565b6001600160a01b0386165f908152600860205260409020549091506111c2908290611c64565b6001600160a01b038087165f8181526008602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61120a84610a8e565b60405190815260200160405180910390a350600195945050505050565b5f546001600160a01b03163314610b885760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109ed565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f806112da83610b06565b6001600160a01b0386165f9081526008602052604090205490915081111561133b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b60448201526064016109ed565b6001600160a01b0385165f9081526008602052604090205461135e908290611bf4565b6001600160a01b038087165f90815260086020526040808220939093559086168152205461138d908290611c64565b6001600160a01b038086165f8181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113e09087815260200190565b60405180910390a3506001949350505050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590611430575060175460ff16155b80156114455750601454600160a01b900460ff165b8015610a89575060155461145830610b56565b1015905090565b6017805460ff191660011790556040805160608101825260135460ff818116835261010082041660208301526001600160801b036201000090910416918101919091525f6114ac30610b56565b601554909150808215806114be575080155b156114cc5750505050611757565b6016546015546114dc9190611c07565b8311156114f6576016546015546114f39190611c07565b92505b611514737a250d5630b4cf539739df2c5dacb4c659f2488d846108e9565b506040805160028082526060820183525f9260208301908036833701905050905030815f8151811061154857611548611c77565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115dc9190611c8b565b816001815181106115ef576115ef611c77565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906116469087905f90869030904290600401611ca6565b5f604051808303815f87803b15801561165d575f80fd5b505af115801561166f573d5f803e3d5ffd5b5050865160408801514793505f925061168b9160ff1690611d15565b6001600160801b031690505f81886020015160ff16846116ab9190611c07565b6116b59190611c1e565b6004546040519192505f916001600160a01b039091169083908381818185875af1925050503d805f8114611704576040519150601f19603f3d011682016040523d82523d5f602084013e611709565b606091505b505090508061174d5760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b60448201526064016109ed565b5050505050505050505b6017805460ff19169055565b6001600160a01b0382165f908152600c602052604081205460ff16158015610a565750506001600160a01b03165f908152600c602052604090205460ff1615919050565b604080516060808201835260125460ff808216845261010080830482166020808701919091526001600160801b036201000094859004811687890152875195860188526013548085168752928304909316908501529190910416928101929092525f918286151560011461183f57606482604001516001600160801b0316866118309190611c07565b61183a9190611c1e565b611864565b606483604001516001600160801b03168661185a9190611c07565b6118649190611c1e565b90505f6001881515146118a05782604001516001600160801b0316835f015160ff16836118919190611c07565b61189b9190611c1e565b6118ca565b83604001516001600160801b0316845f015160ff16836118c09190611c07565b6118ca9190611c1e565b9050806009546118da9190611bf4565b6009555f6118e88284611bf4565b9050801561196257305f9081526008602052604090205461190a908290611c64565b305f818152600860205260409020919091556001600160a01b0389167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61195084610a8e565b60405190815260200160405180910390a35b6009546040805184815260208101929092527fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac910160405180910390a16119a98388611bf4565b9998505050505050505050565b5f6020808352835180828501525f5b818110156119e1578581018301518582016040015282016119c5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b03575f80fd5b5f8060408385031215611a26575f80fd5b8235611a3181611a01565b946020939093013593505050565b5f60208284031215611a4f575f80fd5b8135610a5681611a01565b5f805f60608486031215611a6c575f80fd5b8335611a7781611a01565b92506020840135611a8781611a01565b929592945050506040919091013590565b5f60208284031215611aa8575f80fd5b5035919050565b80358015158114611abe575f80fd5b919050565b5f8060408385031215611ad4575f80fd5b8235611adf81611a01565b9150611aed60208401611aaf565b90509250929050565b803560ff81168114611abe575f80fd5b5f805f8060808587031215611b19575f80fd5b611b2285611af6565b9350611b3060208601611af6565b9250611b3e60408601611af6565b9150611b4c60608601611af6565b905092959194509250565b5f8060408385031215611b68575f80fd5b8235611b7381611a01565b91506020830135611b8381611a01565b809150509250929050565b5f8060408385031215611b9f575f80fd5b611a3183611aaf565b600181811c90821680611bbc57607f821691505b602082108103611bda57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561094f5761094f611be0565b808202811582820484141761094f5761094f611be0565b5f82611c3857634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160801b03818116838216019080821115611c5d57611c5d611be0565b5092915050565b8082018082111561094f5761094f611be0565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611c9b575f80fd5b8151610a5681611a01565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611cf45784516001600160a01b031683529383019391830191600101611ccf565b50506001600160a01b03969096166060850152505050608001529392505050565b6001600160801b03828116828216039080821115611c5d57611c5d611be056fea264697066735822122099cce96237b20b7c22bb7be9cd4b294eec05e113267597e493d7e764f6d62e9f64736f6c63430008140033446563656e7472616c697a656420436c6f756420496e667261737472756374757265ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef000000000000000000000000c11818e1565f9dd0097381350d3783129a31074c00000000000000000000000011f235ac1906cdf0c602bf14bceb648fb5618d7e0000000000000000000000001193b9f73393e85293301af617d02f1426acf634

Deployed Bytecode

0x608060405260043610610262575f3560e01c806378de607b1161013f578063d85a2828116100b3578063e6990a9011610078578063e6990a9014610762578063e6d40d6014610796578063ec44acf2146107ca578063f2fde38b146107e8578063f40acc3d14610807578063f84ba65d1461083a575f80fd5b8063d85a2828146106ad578063dd62ed3e146106c1578063df20fd4914610705578063e01bb68814610724578063e186ec7414610743575f80fd5b806395d89b411161010457806395d89b41146106005780639faa7cfd14610614578063a82ed9ec14610633578063a9059cbb1461065a578063b0f7ec3814610679578063c9567bf914610699575f80fd5b806378de607b146105725780637d1db4a514610587578063875fa0851461059c5780638da5cb5b146105bb5780638f9a55c0146105eb575f80fd5b8063313ce567116101d6578063470624021161019b57806347062402146104b9578063571ac8b0146104ed578063658d4b7f1461050c57806370a082311461052b578063715018a61461054a578063751039fc1461055e575f80fd5b8063313ce5671461041c57806331e02e0b146104375780633582ad231461046b578063364333f41461048457806345ce53651461049a575f80fd5b806318160ddd1161022757806318160ddd1461032557806323b872dd146103395780632b112e49146103585780632b14ca561461036c5780632b36a6d2146103c95780632d838119146103fd575f80fd5b80630445b6671461026d57806306fdde0314610295578063095ea7b3146102b65780630cfc15f9146102e55780631780028714610310575f80fd5b3661026957005b5f80fd5b348015610278575f80fd5b5061028260155481565b6040519081526020015b60405180910390f35b3480156102a0575f80fd5b506102a9610859565b60405161028c91906119b6565b3480156102c1575f80fd5b506102d56102d0366004611a15565b6108e9565b604051901515815260200161028c565b3480156102f0575f80fd5b506102826102ff366004611a3f565b60086020525f908152604090205481565b34801561031b575f80fd5b5061028260095481565b348015610330575f80fd5b50600354610282565b348015610344575f80fd5b506102d5610353366004611a5a565b610955565b348015610363575f80fd5b50610282610a5d565b348015610377575f80fd5b506013546103a09060ff808216916101008104909116906201000090046001600160801b031683565b6040805160ff94851681529390921660208401526001600160801b03169082015260600161028c565b3480156103d4575f80fd5b50600f546103a09060ff808216916101008104909116906201000090046001600160801b031683565b348015610408575f80fd5b50610282610417366004611a98565b610a8e565b348015610427575f80fd5b506040516012815260200161028c565b348015610442575f80fd5b50600e546103a09060ff808216916101008104909116906201000090046001600160801b031683565b348015610476575f80fd5b50600b546102d59060ff1681565b34801561048f575f80fd5b50610498610aaa565b005b3480156104a5575f80fd5b506102826104b4366004611a98565b610b06565b3480156104c4575f80fd5b506012546103a09060ff808216916101008104909116906201000090046001600160801b031683565b3480156104f8575f80fd5b506102d5610507366004611a3f565b610b18565b348015610517575f80fd5b50610498610526366004611ac3565b610b24565b348015610536575f80fd5b50610282610545366004611a3f565b610b56565b348015610555575f80fd5b50610498610b77565b348015610569575f80fd5b50610498610b8a565b34801561057d575f80fd5b5061028260165481565b348015610592575f80fd5b5061028260065481565b3480156105a7575f80fd5b506104986105b6366004611a98565b610c17565b3480156105c6575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161028c565b3480156105f6575f80fd5b5061028260075481565b34801561060b575f80fd5b506102a9610c24565b34801561061f575f80fd5b5061049861062e366004611b06565b610c33565b34801561063e575f80fd5b506105d3737a250d5630b4cf539739df2c5dacb4c659f2488d81565b348015610665575f80fd5b506102d5610674366004611a15565b610d3f565b348015610684575f80fd5b506014546102d590600160a01b900460ff1681565b3480156106a4575f80fd5b50610498610d4b565b3480156106b8575f80fd5b50610498610d64565b3480156106cc575f80fd5b506102826106db366004611b57565b6001600160a01b039182165f908152600a6020908152604080832093909416825291909152205490565b348015610710575f80fd5b5061049861071f366004611b8e565b610d7f565b34801561072f575f80fd5b5061049861073e366004611a3f565b610dc1565b34801561074e575f80fd5b5061049861075d366004611a98565b610deb565b34801561076d575f80fd5b506011546103a09060ff808216916101008104909116906201000090046001600160801b031683565b3480156107a1575f80fd5b506010546103a09060ff808216916101008104909116906201000090046001600160801b031683565b3480156107d5575f80fd5b50600b546102d590610100900460ff1681565b3480156107f3575f80fd5b50610498610802366004611a3f565b610e14565b348015610812575f80fd5b506105d37f00000000000000000000000000f44eb2f3500e19f7b4b63c0348f43a3aa37ebc81565b348015610845575f80fd5b50610498610854366004611ac3565b610e8a565b60606001805461086890611ba8565b80601f016020809104026020016040519081016040528092919081815260200182805461089490611ba8565b80156108df5780601f106108b6576101008083540402835291602001916108df565b820191905f5260205f20905b8154815290600101906020018083116108c257829003601f168201915b5050505050905090565b335f818152600a602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109439086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f908152600a602090815260408083203384529091528120545f1914610a48576001600160a01b0384165f908152600a602090815260408083203384529091529020548211156109f65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064015b60405180910390fd5b6001600160a01b0384165f908152600a60209081526040808320338452909152902054610a24908390611bf4565b6001600160a01b0385165f908152600a602090815260408083203384529091529020555b610a53848484610ebc565b90505b9392505050565b5f610a675f610b56565b610a7261dead610b56565b600354610a7f9190611bf4565b610a899190611bf4565b905090565b5f60095460035483610aa09190611c07565b61094f9190611c1e565b610ab2611227565b6040515f90339047908381818185875af1925050503d805f8114610af1576040519150601f19603f3d011682016040523d82523d5f602084013e610af6565b606091505b5050905080610b03575f80fd5b50565b5f60035460095483610aa09190611c07565b5f61094f825f196108e9565b610b2c611227565b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b6001600160a01b0381165f9081526008602052604081205461094f90610a8e565b610b7f611227565b610b885f611280565b565b610b92611227565b600b805460ff191690556010546012805460ff80841661ffff1992831617610100808604831681029190911762010000600160901b031990811662010000968790046001600160801b03908116880291909117909555601154601380548286169616959095178382049094169092029290921790911690849004909216909202179055565b610c1f611227565b601655565b60606002805461086890611ba8565b610c3b611227565b60405180606001604052808560ff1681526020018460ff1681526020018460ff168660ff16610c6a9190611c3d565b6001600160801b03908116909152815160128054602080860151604096870151909516620100000262010000600160901b031960ff9687166101000261ffff19909416958716959095179290921793909316179055825160608101845285831680825292851691810182905292830191610ce49190611c3d565b6001600160801b039081169091528151601380546020850151604090950151909316620100000262010000600160901b031960ff9586166101000261ffff199095169590931694909417929092171691909117905550505050565b5f610a56338484610ebc565b610d53611227565b600b805461ff001916610100179055565b610d6c611227565b610b033033610d7a30610b56565b610ebc565b610d87611227565b6014805460ff60a01b1916600160a01b8415150217905560035461271090610db0908390611c07565b610dba9190611c1e565b6015555050565b610dc9611227565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b610df3611227565b61271081600354610e049190611c07565b610e0e9190611c1e565b60065550565b610e1c611227565b6001600160a01b038116610e815760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109ed565b610b0381611280565b610e92611227565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b6017545f9060ff1615610edb57610ed48484846112cf565b9050610a56565b600b54610100900460ff16610f51576001600160a01b0384165f908152600c602052604090205460ff16610f515760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c65642079657400000000000000000060448201526064016109ed565b600b5460ff168015610f9457507f00000000000000000000000000f44eb2f3500e19f7b4b63c0348f43a3aa37ebc6001600160a01b0316846001600160a01b0316145b8015610fb857506001600160a01b0383165f908152600d602052604090205460ff16155b1561107e576006548211156110205760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016109ed565b6007548261102d85610b56565b6110379190611c64565b111561107e5760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b2399036b0bc2bb0b63632ba29b4bd329760511b60448201526064016109ed565b6110866113f3565b156110935761109361145f565b5f61109d83610b06565b6001600160a01b0386165f908152600860205260409020549091508111156110fe5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b60448201526064016109ed565b6001600160a01b0385165f90815260086020526040902054611121908290611bf4565b6001600160a01b0386165f908152600860205260408120919091556111468686611763565b611150578161119c565b61119c7f00000000000000000000000000f44eb2f3500e19f7b4b63c0348f43a3aa37ebc6001600160a01b0316876001600160a01b031614611192575f611195565b60015b87846117a7565b6001600160a01b0386165f908152600860205260409020549091506111c2908290611c64565b6001600160a01b038087165f8181526008602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61120a84610a8e565b60405190815260200160405180910390a350600195945050505050565b5f546001600160a01b03163314610b885760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109ed565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f806112da83610b06565b6001600160a01b0386165f9081526008602052604090205490915081111561133b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b60448201526064016109ed565b6001600160a01b0385165f9081526008602052604090205461135e908290611bf4565b6001600160a01b038087165f90815260086020526040808220939093559086168152205461138d908290611c64565b6001600160a01b038086165f8181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113e09087815260200190565b60405180910390a3506001949350505050565b5f336001600160a01b037f00000000000000000000000000f44eb2f3500e19f7b4b63c0348f43a3aa37ebc1614801590611430575060175460ff16155b80156114455750601454600160a01b900460ff165b8015610a89575060155461145830610b56565b1015905090565b6017805460ff191660011790556040805160608101825260135460ff818116835261010082041660208301526001600160801b036201000090910416918101919091525f6114ac30610b56565b601554909150808215806114be575080155b156114cc5750505050611757565b6016546015546114dc9190611c07565b8311156114f6576016546015546114f39190611c07565b92505b611514737a250d5630b4cf539739df2c5dacb4c659f2488d846108e9565b506040805160028082526060820183525f9260208301908036833701905050905030815f8151811061154857611548611c77565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115dc9190611c8b565b816001815181106115ef576115ef611c77565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906116469087905f90869030904290600401611ca6565b5f604051808303815f87803b15801561165d575f80fd5b505af115801561166f573d5f803e3d5ffd5b5050865160408801514793505f925061168b9160ff1690611d15565b6001600160801b031690505f81886020015160ff16846116ab9190611c07565b6116b59190611c1e565b6004546040519192505f916001600160a01b039091169083908381818185875af1925050503d805f8114611704576040519150601f19603f3d011682016040523d82523d5f602084013e611709565b606091505b505090508061174d5760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b60448201526064016109ed565b5050505050505050505b6017805460ff19169055565b6001600160a01b0382165f908152600c602052604081205460ff16158015610a565750506001600160a01b03165f908152600c602052604090205460ff1615919050565b604080516060808201835260125460ff808216845261010080830482166020808701919091526001600160801b036201000094859004811687890152875195860188526013548085168752928304909316908501529190910416928101929092525f918286151560011461183f57606482604001516001600160801b0316866118309190611c07565b61183a9190611c1e565b611864565b606483604001516001600160801b03168661185a9190611c07565b6118649190611c1e565b90505f6001881515146118a05782604001516001600160801b0316835f015160ff16836118919190611c07565b61189b9190611c1e565b6118ca565b83604001516001600160801b0316845f015160ff16836118c09190611c07565b6118ca9190611c1e565b9050806009546118da9190611bf4565b6009555f6118e88284611bf4565b9050801561196257305f9081526008602052604090205461190a908290611c64565b305f818152600860205260409020919091556001600160a01b0389167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61195084610a8e565b60405190815260200160405180910390a35b6009546040805184815260208101929092527fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac910160405180910390a16119a98388611bf4565b9998505050505050505050565b5f6020808352835180828501525f5b818110156119e1578581018301518582016040015282016119c5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b03575f80fd5b5f8060408385031215611a26575f80fd5b8235611a3181611a01565b946020939093013593505050565b5f60208284031215611a4f575f80fd5b8135610a5681611a01565b5f805f60608486031215611a6c575f80fd5b8335611a7781611a01565b92506020840135611a8781611a01565b929592945050506040919091013590565b5f60208284031215611aa8575f80fd5b5035919050565b80358015158114611abe575f80fd5b919050565b5f8060408385031215611ad4575f80fd5b8235611adf81611a01565b9150611aed60208401611aaf565b90509250929050565b803560ff81168114611abe575f80fd5b5f805f8060808587031215611b19575f80fd5b611b2285611af6565b9350611b3060208601611af6565b9250611b3e60408601611af6565b9150611b4c60608601611af6565b905092959194509250565b5f8060408385031215611b68575f80fd5b8235611b7381611a01565b91506020830135611b8381611a01565b809150509250929050565b5f8060408385031215611b9f575f80fd5b611a3183611aaf565b600181811c90821680611bbc57607f821691505b602082108103611bda57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561094f5761094f611be0565b808202811582820484141761094f5761094f611be0565b5f82611c3857634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160801b03818116838216019080821115611c5d57611c5d611be0565b5092915050565b8082018082111561094f5761094f611be0565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611c9b575f80fd5b8151610a5681611a01565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611cf45784516001600160a01b031683529383019391830191600101611ccf565b50506001600160a01b03969096166060850152505050608001529392505050565b6001600160801b03828116828216039080821115611c5d57611c5d611be056fea264697066735822122099cce96237b20b7c22bb7be9cd4b294eec05e113267597e493d7e764f6d62e9f64736f6c63430008140033

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

000000000000000000000000c11818e1565f9dd0097381350d3783129a31074c00000000000000000000000011f235ac1906cdf0c602bf14bceb648fb5618d7e0000000000000000000000001193b9f73393e85293301af617d02f1426acf634

-----Decoded View---------------
Arg [0] : _devWallet (address): 0xc11818E1565F9Dd0097381350d3783129a31074c
Arg [1] : _marketingWallet (address): 0x11f235aC1906cDF0C602BF14BcEB648FB5618d7E
Arg [2] : _partnershipWallet (address): 0x1193b9F73393e85293301af617D02F1426aCF634

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000c11818e1565f9dd0097381350d3783129a31074c
Arg [1] : 00000000000000000000000011f235ac1906cdf0c602bf14bceb648fb5618d7e
Arg [2] : 0000000000000000000000001193b9f73393e85293301af617d02f1426acf634


Deployed Bytecode Sourcemap

12789:11959:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14455:57;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;14455:57:0;;;;;;;;18052:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;16534:216::-;;;;;;;;;;-1:-1:-1;16534:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;16534:216:0;1205:187:1;13706:42:0;;;;;;;;;;-1:-1:-1;13706:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;13755:46;;;;;;;;;;;;;;;;17856:102;;;;;;;;;;-1:-1:-1;17938:12:0;;17856:102;;17405:441;;;;;;;;;;-1:-1:-1;17405:441:0;;;;;:::i;:::-;;:::i;18848:136::-;;;;;;;;;;;;;:::i;14358:18::-;;;;;;;;;;-1:-1:-1;14358:18:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14358:18:0;;;;;;;2334:4:1;2322:17;;;2304:36;;2376:17;;;;2371:2;2356:18;;2349:45;-1:-1:-1;;;;;2430:47:1;2410:18;;;2403:75;2292:2;2277:18;14358::0;2110:374:1;14116:67:0;;;;;;;;;;-1:-1:-1;14116:67:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14116:67:0;;;18691:149;;;;;;;;;;-1:-1:-1;18691:149:0;;;;;:::i;:::-;;:::i;17966:78::-;;;;;;;;;;-1:-1:-1;17966:78:0;;18034:2;2816:36:1;;2804:2;2789:18;17966:78:0;2674:184:1;14043:66:0;;;;;;;;;;-1:-1:-1;14043:66:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14043:66:0;;;13878:32;;;;;;;;;;-1:-1:-1;13878:32:0;;;;;;;;18994:170;;;;;;;;;;;;;:::i;:::-;;18543:140;;;;;;;;;;-1:-1:-1;18543:140:0;;;;;:::i;:::-;;:::i;14334:17::-;;;;;;;;;;-1:-1:-1;14334:17:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14334:17:0;;;16758:122;;;;;;;;;;-1:-1:-1;16758:122:0;;;;;:::i;:::-;;:::i;19635:119::-;;;;;;;;;;-1:-1:-1;19635:119:0;;;;;:::i;:::-;;:::i;18242:138::-;;;;;;;;;;-1:-1:-1;18242:138:0;;;;;:::i;:::-;;:::i;11759:103::-;;;;;;;;;;;;;:::i;20126:147::-;;;;;;;;;;;;;:::i;14528:36::-;;;;;;;;;;;;;;;;13580:54;;;;;;;;;;;;;;;;19499:128;;;;;;;;;;-1:-1:-1;19499:128:0;;;;;:::i;:::-;;:::i;11519:87::-;;;;;;;;;;-1:-1:-1;11565:7:0;11592:6;-1:-1:-1;;;;;11592:6:0;11519:87;;;-1:-1:-1;;;;;3512:32:1;;;3494:51;;3482:2;3467:18;11519:87:0;3348:203:1;13641:57:0;;;;;;;;;;;;;;;;18145:89;;;;;;;;;;;;;:::i;17050:347::-;;;;;;;;;;-1:-1:-1;17050:347:0;;;;;:::i;:::-;;:::i;13082:126::-;;;;;;;;;;;;13165:42;13082:126;;16888:156;;;;;;;;;;-1:-1:-1;16888:156:0;;;;;:::i;:::-;;:::i;14417:31::-;;;;;;;;;;-1:-1:-1;14417:31:0;;;;-1:-1:-1;;;14417:31:0;;;;;;20281:75;;;;;;;;;;;;;:::i;19172:131::-;;;;;;;;;;;;;:::i;18388:147::-;;;;;;;;;;-1:-1:-1;18388:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;18499:19:0;;;18472:7;18499:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;18388:147;19311:182;;;;;;;;;;-1:-1:-1;19311:182:0;;;;;:::i;:::-;;:::i;19897:95::-;;;;;;;;;;-1:-1:-1;19897:95:0;;;;;:::i;:::-;;:::i;20000:118::-;;;;;;;;;;-1:-1:-1;20000:118:0;;;;;:::i;:::-;;:::i;14261:66::-;;;;;;;;;;-1:-1:-1;14261:66:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14261:66:0;;;14190:64;;;;;;;;;;-1:-1:-1;14190:64:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14190:64:0;;;13917:27;;;;;;;;;;-1:-1:-1;13917:27:0;;;;;;;;;;;11870:201;;;;;;;;;;-1:-1:-1;11870:201:0;;;;;:::i;:::-;;:::i;13215:40::-;;;;;;;;;;;;;;;19762:127;;;;;;;;;;-1:-1:-1;19762:127:0;;;;;:::i;:::-;;:::i;18052:85::-;18091:13;18124:5;18117:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18052:85;:::o;16534:216::-;16638:10;16609:4;16626:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;16626:32:0;;;;;;;;;;:41;;;16683:37;16609:4;;16626:32;;16683:37;;;;16661:6;160:25:1;;148:2;133:18;;14:177;16683:37:0;;;;;;;;-1:-1:-1;16738:4:0;16534:216;;;;;:::o;17405:441::-;-1:-1:-1;;;;;17526:19:0;;17505:4;17526:19;;;:11;:19;;;;;;;;17546:10;17526:31;;;;;;;;-1:-1:-1;;17526:52:0;17522:257;;-1:-1:-1;;;;;17603:19:0;;;;;;:11;:19;;;;;;;;17623:10;17603:31;;;;;;;;:41;-1:-1:-1;17603:41:0;17595:83;;;;-1:-1:-1;;;17595:83:0;;5582:2:1;17595:83:0;;;5564:21:1;5621:2;5601:18;;;5594:30;5660:31;5640:18;;;5633:59;5709:18;;17595:83:0;;;;;;;;;-1:-1:-1;;;;;17727:19:0;;;;;;:11;:19;;;;;;;;17747:10;17727:31;;;;;;;;:40;;17761:6;;17727:40;:::i;:::-;-1:-1:-1;;;;;17693:19:0;;;;;;:11;:19;;;;;;;;17713:10;17693:31;;;;;;;:74;17522:257;17798:40;17812:6;17820:9;17831:6;17798:13;:40::i;:::-;17791:47;;17405:441;;;;;;:::o;18848:136::-;18901:7;18961:15;13031:42;18961:9;:15::i;:::-;18943;12958:42;18943:9;:15::i;:::-;18928:12;;:30;;;;:::i;:::-;:48;;;;:::i;:::-;18921:55;;18848:136;:::o;18691:149::-;18761:7;18816:16;;18801:12;;18788:10;:25;;;;:::i;:::-;:44;;;;:::i;18994:170::-;11474:13;:11;:13::i;:::-;19071:58:::1;::::0;19054:12:::1;::::0;19079:10:::1;::::0;19103:21:::1;::::0;19054:12;19071:58;19054:12;19071:58;19103:21;19079:10;19071:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19053:76;;;19148:7;19140:16;;;::::0;::::1;;19042:122;18994:170::o:0;18543:140::-;18608:7;18663:12;;18644:16;;18635:6;:25;;;;:::i;16758:122::-;16813:4;16837:35;16845:7;-1:-1:-1;;16837:7:0;:35::i;19635:119::-;11474:13;:11;:13::i;:::-;-1:-1:-1;;;;;19718:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;19718:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19635:119::o;18242:138::-;-1:-1:-1;;;;;18355:16:0;;18308:7;18355:16;;;:7;:16;;;;;;18335:37;;:19;:37::i;11759:103::-;11474:13;:11;:13::i;:::-;11824:30:::1;11851:1;11824:18;:30::i;:::-;11759:103::o:0;20126:147::-;11474:13;:11;:13::i;:::-;20180::::1;:21:::0;;-1:-1:-1;;20180:21:0::1;::::0;;20221:11:::1;20212:20:::0;:6:::1;:20:::0;;20180:21:::1;20212:20:::0;;::::1;-1:-1:-1::0;;20212:20:0;;;;20180:21:::1;20212:20:::0;;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;-1:-1:-1::0;;;;;;20212:20:0;;::::1;::::0;;;;::::1;-1:-1:-1::0;;;;;20212:20:0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;20253:12:::1;20243:22:::0;:7:::1;:22:::0;;;;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;;::::0;;20126:147::o;19499:128::-;11474:13;:11;:13::i;:::-;19583:16:::1;:36:::0;19499:128::o;18145:89::-;18186:13;18219:7;18212:14;;;;;:::i;17050:347::-;11474:13;:11;:13::i;:::-;17176:94:::1;;;;;;;;17193:13;17176:94;;;;;;17213:6;17176:94;;;;;;17261:6;17253:15;;17236:13;17228:22;;:40;;;;:::i;:::-;-1:-1:-1::0;;;;;17176:94:0;;::::1;::::0;;;17167:103;;:6:::1;:103:::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;17167:103:0::1;::::0;;::::1;;;-1:-1:-1::0;;17167:103:0;;;;;::::1;::::0;;;;;;;::::1;::::0;;;::::1;;::::0;;17291:98;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;;;;;;;17345:42:::1;::::0;17291:98;17345:42:::1;:::i;:::-;-1:-1:-1::0;;;;;17291:98:0;;::::1;::::0;;;17281:108;;:7:::1;:108:::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;17281:108:0::1;::::0;;::::1;;;-1:-1:-1::0;;17281:108:0;;;;;;::::1;::::0;;;;;;;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;;;;17050:347:0:o;16888:156::-;16968:4;16992:44;17006:10;17018:9;17029:6;16992:13;:44::i;20281:75::-;11474:13;:11;:13::i;:::-;20334:7:::1;:14:::0;;-1:-1:-1;;20334:14:0::1;;;::::0;;20281:75::o;19172:131::-;11474:13;:11;:13::i;:::-;19229:66:::1;19251:4;19258:10;19270:24;19288:4;19270:9;:24::i;:::-;19229:13;:66::i;19311:182::-:0;11474:13;:11;:13::i;:::-;19402:12:::1;:23:::0;;-1:-1:-1;;;;19402:23:0::1;-1:-1:-1::0;;;19402:23:0;::::1;;;;::::0;;19454:12:::1;::::0;19480:5:::1;::::0;19454:22:::1;::::0;19469:7;;19454:22:::1;:::i;:::-;19453:32;;;;:::i;:::-;19436:13;:49:::0;-1:-1:-1;;19311:182:0:o;19897:95::-;11474:13;:11;:13::i;:::-;19964:15:::1;:20:::0;;-1:-1:-1;;;;;;19964:20:0::1;-1:-1:-1::0;;;;;19964:20:0;;;::::1;::::0;;;::::1;::::0;;19897:95::o;20000:118::-;11474:13;:11;:13::i;:::-;20105:5:::1;20100:2;20085:12;;:17;;;;:::i;:::-;:25;;;;:::i;:::-;20070:12;:40:::0;-1:-1:-1;20000:118:0:o;11870:201::-;11474:13;:11;:13::i;:::-;-1:-1:-1;;;;;11959:22:0;::::1;11951:73;;;::::0;-1:-1:-1;;;11951:73:0;;7012:2:1;11951:73:0::1;::::0;::::1;6994:21:1::0;7051:2;7031:18;;;7024:30;7090:34;7070:18;;;7063:62;-1:-1:-1;;;7141:18:1;;;7134:36;7187:19;;11951:73:0::1;6810:402:1::0;11951:73:0::1;12035:28;12054:8;12035:18;:28::i;19762:127::-:0;11474:13;:11;:13::i;:::-;-1:-1:-1;;;;;19849:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;19849:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19762:127::o;20367:1269::-;20480:6;;20459:4;;20480:6;;20476:87;;;20510:41;20525:6;20533:9;20544:6;20510:14;:41::i;:::-;20503:48;;;;20476:87;20578:7;;;;;;;20573:96;;-1:-1:-1;;;;;20610:19:0;;;;;;:11;:19;;;;;;;;20602:55;;;;-1:-1:-1;;;20602:55:0;;7419:2:1;20602:55:0;;;7401:21:1;7458:2;7438:18;;;7431:30;7497:25;7477:18;;;7470:53;7540:18;;20602:55:0;7217:347:1;20602:55:0;20683:13;;;;:42;;;;;20710:15;-1:-1:-1;;;;;20700:25:0;:6;-1:-1:-1;;;;;20700:25:0;;20683:42;:73;;;;-1:-1:-1;;;;;;20730:26:0;;;;;;:15;:26;;;;;;;;20729:27;20683:73;20679:286;;;20791:12;;20781:6;:22;;20773:75;;;;-1:-1:-1;;;20773:75:0;;7771:2:1;20773:75:0;;;7753:21:1;7810:2;7790:18;;;7783:30;7849:34;7829:18;;;7822:62;-1:-1:-1;;;7900:18:1;;;7893:38;7948:19;;20773:75:0;7569:404:1;20773:75:0;20908:14;;20898:6;20875:20;20885:9;20875;:20::i;:::-;:29;;;;:::i;:::-;:47;;20867:82;;;;-1:-1:-1;;;20867:82:0;;8310:2:1;20867:82:0;;;8292:21:1;8349:2;8329:18;;;8322:30;-1:-1:-1;;;8368:18:1;;;8361:52;8430:18;;20867:82:0;8108:346:1;20867:82:0;20979:17;:15;:17::i;:::-;20975:61;;;21013:11;:9;:11::i;:::-;21048:24;21075:26;21094:6;21075:18;:26::i;:::-;-1:-1:-1;;;;;21120:15:0;;;;;;:7;:15;;;;;;21048:53;;-1:-1:-1;21120:35:0;-1:-1:-1;21120:35:0;21112:68;;;;-1:-1:-1;;;21112:68:0;;8661:2:1;21112:68:0;;;8643:21:1;8700:2;8680:18;;;8673:30;-1:-1:-1;;;8719:18:1;;;8712:50;8779:18;;21112:68:0;8459:344:1;21112:68:0;-1:-1:-1;;;;;21209:15:0;;;;;;:7;:15;;;;;;:34;;21227:16;;21209:34;:::i;:::-;-1:-1:-1;;;;;21191:15:0;;;;;;:7;:15;;;;;:52;;;;21287:33;21199:6;21310:9;21287:14;:33::i;:::-;:162;;21433:16;21287:162;;;21332:89;21364:15;-1:-1:-1;;;;;21354:25:0;:6;-1:-1:-1;;;;;21354:25:0;;:40;;21389:5;21354:40;;;21382:4;21354:40;21396:6;21404:16;21332:21;:89::i;:::-;-1:-1:-1;;;;;21481:18:0;;;;;;:7;:18;;;;;;21258:191;;-1:-1:-1;21481:39:0;;21258:191;;21481:39;:::i;:::-;-1:-1:-1;;;;;21460:18:0;;;;;;;:7;:18;;;;;:60;;;;21538:68;;;21566:39;21586:18;21566:19;:39::i;:::-;21538:68;;160:25:1;;;148:2;133:18;21538:68:0;;;;;;;-1:-1:-1;21624:4:0;;20367:1269;-1:-1:-1;;;;;20367:1269:0:o;11616:132::-;11565:7;11592:6;-1:-1:-1;;;;;11592:6:0;5832:10;11680:23;11672:68;;;;-1:-1:-1;;;11672:68:0;;9010:2:1;11672:68:0;;;8992:21:1;;;9029:18;;;9022:30;9088:34;9068:18;;;9061:62;9140:18;;11672:68:0;8808:356:1;12084:191:0;12158:16;12177:6;;-1:-1:-1;;;;;12194:17:0;;;-1:-1:-1;;;;;;12194:17:0;;;;;;12227:40;;12177:6;;;;;;;12227:40;;12158:16;12227:40;12147:128;12084:191;:::o;21645:455::-;21738:4;21755:24;21782:26;21801:6;21782:18;:26::i;:::-;-1:-1:-1;;;;;21827:15:0;;;;;;:7;:15;;;;;;21755:53;;-1:-1:-1;21827:35:0;-1:-1:-1;21827:35:0;21819:68;;;;-1:-1:-1;;;21819:68:0;;8661:2:1;21819:68:0;;;8643:21:1;8700:2;8680:18;;;8673:30;-1:-1:-1;;;8719:18:1;;;8712:50;8779:18;;21819:68:0;8459:344:1;21819:68:0;-1:-1:-1;;;;;21916:15:0;;;;;;:7;:15;;;;;;:34;;21934:16;;21916:34;:::i;:::-;-1:-1:-1;;;;;21898:15:0;;;;;;;:7;:15;;;;;;:52;;;;21982:18;;;;;;;:37;;22003:16;;21982:37;:::i;:::-;-1:-1:-1;;;;;21961:18:0;;;;;;;:7;:18;;;;;;;:58;;;;22035:35;;;;;;;;;;22063:6;160:25:1;;148:2;133:18;;14:177;22035:35:0;;;;;;;;-1:-1:-1;22088:4:0;;21645:455;-1:-1:-1;;;;21645:455:0:o;23206:183::-;23256:4;23280:10;-1:-1:-1;;;;;23294:15:0;23280:29;;;;;:40;;-1:-1:-1;23314:6:0;;;;23313:7;23280:40;:56;;;;-1:-1:-1;23324:12:0;;-1:-1:-1;;;23324:12:0;;;;23280:56;:101;;;;;23368:13;;23340:24;23358:4;23340:9;:24::i;:::-;:41;;23273:108;;23206:183;:::o;23397:1179::-;14622:6;:13;;-1:-1:-1;;14622:13:0;14631:4;14622:13;;;23447:30:::1;::::0;;::::1;::::0;::::1;::::0;;23470:7:::1;23447:30:::0;14622:13;23447:30;;::::1;::::0;;14622:13;23447:30;::::1;;;::::0;::::1;::::0;-1:-1:-1;;;;;23447:30:0;;;::::1;;::::0;;;;;;;14622:6;23514:24:::1;23532:4;23514:9;:24::i;:::-;23575:13;::::0;23488:50;;-1:-1:-1;23575:13:0;23654:20;;;:41:::1;;-1:-1:-1::0;23678:17:0;;23654:41:::1;23650:80;;;23712:7;;;;;;23650:80;23780:16;;23764:13;;:32;;;;:::i;:::-;23746:15;:50;23742:133;;;23847:16;;23831:13;;:32;;;;:::i;:::-;23813:50;;23742:133;23885:52;13165:42;23921:15;23885:7;:52::i;:::-;-1:-1:-1::0;23976:16:0::1;::::0;;23990:1:::1;23976:16:::0;;;;;::::1;::::0;;23952:21:::1;::::0;23976:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;23976:16:0::1;23952:40;;24021:4;24003;24008:1;24003:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;24003:23:0::1;;;-1:-1:-1::0;;;;;24003:23:0::1;;;::::0;::::1;13165:42;-1:-1:-1::0;;;;;24047:22:0::1;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24037:4;24042:1;24037:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24037:34:0;;::::1;:7;::::0;;::::1;::::0;;;;;;;:34;24084:150:::1;::::0;-1:-1:-1;;;24084:150:0;;13165:42:::1;::::0;24084:68:::1;::::0;:150:::1;::::0;24167:15;;24184:1:::1;::::0;24187:4;;24201::::1;::::0;24208:15:::1;::::0;24084:150:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;24342:20:0;;24324:15:::1;::::0;::::1;::::0;24267:21:::1;::::0;-1:-1:-1;24247:17:0::1;::::0;-1:-1:-1;24324:38:0::1;::::0;::::1;;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;;;24301:61:0::1;;;24373:15;24419:12;24403:9;:13;;;24391:25;;:9;:25;;;;:::i;:::-;:40;;;;:::i;:::-;24475:15;::::0;24467:49:::1;::::0;24373:58;;-1:-1:-1;24447:15:0::1;::::0;-1:-1:-1;;;;;24475:15:0;;::::1;::::0;24373:58;;24447:15;24467:49;24447:15;24467:49;24373:58;24475:15;24467:49:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24446:70;;;24535:10;24527:39;;;::::0;-1:-1:-1;;;24527:39:0;;11081:2:1;24527:39:0::1;::::0;::::1;11063:21:1::0;11120:2;11100:18;;;11093:30;-1:-1:-1;;;11139:18:1;;;11132:46;11195:18;;24527:39:0::1;10879:340:1::0;24527:39:0::1;23436:1140;;;;;;;;;14646:1;14658:6:::0;:14;;-1:-1:-1;;14658:14:0;;;23397:1179::o;24584:161::-;-1:-1:-1;;;;;24691:19:0;;24666:4;24691:19;;;:11;:19;;;;;;;;24690:20;:47;;;;-1:-1:-1;;;;;;;24715:22:0;;;;;:11;:22;;;;;;;;24714:23;;24584:161;-1:-1:-1;24584:161:0:o;22114:1084::-;22238:28;;;;;;;;;22260:6;22238:28;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22238:28:0;;;;;;;;;;;22277:30;;;;;;;22300:7;22277:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;22218:7;;;22363:14;;;22238:28;22363:14;:99;;22459:3;22441:9;:15;;;-1:-1:-1;;;;;22422:34:0;:16;:34;;;;:::i;:::-;:40;;;;:::i;:::-;22363:99;;;22416:3;22399:8;:14;;;-1:-1:-1;;;;;22380:33:0;:16;:33;;;;:::i;:::-;:39;;;;:::i;:::-;22320:142;-1:-1:-1;22477:27:0;22517:4;22507:14;;;;:164;;22656:9;:15;;;-1:-1:-1;;;;;22611:60:0;22633:9;:20;;;22611:42;;:19;:42;;;;:::i;:::-;:60;;;;:::i;:::-;22507:164;;;22581:8;:14;;;-1:-1:-1;;;;;22537:58:0;22559:8;:19;;;22537:41;;:19;:41;;;;:::i;:::-;:58;;;;:::i;:::-;22477:194;;22722:19;22703:16;;:38;;;;:::i;:::-;22684:16;:57;22763:29;22795:41;22817:19;22795;:41;:::i;:::-;22763:73;-1:-1:-1;22851:25:0;;22847:226;;22934:4;22918:22;;;;:7;:22;;;;;;:46;;22943:21;;22918:46;:::i;:::-;22909:4;22893:22;;;;:7;:22;;;;;:71;;;;-1:-1:-1;;;;;22986:75:0;;;23018:42;23038:21;23018:19;:42::i;:::-;22986:75;;160:25:1;;;148:2;133:18;22986:75:0;;;;;;;22847:226;23117:16;;23088:46;;;11398:25:1;;;11454:2;11439:18;;11432:34;;;;23088:46:0;;11371:18:1;23088:46:0;;;;;;;23152:38;23171:19;23152:16;:38;:::i;:::-;23145:45;22114:1084;-1:-1:-1;;;;;;;;;22114:1084:0:o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:247::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;1564:9;1551:23;1583:31;1608:5;1583:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;2489:180::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;-1:-1:-1;2640:23:1;;2489:180;-1:-1:-1;2489:180:1:o;2863:160::-;2928:20;;2984:13;;2977:21;2967:32;;2957:60;;3013:1;3010;3003:12;2957:60;2863:160;;;:::o;3028:315::-;3093:6;3101;3154:2;3142:9;3133:7;3129:23;3125:32;3122:52;;;3170:1;3167;3160:12;3122:52;3209:9;3196:23;3228:31;3253:5;3228:31;:::i;:::-;3278:5;-1:-1:-1;3302:35:1;3333:2;3318:18;;3302:35;:::i;:::-;3292:45;;3028:315;;;;;:::o;3556:156::-;3622:20;;3682:4;3671:16;;3661:27;;3651:55;;3702:1;3699;3692:12;3717:393;3795:6;3803;3811;3819;3872:3;3860:9;3851:7;3847:23;3843:33;3840:53;;;3889:1;3886;3879:12;3840:53;3912:27;3929:9;3912:27;:::i;:::-;3902:37;;3958:36;3990:2;3979:9;3975:18;3958:36;:::i;:::-;3948:46;;4013:36;4045:2;4034:9;4030:18;4013:36;:::i;:::-;4003:46;;4068:36;4100:2;4089:9;4085:18;4068:36;:::i;:::-;4058:46;;3717:393;;;;;;;:::o;4349:388::-;4417:6;4425;4478:2;4466:9;4457:7;4453:23;4449:32;4446:52;;;4494:1;4491;4484:12;4446:52;4533:9;4520:23;4552:31;4577:5;4552:31;:::i;:::-;4602:5;-1:-1:-1;4659:2:1;4644:18;;4631:32;4672:33;4631:32;4672:33;:::i;:::-;4724:7;4714:17;;;4349:388;;;;;:::o;4742:248::-;4807:6;4815;4868:2;4856:9;4847:7;4843:23;4839:32;4836:52;;;4884:1;4881;4874:12;4836:52;4907:26;4923:9;4907:26;:::i;4995:380::-;5074:1;5070:12;;;;5117;;;5138:61;;5192:4;5184:6;5180:17;5170:27;;5138:61;5245:2;5237:6;5234:14;5214:18;5211:38;5208:161;;5291:10;5286:3;5282:20;5279:1;5272:31;5326:4;5323:1;5316:15;5354:4;5351:1;5344:15;5208:161;;4995:380;;;:::o;5738:127::-;5799:10;5794:3;5790:20;5787:1;5780:31;5830:4;5827:1;5820:15;5854:4;5851:1;5844:15;5870:128;5937:9;;;5958:11;;;5955:37;;;5972:18;;:::i;6003:168::-;6076:9;;;6107;;6124:15;;;6118:22;;6104:37;6094:71;;6145:18;;:::i;6176:217::-;6216:1;6242;6232:132;;6286:10;6281:3;6277:20;6274:1;6267:31;6321:4;6318:1;6311:15;6349:4;6346:1;6339:15;6232:132;-1:-1:-1;6378:9:1;;6176:217::o;6608:197::-;-1:-1:-1;;;;;6730:10:1;;;6742;;;6726:27;;6765:11;;;6762:37;;;6779:18;;:::i;:::-;6762:37;6608:197;;;;:::o;7978:125::-;8043:9;;;8064:10;;;8061:36;;;8077:18;;:::i;9301:127::-;9362:10;9357:3;9353:20;9350:1;9343:31;9393:4;9390:1;9383:15;9417:4;9414:1;9407:15;9433:251;9503:6;9556:2;9544:9;9535:7;9531:23;9527:32;9524:52;;;9572:1;9569;9562:12;9524:52;9604:9;9598:16;9623:31;9648:5;9623:31;:::i;9689:980::-;9951:4;9999:3;9988:9;9984:19;10030:6;10019:9;10012:25;10056:2;10094:6;10089:2;10078:9;10074:18;10067:34;10137:3;10132:2;10121:9;10117:18;10110:31;10161:6;10196;10190:13;10227:6;10219;10212:22;10265:3;10254:9;10250:19;10243:26;;10304:2;10296:6;10292:15;10278:29;;10325:1;10335:195;10349:6;10346:1;10343:13;10335:195;;;10414:13;;-1:-1:-1;;;;;10410:39:1;10398:52;;10505:15;;;;10470:12;;;;10446:1;10364:9;10335:195;;;-1:-1:-1;;;;;;;10586:32:1;;;;10581:2;10566:18;;10559:60;-1:-1:-1;;;10650:3:1;10635:19;10628:35;10547:3;9689:980;-1:-1:-1;;;9689:980:1:o;10674:200::-;-1:-1:-1;;;;;10810:10:1;;;10798;;;10794:27;;10833:12;;;10830:38;;;10848:18;;:::i

Swarm Source

ipfs://99cce96237b20b7c22bb7be9cd4b294eec05e113267597e493d7e764f6d62e9f

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Empowering creators and developers with the essential tools for gaming, virtual reality, artificial intelligence and machine learning. Deflationary token rewards users.

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.