ETH Price: $3,516.42 (+4.83%)

Contract

0xCF299bd11ceCeEEd13E0c6d155E70240de11E059
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve195309962024-03-28 7:02:35267 days ago1711609355IN
0xCF299bd1...0de11E059
0 ETH0.0005258621.70019073
Transfer179920692023-08-25 13:40:59483 days ago1692970859IN
0xCF299bd1...0de11E059
0 ETH0.0023164827.58410791
Approve179918242023-08-25 12:51:59483 days ago1692967919IN
0xCF299bd1...0de11E059
0 ETH0.0008930219.1731476
Approve179918232023-08-25 12:51:47483 days ago1692967907IN
0xCF299bd1...0de11E059
0 ETH0.0007966117.20964117
Approve179918132023-08-25 12:49:47483 days ago1692967787IN
0xCF299bd1...0de11E059
0 ETH0.000955420.53883675
Approve179917632023-08-25 12:39:35483 days ago1692967175IN
0xCF299bd1...0de11E059
0 ETH0.0009012319.37432841
Approve179917542023-08-25 12:37:47483 days ago1692967067IN
0xCF299bd1...0de11E059
0 ETH0.0009019419.38951448
Approve179917352023-08-25 12:33:59483 days ago1692966839IN
0xCF299bd1...0de11E059
0 ETH0.0010009921.65866328
Approve179917072023-08-25 12:28:11483 days ago1692966491IN
0xCF299bd1...0de11E059
0 ETH0.0009292119.95
Approve179917032023-08-25 12:27:23483 days ago1692966443IN
0xCF299bd1...0de11E059
0 ETH0.0009280119.95
Approve179916932023-08-25 12:25:23483 days ago1692966323IN
0xCF299bd1...0de11E059
0 ETH0.0009150819.67215138
Approve179916772023-08-25 12:22:11483 days ago1692966131IN
0xCF299bd1...0de11E059
0 ETH0.0009623920.68919337
Approve179916682023-08-25 12:20:23483 days ago1692966023IN
0xCF299bd1...0de11E059
0 ETH0.0009427820.26757666
Approve179916662023-08-25 12:19:59483 days ago1692965999IN
0xCF299bd1...0de11E059
0 ETH0.0008307617.97537598
Approve179916332023-08-25 12:13:23483 days ago1692965603IN
0xCF299bd1...0de11E059
0 ETH0.0011001123.6192423
Approve179916182023-08-25 12:10:23483 days ago1692965423IN
0xCF299bd1...0de11E059
0 ETH0.0010378422.28239804
Approve179916152023-08-25 12:09:35483 days ago1692965375IN
0xCF299bd1...0de11E059
0 ETH0.0009619520.65305724
Approve179916072023-08-25 12:07:59483 days ago1692965279IN
0xCF299bd1...0de11E059
0 ETH0.0008968619.28040467
Transfer179916042023-08-25 12:07:23483 days ago1692965243IN
0xCF299bd1...0de11E059
0 ETH0.0014571319.9380654
Approve179915962023-08-25 12:05:47483 days ago1692965147IN
0xCF299bd1...0de11E059
0 ETH0.0008882119.06985138
Approve179915852023-08-25 12:03:35483 days ago1692965015IN
0xCF299bd1...0de11E059
0 ETH0.0010054321.58655834
Approve179915842023-08-25 12:03:23483 days ago1692965003IN
0xCF299bd1...0de11E059
0 ETH0.0009033119.41912039
Transfer179915812023-08-25 12:02:47483 days ago1692964967IN
0xCF299bd1...0de11E059
0 ETH0.000882117.79550701
Approve179915452023-08-25 11:55:35483 days ago1692964535IN
0xCF299bd1...0de11E059
0 ETH0.0007469816.16248082
Approve179915452023-08-25 11:55:35483 days ago1692964535IN
0xCF299bd1...0de11E059
0 ETH0.0008878719.06248082
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
179917642023-08-25 12:39:47483 days ago1692967187
0xCF299bd1...0de11E059
0.1631929 ETH
179917642023-08-25 12:39:47483 days ago1692967187
0xCF299bd1...0de11E059
0.1631929 ETH
179917632023-08-25 12:39:35483 days ago1692967175
0xCF299bd1...0de11E059
0.1631929 ETH
179917632023-08-25 12:39:35483 days ago1692967175
0xCF299bd1...0de11E059
0.1631929 ETH
179915372023-08-25 11:53:47483 days ago1692964427
0xCF299bd1...0de11E059
0.0481152 ETH
179915372023-08-25 11:53:47483 days ago1692964427
0xCF299bd1...0de11E059
0.0481152 ETH
179914932023-08-25 11:44:59483 days ago1692963899
0xCF299bd1...0de11E059
0.05018133 ETH
179914932023-08-25 11:44:59483 days ago1692963899
0xCF299bd1...0de11E059
0.05018133 ETH
179914552023-08-25 11:37:23483 days ago1692963443
0xCF299bd1...0de11E059
0.05493409 ETH
179914552023-08-25 11:37:23483 days ago1692963443
0xCF299bd1...0de11E059
0.05493409 ETH
179914492023-08-25 11:36:11483 days ago1692963371
0xCF299bd1...0de11E059
0.04839845 ETH
179914492023-08-25 11:36:11483 days ago1692963371
0xCF299bd1...0de11E059
0.04839845 ETH
179914442023-08-25 11:35:11483 days ago1692963311
0xCF299bd1...0de11E059
0.04513081 ETH
179914442023-08-25 11:35:11483 days ago1692963311
0xCF299bd1...0de11E059
0.04513081 ETH
179914412023-08-25 11:34:35483 days ago1692963275
0xCF299bd1...0de11E059
0.05148648 ETH
179914412023-08-25 11:34:35483 days ago1692963275
0xCF299bd1...0de11E059
0.05148648 ETH
179914282023-08-25 11:31:59483 days ago1692963119
0xCF299bd1...0de11E059
0.04549771 ETH
179914282023-08-25 11:31:59483 days ago1692963119
0xCF299bd1...0de11E059
0.04549771 ETH
179914262023-08-25 11:31:35483 days ago1692963095
0xCF299bd1...0de11E059
0.06078159 ETH
179914262023-08-25 11:31:35483 days ago1692963095
0xCF299bd1...0de11E059
0.06078159 ETH
179914242023-08-25 11:31:11483 days ago1692963071
0xCF299bd1...0de11E059
0.03539279 ETH
179914242023-08-25 11:31:11483 days ago1692963071
0xCF299bd1...0de11E059
0.03539279 ETH
179914232023-08-25 11:30:59483 days ago1692963059
0xCF299bd1...0de11E059
0.03740897 ETH
179914232023-08-25 11:30:59483 days ago1692963059
0xCF299bd1...0de11E059
0.03740897 ETH
179914222023-08-25 11:30:47483 days ago1692963047
0xCF299bd1...0de11E059
0.03869572 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AQUA

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*
IT IS TIME TO EMBARK!

Aqua Farm is the lovely ocean adventure RPG based on blockchain technology with a Play-to-Earn (P2E) structure and Non-Fungible Token (NFT) assets. Players take a journey together with Aree, the ocean fairy, by boarding the Guardian to take back the PODO (Power of Deep Ocean), the source of peace that was stolen by the invaders who threatened the peace of Aqua World.

Website: https://www.aquafarm.space
Telegram: https://t.me/aquafarm_eth
Twitter: https://twitter.com/aquafarm_erc
*/

pragma solidity 0.8.21;

interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}
abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}
interface IUniswapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}
interface IUniswapFactory{
    function createPair(address tokenA, address tokenB) external returns (address pairAddress);
}
contract AQUA is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = unicode"AQUA FARM";
    string private constant _symbol = unicode"AQUA";
    uint8 private constant _decimals = 9;
    uint256 private _tSupply = 10 ** 9 * (10 ** _decimals);
    
    IUniswapRouter uniRouter;
    address public pairAddress;
    bool private openedTrading = false;
    bool private swapActivated = true;
    uint256 private numSwaps;
    bool private swapping;
    uint256 swapAfter;
    uint256 private swapInterval = ( _tSupply * 1000 ) / 100000;
    uint256 private swapAt = ( _tSupply * 10 ) / 100000;
    modifier lockSwap {swapping = true; _; swapping = false;}
    uint256 private dynamicLpFee = 0;
    uint256 private marketingFee = 0;
    uint256 private developFee = 100;
    uint256 private burningFee = 0;
    uint256 private buyTax = 3500;
    uint256 private sellTax = 3500;
    uint256 private transferTax = 3500;
    uint256 private denominator = 10000;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal devWallet = 0x4DC82D3E37ac74B422fbB1b9877c894aDeb6E356; 
    address internal marketWallet = 0x4DC82D3E37ac74B422fbB1b9877c894aDeb6E356;
    address internal lpWallet = 0x4DC82D3E37ac74B422fbB1b9877c894aDeb6E356;
    uint256 public _maxTransaction = ( _tSupply * 300 ) / 10000;
    uint256 public _maxTransfer = ( _tSupply * 300 ) / 10000;
    uint256 public _maxWallet = ( _tSupply * 300 ) / 10000;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isExcludedFromTax;

    constructor() Ownable(msg.sender) {
        IUniswapRouter _router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IUniswapFactory(_router.factory()).createPair(address(this), _router.WETH());
        uniRouter = _router; pairAddress = _pair;
        isExcludedFromTax[address(this)] = true;
        isExcludedFromTax[lpWallet] = true;
        isExcludedFromTax[marketWallet] = true;
        isExcludedFromTax[devWallet] = true;
        isExcludedFromTax[msg.sender] = true;
        _balances[msg.sender] = _tSupply;
        emit Transfer(address(0), msg.sender, _tSupply);
    }

    receive() external payable {}
    function name() public pure returns (string memory) {return _name;}
    function symbol() public pure returns (string memory) {return _symbol;}
    function decimals() public pure returns (uint8) {return _decimals;}
    function startTrading() external onlyOwner {openedTrading = true;}
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _tSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}

    function shouldCASwap(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= swapAt;
        bool aboveThreshold = balanceOf(address(this)) >= swapInterval;
        return !swapping && swapActivated && openedTrading && aboveMin && !isExcludedFromTax[sender] && recipient == pairAddress && numSwaps >= swapAfter && aboveThreshold;
    }
    function setFees(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        dynamicLpFee = _liquidity; marketingFee = _marketing; burningFee = _burn; developFee = _development; buyTax = _total; sellTax = _sell; transferTax = _trans;
        require(buyTax <= denominator.div(1) && sellTax <= denominator.div(1) && transferTax <= denominator.div(1), "buyTax and sellTax cannot be more than 20%");
    }
    function setTxLimits(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner {
        uint256 newTx = _tSupply.mul(_buy).div(10000); uint256 newTransfer = _tSupply.mul(_sell).div(10000); uint256 newWallet = _tSupply.mul(_wallet).div(10000);
        _maxTransaction = newTx; _maxTransfer = newTransfer; _maxWallet = newWallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");
    }
    function shouldChargeFee(address sender, address recipient) internal view returns (bool) {
        return !isExcludedFromTax[sender];
    }
    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
        if(!isExcludedFromTax[sender] && !isExcludedFromTax[recipient]){require(openedTrading, "openedTrading");}
        if(!isExcludedFromTax[sender] && !isExcludedFromTax[recipient] && recipient != address(pairAddress) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= _maxWallet, "Exceeds maximum wallet amount.");}
        if(sender != pairAddress){require(amount <= _maxTransfer || isExcludedFromTax[sender] || isExcludedFromTax[recipient], "TX Limit Exceeded");}
        require(amount <= _maxTransaction || isExcludedFromTax[sender] || isExcludedFromTax[recipient], "TX Limit Exceeded"); 
        if(recipient == pairAddress && !isExcludedFromTax[sender]){numSwaps += uint256(1);}
        if(shouldCASwap(sender, recipient, amount)){caSwap(swapInterval); numSwaps = uint256(0);}
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = shouldChargeFee(sender, recipient) ? getAmountAfterFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function withdrawDustETH(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(devWallet, _amount);
    }
    function caSwap(uint256 tokens) private lockSwap {
        uint256 _denominator = (dynamicLpFee.add(1).add(marketingFee).add(developFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(dynamicLpFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(dynamicLpFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(dynamicLpFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketWallet).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(devWallet).transfer(contractBalance);}
    }
    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(uniRouter), tokenAmount);
        uniRouter.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            lpWallet,
            block.timestamp);
    }
    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniRouter.WETH();
        _approve(address(this), address(uniRouter), tokenAmount);
        uniRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }
    function getExactFee(address sender, address recipient) internal view returns (uint256) {
        if(recipient == pairAddress){return sellTax;}
        if(sender == pairAddress){return buyTax;}
        return transferTax;
    }
    function getAmountAfterFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if (isExcludedFromTax[recipient]) {return _maxTransaction;}
        if(getExactFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getExactFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burningFee > uint256(0) && getExactFee(sender, recipient) > burningFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burningFee));}
        return amount.sub(feeAmount);} return amount;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setTxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"withdrawDustETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004be565b6200002290633b9aca00620004d5565b60018190556003805461ffff60a01b1916600160a81b179055620186a0906200004e906103e8620004d5565b6200005a9190620004ef565b600755620186a0600154600a620000729190620004d5565b6200007e9190620004ef565b6008555f6009819055600a8190556064600b55600c55610dac600d819055600e819055600f55612710601081905560118054734dc82d3e37ac74b422fbb1b9877c894adeb6e3566001600160a01b0319918216811790925560128054821683179055601380549091169091179055600154620000fd9061012c620004d5565b620001099190620004ef565b60145561271060015461012c620001219190620004d5565b6200012d9190620004ef565b60155561271060015461012c620001459190620004d5565b620001519190620004ef565b60165534801562000160575f80fd5b505f80546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001c5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001eb91906200050f565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000237573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200025d91906200050f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002a8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002ce91906200050f565b600280546001600160a01b038581166001600160a01b031992831617909255600380548484169216919091179055305f908152601960209081526040808320805460ff19908116600190811790925560135486168552828520805482168317905560125486168552828520805482168317905560115490951684528184208054861682179055338085528285208054909616821790955554601783528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505062000537565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200040357815f1904821115620003e757620003e7620003af565b80851615620003f557918102915b93841c9390800290620003c8565b509250929050565b5f826200041b57506001620004b8565b816200042957505f620004b8565b81600181146200044257600281146200044d576200046d565b6001915050620004b8565b60ff841115620004615762000461620003af565b50506001821b620004b8565b5060208310610133831016604e8410600b841016171562000492575081810a620004b8565b6200049e8383620003c3565b805f1904821115620004b457620004b4620003af565b0290505b92915050565b5f620004ce60ff8416836200040b565b9392505050565b8082028115828204841417620004b857620004b8620003af565b5f826200050a57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000520575f80fd5b81516001600160a01b0381168114620004ce575f80fd5b61191780620005455f395ff3fe608060405260043610610129575f3560e01c8063893d20e8116100a8578063cb4ca6311161006d578063cb4ca6311461035c578063da2e3bad1461038a578063da7003d4146103a9578063dd62ed3e146103be578063e46b3b3f14610402578063f2fde38b14610421575f80fd5b8063893d20e8146102a35780638dde9f43146102d357806395d89b41146102f2578063a8b089821461031e578063a9059cbb1461033d575f80fd5b80632f54bf6e116100ee5780632f54bf6e146101fd578063313ce5671461022a5780634b71567f1461024557806370a082311461025a57806382247ec01461028e575f80fd5b806306fdde0314610134578063095ea7b31461017757806318160ddd146101a657806323b872dd146101c8578063293230b8146101e7575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600981526841515541204641524d60b81b60208201525b60405161016e919061159e565b60405180910390f35b348015610182575f80fd5b50610196610191366004611600565b610440565b604051901515815260200161016e565b3480156101b1575f80fd5b506101ba610456565b60405190815260200161016e565b3480156101d3575f80fd5b506101966101e236600461162a565b6104c6565b3480156101f2575f80fd5b506101fb61052e565b005b348015610208575f80fd5b50610196610217366004611668565b5f546001600160a01b0391821691161490565b348015610235575f80fd5b506040516009815260200161016e565b348015610250575f80fd5b506101ba60155481565b348015610265575f80fd5b506101ba610274366004611668565b6001600160a01b03165f9081526017602052604090205490565b348015610299575f80fd5b506101ba60165481565b3480156102ae575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161016e565b3480156102de575f80fd5b506101fb6102ed366004611600565b610575565b3480156102fd575f80fd5b506040805180820190915260048152634151554160e01b6020820152610161565b348015610329575f80fd5b506003546102bb906001600160a01b031681565b348015610348575f80fd5b50610196610357366004611600565b61069b565b348015610367575f80fd5b50610196610376366004611668565b60196020525f908152604090205460ff1681565b348015610395575f80fd5b506101fb6103a4366004611683565b6106a7565b3480156103b4575f80fd5b506101ba60145481565b3480156103c9575f80fd5b506101ba6103d83660046116ca565b6001600160a01b039182165f90815260186020908152604080832093909416825291909152205490565b34801561040d575f80fd5b506101fb61041c366004611701565b6107a4565b34801561042c575f80fd5b506101fb61043b366004611668565b6108cb565b5f61044c338484610947565b5060015b92915050565b60176020527fd840e16649f6b9a295d95876f4633d3a6b10b55e8162971cf78afd886d5ec89b5461dead5f9081527f43fedf50e12e5c047fbe3576d03ab50250348e9a6030f531ab6d4ce10f5b03035460015491926104c19290916104bb9190610a6a565b90610a6a565b905090565b5f6104d2848484610a75565b610523843361051e856040518060600160405280602881526020016118ba602891396001600160a01b038a165f9081526018602090815260408083203384529091529020549190610fb5565b610947565b5060015b9392505050565b5f546001600160a01b031633146105605760405162461bcd60e51b81526004016105579061172a565b60405180910390fd5b6003805460ff60a01b1916600160a01b179055565b5f546001600160a01b0316331461059e5760405162461bcd60e51b81526004016105579061172a565b6040516370a0823160e01b81523060048201525f9061061f906064906106199085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156105ef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610613919061174a565b90610fe0565b90610feb565b60115460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610671573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106959190611761565b50505050565b5f61044c338484610a75565b5f546001600160a01b031633146106d05760405162461bcd60e51b81526004016105579061172a565b6009879055600a869055600c859055600b849055600d839055600e829055600f819055601054610701906001610feb565b600d5411158015610721575060105461071b906001610feb565b600e5411155b801561073c5750601054610736906001610feb565b600f5411155b61079b5760405162461bcd60e51b815260206004820152602a60248201527f62757954617820616e642073656c6c5461782063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610557565b50505050505050565b5f546001600160a01b031633146107cd5760405162461bcd60e51b81526004016105579061172a565b5f6107e961271061061986600154610fe090919063ffffffff16565b90505f61080761271061061986600154610fe090919063ffffffff16565b90505f61082561271061061986600154610fe090919063ffffffff16565b60148490556015839055601681905590505f61084a6103e86106196005610613610456565b905080841015801561085c5750808310155b80156108685750808210155b61079b5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610557565b5f546001600160a01b031633146108f45760405162461bcd60e51b81526004016105579061172a565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610557565b6001600160a01b038216610a0a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610557565b6001600160a01b038381165f8181526018602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6105278284611794565b6001600160a01b038316610ad95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610557565b6001600160a01b038216610b3b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610557565b6001600160a01b0383165f90815260176020526040902054811115610bbc5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610557565b6001600160a01b0383165f9081526019602052604090205460ff16158015610bfc57506001600160a01b0382165f9081526019602052604090205460ff16155b15610c4a57600354600160a01b900460ff16610c4a5760405162461bcd60e51b815260206004820152600d60248201526c6f70656e656454726164696e6760981b6044820152606401610557565b6001600160a01b0383165f9081526019602052604090205460ff16158015610c8a57506001600160a01b0382165f9081526019602052604090205460ff16155b8015610ca457506003546001600160a01b03838116911614155b8015610cbb57506001600160a01b03821661dead14155b15610d33576016546001600160a01b0383165f90815260176020526040902054610ce59083610ff6565b1115610d335760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610557565b6003546001600160a01b03848116911614610dd25760155481111580610d7057506001600160a01b0383165f9081526019602052604090205460ff165b80610d9257506001600160a01b0382165f9081526019602052604090205460ff165b610dd25760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610557565b60145481111580610dfa57506001600160a01b0383165f9081526019602052604090205460ff165b80610e1c57506001600160a01b0382165f9081526019602052604090205460ff165b610e5c5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610557565b6003546001600160a01b038381169116148015610e9157506001600160a01b0383165f9081526019602052604090205460ff16155b15610eae57600160045f828254610ea891906117a7565b90915550505b610eb9838383611001565b15610ece57610ec96007546110b9565b5f6004555b6001600160a01b0383165f90815260176020526040902054610ef09082610a6a565b6001600160a01b0384165f90815260176020908152604080832093909355601990529081205460ff1615610f245781610f2f565b610f2f848484611229565b6001600160a01b0384165f90815260176020526040902054909150610f549082610ff6565b6001600160a01b038085165f8181526017602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa79085815260200190565b60405180910390a350505050565b5f8184841115610fd85760405162461bcd60e51b8152600401610557919061159e565b505050900390565b5f61052782846117ba565b5f61052782846117d1565b5f61052782846117a7565b600854600754305f9081526017602052604081205460055491938510159211159060ff1615801561103b5750600354600160a81b900460ff165b80156110505750600354600160a01b900460ff165b80156110595750815b801561107d57506001600160a01b0386165f9081526019602052604090205460ff16155b801561109657506003546001600160a01b038681169116145b80156110a6575060065460045410155b80156110af5750805b9695505050505050565b6005805460ff19166001908117909155600b54600a546009545f936110f2936002936106139391926110ec928391610ff6565b90610ff6565b90505f61110e8261061960095486610fe090919063ffffffff16565b90505f61111b8483610a6a565b90504761112782611353565b5f6111324783610a6a565b90505f61115461114d60095488610a6a90919063ffffffff16565b8390610feb565b90505f61116c60095483610fe090919063ffffffff16565b9050801561117e5761117e86826114a3565b600a545f9061119290610613856002610fe0565b905080156111d3576012546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156111d1573d5f803e3d5ffd5b505b478015611213576011546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611211573d5f803e3d5ffd5b505b50506005805460ff191690555050505050505050565b6001600160a01b0382165f9081526019602052604081205460ff16156112525750601454610527565b5f61125d8585611554565b111561134c575f61127f6112718686611554565b601054610613908690610feb565b305f9081526017602052604090205490915061129b9082610ff6565b305f81815260176020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112eb9085815260200190565b60405180910390a35f600c5411801561130e5750600c5461130c8686611554565b115b1561133a5761133a3061dead611335600c5461061360105489610feb90919063ffffffff16565b610a75565b6113448382610a6a565b915050610527565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611386576113866117f0565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114019190611804565b81600181518110611414576114146117f0565b6001600160a01b03928316602091820292909201015260025461143a9130911684610947565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac947906114729085905f9086903090429060040161181f565b5f604051808303815f87803b158015611489575f80fd5b505af115801561149b573d5f803e3d5ffd5b505050505050565b6002546114bb9030906001600160a01b031684610947565b60025460135460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611528573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061154d919061188e565b5050505050565b6003545f906001600160a01b03908116908316036115755750600e54610450565b6003546001600160a01b03908116908416036115945750600d54610450565b50600f5492915050565b5f6020808352835180828501525f5b818110156115c9578581018301518582016040015282016115ad565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115fd575f80fd5b50565b5f8060408385031215611611575f80fd5b823561161c816115e9565b946020939093013593505050565b5f805f6060848603121561163c575f80fd5b8335611647816115e9565b92506020840135611657816115e9565b929592945050506040919091013590565b5f60208284031215611678575f80fd5b8135610527816115e9565b5f805f805f805f60e0888a031215611699575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f80604083850312156116db575f80fd5b82356116e6816115e9565b915060208301356116f6816115e9565b809150509250929050565b5f805f60608486031215611713575f80fd5b505081359360208301359350604090920135919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f6020828403121561175a575f80fd5b5051919050565b5f60208284031215611771575f80fd5b81518015158114610527575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561045057610450611780565b8082018082111561045057610450611780565b808202811582820484141761045057610450611780565b5f826117eb57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611814575f80fd5b8151610527816115e9565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561186d5784516001600160a01b031683529383019391830191600101611848565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156118a0575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220351607612bb7c2c8eb456ec5b753d1cbc104f68f34828a624e3d4caf9388b75264736f6c63430008150033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063893d20e8116100a8578063cb4ca6311161006d578063cb4ca6311461035c578063da2e3bad1461038a578063da7003d4146103a9578063dd62ed3e146103be578063e46b3b3f14610402578063f2fde38b14610421575f80fd5b8063893d20e8146102a35780638dde9f43146102d357806395d89b41146102f2578063a8b089821461031e578063a9059cbb1461033d575f80fd5b80632f54bf6e116100ee5780632f54bf6e146101fd578063313ce5671461022a5780634b71567f1461024557806370a082311461025a57806382247ec01461028e575f80fd5b806306fdde0314610134578063095ea7b31461017757806318160ddd146101a657806323b872dd146101c8578063293230b8146101e7575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600981526841515541204641524d60b81b60208201525b60405161016e919061159e565b60405180910390f35b348015610182575f80fd5b50610196610191366004611600565b610440565b604051901515815260200161016e565b3480156101b1575f80fd5b506101ba610456565b60405190815260200161016e565b3480156101d3575f80fd5b506101966101e236600461162a565b6104c6565b3480156101f2575f80fd5b506101fb61052e565b005b348015610208575f80fd5b50610196610217366004611668565b5f546001600160a01b0391821691161490565b348015610235575f80fd5b506040516009815260200161016e565b348015610250575f80fd5b506101ba60155481565b348015610265575f80fd5b506101ba610274366004611668565b6001600160a01b03165f9081526017602052604090205490565b348015610299575f80fd5b506101ba60165481565b3480156102ae575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161016e565b3480156102de575f80fd5b506101fb6102ed366004611600565b610575565b3480156102fd575f80fd5b506040805180820190915260048152634151554160e01b6020820152610161565b348015610329575f80fd5b506003546102bb906001600160a01b031681565b348015610348575f80fd5b50610196610357366004611600565b61069b565b348015610367575f80fd5b50610196610376366004611668565b60196020525f908152604090205460ff1681565b348015610395575f80fd5b506101fb6103a4366004611683565b6106a7565b3480156103b4575f80fd5b506101ba60145481565b3480156103c9575f80fd5b506101ba6103d83660046116ca565b6001600160a01b039182165f90815260186020908152604080832093909416825291909152205490565b34801561040d575f80fd5b506101fb61041c366004611701565b6107a4565b34801561042c575f80fd5b506101fb61043b366004611668565b6108cb565b5f61044c338484610947565b5060015b92915050565b60176020527fd840e16649f6b9a295d95876f4633d3a6b10b55e8162971cf78afd886d5ec89b5461dead5f9081527f43fedf50e12e5c047fbe3576d03ab50250348e9a6030f531ab6d4ce10f5b03035460015491926104c19290916104bb9190610a6a565b90610a6a565b905090565b5f6104d2848484610a75565b610523843361051e856040518060600160405280602881526020016118ba602891396001600160a01b038a165f9081526018602090815260408083203384529091529020549190610fb5565b610947565b5060015b9392505050565b5f546001600160a01b031633146105605760405162461bcd60e51b81526004016105579061172a565b60405180910390fd5b6003805460ff60a01b1916600160a01b179055565b5f546001600160a01b0316331461059e5760405162461bcd60e51b81526004016105579061172a565b6040516370a0823160e01b81523060048201525f9061061f906064906106199085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156105ef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610613919061174a565b90610fe0565b90610feb565b60115460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610671573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106959190611761565b50505050565b5f61044c338484610a75565b5f546001600160a01b031633146106d05760405162461bcd60e51b81526004016105579061172a565b6009879055600a869055600c859055600b849055600d839055600e829055600f819055601054610701906001610feb565b600d5411158015610721575060105461071b906001610feb565b600e5411155b801561073c5750601054610736906001610feb565b600f5411155b61079b5760405162461bcd60e51b815260206004820152602a60248201527f62757954617820616e642073656c6c5461782063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610557565b50505050505050565b5f546001600160a01b031633146107cd5760405162461bcd60e51b81526004016105579061172a565b5f6107e961271061061986600154610fe090919063ffffffff16565b90505f61080761271061061986600154610fe090919063ffffffff16565b90505f61082561271061061986600154610fe090919063ffffffff16565b60148490556015839055601681905590505f61084a6103e86106196005610613610456565b905080841015801561085c5750808310155b80156108685750808210155b61079b5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610557565b5f546001600160a01b031633146108f45760405162461bcd60e51b81526004016105579061172a565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610557565b6001600160a01b038216610a0a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610557565b6001600160a01b038381165f8181526018602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6105278284611794565b6001600160a01b038316610ad95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610557565b6001600160a01b038216610b3b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610557565b6001600160a01b0383165f90815260176020526040902054811115610bbc5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610557565b6001600160a01b0383165f9081526019602052604090205460ff16158015610bfc57506001600160a01b0382165f9081526019602052604090205460ff16155b15610c4a57600354600160a01b900460ff16610c4a5760405162461bcd60e51b815260206004820152600d60248201526c6f70656e656454726164696e6760981b6044820152606401610557565b6001600160a01b0383165f9081526019602052604090205460ff16158015610c8a57506001600160a01b0382165f9081526019602052604090205460ff16155b8015610ca457506003546001600160a01b03838116911614155b8015610cbb57506001600160a01b03821661dead14155b15610d33576016546001600160a01b0383165f90815260176020526040902054610ce59083610ff6565b1115610d335760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610557565b6003546001600160a01b03848116911614610dd25760155481111580610d7057506001600160a01b0383165f9081526019602052604090205460ff165b80610d9257506001600160a01b0382165f9081526019602052604090205460ff165b610dd25760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610557565b60145481111580610dfa57506001600160a01b0383165f9081526019602052604090205460ff165b80610e1c57506001600160a01b0382165f9081526019602052604090205460ff165b610e5c5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610557565b6003546001600160a01b038381169116148015610e9157506001600160a01b0383165f9081526019602052604090205460ff16155b15610eae57600160045f828254610ea891906117a7565b90915550505b610eb9838383611001565b15610ece57610ec96007546110b9565b5f6004555b6001600160a01b0383165f90815260176020526040902054610ef09082610a6a565b6001600160a01b0384165f90815260176020908152604080832093909355601990529081205460ff1615610f245781610f2f565b610f2f848484611229565b6001600160a01b0384165f90815260176020526040902054909150610f549082610ff6565b6001600160a01b038085165f8181526017602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa79085815260200190565b60405180910390a350505050565b5f8184841115610fd85760405162461bcd60e51b8152600401610557919061159e565b505050900390565b5f61052782846117ba565b5f61052782846117d1565b5f61052782846117a7565b600854600754305f9081526017602052604081205460055491938510159211159060ff1615801561103b5750600354600160a81b900460ff165b80156110505750600354600160a01b900460ff165b80156110595750815b801561107d57506001600160a01b0386165f9081526019602052604090205460ff16155b801561109657506003546001600160a01b038681169116145b80156110a6575060065460045410155b80156110af5750805b9695505050505050565b6005805460ff19166001908117909155600b54600a546009545f936110f2936002936106139391926110ec928391610ff6565b90610ff6565b90505f61110e8261061960095486610fe090919063ffffffff16565b90505f61111b8483610a6a565b90504761112782611353565b5f6111324783610a6a565b90505f61115461114d60095488610a6a90919063ffffffff16565b8390610feb565b90505f61116c60095483610fe090919063ffffffff16565b9050801561117e5761117e86826114a3565b600a545f9061119290610613856002610fe0565b905080156111d3576012546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156111d1573d5f803e3d5ffd5b505b478015611213576011546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611211573d5f803e3d5ffd5b505b50506005805460ff191690555050505050505050565b6001600160a01b0382165f9081526019602052604081205460ff16156112525750601454610527565b5f61125d8585611554565b111561134c575f61127f6112718686611554565b601054610613908690610feb565b305f9081526017602052604090205490915061129b9082610ff6565b305f81815260176020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112eb9085815260200190565b60405180910390a35f600c5411801561130e5750600c5461130c8686611554565b115b1561133a5761133a3061dead611335600c5461061360105489610feb90919063ffffffff16565b610a75565b6113448382610a6a565b915050610527565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611386576113866117f0565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114019190611804565b81600181518110611414576114146117f0565b6001600160a01b03928316602091820292909201015260025461143a9130911684610947565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac947906114729085905f9086903090429060040161181f565b5f604051808303815f87803b158015611489575f80fd5b505af115801561149b573d5f803e3d5ffd5b505050505050565b6002546114bb9030906001600160a01b031684610947565b60025460135460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611528573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061154d919061188e565b5050505050565b6003545f906001600160a01b03908116908316036115755750600e54610450565b6003546001600160a01b03908116908416036115945750600d54610450565b50600f5492915050565b5f6020808352835180828501525f5b818110156115c9578581018301518582016040015282016115ad565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115fd575f80fd5b50565b5f8060408385031215611611575f80fd5b823561161c816115e9565b946020939093013593505050565b5f805f6060848603121561163c575f80fd5b8335611647816115e9565b92506020840135611657816115e9565b929592945050506040919091013590565b5f60208284031215611678575f80fd5b8135610527816115e9565b5f805f805f805f60e0888a031215611699575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f80604083850312156116db575f80fd5b82356116e6816115e9565b915060208301356116f6816115e9565b809150509250929050565b5f805f60608486031215611713575f80fd5b505081359360208301359350604090920135919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f6020828403121561175a575f80fd5b5051919050565b5f60208284031215611771575f80fd5b81518015158114610527575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561045057610450611780565b8082018082111561045057610450611780565b808202811582820484141761045057610450611780565b5f826117eb57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611814575f80fd5b8151610527816115e9565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561186d5784516001600160a01b031683529383019391830191600101611848565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156118a0575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220351607612bb7c2c8eb456ec5b753d1cbc104f68f34828a624e3d4caf9388b75264736f6c63430008150033

