ETH Price: $2,410.05 (+1.84%)

Contract

0x15B93a0798eaa5f6e32F55c98aA283b7332e9792
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve168236362023-03-14 3:52:35571 days ago1678765955IN
0x15B93a07...7332e9792
0 ETH0.0007951117.08350672
Approve167261442023-02-28 10:44:11585 days ago1677581051IN
0x15B93a07...7332e9792
0 ETH0.0004128617.01884557
Approve165164122023-01-30 1:39:47614 days ago1675042787IN
0x15B93a07...7332e9792
0 ETH0.0008603318.48479336
Approve165086942023-01-28 23:47:11615 days ago1674949631IN
0x15B93a07...7332e9792
0 ETH0.0007095515.24521382
Approve165084032023-01-28 22:48:35615 days ago1674946115IN
0x15B93a07...7332e9792
0 ETH0.0006843214.7029837
Approve165078852023-01-28 21:04:47615 days ago1674939887IN
0x15B93a07...7332e9792
0 ETH0.000774116.6319504
Approve165073862023-01-28 19:24:23615 days ago1674933863IN
0x15B93a07...7332e9792
0 ETH0.0007506716.12860739
Approve165070222023-01-28 18:11:11615 days ago1674929471IN
0x15B93a07...7332e9792
0 ETH0.0014754931.70176679
Approve165065792023-01-28 16:42:11615 days ago1674924131IN
0x15B93a07...7332e9792
0 ETH0.0007190415.44901596
Approve165065142023-01-28 16:29:11615 days ago1674923351IN
0x15B93a07...7332e9792
0 ETH0.0008110317.4255521
Approve165064822023-01-28 16:22:47615 days ago1674922967IN
0x15B93a07...7332e9792
0 ETH0.0012869427.61505373
Approve165052472023-01-28 12:14:11616 days ago1674908051IN
0x15B93a07...7332e9792
0 ETH0.0007115815.26917686
Approve165050932023-01-28 11:43:23616 days ago1674906203IN
0x15B93a07...7332e9792
0 ETH0.0006561114.09691441
Approve165043462023-01-28 9:13:35616 days ago1674897215IN
0x15B93a07...7332e9792
0 ETH0.0006589614.15815472
Approve165037962023-01-28 7:23:35616 days ago1674890615IN
0x15B93a07...7332e9792
0 ETH0.0006541114.05395908
Approve165037252023-01-28 7:09:23616 days ago1674889763IN
0x15B93a07...7332e9792
0 ETH0.0007499816.09297972
Approve165032522023-01-28 5:34:47616 days ago1674884087IN
0x15B93a07...7332e9792
0 ETH0.0007161215.38631551
Approve165032142023-01-28 5:27:11616 days ago1674883631IN
0x15B93a07...7332e9792
0 ETH0.0006703914.40383099
Approve165031532023-01-28 5:14:47616 days ago1674882887IN
0x15B93a07...7332e9792
0 ETH0.0010252622
Approve165030162023-01-28 4:46:47616 days ago1674881207IN
0x15B93a07...7332e9792
0 ETH0.0006778914.56481899
Approve165030092023-01-28 4:45:23616 days ago1674881123IN
0x15B93a07...7332e9792
0 ETH0.0010704722.96998515
Approve165029102023-01-28 4:25:35616 days ago1674879935IN
0x15B93a07...7332e9792
0 ETH0.0007977117.11714159
Approve165028512023-01-28 4:13:47616 days ago1674879227IN
0x15B93a07...7332e9792
0 ETH0.0006305313.52986197
Approve165028452023-01-28 4:12:35616 days ago1674879155IN
0x15B93a07...7332e9792
0 ETH0.0007543516.18682653
Approve165028192023-01-28 4:07:23616 days ago1674878843IN
0x15B93a07...7332e9792
0 ETH0.0006700114.39569883
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
165246842023-01-31 5:21:47613 days ago1675142507
0x15B93a07...7332e9792
0.00387304 ETH
165246842023-01-31 5:21:47613 days ago1675142507
0x15B93a07...7332e9792
0.00385377 ETH
165246842023-01-31 5:21:47613 days ago1675142507
0x15B93a07...7332e9792
0.00772681 ETH
165068452023-01-28 17:35:47615 days ago1674927347
0x15B93a07...7332e9792
0.00599878 ETH
165068452023-01-28 17:35:47615 days ago1674927347
0x15B93a07...7332e9792
0.00596893 ETH
165068452023-01-28 17:35:47615 days ago1674927347
0x15B93a07...7332e9792
0.01196771 ETH
165068382023-01-28 17:34:23615 days ago1674927263
0x15B93a07...7332e9792
0.00599878 ETH
165068382023-01-28 17:34:23615 days ago1674927263
0x15B93a07...7332e9792
0.00596893 ETH
165068382023-01-28 17:34:23615 days ago1674927263
0x15B93a07...7332e9792
0.01196771 ETH
165059242023-01-28 14:30:47616 days ago1674916247
0x15B93a07...7332e9792
0.00956691 ETH
165059242023-01-28 14:30:47616 days ago1674916247
0x15B93a07...7332e9792
0.00951931 ETH
165059242023-01-28 14:30:47616 days ago1674916247
0x15B93a07...7332e9792
0.01908623 ETH
165056312023-01-28 13:32:11616 days ago1674912731
0x15B93a07...7332e9792
0.01055161 ETH
165056312023-01-28 13:32:11616 days ago1674912731
0x15B93a07...7332e9792
0.01049912 ETH
165056312023-01-28 13:32:11616 days ago1674912731
0x15B93a07...7332e9792
0.02105073 ETH
165054782023-01-28 13:01:23616 days ago1674910883
0x15B93a07...7332e9792
0.01101705 ETH
165054782023-01-28 13:01:23616 days ago1674910883
0x15B93a07...7332e9792
0.01096224 ETH
165054782023-01-28 13:01:23616 days ago1674910883
0x15B93a07...7332e9792
0.0219793 ETH
165054552023-01-28 12:56:47616 days ago1674910607
0x15B93a07...7332e9792
0.01201571 ETH
165054552023-01-28 12:56:47616 days ago1674910607
0x15B93a07...7332e9792
0.01195593 ETH
165054552023-01-28 12:56:47616 days ago1674910607
0x15B93a07...7332e9792
0.02397165 ETH
165054032023-01-28 12:46:11616 days ago1674909971
0x15B93a07...7332e9792
0.01499962 ETH
165054032023-01-28 12:46:11616 days ago1674909971
0x15B93a07...7332e9792
0.01492499 ETH
165054032023-01-28 12:46:11616 days ago1674909971
0x15B93a07...7332e9792
0.02992462 ETH
165050062023-01-28 11:25:59616 days ago1674905159
0x15B93a07...7332e9792
0.0141496 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DefiPAD

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-28
*/