Deployed Bytecode Sourcemap

5079:10165:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7460:67;;;;;;;;;;-1:-1:-1;7520:5:0;;;;;;;;;;;;-1:-1:-1;;;7520:5:0;;;;7460:67;;;;;;;:::i;:::-;;;;;;;;8226:133;;;;;;;;;;-1:-1:-1;8226:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8226:133:0;1023:187:1;8365:128:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;8365:128:0;1215:177:1;11598:309:0;;;;;;;;;;-1:-1:-1;11598:309:0;;;;;:::i;:::-;;:::i;7683:66::-;;;;;;;;;;;;;:::i;:::-;;4068:87;;;;;;;;;;-1:-1:-1;4068:87:0;;;;;:::i;:::-;4123:4;4148:5;-1:-1:-1;;;;;4137:16:0;;;4148:5;;4137:16;;4068:87;7610:67;;;;;;;;;;-1:-1:-1;7610:67:0;;5298:1;2252:36:1;;2240:2;2225:18;7610:67:0;2110:184:1;6483:56:0;;;;;;;;;;;;;;;;7839:103;;;;;;;;;;-1:-1:-1;7839:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7922:18:0;7905:7;7922:18;;;:9;:18;;;;;;;7839:103;6546:54;;;;;;;;;;;;;;;;7755:78;;;;;;;;;;-1:-1:-1;7807:7:0;7825:5;-1:-1:-1;;;;;7825:5:0;7755:78;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;7755:78:0;2299:203:1;12254:235:0;;;;;;;;;;-1:-1:-1;12254:235:0;;;;;:::i;:::-;;:::i;7533:71::-;;;;;;;;;;-1:-1:-1;7595:7:0;;;;;;;;;;;;-1:-1:-1;;;7595:7:0;;;;7533:71;;5404:26;;;;;;;;;;-1:-1:-1;5404:26:0;;;;-1:-1:-1;;;;;5404:26:0;;;7948:139;;;;;;;;;;-1:-1:-1;7948:139:0;;;;;:::i;:::-;;:::i;6730:50::-;;;;;;;;;;-1:-1:-1;6730:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8907:498;;;;;;;;;;-1:-1:-1;8907:498:0;;;;;:::i;:::-;;:::i;6417:59::-;;;;;;;;;;;;;;;;8093:127;;;;;;;;;;-1:-1:-1;8093:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8191:18:0;;;8174:7;8191:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8093:127;9411:531;;;;;;;;;;-1:-1:-1;9411:531:0;;;;;:::i;:::-;;:::i;4161:111::-;;;;;;;;;;-1:-1:-1;4161:111:0;;;;;:::i;:::-;;:::i;8226:133::-;8301:4;8308:37;8317:10;8329:7;8338:6;8308:8;:37::i;:::-;-1:-1:-1;8353:4:0;8226:133;;;;;:::o;8365:128::-;7922:9;:18;;;;6131:42;8418:7;7922:18;;;;;8435:8;;8418:7;;8435:56;;7922:18;;8435:29;;:8;:12;:29::i;:::-;:33;;:56::i;:::-;8428:63;;8365:128;:::o;11598:309::-;11696:4;11713:36;11723:6;11731:9;11742:6;11713:9;:36::i;:::-;11760:117;11769:6;11777:10;11789:87;11825:6;11789:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11789:19:0;;;;;;:11;:19;;;;;;;;11809:10;11789:31;;;;;;;;;:87;:35;:87::i;:::-;11760:8;:117::i;:::-;-1:-1:-1;11895:4:0;11598:309;;;;;;:::o;7683:66::-;4123:4;4148:5;-1:-1:-1;;;;;4148:5:0;4035:10;4137:16;4019:38;;;;-1:-1:-1;;;4019:38:0;;;;;;;:::i;:::-;;;;;;;;;7727:13:::1;:20:::0;;-1:-1:-1;;;;7727:20:0::1;-1:-1:-1::0;;;7727:20:0::1;::::0;;7683:66::o;12254:235::-;4123:4;4148:5;-1:-1:-1;;;;;4148:5:0;4035:10;4137:16;4019:38;;;;-1:-1:-1;;;4019:38:0;;;;;;;:::i;:::-;12362:41:::1;::::0;-1:-1:-1;;;12362:41:0;;12397:4:::1;12362:41;::::0;::::1;2445:51:1::0;12344:15:0::1;::::0;12362:63:::1;::::0;12421:3:::1;::::0;12362:54:::1;::::0;12408:7;;-1:-1:-1;;;;;12362:26:0;::::1;::::0;::::1;::::0;2418:18:1;;12362:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45:::0;::::1;:54::i;:::-;:58:::0;::::1;:63::i;:::-;12462:9;::::0;12436:45:::1;::::0;-1:-1:-1;;;12436:45:0;;-1:-1:-1;;;;;12462:9:0;;::::1;12436:45;::::0;::::1;4775:51:1::0;4842:18;;;4835:34;;;12344:81:0;;-1:-1:-1;12436:25:0;::::1;::::0;::::1;::::0;4748:18:1;;12436:45:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12333:156;12254:235:::0;;:::o;7948:139::-;8026:4;8033:40;8043:10;8055:9;8066:6;8033:9;:40::i;8907:498::-;4123:4;4148:5;-1:-1:-1;;;;;4148:5:0;4035:10;4137:16;4019:38;;;;-1:-1:-1;;;4019:38:0;;;;;;;:::i;:::-;9078:12:::1;:25:::0;;;9105:12:::1;:25:::0;;;9132:10:::1;:18:::0;;;9152:10:::1;:25:::0;;;9179:6:::1;:15:::0;;;9196:7:::1;:15:::0;;;9213:11:::1;:20:::0;;;9262:11:::1;::::0;:18:::1;::::0;-1:-1:-1;9262:15:0::1;:18::i;:::-;9252:6;;:28;;:61;;;;-1:-1:-1::0;9295:11:0::1;::::0;:18:::1;::::0;9311:1:::1;9295:15;:18::i;:::-;9284:7;;:29;;9252:61;:98;;;;-1:-1:-1::0;9332:11:0::1;::::0;:18:::1;::::0;9348:1:::1;9332:15;:18::i;:::-;9317:11;;:33;;9252:98;9244:153;;;::::0;-1:-1:-1;;;9244:153:0;;5364:2:1;9244:153:0::1;::::0;::::1;5346:21:1::0;5403:2;5383:18;;;5376:30;5442:34;5422:18;;;5415:62;-1:-1:-1;;;5493:18:1;;;5486:40;5543:19;;9244:153:0::1;5162:406:1::0;9244:153:0::1;8907:498:::0;;;;;;;:::o;9411:531::-;4123:4;4148:5;-1:-1:-1;;;;;4148:5:0;4035:10;4137:16;4019:38;;;;-1:-1:-1;;;4019:38:0;;;;;;;:::i;:::-;9508:13:::1;9524:29;9547:5;9524:18;9537:4;9524:8;;:12;;:18;;;;:::i;:29::-;9508:45;;9555:19;9577:30;9601:5;9577:19;9590:5;9577:8;;:12;;:19;;;;:::i;:30::-;9555:52;;9609:17;9629:32;9655:5;9629:21;9642:7;9629:8;;:12;;:21;;;;:::i;:32::-;9672:15;:23:::0;;;9697:12:::1;:26:::0;;;9725:10:::1;:22:::0;;;9609:52;-1:-1:-1;;9774:30:0::1;9799:4;9774:20;9792:1;9774:13;:11;:13::i;:30::-;9758:46;;9832:5;9823;:14;;:38;;;;;9856:5;9841:11;:20;;9823:38;:60;;;;;9878:5;9865:9;:18;;9823:60;9815:119;;;::::0;-1:-1:-1;;;9815:119:0;;5775:2:1;9815:119:0::1;::::0;::::1;5757:21:1::0;5814:2;5794:18;;;5787:30;5853:34;5833:18;;;5826:62;-1:-1:-1;;;5904:18:1;;;5897:44;5958:19;;9815:119:0::1;5573:410:1::0;4161:111:0;4123:4;4148:5;-1:-1:-1;;;;;4148:5:0;4035:10;4137:16;4019:38;;;;-1:-1:-1;;;4019:38:0;;;;;;;:::i;:::-;4227:5:::1;:11:::0;;-1:-1:-1;;;;;;4227:11:0::1;-1:-1:-1::0;;;;;4227:11:0;::::1;::::0;;::::1;::::0;;;4245:25:::1;::::0;2445:51:1;;;4245:25:0::1;::::0;2433:2:1;2418:18;4245:25:0::1;;;;;;;4161:111:::0;:::o;11913:335::-;-1:-1:-1;;;;;12006:19:0;;11998:68;;;;-1:-1:-1;;;11998:68:0;;6406:2:1;11998:68:0;;;6388:21:1;6445:2;6425:18;;;6418:30;6484:34;6464:18;;;6457:62;-1:-1:-1;;;6535:18:1;;;6528:34;6579:19;;11998:68:0;6204:400:1;11998:68:0;-1:-1:-1;;;;;12085:21:0;;12077:68;;;;-1:-1:-1;;;12077:68:0;;6811:2:1;12077:68:0;;;6793:21:1;6850:2;6830:18;;;6823:30;6889:34;6869:18;;;6862:62;-1:-1:-1;;;6940:18:1;;;6933:32;6982:19;;12077:68:0;6609:398:1;12077:68:0;-1:-1:-1;;;;;12156:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12208:32;;1361:25:1;;;12208:32:0;;1334:18:1;12208:32:0;;;;;;;11913:335;;;:::o;2733:98::-;2791:7;2818:5;2822:1;2818;:5;:::i;10095:1497::-;-1:-1:-1;;;;;10192:20:0;;10184:70;;;;-1:-1:-1;;;10184:70:0;;7479:2:1;10184:70:0;;;7461:21:1;7518:2;7498:18;;;7491:30;7557:34;7537:18;;;7530:62;-1:-1:-1;;;7608:18:1;;;7601:35;7653:19;;10184:70:0;7277:401:1;10184:70:0;-1:-1:-1;;;;;10273:23:0;;10265:71;;;;-1:-1:-1;;;10265:71:0;;7885:2:1;10265:71:0;;;7867:21:1;7924:2;7904:18;;;7897:30;7963:34;7943:18;;;7936:62;-1:-1:-1;;;8014:18:1;;;8007:33;8057:19;;10265:71:0;7683:399:1;10265:71:0;-1:-1:-1;;;;;7922:18:0;;7905:7;7922:18;;;:9;:18;;;;;;10355:6;:27;;10347:88;;;;-1:-1:-1;;;10347:88:0;;8289:2:1;10347:88:0;;;8271:21:1;8328:2;8308:18;;;8301:30;8367:34;8347:18;;;8340:62;-1:-1:-1;;;8418:18:1;;;8411:47;8475:19;;10347:88:0;8087:413:1;10347:88:0;-1:-1:-1;;;;;10450:25:0;;;;;;:17;:25;;;;;;;;10449:26;:59;;;;-1:-1:-1;;;;;;10480:28:0;;;;;;:17;:28;;;;;;;;10479:29;10449:59;10446:105;;;10518:13;;-1:-1:-1;;;10518:13:0;;;;10510:39;;;;-1:-1:-1;;;10510:39:0;;8707:2:1;10510:39:0;;;8689:21:1;8746:2;8726:18;;;8719:30;-1:-1:-1;;;8765:18:1;;;8758:43;8818:18;;10510:39:0;8505:337:1;10510:39:0;-1:-1:-1;;;;;10565:25:0;;;;;;:17;:25;;;;;;;;10564:26;:59;;;;-1:-1:-1;;;;;;10595:28:0;;;;;;:17;:28;;;;;;;;10594:29;10564:59;:96;;;;-1:-1:-1;10648:11:0;;-1:-1:-1;;;;;10627:33:0;;;10648:11;;10627:33;;10564:96;:126;;;;-1:-1:-1;;;;;;10664:26:0;;6131:42;10664:26;;10564:126;10561:234;;;10748:10;;-1:-1:-1;;;;;10711:20:0;;;;;;:9;:20;;;;;;:32;;10736:6;10711:24;:32::i;:::-;10710:48;;10702:91;;;;-1:-1:-1;;;10702:91:0;;9049:2:1;10702:91:0;;;9031:21:1;9088:2;9068:18;;;9061:30;9127:32;9107:18;;;9100:60;9177:18;;10702:91:0;8847:354:1;10702:91:0;10818:11;;-1:-1:-1;;;;;10808:21:0;;;10818:11;;10808:21;10805:141;;10849:12;;10839:6;:22;;:51;;;-1:-1:-1;;;;;;10865:25:0;;;;;;:17;:25;;;;;;;;10839:51;:83;;;-1:-1:-1;;;;;;10894:28:0;;;;;;:17;:28;;;;;;;;10839:83;10831:113;;;;-1:-1:-1;;;10831:113:0;;9408:2:1;10831:113:0;;;9390:21:1;9447:2;9427:18;;;9420:30;-1:-1:-1;;;9466:18:1;;;9459:47;9523:18;;10831:113:0;9206:341:1;10831:113:0;10974:15;;10964:6;:25;;:54;;;-1:-1:-1;;;;;;10993:25:0;;;;;;:17;:25;;;;;;;;10964:54;:86;;;-1:-1:-1;;;;;;11022:28:0;;;;;;:17;:28;;;;;;;;10964:86;10956:116;;;;-1:-1:-1;;;10956:116:0;;9408:2:1;10956:116:0;;;9390:21:1;9447:2;9427:18;;;9420:30;-1:-1:-1;;;9466:18:1;;;9459:47;9523:18;;10956:116:0;9206:341:1;10956:116:0;11100:11;;-1:-1:-1;;;;;11087:24:0;;;11100:11;;11087:24;:54;;;;-1:-1:-1;;;;;;11116:25:0;;;;;;:17;:25;;;;;;;;11115:26;11087:54;11084:83;;;11163:1;11143:8;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;11084:83:0;11180:39;11193:6;11201:9;11212:6;11180:12;:39::i;:::-;11177:89;;;11221:20;11228:12;;11221:6;:20::i;:::-;11262:1;11243:8;:21;11177:89;-1:-1:-1;;;;;11296:17:0;;;;;;:9;:17;;;;;;:29;;11318:6;11296:21;:29::i;:::-;-1:-1:-1;;;;;11276:17:0;;;;;;:9;:17;;;;;;;;:49;;;;10056:17;:25;;;;;;;;10055:26;11361:90;;11445:6;11361:90;;;11398:44;11416:6;11424:9;11435:6;11398:17;:44::i;:::-;-1:-1:-1;;;;;11485:20:0;;;;;;:9;:20;;;;;;11336:115;;-1:-1:-1;11485:40:0;;11336:115;11485:24;:40::i;:::-;-1:-1:-1;;;;;11462:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11541:43;;;;;;;;;;11569:14;1361:25:1;;1349:2;1334:18;;1215:177;11541:43:0;;;;;;;;10173:1419;10095:1497;;;:::o;3149:240::-;3269:7;3330:12;3322:6;;;;3314:29;;;;-1:-1:-1;;;3314:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;3365:5:0;;;3149:240::o;2837:98::-;2895:7;2922:5;2926:1;2922;:5;:::i;2941:98::-;2999:7;3026:5;3030:1;3026;:5;:::i;2629:98::-;2687:7;2714:5;2718:1;2714;:5;:::i;8501:400::-;8640:6;;8707:12;;8697:4;8597;7922:18;;;:9;:18;;;;;;8738:8;;8597:4;;8630:16;;;;-1:-1:-1;8679:40:0;;8738:8;;8737:9;:26;;;;-1:-1:-1;8750:13:0;;-1:-1:-1;;;8750:13:0;;;;8737:26;:43;;;;-1:-1:-1;8767:13:0;;-1:-1:-1;;;8767:13:0;;;;8737:43;:55;;;;;8784:8;8737:55;:85;;;;-1:-1:-1;;;;;;8797:25:0;;;;;;:17;:25;;;;;;;;8796:26;8737:85;:113;;;;-1:-1:-1;8839:11:0;;-1:-1:-1;;;;;8826:24:0;;;8839:11;;8826:24;8737:113;:138;;;;;8866:9;;8854:8;;:21;;8737:138;:156;;;;;8879:14;8737:156;8730:163;8501:400;-1:-1:-1;;;;;;8501:400:0:o;12495:1031::-;5744:8;:15;;-1:-1:-1;;5744:15:0;5755:4;5744:15;;;;;;12621:10:::1;::::0;12603:12:::1;::::0;12579::::1;::::0;5744:8;;12578:62:::1;::::0;12638:1:::1;::::0;12579:53:::1;::::0;12621:10;;12579:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;12578:62::-;12555:85;;12651:32;12686:42;12715:12;12686:24;12697:12;;12686:6;:10;;:24;;;;:::i;:42::-;12651:77:::0;-1:-1:-1;12739:14:0::1;12756:36;:6:::0;12651:77;12756:10:::1;:36::i;:::-;12739:53:::0;-1:-1:-1;12828:21:0::1;12860:24;12739:53:::0;12860:16:::1;:24::i;:::-;12895:20;12918:41;:21;12944:14:::0;12918:25:::1;:41::i;:::-;12895:64;;12970:19;12991:48;13008:30;13025:12;;13008;:16;;:30;;;;:::i;:::-;12991:12:::0;;:16:::1;:48::i;:::-;12970:69;;13050:29;13082;13098:12;;13082:11;:15;;:29;;;;:::i;:::-;13050:61:::0;-1:-1:-1;13125:34:0;;13122:103:::1;;13161:61;13174:24;13200:21;13161:12;:61::i;:::-;13281:12;::::0;13235:20:::1;::::0;13258:36:::1;::::0;:18:::1;:11:::0;13274:1:::1;13258:15;:18::i;:36::-;13235:59:::0;-1:-1:-1;13308:16:0;;13305:67:::1;;13334:12;::::0;13326:44:::1;::::0;-1:-1:-1;;;;;13334:12:0;;::::1;::::0;13326:44;::::1;;;::::0;13357:12;;13334::::1;13326:44:::0;13334:12;13326:44;13357:12;13334;13326:44;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13305:67;13408:21;13443:28:::0;;13440:79:::1;;13481:9;::::0;13473:44:::1;::::0;-1:-1:-1;;;;;13481:9:0;;::::1;::::0;13473:44;::::1;;;::::0;13501:15;;13481:9:::1;13473:44:::0;13481:9;13473:44;13501:15;13481:9;13473:44;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13440:79;-1:-1:-1::0;;5764:8:0;:16;;-1:-1:-1;;5764:16:0;;;-1:-1:-1;;;;;;;;12495:1031:0:o;14563:678::-;-1:-1:-1;;;;;14683:28:0;;14659:7;14683:28;;;:17;:28;;;;;;;;14679:59;;;-1:-1:-1;14721:15:0;;14714:22;;14679:59;14784:1;14751:30;14763:6;14771:9;14751:11;:30::i;:::-;:34;14748:471;;;14797:17;14817:59;14845:30;14857:6;14865:9;14845:11;:30::i;:::-;14828:11;;14817:23;;:6;;:10;:23::i;:59::-;14932:4;14914:24;;;;:9;:24;;;;;;14797:79;;-1:-1:-1;14914:39:0;;14797:79;14914:28;:39::i;:::-;14905:4;14887:24;;;;:9;:24;;;;;;;:66;;;;14969:42;;-1:-1:-1;;;;;14969:42:0;;;;;;;15001:9;1361:25:1;;1349:2;1334:18;;1215:177;14969:42:0;;;;;;;;15046:1;15025:10;;:23;:70;;;;;15085:10;;15052:30;15064:6;15072:9;15052:11;:30::i;:::-;:43;15025:70;15022:157;;;15097:80;15115:4;6131:42;15137:39;15165:10;;15137:23;15148:11;;15137:6;:10;;:23;;;;:::i;:39::-;15097:9;:80::i;:::-;15196:21;:6;15207:9;15196:10;:21::i;:::-;15189:28;;;;;14748:471;-1:-1:-1;15227:6:0;14563:678;-1:-1:-1;;14563:678:0:o;13877:443::-;13967:16;;;13981:1;13967:16;;;;;;;;13943:21;;13967:16;;;;;;;;;;-1:-1:-1;13967:16:0;13943:40;;14012:4;13994;13999:1;13994:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13994:23:0;;;:7;;;;;;;;;;:23;;;;14038:9;;:16;;;-1:-1:-1;;;14038:16:0;;;;:9;;;;;:14;;:16;;;;;13994:7;;14038:16;;;;;:9;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14028:4;14033:1;14028:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14028:26:0;;;:7;;;;;;;;;:26;14097:9;;14065:56;;14082:4;;14097:9;14109:11;14065:8;:56::i;:::-;14132:9;;:180;;-1:-1:-1;;;14132:180:0;;-1:-1:-1;;;;;14132:9:0;;;;:60;;:180;;14207:11;;14132:9;;14249:4;;14276;;14296:15;;14132:180;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13932:388;13877:443;:::o;13532:339::-;13645:9;;13613:56;;13630:4;;-1:-1:-1;;;;;13645:9:0;13657:11;13613:8;:56::i;:::-;13680:9;;13824:8;;13680:183;;-1:-1:-1;;;13680:183:0;;13746:4;13680:183;;;11923:34:1;11973:18;;;11966:34;;;13680:9:0;12016:18:1;;;12009:34;;;12059:18;;;12052:34;-1:-1:-1;;;;;13824:8:0;;;12102:19:1;;;12095:44;13847:15:0;12155:19:1;;;12148:35;13680:9:0;;;:25;;13713:9;;11857:19:1;;13680:183:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13532:339;;:::o;14326:231::-;14441:11;;14405:7;;-1:-1:-1;;;;;14441:11:0;;;14428:24;;;;14425:45;;-1:-1:-1;14461:7:0;;14454:14;;14425:45;14493:11;;-1:-1:-1;;;;;14493:11:0;;;14483:21;;;;14480:41;;-1:-1:-1;14513:6:0;;14506:13;;14480:41;-1:-1:-1;14538:11:0;;14326:231;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2507:592::-;2620:6;2628;2636;2644;2652;2660;2668;2721:3;2709:9;2700:7;2696:23;2692:33;2689:53;;;2738:1;2735;2728:12;2689:53;-1:-1:-1;;2761:23:1;;;2831:2;2816:18;;2803:32;;-1:-1:-1;2882:2:1;2867:18;;2854:32;;2933:2;2918:18;;2905:32;;-1:-1:-1;2984:3:1;2969:19;;2956:33;;-1:-1:-1;3036:3:1;3021:19;;3008:33;;-1:-1:-1;3088:3:1;3073:19;3060:33;;-1:-1:-1;2507:592:1;-1:-1:-1;2507:592:1:o;3104:388::-;3172:6;3180;3233:2;3221:9;3212:7;3208:23;3204:32;3201:52;;;3249:1;3246;3239:12;3201:52;3288:9;3275:23;3307:31;3332:5;3307:31;:::i;:::-;3357:5;-1:-1:-1;3414:2:1;3399:18;;3386:32;3427:33;3386:32;3427:33;:::i;:::-;3479:7;3469:17;;;3104:388;;;;;:::o;3497:316::-;3574:6;3582;3590;3643:2;3631:9;3622:7;3618:23;3614:32;3611:52;;;3659:1;3656;3649:12;3611:52;-1:-1:-1;;3682:23:1;;;3752:2;3737:18;;3724:32;;-1:-1:-1;3803:2:1;3788:18;;;3775:32;;3497:316;-1:-1:-1;3497:316:1:o;4078:329::-;4280:2;4262:21;;;4319:1;4299:18;;;4292:29;-1:-1:-1;;;4352:2:1;4337:18;;4330:36;4398:2;4383:18;;4078:329::o;4412:184::-;4482:6;4535:2;4523:9;4514:7;4510:23;4506:32;4503:52;;;4551:1;4548;4541:12;4503:52;-1:-1:-1;4574:16:1;;4412:184;-1:-1:-1;4412:184:1:o;4880:277::-;4947:6;5000:2;4988:9;4979:7;4975:23;4971:32;4968:52;;;5016:1;5013;5006:12;4968:52;5048:9;5042:16;5101:5;5094:13;5087:21;5080:5;5077:32;5067:60;;5123:1;5120;5113:12;7012:127;7073:10;7068:3;7064:20;7061:1;7054:31;7104:4;7101:1;7094:15;7128:4;7125:1;7118:15;7144:128;7211:9;;;7232:11;;;7229:37;;;7246:18;;:::i;9552:125::-;9617:9;;;9638:10;;;9635:36;;;9651:18;;:::i;9682:168::-;9755:9;;;9786;;9803:15;;;9797:22;;9783:37;9773:71;;9824:18;;:::i;9855:217::-;9895:1;9921;9911:132;;9965:10;9960:3;9956:20;9953:1;9946:31;10000:4;9997:1;9990:15;10028:4;10025:1;10018:15;9911:132;-1:-1:-1;10057:9:1;;9855:217::o;10209:127::-;10270:10;10265:3;10261:20;10258:1;10251:31;10301:4;10298:1;10291:15;10325:4;10322:1;10315:15;10341:251;10411:6;10464:2;10452:9;10443:7;10439:23;10435:32;10432:52;;;10480:1;10477;10470:12;10432:52;10512:9;10506:16;10531:31;10556:5;10531:31;:::i;10597:980::-;10859:4;10907:3;10896:9;10892:19;10938:6;10927:9;10920:25;10964:2;11002:6;10997:2;10986:9;10982:18;10975:34;11045:3;11040:2;11029:9;11025:18;11018:31;11069:6;11104;11098:13;11135:6;11127;11120:22;11173:3;11162:9;11158:19;11151:26;;11212:2;11204:6;11200:15;11186:29;;11233:1;11243:195;11257:6;11254:1;11251:13;11243:195;;;11322:13;;-1:-1:-1;;;;;11318:39:1;11306:52;;11413:15;;;;11378:12;;;;11354:1;11272:9;11243:195;;;-1:-1:-1;;;;;;;11494:32:1;;;;11489:2;11474:18;;11467:60;-1:-1:-1;;;11558:3:1;11543:19;11536:35;11455:3;10597:980;-1:-1:-1;;;10597:980:1:o;12194:306::-;12282:6;12290;12298;12351:2;12339:9;12330:7;12326:23;12322:32;12319:52;;;12367:1;12364;12357:12;12319:52;12396:9;12390:16;12380:26;;12446:2;12435:9;12431:18;12425:25;12415:35;;12490:2;12479:9;12475:18;12469:25;12459:35;;12194:306;;;;;:::o

Swarm Source

ipfs://351607612bb7c2c8eb456ec5b753d1cbc104f68f34828a624e3d4caf9388b752

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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