/**

It is the ultimate, AI-generated trading prediction bot not just on telegram but on the enteire blockchain itself. It can use metrics picked up for all different types of other utilities and tools to help generate the best possible outcome for your trading.

Supply: 10m
Max Buy / Sell: 2%
Max Wallet: 3% (lower at launch)

Total Tax: 4/4 (higher at launch)

https://t.me/DefiPadERC20
https://de-fipad.com/
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.16;


library SafeMath {
    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 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 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;}}}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    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 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);}

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 IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
        function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

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

contract DefiPAD is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'DefiPAD';
    string private constant _symbol = '$DEPAD';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 10000000 * (10 ** _decimals);
    uint256 private _maxTxAmountPercent = 100; // 1% 10000;
    uint256 private _maxTransferPercent = 100;
    uint256 private _maxWalletPercent = 100;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) private isBot;
    IRouter router;
    address public pair;
    bool private tradingAllowed = false;
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 300;
    uint256 private developmentFee = 100;
    uint256 private burnFee = 0;
    uint256 private totalFee = 2000; // Launching with 20% tax to reduce bot
    uint256 private sellFee = 2000;
    uint256 private transferFee = 0;
    uint256 private denominator = 10000;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping; 
    uint256 private swapThreshold = ( _totalSupply * 600 ) / 100000;
    uint256 private _minTokenAmount = ( _totalSupply * 10 ) / 100000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}

    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal constant development_receiver = 0x2701393615F342196Ba1190D2f1f34Ce4c648a22; 
    address internal constant marketing_receiver = 0x2701393615F342196Ba1190D2f1f34Ce4c648a22;
    address internal constant liquidity_receiver = 0x2701393615F342196Ba1190D2f1f34Ce4c648a22;

    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router;
        pair = _pair;
        isFeeExempt[address(this)] = true;
        isFeeExempt[liquidity_receiver] = true;
        isFeeExempt[marketing_receiver] = true;
        isFeeExempt[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    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 {tradingAllowed = 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 isCont(address addr) internal view returns (bool) {uint size; assembly { size := extcodesize(addr) } return size > 0; }
    function setisBot(address _address, bool _enabled) external onlyOwner {isBot[_address] = _enabled;}
    function setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;}
    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 _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}
    function _maxWalletToken() public view returns (uint256) {return totalSupply() * _maxWalletPercent / denominator;}
    function _maxTxAmount() public view returns (uint256) {return totalSupply() * _maxTxAmountPercent / denominator;}
    function _maxTransferAmount() public view returns (uint256) {return totalSupply() * _maxTransferPercent / denominator;}

    function preTxCheck(address sender, address recipient, uint256 amount) internal view {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > uint256(0), "Transfer amount must be greater than zero");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        preTxCheck(sender, recipient, amount);
        checkTradingAllowed(sender, recipient);
        checkMaxWallet(sender, recipient, amount); 
        swapbackCounters(sender, recipient);
        checkTxLimit(sender, recipient, amount); 
        swapBack(sender, recipient, amount);
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    function setStructure(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity;
        marketingFee = _marketing;
        burnFee = _burn;
        developmentFee = _development;
        totalFee = _total;
        sellFee = _sell;
        transferFee = _trans;
        require(totalFee <= denominator.div(5) && sellFee <= denominator.div(5), "totalFee and sellFee cannot be more than 20%");
    }

    function setParameters(uint256 _buy, uint256 _trans, uint256 _wallet) external onlyOwner {
        uint256 newTx = (totalSupply() * _buy) / 10000;
        uint256 newTransfer = (totalSupply() * _trans) / 10000;
        uint256 newWallet = (totalSupply() * _wallet) / 10000;
        _maxTxAmountPercent = _buy;
        _maxTransferPercent = _trans;
        _maxWalletPercent = _wallet;
        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 checkTradingAllowed(address sender, address recipient) internal view {
        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");}
    }
    
    function checkMaxWallet(address sender, address recipient, uint256 amount) internal view {
        if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){
            require((_balances[recipient].add(amount)) <= _maxWalletToken(), "Exceeds maximum wallet amount.");}
    }

    function swapbackCounters(address sender, address recipient) internal {
        if(recipient == pair && !isFeeExempt[sender]){swapTimes += uint256(1);}
    }

    function checkTxLimit(address sender, address recipient, uint256 amount) internal view {
        if(sender != pair){require(amount <= _maxTransferAmount() || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");}
        require(amount <= _maxTxAmount() || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");
    }

    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).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(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);}
        uint256 remainingBalance = address(this).balance;
        if(remainingBalance > uint256(0)){payable(development_receiver).transfer(remainingBalance);}
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity_receiver,
            block.timestamp);
    }

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

    function shouldSwapBack(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= _minTokenAmount;
        bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
        return !swapping && swapEnabled && tradingAllowed && aboveMin && !isFeeExempt[sender] && recipient == pair && swapTimes >= uint256(2) && aboveThreshold;
    }

    function swapBack(address sender, address recipient, uint256 amount) internal {
        if(shouldSwapBack(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
    }

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

    function getTotalFee(address sender, address recipient) internal view returns (uint256) {
        if(isBot[sender] || isBot[recipient]){return denominator.sub(uint256(100));}
        if(recipient == pair){return sellFee;}
        if(sender == pair){return totalFee;}
        return transferFee;
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if(getTotalFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burnFee > uint256(0)){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        return amount.sub(feeAmount);} return amount;
    }

    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);
    }

}

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":"_maxTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":"isFeeExempt","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","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":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","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"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a6200042e565b62000021906298968062000446565b60018181556064600281905560038190556004819055600a805460ff60a01b191690556000600b81905561012c600c55600d91909155600e8190556107d0600f8190556010556011556127106012556013805460ff19169091179055620186a090620000909061025862000446565b6200009c919062000468565b601655620186a0600154600a620000b4919062000446565b620000c0919062000468565b601755348015620000d057600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa15801562000138573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015e91906200048b565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d291906200048b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024691906200048b565b600980546001600160a01b038581166001600160a01b031992831617909255600a805492841692909116919091179055306000908152600760209081526040808320805460ff1990811660019081179092557f6d6f4eb7879c2743c832495dab49b9d630a0dcfb6ddbc129b6a34162202beac18054821683179055338086528386208054909216831790915590546005845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004b6565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200037057816000190482111562000354576200035462000319565b808516156200036257918102915b93841c939080029062000334565b509250929050565b600082620003895750600162000428565b81620003985750600062000428565b8160018114620003b15760028114620003bc57620003dc565b600191505062000428565b60ff841115620003d057620003d062000319565b50506001821b62000428565b5060208310610133831016604e8410600b841016171562000401575081810a62000428565b6200040d83836200032f565b806000190482111562000424576200042462000319565b0290505b92915050565b60006200043f60ff84168362000378565b9392505050565b600081600019048311821515161562000463576200046362000319565b500290565b6000826200048657634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200049e57600080fd5b81516001600160a01b03811681146200043f57600080fd5b611ac680620004c66000396000f3fe6080604052600436106101395760003560e01c806348ff2b8b116100ab5780638c41180e1161006f5780638c41180e1461039357806395d89b41146103b3578063a8aa1b31146103e2578063a9059cbb14610402578063dd62ed3e14610422578063f2fde38b1461046857600080fd5b806348ff2b8b146102e157806370a082311461030157806378109e54146103375780637d1db4a51461034c578063893d20e81461036157600080fd5b806323b872dd116100fd57806323b872dd14610211578063293230b8146102315780632f54bf6e14610246578063313ce5671461027557806334c5d2ce146102915780633f4218e0146102b157600080fd5b8063044019301461014557806306fdde0314610167578063095ea7b3146101a957806318160ddd146101d95780631f976b7e146101fc57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b50610165610160366004611725565b610488565b005b34801561017357600080fd5b506040805180820190915260078152661119599a54105160ca1b60208201525b6040516101a09190611771565b60405180910390f35b3480156101b557600080fd5b506101c96101c43660046117d7565b610576565b60405190151581526020016101a0565b3480156101e557600080fd5b506101ee61058d565b6040519081526020016101a0565b34801561020857600080fd5b506101ee6105fe565b34801561021d57600080fd5b506101c961022c366004611803565b610622565b34801561023d57600080fd5b5061016561068c565b34801561025257600080fd5b506101c9610261366004611844565b6000546001600160a01b0391821691161490565b34801561028157600080fd5b50604051600981526020016101a0565b34801561029d57600080fd5b506101656102ac366004611861565b6106cb565b3480156102bd57600080fd5b506101c96102cc366004611844565b60076020526000908152604090205460ff1681565b3480156102ed57600080fd5b506101656102fc36600461188d565b610812565b34801561030d57600080fd5b506101ee61031c366004611844565b6001600160a01b031660009081526005602052604090205490565b34801561034357600080fd5b506101ee610867565b34801561035857600080fd5b506101ee610877565b34801561036d57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101a0565b34801561039f57600080fd5b506101656103ae36600461188d565b610887565b3480156103bf57600080fd5b5060408051808201909152600681526509111154105160d21b6020820152610193565b3480156103ee57600080fd5b50600a5461037b906001600160a01b031681565b34801561040e57600080fd5b506101c961041d3660046117d7565b6108dc565b34801561042e57600080fd5b506101ee61043d3660046118cb565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047457600080fd5b50610165610483366004611844565b6108e9565b6000546001600160a01b031633146104bb5760405162461bcd60e51b81526004016104b2906118f9565b60405180910390fd5b600b879055600c869055600e859055600d849055600f839055601082905560118190556012546104ec906005610967565b600f541115801561050c5750601254610506906005610967565b60105411155b61056d5760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016104b2565b50505050505050565b6000610583338484610973565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460015491926105f99290916105f39190610a97565b90610a97565b905090565b600060125460035461060e61058d565b610618919061192f565b6105f9919061194e565b600061062f848484610aa3565b610681843361067c85604051806060016040528060288152602001611a69602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610bc9565b610973565b5060015b9392505050565b6000546001600160a01b031633146106b65760405162461bcd60e51b81526004016104b2906118f9565b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106f55760405162461bcd60e51b81526004016104b2906118f9565b60006127108461070361058d565b61070d919061192f565b610717919061194e565b905060006127108461072761058d565b610731919061192f565b61073b919061194e565b905060006127108461074b61058d565b610755919061192f565b61075f919061194e565b600287905560038690556004859055905060006107916103e861078b600561078561058d565b90610bf5565b90610967565b90508084101580156107a35750808310155b80156107af5750808210155b61056d5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104b2565b6000546001600160a01b0316331461083c5760405162461bcd60e51b81526004016104b2906118f9565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600060125460045461060e61058d565b600060125460025461060e61058d565b6000546001600160a01b031633146108b15760405162461bcd60e51b81526004016104b2906118f9565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000610583338484610aa3565b6000546001600160a01b031633146109135760405162461bcd60e51b81526004016104b2906118f9565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000610685828461194e565b6001600160a01b0383166109d55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b2565b6001600160a01b038216610a365760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b2565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106858284611970565b610aae838383610c01565b610ab88383610db0565b610ac3838383610e45565b610acd8383610f36565b610ad8838383610f8d565b610ae38383836110c4565b6001600160a01b038316600090815260056020526040902054610b069082610a97565b6001600160a01b038416600090815260056020526040812091909155610b2c84846110e9565b610b365781610b41565b610b4184848461112f565b6001600160a01b038416600090815260056020526040902054909150610b67908261121d565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bbb9085815260200190565b60405180910390a350505050565b60008184841115610bed5760405162461bcd60e51b81526004016104b29190611771565b505050900390565b6000610685828461192f565b6001600160a01b038316610c655760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b2565b6001600160a01b038216610cc75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b2565b60008111610d295760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b2565b6001600160a01b038316600090815260056020526040902054811115610dab5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104b2565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610df257506001600160a01b03811660009081526007602052604090205460ff16155b15610e4157600a54600160a01b900460ff16610e415760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104b2565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610e8757506001600160a01b03821660009081526007602052604090205460ff16155b8015610ea15750600a546001600160a01b03838116911614155b8015610eb857506001600160a01b03821661dead14155b15610dab57610ec5610867565b6001600160a01b038316600090815260056020526040902054610ee8908361121d565b1115610dab5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104b2565b600a546001600160a01b038281169116148015610f6c57506001600160a01b03821660009081526007602052604090205460ff16155b15610e4157600160146000828254610f849190611983565b90915550505050565b600a546001600160a01b0384811691161461103357610faa6105fe565b81111580610fd057506001600160a01b03831660009081526007602052604090205460ff165b80610ff357506001600160a01b03821660009081526007602052604090205460ff165b6110335760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b2565b61103b610877565b8111158061106157506001600160a01b03831660009081526007602052604090205460ff165b8061108457506001600160a01b03821660009081526007602052604090205460ff165b610dab5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b2565b6110cf838383611229565b15610dab576110df6016546112db565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff161580156106855750506001600160a01b031660009081526007602052604090205460ff1615919050565b60008061113c8585611466565b111561121657600061115f6111518686611466565b601254610785908690610967565b3060009081526005602052604090205490915061117c908261121d565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111cd9085815260200190565b60405180910390a3600e5415611204576112043061dead6111ff600e546107856012548961096790919063ffffffff16565b610aa3565b61120e8382610a97565b915050610685565b5092915050565b60006106858284611983565b6017546016543060009081526005602052604081205460155491938510159211159060ff1615801561125d575060135460ff165b80156112725750600a54600160a01b900460ff165b801561127b5750815b80156112a057506001600160a01b03861660009081526007602052604090205460ff16155b80156112b95750600a546001600160a01b038681169116145b80156112c85750600260145410155b80156112d15750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b546000936113159360029361078593919261130f92839161121d565b9061121d565b905060006113328261078b600b5486610bf590919063ffffffff16565b905060006113408483610a97565b90504761134c82611507565b60006113584783610a97565b9050600061137b611374600b5488610a9790919063ffffffff16565b8390610967565b90506000611394600b5483610bf590919063ffffffff16565b905080156113a6576113a68682611661565b600c546000906113bb90610785856002610bf5565b9050801561140657604051732701393615f342196ba1190d2f1f34ce4c648a229082156108fc029083906000818181858888f19350505050158015611404573d6000803e3d6000fd5b505b47801561145057604051732701393615f342196ba1190d2f1f34ce4c648a229082156108fc029083906000818181858888f1935050505015801561144e573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16806114a557506001600160a01b03821660009081526008602052604090205460ff165b156114bf576012546114b8906064610a97565b9050610587565b600a546001600160a01b03908116908316036114de5750601054610587565b600a546001600160a01b03908116908416036114fd5750600f54610587565b5060115492915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061153c5761153c611996565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611595573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b991906119ac565b816001815181106115cc576115cc611996565b6001600160a01b0392831660209182029290920101526009546115f29130911684610973565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061162b9085906000908690309042906004016119c9565b600060405180830381600087803b15801561164557600080fd5b505af1158015611659573d6000803e3d6000fd5b505050505050565b6009546116799030906001600160a01b031684610973565b60095460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820152732701393615f342196ba1190d2f1f34ce4c648a2260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156116f9573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061171e9190611a3a565b5050505050565b600080600080600080600060e0888a03121561174057600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b8181101561179e57858101830151858201604001528201611782565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117d457600080fd5b50565b600080604083850312156117ea57600080fd5b82356117f5816117bf565b946020939093013593505050565b60008060006060848603121561181857600080fd5b8335611823816117bf565b92506020840135611833816117bf565b929592945050506040919091013590565b60006020828403121561185657600080fd5b8135610685816117bf565b60008060006060848603121561187657600080fd5b505081359360208301359350604090920135919050565b600080604083850312156118a057600080fd5b82356118ab816117bf565b9150602083013580151581146118c057600080fd5b809150509250929050565b600080604083850312156118de57600080fd5b82356118e9816117bf565b915060208301356118c0816117bf565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561194957611949611919565b500290565b60008261196b57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561058757610587611919565b8082018082111561058757610587611919565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119be57600080fd5b8151610685816117bf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a195784516001600160a01b0316835293830193918301916001016119f4565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a4f57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204124e8d9697d453f9dbbe3823c78d36f34e7c0d146ff138a8d1ac6b1b6f8ed2864736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806348ff2b8b116100ab5780638c41180e1161006f5780638c41180e1461039357806395d89b41146103b3578063a8aa1b31146103e2578063a9059cbb14610402578063dd62ed3e14610422578063f2fde38b1461046857600080fd5b806348ff2b8b146102e157806370a082311461030157806378109e54146103375780637d1db4a51461034c578063893d20e81461036157600080fd5b806323b872dd116100fd57806323b872dd14610211578063293230b8146102315780632f54bf6e14610246578063313ce5671461027557806334c5d2ce146102915780633f4218e0146102b157600080fd5b8063044019301461014557806306fdde0314610167578063095ea7b3146101a957806318160ddd146101d95780631f976b7e146101fc57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b50610165610160366004611725565b610488565b005b34801561017357600080fd5b506040805180820190915260078152661119599a54105160ca1b60208201525b6040516101a09190611771565b60405180910390f35b3480156101b557600080fd5b506101c96101c43660046117d7565b610576565b60405190151581526020016101a0565b3480156101e557600080fd5b506101ee61058d565b6040519081526020016101a0565b34801561020857600080fd5b506101ee6105fe565b34801561021d57600080fd5b506101c961022c366004611803565b610622565b34801561023d57600080fd5b5061016561068c565b34801561025257600080fd5b506101c9610261366004611844565b6000546001600160a01b0391821691161490565b34801561028157600080fd5b50604051600981526020016101a0565b34801561029d57600080fd5b506101656102ac366004611861565b6106cb565b3480156102bd57600080fd5b506101c96102cc366004611844565b60076020526000908152604090205460ff1681565b3480156102ed57600080fd5b506101656102fc36600461188d565b610812565b34801561030d57600080fd5b506101ee61031c366004611844565b6001600160a01b031660009081526005602052604090205490565b34801561034357600080fd5b506101ee610867565b34801561035857600080fd5b506101ee610877565b34801561036d57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101a0565b34801561039f57600080fd5b506101656103ae36600461188d565b610887565b3480156103bf57600080fd5b5060408051808201909152600681526509111154105160d21b6020820152610193565b3480156103ee57600080fd5b50600a5461037b906001600160a01b031681565b34801561040e57600080fd5b506101c961041d3660046117d7565b6108dc565b34801561042e57600080fd5b506101ee61043d3660046118cb565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047457600080fd5b50610165610483366004611844565b6108e9565b6000546001600160a01b031633146104bb5760405162461bcd60e51b81526004016104b2906118f9565b60405180910390fd5b600b879055600c869055600e859055600d849055600f839055601082905560118190556012546104ec906005610967565b600f541115801561050c5750601254610506906005610967565b60105411155b61056d5760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016104b2565b50505050505050565b6000610583338484610973565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460015491926105f99290916105f39190610a97565b90610a97565b905090565b600060125460035461060e61058d565b610618919061192f565b6105f9919061194e565b600061062f848484610aa3565b610681843361067c85604051806060016040528060288152602001611a69602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610bc9565b610973565b5060015b9392505050565b6000546001600160a01b031633146106b65760405162461bcd60e51b81526004016104b2906118f9565b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106f55760405162461bcd60e51b81526004016104b2906118f9565b60006127108461070361058d565b61070d919061192f565b610717919061194e565b905060006127108461072761058d565b610731919061192f565b61073b919061194e565b905060006127108461074b61058d565b610755919061192f565b61075f919061194e565b600287905560038690556004859055905060006107916103e861078b600561078561058d565b90610bf5565b90610967565b90508084101580156107a35750808310155b80156107af5750808210155b61056d5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104b2565b6000546001600160a01b0316331461083c5760405162461bcd60e51b81526004016104b2906118f9565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600060125460045461060e61058d565b600060125460025461060e61058d565b6000546001600160a01b031633146108b15760405162461bcd60e51b81526004016104b2906118f9565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000610583338484610aa3565b6000546001600160a01b031633146109135760405162461bcd60e51b81526004016104b2906118f9565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000610685828461194e565b6001600160a01b0383166109d55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b2565b6001600160a01b038216610a365760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b2565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106858284611970565b610aae838383610c01565b610ab88383610db0565b610ac3838383610e45565b610acd8383610f36565b610ad8838383610f8d565b610ae38383836110c4565b6001600160a01b038316600090815260056020526040902054610b069082610a97565b6001600160a01b038416600090815260056020526040812091909155610b2c84846110e9565b610b365781610b41565b610b4184848461112f565b6001600160a01b038416600090815260056020526040902054909150610b67908261121d565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bbb9085815260200190565b60405180910390a350505050565b60008184841115610bed5760405162461bcd60e51b81526004016104b29190611771565b505050900390565b6000610685828461192f565b6001600160a01b038316610c655760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b2565b6001600160a01b038216610cc75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b2565b60008111610d295760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b2565b6001600160a01b038316600090815260056020526040902054811115610dab5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104b2565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610df257506001600160a01b03811660009081526007602052604090205460ff16155b15610e4157600a54600160a01b900460ff16610e415760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104b2565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610e8757506001600160a01b03821660009081526007602052604090205460ff16155b8015610ea15750600a546001600160a01b03838116911614155b8015610eb857506001600160a01b03821661dead14155b15610dab57610ec5610867565b6001600160a01b038316600090815260056020526040902054610ee8908361121d565b1115610dab5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104b2565b600a546001600160a01b038281169116148015610f6c57506001600160a01b03821660009081526007602052604090205460ff16155b15610e4157600160146000828254610f849190611983565b90915550505050565b600a546001600160a01b0384811691161461103357610faa6105fe565b81111580610fd057506001600160a01b03831660009081526007602052604090205460ff165b80610ff357506001600160a01b03821660009081526007602052604090205460ff165b6110335760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b2565b61103b610877565b8111158061106157506001600160a01b03831660009081526007602052604090205460ff165b8061108457506001600160a01b03821660009081526007602052604090205460ff165b610dab5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b2565b6110cf838383611229565b15610dab576110df6016546112db565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff161580156106855750506001600160a01b031660009081526007602052604090205460ff1615919050565b60008061113c8585611466565b111561121657600061115f6111518686611466565b601254610785908690610967565b3060009081526005602052604090205490915061117c908261121d565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111cd9085815260200190565b60405180910390a3600e5415611204576112043061dead6111ff600e546107856012548961096790919063ffffffff16565b610aa3565b61120e8382610a97565b915050610685565b5092915050565b60006106858284611983565b6017546016543060009081526005602052604081205460155491938510159211159060ff1615801561125d575060135460ff165b80156112725750600a54600160a01b900460ff165b801561127b5750815b80156112a057506001600160a01b03861660009081526007602052604090205460ff16155b80156112b95750600a546001600160a01b038681169116145b80156112c85750600260145410155b80156112d15750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b546000936113159360029361078593919261130f92839161121d565b9061121d565b905060006113328261078b600b5486610bf590919063ffffffff16565b905060006113408483610a97565b90504761134c82611507565b60006113584783610a97565b9050600061137b611374600b5488610a9790919063ffffffff16565b8390610967565b90506000611394600b5483610bf590919063ffffffff16565b905080156113a6576113a68682611661565b600c546000906113bb90610785856002610bf5565b9050801561140657604051732701393615f342196ba1190d2f1f34ce4c648a229082156108fc029083906000818181858888f19350505050158015611404573d6000803e3d6000fd5b505b47801561145057604051732701393615f342196ba1190d2f1f34ce4c648a229082156108fc029083906000818181858888f1935050505015801561144e573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16806114a557506001600160a01b03821660009081526008602052604090205460ff165b156114bf576012546114b8906064610a97565b9050610587565b600a546001600160a01b03908116908316036114de5750601054610587565b600a546001600160a01b03908116908416036114fd5750600f54610587565b5060115492915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061153c5761153c611996565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611595573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b991906119ac565b816001815181106115cc576115cc611996565b6001600160a01b0392831660209182029290920101526009546115f29130911684610973565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061162b9085906000908690309042906004016119c9565b600060405180830381600087803b15801561164557600080fd5b505af1158015611659573d6000803e3d6000fd5b505050505050565b6009546116799030906001600160a01b031684610973565b60095460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820152732701393615f342196ba1190d2f1f34ce4c648a2260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156116f9573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061171e9190611a3a565b5050505050565b600080600080600080600060e0888a03121561174057600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b8181101561179e57858101830151858201604001528201611782565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117d457600080fd5b50565b600080604083850312156117ea57600080fd5b82356117f5816117bf565b946020939093013593505050565b60008060006060848603121561181857600080fd5b8335611823816117bf565b92506020840135611833816117bf565b929592945050506040919091013590565b60006020828403121561185657600080fd5b8135610685816117bf565b60008060006060848603121561187657600080fd5b505081359360208301359350604090920135919050565b600080604083850312156118a057600080fd5b82356118ab816117bf565b9150602083013580151581146118c057600080fd5b809150509250929050565b600080604083850312156118de57600080fd5b82356118e9816117bf565b915060208301356118c0816117bf565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561194957611949611919565b500290565b60008261196b57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561058757610587611919565b8082018082111561058757610587611919565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119be57600080fd5b8151610685816117bf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a195784516001600160a01b0316835293830193918301916001016119f4565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a4f57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204124e8d9697d453f9dbbe3823c78d36f34e7c0d146ff138a8d1ac6b1b6f8ed2864736f6c63430008100033

Deployed Bytecode Sourcemap

5040:11653:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10326:527;;;;;;;;;;-1:-1:-1;10326:527:0;;;;;:::i;:::-;;:::i;:::-;;7422:67;;;;;;;;;;-1:-1:-1;7482:5:0;;;;;;;;;;;;-1:-1:-1;;;7482:5:0;;;;7422:67;;;;;;;:::i;:::-;;;;;;;;8542:133;;;;;;;;;;-1:-1:-1;8542:133:0;;;;;:::i;:::-;;:::i;:::-;;;1785:14:1;;1778:22;1760:41;;1748:2;1733:18;8542:133:0;1620:187:1;8681:132:0;;;;;;;;;;;;;:::i;:::-;;;1958:25:1;;;1946:2;1931:18;8681:132:0;1812:177:1;9058:119:0;;;;;;;;;;;;;:::i;16036:309::-;;;;;;;;;;-1:-1:-1;16036:309:0;;;;;:::i;:::-;;:::i;7645:67::-;;;;;;;;;;;;;:::i;3420:87::-;;;;;;;;;;-1:-1:-1;3420:87:0;;;;;:::i;:::-;3475:4;3500:5;-1:-1:-1;;;;;3489:16:0;;;3500:5;;3489:16;;3420:87;7572:67;;;;;;;;;;-1:-1:-1;7572:67:0;;5248:1;2849:36:1;;2837:2;2822:18;7572:67:0;2707:184:1;10861:584:0;;;;;;;;;;-1:-1:-1;10861:584:0;;;;;:::i;:::-;;:::i;5598:44::-;;;;;;;;;;-1:-1:-1;5598:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8428:108;;;;;;;;;;-1:-1:-1;8428:108:0;;;;;:::i;:::-;;:::i;7802:103::-;;;;;;;;;;-1:-1:-1;7802:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7885:18:0;7868:7;7885:18;;;:9;:18;;;;;;;7802:103;8819:114;;;;;;;;;;;;;:::i;8939:113::-;;;;;;;;;;;;;:::i;7718:78::-;;;;;;;;;;-1:-1:-1;7770:7:0;7788:5;-1:-1:-1;;;;;7788:5:0;7718:78;;;-1:-1:-1;;;;;3802:32:1;;;3784:51;;3772:2;3757:18;7718:78:0;3638:203:1;8323:99:0;;;;;;;;;;-1:-1:-1;8323:99:0;;;;;:::i;:::-;;:::i;7495:71::-;;;;;;;;;;-1:-1:-1;7557:7:0;;;;;;;;;;;;-1:-1:-1;;;7557:7:0;;;;7495:71;;5716:19;;;;;;;;;;-1:-1:-1;5716:19:0;;;;-1:-1:-1;;;;;5716:19:0;;;7911:139;;;;;;;;;;-1:-1:-1;7911:139:0;;;;;:::i;:::-;;:::i;8056:127::-;;;;;;;;;;-1:-1:-1;8056:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8154:18:0;;;8137:7;8154:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8056:127;3513:111;;;;;;;;;;-1:-1:-1;3513:111:0;;;;;:::i;:::-;;:::i;10326:527::-;3475:4;3500:5;-1:-1:-1;;;;;3500:5:0;3387:10;3489:16;3371:38;;;;-1:-1:-1;;;3371:38:0;;;;;;;:::i;:::-;;;;;;;;;10502:12:::1;:25:::0;;;10538:12:::1;:25:::0;;;10574:7:::1;:15:::0;;;10600:14:::1;:29:::0;;;10640:8:::1;:17:::0;;;10668:7:::1;:15:::0;;;10694:11:::1;:20:::0;;;10745:11:::1;::::0;:18:::1;::::0;10761:1:::1;10745:15;:18::i;:::-;10733:8;;:30;;:63;;;;-1:-1:-1::0;10778:11:0::1;::::0;:18:::1;::::0;10794:1:::1;10778:15;:18::i;:::-;10767:7;;:29;;10733:63;10725:120;;;::::0;-1:-1:-1;;;10725:120:0;;5035:2:1;10725:120:0::1;::::0;::::1;5017:21:1::0;5074:2;5054:18;;;5047:30;5113:34;5093:18;;;5086:62;-1:-1:-1;;;5164:18:1;;;5157:42;5216:19;;10725:120:0::1;4833:408:1::0;10725:120:0::1;10326:527:::0;;;;;;;:::o;8542:133::-;8617:4;8624:37;8633:10;8645:7;8654:6;8624:8;:37::i;:::-;-1:-1:-1;8669:4:0;8542:133;;;;;:::o;8681:132::-;7885:9;:18;;;;6477:42;8734:7;7885:18;;;;;8751:12;;8734:7;;8751:60;;7885:18;;8751:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8744:67;;8681:132;:::o;9058:119::-;9109:7;9164:11;;9142:19;;9126:13;:11;:13::i;:::-;:35;;;;:::i;:::-;:49;;;;:::i;16036:309::-;16134:4;16151:36;16161:6;16169:9;16180:6;16151:9;:36::i;:::-;16198:117;16207:6;16215:10;16227:87;16263:6;16227:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16227:19:0;;;;;;:11;:19;;;;;;;;16247:10;16227:31;;;;;;;;;:87;:35;:87::i;:::-;16198:8;:117::i;:::-;-1:-1:-1;16333:4:0;16036:309;;;;;;:::o;7645:67::-;3475:4;3500:5;-1:-1:-1;;;;;3500:5:0;3387:10;3489:16;3371:38;;;;-1:-1:-1;;;3371:38:0;;;;;;;:::i;:::-;7689:14:::1;:21:::0;;-1:-1:-1;;;;7689:21:0::1;-1:-1:-1::0;;;7689:21:0::1;::::0;;7645:67::o;10861:584::-;3475:4;3500:5;-1:-1:-1;;;;;3500:5:0;3387:10;3489:16;3371:38;;;;-1:-1:-1;;;3371:38:0;;;;;;;:::i;:::-;10961:13:::1;11002:5;10994:4;10978:13;:11;:13::i;:::-;:20;;;;:::i;:::-;10977:30;;;;:::i;:::-;10961:46;;11018:19;11067:5;11057:6;11041:13;:11;:13::i;:::-;:22;;;;:::i;:::-;11040:32;;;;:::i;:::-;11018:54;;11083:17;11131:5;11120:7;11104:13;:11;:13::i;:::-;:23;;;;:::i;:::-;11103:33;;;;:::i;:::-;11147:19;:26:::0;;;11184:19:::1;:28:::0;;;11223:17:::1;:27:::0;;;11083:53;-1:-1:-1;;11277:30:0::1;11302:4;11277:20;11295:1;11277:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;11261:46;;11335:5;11326;:14;;:38;;;;;11359:5;11344:11;:20;;11326:38;:60;;;;;11381:5;11368:9;:18;;11326:60;11318:119;;;::::0;-1:-1:-1;;;11318:119:0;;5975:2:1;11318:119:0::1;::::0;::::1;5957:21:1::0;6014:2;5994:18;;;5987:30;6053:34;6033:18;;;6026:62;-1:-1:-1;;;6104:18:1;;;6097:44;6158:19;;11318:119:0::1;5773:410:1::0;8428:108:0;3475:4;3500:5;-1:-1:-1;;;;;3500:5:0;3387:10;3489:16;3371:38;;;;-1:-1:-1;;;3371:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8502:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8502:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8428:108::o;8819:114::-;8867:7;8920:11;;8900:17;;8884:13;:11;:13::i;8939:113::-;8984:7;9039:11;;9017:19;;9001:13;:11;:13::i;8323:99::-;3475:4;3500:5;-1:-1:-1;;;;;3500:5:0;3387:10;3489:16;3371:38;;;;-1:-1:-1;;;3371:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8394:15:0;;;::::1;;::::0;;;:5:::1;:15;::::0;;;;:26;;-1:-1:-1;;8394:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8323:99::o;7911:139::-;7989:4;7996:40;8006:10;8018:9;8029:6;7996:9;:40::i;3513:111::-;3475:4;3500:5;-1:-1:-1;;;;;3500:5:0;3387:10;3489:16;3371:38;;;;-1:-1:-1;;;3371:38:0;;;;;;;:::i;:::-;3579:5:::1;:11:::0;;-1:-1:-1;;;;;;3579:11:0::1;-1:-1:-1::0;;;;;3579:11:0;::::1;::::0;;::::1;::::0;;;3597:25:::1;::::0;3784:51:1;;;3597:25:0::1;::::0;3772:2:1;3757:18;3597:25:0::1;;;;;;;3513:111:::0;:::o;782:82::-;840:7;857:5;861:1;857;:5;:::i;16353:335::-;-1:-1:-1;;;;;16446:19:0;;16438:68;;;;-1:-1:-1;;;16438:68:0;;6606:2:1;16438:68:0;;;6588:21:1;6645:2;6625:18;;;6618:30;6684:34;6664:18;;;6657:62;-1:-1:-1;;;6735:18:1;;;6728:34;6779:19;;16438:68:0;6404:400:1;16438:68:0;-1:-1:-1;;;;;16525:21:0;;16517:68;;;;-1:-1:-1;;;16517:68:0;;7011:2:1;16517:68:0;;;6993:21:1;7050:2;7030:18;;;7023:30;7089:34;7069:18;;;7062:62;-1:-1:-1;;;7140:18:1;;;7133:32;7182:19;;16517:68:0;6809:398:1;16517:68:0;-1:-1:-1;;;;;16596:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16648:32;;1958:25:1;;;16648:32:0;;1931:18:1;16648:32:0;;;;;;;16353:335;;;:::o;606:82::-;664:7;681:5;685:1;681;:5;:::i;9632:686::-;9721:37;9732:6;9740:9;9751:6;9721:10;:37::i;:::-;9769:38;9789:6;9797:9;9769:19;:38::i;:::-;9818:41;9833:6;9841:9;9852:6;9818:14;:41::i;:::-;9871:35;9888:6;9896:9;9871:16;:35::i;:::-;9917:39;9930:6;9938:9;9949:6;9917:12;:39::i;:::-;9968:35;9977:6;9985:9;9996:6;9968:8;:35::i;:::-;-1:-1:-1;;;;;10034:17:0;;;;;;:9;:17;;;;;;:29;;10056:6;10034:21;:29::i;:::-;-1:-1:-1;;;;;10014:17:0;;;;;;:9;:17;;;;;:49;;;;10099:32;10024:6;10121:9;10099:13;:32::i;:::-;:78;;10171:6;10099:78;;;10134:34;10142:6;10150:9;10161:6;10134:7;:34::i;:::-;-1:-1:-1;;;;;10211:20:0;;;;;;:9;:20;;;;;;10074:103;;-1:-1:-1;10211:40:0;;10074:103;10211:24;:40::i;:::-;-1:-1:-1;;;;;10188:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10267:43;;;;;;;;;;10295:14;1958:25:1;;1946:2;1931:18;;1812:177;10267:43:0;;;;;;;;9710:608;9632:686;;;:::o;1819:162::-;1905:7;1951:12;1943:6;;;;1935:29;;;;-1:-1:-1;;;1935:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1973:5:0;;;1819:162::o;694:82::-;752:7;769:5;773:1;769;:5;:::i;9185:439::-;-1:-1:-1;;;;;9289:20:0;;9281:70;;;;-1:-1:-1;;;9281:70:0;;7547:2:1;9281:70:0;;;7529:21:1;7586:2;7566:18;;;7559:30;7625:34;7605:18;;;7598:62;-1:-1:-1;;;7676:18:1;;;7669:35;7721:19;;9281:70:0;7345:401:1;9281:70:0;-1:-1:-1;;;;;9370:23:0;;9362:71;;;;-1:-1:-1;;;9362:71:0;;7953:2:1;9362:71:0;;;7935:21:1;7992:2;7972:18;;;7965:30;8031:34;8011:18;;;8004:62;-1:-1:-1;;;8082:18:1;;;8075:33;8125:19;;9362:71:0;7751:399:1;9362:71:0;9469:1;9452:6;:19;9444:73;;;;-1:-1:-1;;;9444:73:0;;8357:2:1;9444:73:0;;;8339:21:1;8396:2;8376:18;;;8369:30;8435:34;8415:18;;;8408:62;-1:-1:-1;;;8486:18:1;;;8479:39;8535:19;;9444:73:0;8155:405:1;9444:73:0;-1:-1:-1;;;;;7885:18:0;;7868:7;7885:18;;;:9;:18;;;;;;9536:6;:27;;9528:88;;;;-1:-1:-1;;;9528:88:0;;8767:2:1;9528:88:0;;;8749:21:1;8806:2;8786:18;;;8779:30;8845:34;8825:18;;;8818:62;-1:-1:-1;;;8896:18:1;;;8889:47;8953:19;;9528:88:0;8565:413:1;9528:88:0;9185:439;;;:::o;11453:191::-;-1:-1:-1;;;;;11546:19:0;;;;;;:11;:19;;;;;;;;11545:20;:47;;;;-1:-1:-1;;;;;;11570:22:0;;;;;;:11;:22;;;;;;;;11569:23;11545:47;11542:95;;;11602:14;;-1:-1:-1;;;11602:14:0;;;;11594:41;;;;-1:-1:-1;;;11594:41:0;;9185:2:1;11594:41:0;;;9167:21:1;9224:2;9204:18;;;9197:30;-1:-1:-1;;;9243:18:1;;;9236:44;9297:18;;11594:41:0;8983:338:1;11594:41:0;11453:191;;:::o;11656:333::-;-1:-1:-1;;;;;11760:19:0;;;;;;:11;:19;;;;;;;;11759:20;:47;;;;-1:-1:-1;;;;;;11784:22:0;;;;;;:11;:22;;;;;;;;11783:23;11759:47;:77;;;;-1:-1:-1;11831:4:0;;-1:-1:-1;;;;;11810:26:0;;;11831:4;;11810:26;;11759:77;:107;;;;-1:-1:-1;;;;;;11840:26:0;;6477:42;11840:26;;11759:107;11756:226;;;11928:17;:15;:17::i;:::-;-1:-1:-1;;;;;11891:20:0;;;;;;:9;:20;;;;;;:32;;11916:6;11891:24;:32::i;:::-;11890:55;;11882:98;;;;-1:-1:-1;;;11882:98:0;;9528:2:1;11882:98:0;;;9510:21:1;9567:2;9547:18;;;9540:30;9606:32;9586:18;;;9579:60;9656:18;;11882:98:0;9326:354:1;11997:159:0;12094:4;;-1:-1:-1;;;;;12081:17:0;;;12094:4;;12081:17;:41;;;;-1:-1:-1;;;;;;12103:19:0;;;;;;:11;:19;;;;;;;;12102:20;12081:41;12078:71;;;12145:1;12124:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;11997:159:0;;:::o;12164:349::-;12275:4;;-1:-1:-1;;;;;12265:14:0;;;12275:4;;12265:14;12262:130;;12299:20;:18;:20::i;:::-;12289:6;:30;;:53;;;-1:-1:-1;;;;;;12323:19:0;;;;;;:11;:19;;;;;;;;12289:53;:79;;;-1:-1:-1;;;;;;12346:22:0;;;;;;:11;:22;;;;;;;;12289:79;12281:109;;;;-1:-1:-1;;;12281:109:0;;10017:2:1;12281:109:0;;;9999:21:1;10056:2;10036:18;;;10029:30;-1:-1:-1;;;10075:18:1;;;10068:47;10132:18;;12281:109:0;9815:341:1;12281:109:0;12420:14;:12;:14::i;:::-;12410:6;:24;;:47;;;-1:-1:-1;;;;;;12438:19:0;;;;;;:11;:19;;;;;;;;12410:47;:73;;;-1:-1:-1;;;;;;12461:22:0;;;;;;:11;:22;;;;;;;;12410:73;12402:103;;;;-1:-1:-1;;;12402:103:0;;10017:2:1;12402:103:0;;;9999:21:1;10056:2;10036:18;;;10029:30;-1:-1:-1;;;10075:18:1;;;10068:47;10132:18;;12402:103:0;9815:341:1;14796:197:0;14888:41;14903:6;14911:9;14922:6;14888:14;:41::i;:::-;14885:101;;;14931:29;14946:13;;14931:14;:29::i;:::-;14982:1;14962:9;:22;14796:197;;;:::o;15001:160::-;-1:-1:-1;;;;;15107:19:0;;15082:4;15107:19;;;:11;:19;;;;;;;;15106:20;:47;;;;-1:-1:-1;;;;;;;15131:22:0;;;;;:11;:22;;;;;;;;15130:23;;15001:160;-1:-1:-1;15001:160:0:o;15482:546::-;15568:7;15624:1;15591:30;15603:6;15611:9;15591:11;:30::i;:::-;:34;15588:418;;;15637:17;15657:59;15685:30;15697:6;15705:9;15685:11;:30::i;:::-;15668:11;;15657:23;;:6;;:10;:23::i;:59::-;15772:4;15754:24;;;;:9;:24;;;;;;15637:79;;-1:-1:-1;15754:39:0;;15637:79;15754:28;:39::i;:::-;15745:4;15727:24;;;;:9;:24;;;;;;;:66;;;;15809:42;;-1:-1:-1;;;;;15809:42:0;;;;;;;15841:9;1958:25:1;;1946:2;1931:18;;1812:177;15809:42:0;;;;;;;;15865:7;;:20;15862:104;;15887:77;15905:4;6477:42;15927:36;15955:7;;15927:23;15938:11;;15927:6;:10;;:23;;;;:::i;:36::-;15887:9;:77::i;:::-;15983:21;:6;15994:9;15983:10;:21::i;:::-;15976:28;;;;;15588:418;-1:-1:-1;16014:6:0;15482:546;-1:-1:-1;;15482:546:0:o;518:82::-;576:7;593:5;597:1;593;:5;:::i;14388:400::-;14529:15;;14605:13;;14595:4;14486;7885:18;;;:9;:18;;;;;;14637:8;;14486:4;;14519:25;;;;-1:-1:-1;14577:41:0;;14637:8;;14636:9;:24;;;;-1:-1:-1;14649:11:0;;;;14636:24;:42;;;;-1:-1:-1;14664:14:0;;-1:-1:-1;;;14664:14:0;;;;14636:42;:54;;;;;14682:8;14636:54;:78;;;;-1:-1:-1;;;;;;14695:19:0;;;;;;:11;:19;;;;;;;;14694:20;14636:78;:99;;;;-1:-1:-1;14731:4:0;;-1:-1:-1;;;;;14718:17:0;;;14731:4;;14718:17;14636:99;:126;;;;;14760:1;14739:9;;:23;;14636:126;:144;;;;;14766:14;14636:144;14629:151;14388:400;-1:-1:-1;;;;;;14388:400:0:o;12521:1066::-;6398:8;:15;;-1:-1:-1;;6398:15:0;6409:4;6398:15;;;;;;12658:14:::1;::::0;12640:12:::1;::::0;12616::::1;::::0;6398:8;;12615:66:::1;::::0;12679:1:::1;::::0;12616:57:::1;::::0;12658:14;;12616:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;12615:66::-;12592:89;;12692:32;12727:42;12756:12;12727:24;12738:12;;12727:6;:10;;:24;;;;:::i;:42::-;12692:77:::0;-1:-1:-1;12780:14:0::1;12797:36;:6:::0;12692:77;12797:10:::1;:36::i;:::-;12780:53:::0;-1:-1:-1;12869:21:0::1;12901:24;12780:53:::0;12901:16:::1;:24::i;:::-;12936:20;12959:41;:21;12985:14:::0;12959:25:::1;:41::i;:::-;12936:64;;13011:19;13032:48;13049:30;13066:12;;13049;:16;;:30;;;;:::i;:::-;13032:12:::0;;:16:::1;:48::i;:::-;13011:69;;13091:29;13123;13139:12;;13123:11;:15;;:29;;;;:::i;:::-;13091:61:::0;-1:-1:-1;13166:34:0;;13163:103:::1;;13202:61;13215:24;13241:21;13202:12;:61::i;:::-;13322:12;::::0;13276:20:::1;::::0;13299:36:::1;::::0;:18:::1;:11:::0;13315:1:::1;13299:15;:18::i;:36::-;13276:59:::0;-1:-1:-1;13349:16:0;;13346:73:::1;;13367:50;::::0;6672:42:::1;::::0;13367:50;::::1;;;::::0;13404:12;;13367:50:::1;::::0;;;13404:12;6672:42;13367:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13346:73;13456:21;13491:29:::0;;13488:92:::1;;13522:56;::::0;6575:42:::1;::::0;13522:56;::::1;;;::::0;13561:16;;13522:56:::1;::::0;;;13561:16;6575:42;13522:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13488:92;-1:-1:-1::0;;6418:8:0;:16;;-1:-1:-1;;6418:16:0;;;-1:-1:-1;;;;;;;;12521:1066:0:o;15169:305::-;-1:-1:-1;;;;;15271:13:0;;15248:7;15271:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;15288:16:0;;;;;;:5;:16;;;;;;;;15271:33;15268:76;;;15313:11;;:29;;15337:3;15313:15;:29::i;:::-;15306:36;;;;15268:76;15370:4;;-1:-1:-1;;;;;15370:4:0;;;15357:17;;;;15354:38;;-1:-1:-1;15383:7:0;;15376:14;;15354:38;15415:4;;-1:-1:-1;;;;;15415:4:0;;;15405:14;;;;15402:36;;-1:-1:-1;15428:8:0;;15421:15;;15402:36;-1:-1:-1;15455:11:0;;15169:305;;;;:::o;13946:434::-;14036:16;;;14050:1;14036:16;;;;;;;;14012:21;;14036:16;;;;;;;;;;-1:-1:-1;14036:16:0;14012:40;;14081:4;14063;14068:1;14063:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14063:23:0;;;:7;;;;;;;;;;:23;;;;14107:6;;:13;;;-1:-1:-1;;;14107:13:0;;;;:6;;;;;:11;;:13;;;;;14063:7;;14107:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14097:4;14102:1;14097:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14097:23:0;;;:7;;;;;;;;;:23;14163:6;;14131:53;;14148:4;;14163:6;14172:11;14131:8;:53::i;:::-;14195:6;;:177;;-1:-1:-1;;;14195:177:0;;-1:-1:-1;;;;;14195:6:0;;;;:57;;:177;;14267:11;;14195:6;;14309:4;;14336;;14356:15;;14195:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14001:379;13946:434;:::o;13595:343::-;13708:6;;13676:53;;13693:4;;-1:-1:-1;;;;;13708:6:0;13717:11;13676:8;:53::i;:::-;13740:6;;:190;;-1:-1:-1;;;13740:190:0;;13803:4;13740:190;;;12007:34:1;12057:18;;;12050:34;;;13740:6:0;12100:18:1;;;12093:34;;;12143:18;;;12136:34;6768:42:0;12186:19:1;;;12179:44;13914:15:0;12239:19:1;;;12232:35;-1:-1:-1;;;;;13740:6:0;;;;:22;;13770:9;;11941:19:1;;13740:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13595:343;;:::o;14:592:1:-;127:6;135;143;151;159;167;175;228:3;216:9;207:7;203:23;199:33;196:53;;;245:1;242;235:12;196:53;-1:-1:-1;;268:23:1;;;338:2;323:18;;310:32;;-1:-1:-1;389:2:1;374:18;;361:32;;440:2;425:18;;412:32;;-1:-1:-1;491:3:1;476:19;;463:33;;-1:-1:-1;543:3:1;528:19;;515:33;;-1:-1:-1;595:3:1;580:19;567:33;;-1:-1:-1;14:592:1;-1:-1:-1;14:592:1:o;611:548::-;723:4;752:2;781;770:9;763:21;813:6;807:13;856:6;851:2;840:9;836:18;829:34;881:1;891:140;905:6;902:1;899:13;891:140;;;1000:14;;;996:23;;990:30;966:17;;;985:2;962:26;955:66;920:10;;891:140;;;895:3;1080:1;1075:2;1066:6;1055:9;1051:22;1047:31;1040:42;1150:2;1143;1139:7;1134:2;1126:6;1122:15;1118:29;1107:9;1103:45;1099:54;1091:62;;;;611:548;;;;:::o;1164:131::-;-1:-1:-1;;;;;1239:31:1;;1229:42;;1219:70;;1285:1;1282;1275:12;1219:70;1164:131;:::o;1300:315::-;1368:6;1376;1429:2;1417:9;1408:7;1404:23;1400:32;1397:52;;;1445:1;1442;1435:12;1397:52;1484:9;1471:23;1503:31;1528:5;1503:31;:::i;:::-;1553:5;1605:2;1590:18;;;;1577:32;;-1:-1:-1;;;1300:315:1:o;1994:456::-;2071:6;2079;2087;2140:2;2128:9;2119:7;2115:23;2111:32;2108:52;;;2156:1;2153;2146:12;2108:52;2195:9;2182:23;2214:31;2239:5;2214:31;:::i;:::-;2264:5;-1:-1:-1;2321:2:1;2306:18;;2293:32;2334:33;2293:32;2334:33;:::i;:::-;1994:456;;2386:7;;-1:-1:-1;;;2440:2:1;2425:18;;;;2412:32;;1994:456::o;2455:247::-;2514:6;2567:2;2555:9;2546:7;2542:23;2538:32;2535:52;;;2583:1;2580;2573:12;2535:52;2622:9;2609:23;2641:31;2666:5;2641:31;:::i;2896:316::-;2973:6;2981;2989;3042:2;3030:9;3021:7;3017:23;3013:32;3010:52;;;3058:1;3055;3048:12;3010:52;-1:-1:-1;;3081:23:1;;;3151:2;3136:18;;3123:32;;-1:-1:-1;3202:2:1;3187:18;;;3174:32;;2896:316;-1:-1:-1;2896:316:1:o;3217:416::-;3282:6;3290;3343:2;3331:9;3322:7;3318:23;3314:32;3311:52;;;3359:1;3356;3349:12;3311:52;3398:9;3385:23;3417:31;3442:5;3417:31;:::i;:::-;3467:5;-1:-1:-1;3524:2:1;3509:18;;3496:32;3566:15;;3559:23;3547:36;;3537:64;;3597:1;3594;3587:12;3537:64;3620:7;3610:17;;;3217:416;;;;;:::o;3846:388::-;3914:6;3922;3975:2;3963:9;3954:7;3950:23;3946:32;3943:52;;;3991:1;3988;3981:12;3943:52;4030:9;4017:23;4049:31;4074:5;4049:31;:::i;:::-;4099:5;-1:-1:-1;4156:2:1;4141:18;;4128:32;4169:33;4128:32;4169:33;:::i;4499:329::-;4701:2;4683:21;;;4740:1;4720:18;;;4713:29;-1:-1:-1;;;4773:2:1;4758:18;;4751:36;4819:2;4804:18;;4499:329::o;5246:127::-;5307:10;5302:3;5298:20;5295:1;5288:31;5338:4;5335:1;5328:15;5362:4;5359:1;5352:15;5378:168;5418:7;5484:1;5480;5476:6;5472:14;5469:1;5466:21;5461:1;5454:9;5447:17;5443:45;5440:71;;;5491:18;;:::i;:::-;-1:-1:-1;5531:9:1;;5378:168::o;5551:217::-;5591:1;5617;5607:132;;5661:10;5656:3;5652:20;5649:1;5642:31;5696:4;5693:1;5686:15;5724:4;5721:1;5714:15;5607:132;-1:-1:-1;5753:9:1;;5551:217::o;7212:128::-;7279:9;;;7300:11;;;7297:37;;;7314:18;;:::i;9685:125::-;9750:9;;;9771:10;;;9768:36;;;9784:18;;:::i;10293:127::-;10354:10;10349:3;10345:20;10342:1;10335:31;10385:4;10382:1;10375:15;10409:4;10406:1;10399:15;10425:251;10495:6;10548:2;10536:9;10527:7;10523:23;10519:32;10516:52;;;10564:1;10561;10554:12;10516:52;10596:9;10590:16;10615:31;10640:5;10615:31;:::i;10681:980::-;10943:4;10991:3;10980:9;10976:19;11022:6;11011:9;11004:25;11048:2;11086:6;11081:2;11070:9;11066:18;11059:34;11129:3;11124:2;11113:9;11109:18;11102:31;11153:6;11188;11182:13;11219:6;11211;11204:22;11257:3;11246:9;11242:19;11235:26;;11296:2;11288:6;11284:15;11270:29;;11317:1;11327:195;11341:6;11338:1;11335:13;11327:195;;;11406:13;;-1:-1:-1;;;;;11402:39:1;11390:52;;11497:15;;;;11462:12;;;;11438:1;11356:9;11327:195;;;-1:-1:-1;;;;;;;11578:32:1;;;;11573:2;11558:18;;11551:60;-1:-1:-1;;;11642:3:1;11627:19;11620:35;11539:3;10681:980;-1:-1:-1;;;10681:980:1:o;12278:306::-;12366:6;12374;12382;12435:2;12423:9;12414:7;12410:23;12406:32;12403:52;;;12451:1;12448;12441:12;12403:52;12480:9;12474:16;12464:26;;12530:2;12519:9;12515:18;12509:25;12499:35;;12574:2;12563:9;12559:18;12553:25;12543:35;;12278:306;;;;;:::o

Swarm Source

ipfs://4124e8d9697d453f9dbbe3823c78d36f34e7c0d146ff138a8d1ac6b1b6f8ed28

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.