ETH Price: $2,972.47 (+2.47%)
Gas: 1 Gwei

Contract

0x7D80E1C3D840004a918ff67ebcF5AC5095AC1478
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve193098692024-02-26 6:11:47130 days ago1708927907IN
0x7D80E1C3...095AC1478
0 ETH0.0011146724.11622551
Approve192729752024-02-21 2:08:23136 days ago1708481303IN
0x7D80E1C3...095AC1478
0 ETH0.0018684440.1117622
Approve191747532024-02-07 7:12:59149 days ago1707289979IN
0x7D80E1C3...095AC1478
0 ETH0.0012766427.44228886
Approve186797652023-11-29 20:50:59219 days ago1701291059IN
0x7D80E1C3...095AC1478
0 ETH0.0022516748.35126394
Approve178485332023-08-05 11:41:23335 days ago1691235683IN
0x7D80E1C3...095AC1478
0 ETH0.0005958912.89560924
Approve177036732023-07-16 5:06:11356 days ago1689483971IN
0x7D80E1C3...095AC1478
0 ETH0.0005621112.0674577
Approve174286162023-06-07 12:52:11394 days ago1686142331IN
0x7D80E1C3...095AC1478
0 ETH0.000472919.46359345
Approve174263302023-06-07 5:07:59395 days ago1686114479IN
0x7D80E1C3...095AC1478
0 ETH0.0009598520.76668516
Approve173879192023-06-01 19:05:35400 days ago1685646335IN
0x7D80E1C3...095AC1478
0 ETH0.0032350269.89954402
Approve173043502023-05-21 1:00:23412 days ago1684630823IN
0x7D80E1C3...095AC1478
0 ETH0.0013508229.03698629
Approve172438712023-05-12 11:35:59420 days ago1683891359IN
0x7D80E1C3...095AC1478
0 ETH0.0020361744.00741962
Approve172116052023-05-07 22:24:47425 days ago1683498287IN
0x7D80E1C3...095AC1478
0 ETH0.00597237128.21483936
Approve172048242023-05-06 23:31:11426 days ago1683415871IN
0x7D80E1C3...095AC1478
0 ETH0.00431513148.17944942
Approve172018902023-05-06 13:36:47426 days ago1683380207IN
0x7D80E1C3...095AC1478
0 ETH0.00689797149.23890868
Approve172004482023-05-06 8:45:11426 days ago1683362711IN
0x7D80E1C3...095AC1478
0 ETH0.0051553110.67396967
Approve171985342023-05-06 2:16:47427 days ago1683339407IN
0x7D80E1C3...095AC1478
0 ETH0.00493128106.00117726
Approve171983392023-05-06 1:37:23427 days ago1683337043IN
0x7D80E1C3...095AC1478
0 ETH0.00480773103.34543903
Approve171983222023-05-06 1:33:59427 days ago1683336839IN
0x7D80E1C3...095AC1478
0 ETH0.00557099119.75215741
Approve171983162023-05-06 1:32:35427 days ago1683336755IN
0x7D80E1C3...095AC1478
0 ETH0.00499929107.46315087
Approve171982812023-05-06 1:25:35427 days ago1683336335IN
0x7D80E1C3...095AC1478
0 ETH0.0030616105.1338065
Approve171982632023-05-06 1:21:47427 days ago1683336107IN
0x7D80E1C3...095AC1478
0 ETH0.00498609107.54
Approve171982462023-05-06 1:18:11427 days ago1683335891IN
0x7D80E1C3...095AC1478
0 ETH0.00542133117.29164472
Approve171981382023-05-06 0:56:23427 days ago1683334583IN
0x7D80E1C3...095AC1478
0 ETH0.00513926110.47187043
Approve171981352023-05-06 0:55:47427 days ago1683334547IN
0x7D80E1C3...095AC1478
0 ETH0.00308541105.73381909
Approve171981012023-05-06 0:48:59427 days ago1683334139IN
0x7D80E1C3...095AC1478
0 ETH0.00518499111.45496891
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
171977222023-05-05 23:32:35427 days ago1683329555
0x7D80E1C3...095AC1478
1.42110927 ETH
171977222023-05-05 23:32:35427 days ago1683329555
0x7D80E1C3...095AC1478
1.42110927 ETH
171977162023-05-05 23:31:23427 days ago1683329483
0x7D80E1C3...095AC1478
1.0315868 ETH
171977162023-05-05 23:31:23427 days ago1683329483
0x7D80E1C3...095AC1478
1.0315868 ETH
171977152023-05-05 23:31:11427 days ago1683329471
0x7D80E1C3...095AC1478
1.33831632 ETH
171977152023-05-05 23:31:11427 days ago1683329471
0x7D80E1C3...095AC1478
1.33831632 ETH
171977152023-05-05 23:31:11427 days ago1683329471
0x7D80E1C3...095AC1478
2.24262988 ETH
171977152023-05-05 23:31:11427 days ago1683329471
0x7D80E1C3...095AC1478
2.24262988 ETH
171977092023-05-05 23:29:59427 days ago1683329399
0x7D80E1C3...095AC1478
1.72545894 ETH
171977092023-05-05 23:29:59427 days ago1683329399
0x7D80E1C3...095AC1478
1.72545894 ETH
171977042023-05-05 23:28:59427 days ago1683329339
0x7D80E1C3...095AC1478
0.91008561 ETH
171977042023-05-05 23:28:59427 days ago1683329339
0x7D80E1C3...095AC1478
0.91008561 ETH
171977032023-05-05 23:28:47427 days ago1683329327
0x7D80E1C3...095AC1478
1.50249423 ETH
171977032023-05-05 23:28:47427 days ago1683329327
0x7D80E1C3...095AC1478
1.50249423 ETH
171977002023-05-05 23:28:11427 days ago1683329291
0x7D80E1C3...095AC1478
2.46944501 ETH
171977002023-05-05 23:28:11427 days ago1683329291
0x7D80E1C3...095AC1478
2.46944501 ETH
171976912023-05-05 23:26:23427 days ago1683329183
0x7D80E1C3...095AC1478
0.26398895 ETH
171976912023-05-05 23:26:23427 days ago1683329183
0x7D80E1C3...095AC1478
0.26311191 ETH
171976912023-05-05 23:26:23427 days ago1683329183
0x7D80E1C3...095AC1478
0.52710087 ETH
171976912023-05-05 23:26:23427 days ago1683329183
0x7D80E1C3...095AC1478
0.26398895 ETH
171976912023-05-05 23:26:23427 days ago1683329183
0x7D80E1C3...095AC1478
0.26311191 ETH
171976912023-05-05 23:26:23427 days ago1683329183
0x7D80E1C3...095AC1478
0.52710087 ETH
171976882023-05-05 23:25:47427 days ago1683329147
0x7D80E1C3...095AC1478
0.2258978 ETH
171976882023-05-05 23:25:47427 days ago1683329147
0x7D80E1C3...095AC1478
0.22514731 ETH
171976882023-05-05 23:25:47427 days ago1683329147
0x7D80E1C3...095AC1478
0.45104511 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RibbitTwo

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

//
//      Ribbit 2.0 by the top holder of Ribbit. 
//
//      https://t.me/ribbittwo
//
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;


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 circulatingSupply() 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 RibbitTwo is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'Ribbit 2.0';
    string private constant _symbol = unicode'RIBBIT 2.0';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 100000000 * (10 ** _decimals);
    uint256 private _maxTxAmountPercent = 10000; // 10000;
    uint256 private _maxTransferPercent = 10000;
    uint256 private _maxWalletPercent = 200;
    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 = true;
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 300;
    uint256 private developmentFee = 300;
    uint256 private burnFee = 0;
    uint256 private totalFee = 150;
    uint256 private sellFee = 450;
    uint256 private transferFee = 0;
    uint256 private denominator = 10000;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping; 
    uint256 private swapThreshold = ( _totalSupply * 2000 ) / 100000;
    uint256 private _minTokenAmount = ( _totalSupply * 10 ) / 100000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}

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

    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 SetExtent() external onlyOwner {tradingAllowed = true;}
    function getOwner() external view override returns (address) { return owner; }
    function totalSupply() public view override returns (uint256) {return _totalSupply;}
    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 circulatingSupply() 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(1) && sellFee <= denominator.div(1), "totalFee and sellFee cannot be more than 100%");
    }

    function SetMax(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(0) && 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":"SetExtent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"SetMax","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":[],"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":"circulatingSupply","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":"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":"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"}]

6080604052620000126009600a62000432565b62000022906305f5e1006200044a565b60018181556127106002819055600381905560c8600455600a805460ff60a01b1916600160a01b1790556000600b81905561012c600c819055600d55600e8190556096600f556101c26010556011556012556013805460ff19169091179055620186a09062000094906107d06200044a565b620000a0919062000464565b601655620186a0600154600a620000b891906200044a565b620000c4919062000464565b601755348015620000d457600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa1580156200013c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000162919062000487565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d6919062000487565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024a919062000487565b600980546001600160a01b038581166001600160a01b031992831617909255600a805492841692909116919091179055306000908152600760209081526040808320805460ff1990811660019081179092557f5c5478ed347b25dbc025c4506668b946e6b065b109db4b4c3672d4ae9b8eb2148054821683179055338086528386208054909216831790915590546005845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004b2565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003745781600019048211156200035857620003586200031d565b808516156200036657918102915b93841c939080029062000338565b509250929050565b6000826200038d575060016200042c565b816200039c575060006200042c565b8160018114620003b55760028114620003c057620003e0565b60019150506200042c565b60ff841115620003d457620003d46200031d565b50506001821b6200042c565b5060208310610133831016604e8410600b841016171562000405575081810a6200042c565b62000411838362000333565b80600019048211156200042857620004286200031d565b0290505b92915050565b60006200044360ff8416836200037c565b9392505050565b80820281158282048414176200042c576200042c6200031d565b6000826200048257634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200049a57600080fd5b81516001600160a01b03811681146200044357600080fd5b611ae480620004c26000396000f3fe6080604052600436106101445760003560e01c80637d1db4a5116100b6578063a8aa1b311161006f578063a8aa1b31146103c5578063a9059cbb146103e5578063c2be0c6214610405578063dd62ed3e14610425578063e5b761d51461046b578063f2fde38b1461048b57600080fd5b80637d1db4a514610301578063893d20e8146103165780638c41180e146103485780639358928b1461036857806395d89b411461037d5780639773e50c146103b057600080fd5b80632f54bf6e116101085780632f54bf6e14610219578063313ce567146102485780633f4218e01461026457806348ff2b8b1461029457806370a08231146102b657806378109e54146102ec57600080fd5b806306fdde0314610150578063095ea7b31461019557806318160ddd146101c55780631f976b7e146101e457806323b872dd146101f957600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600a815269052696262697420322e360b41b60208201525b60405161018c919061174b565b60405180910390f35b3480156101a157600080fd5b506101b56101b03660046117b1565b6104ab565b604051901515815260200161018c565b3480156101d157600080fd5b506001545b60405190815260200161018c565b3480156101f057600080fd5b506101d66104c2565b34801561020557600080fd5b506101b56102143660046117dd565b6104ec565b34801561022557600080fd5b506101b561023436600461181e565b6000546001600160a01b0391821691161490565b34801561025457600080fd5b506040516009815260200161018c565b34801561027057600080fd5b506101b561027f36600461181e565b60076020526000908152604090205460ff1681565b3480156102a057600080fd5b506102b46102af36600461183b565b610556565b005b3480156102c257600080fd5b506101d66102d136600461181e565b6001600160a01b031660009081526005602052604090205490565b3480156102f857600080fd5b506101d66105b4565b34801561030d57600080fd5b506101d66105c5565b34801561032257600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161018c565b34801561035457600080fd5b506102b461036336600461183b565b6105d6565b34801561037457600080fd5b506101d661062b565b34801561038957600080fd5b5060408051808201909152600a815269052494242495420322e360b41b602082015261017f565b3480156103bc57600080fd5b506102b4610697565b3480156103d157600080fd5b50600a54610330906001600160a01b031681565b3480156103f157600080fd5b506101b56104003660046117b1565b6106d6565b34801561041157600080fd5b506102b4610420366004611879565b6106e3565b34801561043157600080fd5b506101d66104403660046118c5565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047757600080fd5b506102b46104863660046118f3565b6107c9565b34801561049757600080fd5b506102b46104a636600461181e565b610914565b60006104b8338484610992565b5060015b92915050565b60006012546003546104d360015490565b6104dd9190611935565b6104e7919061194c565b905090565b60006104f9848484610ab6565b61054b843361054685604051806060016040528060288152602001611a87602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610bdc565b610992565b5060015b9392505050565b6000546001600160a01b031633146105895760405162461bcd60e51b81526004016105809061196e565b60405180910390fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60006012546004546104d360015490565b60006012546002546104d360015490565b6000546001600160a01b031633146106005760405162461bcd60e51b81526004016105809061196e565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460015491926104e79290916106919190610c08565b90610c08565b6000546001600160a01b031633146106c15760405162461bcd60e51b81526004016105809061196e565b600a805460ff60a01b1916600160a01b179055565b60006104b8338484610ab6565b6000546001600160a01b0316331461070d5760405162461bcd60e51b81526004016105809061196e565b600b879055600c869055600e859055600d849055600f8390556010829055601181905560125461073e906001610c14565b600f541115801561075e5750601254610758906001610c14565b60105411155b6107c05760405162461bcd60e51b815260206004820152602d60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526c6f7265207468616e203130302560981b6064820152608401610580565b50505050505050565b6000546001600160a01b031633146107f35760405162461bcd60e51b81526004016105809061196e565b60006127108461080260015490565b61080c9190611935565b610816919061194c565b905060006127108461082760015490565b6108319190611935565b61083b919061194c565b905060006127108461084c60015490565b6108569190611935565b610860919061194c565b600287905560038690556004859055905060006108936103e861088d600561088760015490565b90610c20565b90610c14565b90508084101580156108a55750808310155b80156108b15750808210155b6107c05760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610580565b6000546001600160a01b0316331461093e5760405162461bcd60e51b81526004016105809061196e565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109f45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610580565b6001600160a01b038216610a555760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610580565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b610ac1838383610c2c565b610acb8383610ddb565b610ad6838383610e70565b610ae08383610f61565b610aeb838383610fb8565b610af68383836110ef565b6001600160a01b038316600090815260056020526040902054610b199082610c08565b6001600160a01b038416600090815260056020526040812091909155610b3f8484611114565b610b495781610b54565b610b5484848461115a565b6001600160a01b038416600090815260056020526040902054909150610b7a9082611248565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bce9085815260200190565b60405180910390a350505050565b60008184841115610c005760405162461bcd60e51b8152600401610580919061174b565b505050900390565b600061054f828461198e565b600061054f828461194c565b600061054f8284611935565b6001600160a01b038316610c905760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610580565b6001600160a01b038216610cf25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610580565b60008111610d545760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610580565b6001600160a01b038316600090815260056020526040902054811115610dd65760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610580565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610e1d57506001600160a01b03811660009081526007602052604090205460ff16155b15610e6c57600a54600160a01b900460ff16610e6c5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610580565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610eb257506001600160a01b03821660009081526007602052604090205460ff16155b8015610ecc5750600a546001600160a01b03838116911614155b8015610ee357506001600160a01b03821661dead14155b15610dd657610ef06105b4565b6001600160a01b038316600090815260056020526040902054610f139083611248565b1115610dd65760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610580565b600a546001600160a01b038281169116148015610f9757506001600160a01b03821660009081526007602052604090205460ff16155b15610e6c57600160146000828254610faf91906119a1565b90915550505050565b600a546001600160a01b0384811691161461105e57610fd56104c2565b81111580610ffb57506001600160a01b03831660009081526007602052604090205460ff165b8061101e57506001600160a01b03821660009081526007602052604090205460ff165b61105e5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610580565b6110666105c5565b8111158061108c57506001600160a01b03831660009081526007602052604090205460ff165b806110af57506001600160a01b03821660009081526007602052604090205460ff165b610dd65760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610580565b6110fa838383611254565b15610dd65761110a601654611301565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff1615801561054f5750506001600160a01b031660009081526007602052604090205460ff1615919050565b600080611167858561148c565b111561124157600061118a61117c868661148c565b601254610887908690610c14565b306000908152600560205260409020549091506111a79082611248565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f89085815260200190565b60405180910390a3600e541561122f5761122f3061dead61122a600e5461088760125489610c1490919063ffffffff16565b610ab6565b6112398382610c08565b91505061054f565b5092915050565b600061054f82846119a1565b6017546016543060009081526005602052604081205460155491938510159211159060ff16158015611288575060135460ff165b801561129d5750600a54600160a01b900460ff165b80156112a65750815b80156112cb57506001600160a01b03861660009081526007602052604090205460ff16155b80156112e45750600a546001600160a01b038681169116145b80156112ee575060015b80156112f75750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b5460009361133b93600293610887939192611335928391611248565b90611248565b905060006113588261088d600b5486610c2090919063ffffffff16565b905060006113668483610c08565b9050476113728261152d565b600061137e4783610c08565b905060006113a161139a600b5488610c0890919063ffffffff16565b8390610c14565b905060006113ba600b5483610c2090919063ffffffff16565b905080156113cc576113cc8682611687565b600c546000906113e190610887856002610c20565b9050801561142c57604051738fe98efc3c7fcb02baa759b462752a853d588fef9082156108fc029083906000818181858888f1935050505015801561142a573d6000803e3d6000fd5b505b47801561147657604051738fe98efc3c7fcb02baa759b462752a853d588fef9082156108fc029083906000818181858888f19350505050158015611474573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16806114cb57506001600160a01b03821660009081526008602052604090205460ff165b156114e5576012546114de906064610c08565b90506104bc565b600a546001600160a01b039081169083160361150457506010546104bc565b600a546001600160a01b03908116908416036115235750600f546104bc565b5060115492915050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611562576115626119b4565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115df91906119ca565b816001815181106115f2576115f26119b4565b6001600160a01b0392831660209182029290920101526009546116189130911684610992565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906116519085906000908690309042906004016119e7565b600060405180830381600087803b15801561166b57600080fd5b505af115801561167f573d6000803e3d6000fd5b505050505050565b60095461169f9030906001600160a01b031684610992565b60095460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820152738fe98efc3c7fcb02baa759b462752a853d588fef60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561171f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117449190611a58565b5050505050565b600060208083528351808285015260005b818110156117785785810183015185820160400152820161175c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117ae57600080fd5b50565b600080604083850312156117c457600080fd5b82356117cf81611799565b946020939093013593505050565b6000806000606084860312156117f257600080fd5b83356117fd81611799565b9250602084013561180d81611799565b929592945050506040919091013590565b60006020828403121561183057600080fd5b813561054f81611799565b6000806040838503121561184e57600080fd5b823561185981611799565b91506020830135801515811461186e57600080fd5b809150509250929050565b600080600080600080600060e0888a03121561189457600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080604083850312156118d857600080fd5b82356118e381611799565b9150602083013561186e81611799565b60008060006060848603121561190857600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104bc576104bc61191f565b60008261196957634e487b7160e01b600052601260045260246000fd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b818103818111156104bc576104bc61191f565b808201808211156104bc576104bc61191f565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119dc57600080fd5b815161054f81611799565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a375784516001600160a01b031683529383019391830191600101611a12565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a6d57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208e9f1c3ae725cb22cb146906af70061979ea3b7300b8ee5521a99b6e1a3637e764736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101445760003560e01c80637d1db4a5116100b6578063a8aa1b311161006f578063a8aa1b31146103c5578063a9059cbb146103e5578063c2be0c6214610405578063dd62ed3e14610425578063e5b761d51461046b578063f2fde38b1461048b57600080fd5b80637d1db4a514610301578063893d20e8146103165780638c41180e146103485780639358928b1461036857806395d89b411461037d5780639773e50c146103b057600080fd5b80632f54bf6e116101085780632f54bf6e14610219578063313ce567146102485780633f4218e01461026457806348ff2b8b1461029457806370a08231146102b657806378109e54146102ec57600080fd5b806306fdde0314610150578063095ea7b31461019557806318160ddd146101c55780631f976b7e146101e457806323b872dd146101f957600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600a815269052696262697420322e360b41b60208201525b60405161018c919061174b565b60405180910390f35b3480156101a157600080fd5b506101b56101b03660046117b1565b6104ab565b604051901515815260200161018c565b3480156101d157600080fd5b506001545b60405190815260200161018c565b3480156101f057600080fd5b506101d66104c2565b34801561020557600080fd5b506101b56102143660046117dd565b6104ec565b34801561022557600080fd5b506101b561023436600461181e565b6000546001600160a01b0391821691161490565b34801561025457600080fd5b506040516009815260200161018c565b34801561027057600080fd5b506101b561027f36600461181e565b60076020526000908152604090205460ff1681565b3480156102a057600080fd5b506102b46102af36600461183b565b610556565b005b3480156102c257600080fd5b506101d66102d136600461181e565b6001600160a01b031660009081526005602052604090205490565b3480156102f857600080fd5b506101d66105b4565b34801561030d57600080fd5b506101d66105c5565b34801561032257600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161018c565b34801561035457600080fd5b506102b461036336600461183b565b6105d6565b34801561037457600080fd5b506101d661062b565b34801561038957600080fd5b5060408051808201909152600a815269052494242495420322e360b41b602082015261017f565b3480156103bc57600080fd5b506102b4610697565b3480156103d157600080fd5b50600a54610330906001600160a01b031681565b3480156103f157600080fd5b506101b56104003660046117b1565b6106d6565b34801561041157600080fd5b506102b4610420366004611879565b6106e3565b34801561043157600080fd5b506101d66104403660046118c5565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047757600080fd5b506102b46104863660046118f3565b6107c9565b34801561049757600080fd5b506102b46104a636600461181e565b610914565b60006104b8338484610992565b5060015b92915050565b60006012546003546104d360015490565b6104dd9190611935565b6104e7919061194c565b905090565b60006104f9848484610ab6565b61054b843361054685604051806060016040528060288152602001611a87602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610bdc565b610992565b5060015b9392505050565b6000546001600160a01b031633146105895760405162461bcd60e51b81526004016105809061196e565b60405180910390fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60006012546004546104d360015490565b60006012546002546104d360015490565b6000546001600160a01b031633146106005760405162461bcd60e51b81526004016105809061196e565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460015491926104e79290916106919190610c08565b90610c08565b6000546001600160a01b031633146106c15760405162461bcd60e51b81526004016105809061196e565b600a805460ff60a01b1916600160a01b179055565b60006104b8338484610ab6565b6000546001600160a01b0316331461070d5760405162461bcd60e51b81526004016105809061196e565b600b879055600c869055600e859055600d849055600f8390556010829055601181905560125461073e906001610c14565b600f541115801561075e5750601254610758906001610c14565b60105411155b6107c05760405162461bcd60e51b815260206004820152602d60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526c6f7265207468616e203130302560981b6064820152608401610580565b50505050505050565b6000546001600160a01b031633146107f35760405162461bcd60e51b81526004016105809061196e565b60006127108461080260015490565b61080c9190611935565b610816919061194c565b905060006127108461082760015490565b6108319190611935565b61083b919061194c565b905060006127108461084c60015490565b6108569190611935565b610860919061194c565b600287905560038690556004859055905060006108936103e861088d600561088760015490565b90610c20565b90610c14565b90508084101580156108a55750808310155b80156108b15750808210155b6107c05760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610580565b6000546001600160a01b0316331461093e5760405162461bcd60e51b81526004016105809061196e565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109f45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610580565b6001600160a01b038216610a555760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610580565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b610ac1838383610c2c565b610acb8383610ddb565b610ad6838383610e70565b610ae08383610f61565b610aeb838383610fb8565b610af68383836110ef565b6001600160a01b038316600090815260056020526040902054610b199082610c08565b6001600160a01b038416600090815260056020526040812091909155610b3f8484611114565b610b495781610b54565b610b5484848461115a565b6001600160a01b038416600090815260056020526040902054909150610b7a9082611248565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bce9085815260200190565b60405180910390a350505050565b60008184841115610c005760405162461bcd60e51b8152600401610580919061174b565b505050900390565b600061054f828461198e565b600061054f828461194c565b600061054f8284611935565b6001600160a01b038316610c905760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610580565b6001600160a01b038216610cf25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610580565b60008111610d545760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610580565b6001600160a01b038316600090815260056020526040902054811115610dd65760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610580565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610e1d57506001600160a01b03811660009081526007602052604090205460ff16155b15610e6c57600a54600160a01b900460ff16610e6c5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610580565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610eb257506001600160a01b03821660009081526007602052604090205460ff16155b8015610ecc5750600a546001600160a01b03838116911614155b8015610ee357506001600160a01b03821661dead14155b15610dd657610ef06105b4565b6001600160a01b038316600090815260056020526040902054610f139083611248565b1115610dd65760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610580565b600a546001600160a01b038281169116148015610f9757506001600160a01b03821660009081526007602052604090205460ff16155b15610e6c57600160146000828254610faf91906119a1565b90915550505050565b600a546001600160a01b0384811691161461105e57610fd56104c2565b81111580610ffb57506001600160a01b03831660009081526007602052604090205460ff165b8061101e57506001600160a01b03821660009081526007602052604090205460ff165b61105e5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610580565b6110666105c5565b8111158061108c57506001600160a01b03831660009081526007602052604090205460ff165b806110af57506001600160a01b03821660009081526007602052604090205460ff165b610dd65760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610580565b6110fa838383611254565b15610dd65761110a601654611301565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff1615801561054f5750506001600160a01b031660009081526007602052604090205460ff1615919050565b600080611167858561148c565b111561124157600061118a61117c868661148c565b601254610887908690610c14565b306000908152600560205260409020549091506111a79082611248565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f89085815260200190565b60405180910390a3600e541561122f5761122f3061dead61122a600e5461088760125489610c1490919063ffffffff16565b610ab6565b6112398382610c08565b91505061054f565b5092915050565b600061054f82846119a1565b6017546016543060009081526005602052604081205460155491938510159211159060ff16158015611288575060135460ff165b801561129d5750600a54600160a01b900460ff165b80156112a65750815b80156112cb57506001600160a01b03861660009081526007602052604090205460ff16155b80156112e45750600a546001600160a01b038681169116145b80156112ee575060015b80156112f75750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b5460009361133b93600293610887939192611335928391611248565b90611248565b905060006113588261088d600b5486610c2090919063ffffffff16565b905060006113668483610c08565b9050476113728261152d565b600061137e4783610c08565b905060006113a161139a600b5488610c0890919063ffffffff16565b8390610c14565b905060006113ba600b5483610c2090919063ffffffff16565b905080156113cc576113cc8682611687565b600c546000906113e190610887856002610c20565b9050801561142c57604051738fe98efc3c7fcb02baa759b462752a853d588fef9082156108fc029083906000818181858888f1935050505015801561142a573d6000803e3d6000fd5b505b47801561147657604051738fe98efc3c7fcb02baa759b462752a853d588fef9082156108fc029083906000818181858888f19350505050158015611474573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16806114cb57506001600160a01b03821660009081526008602052604090205460ff165b156114e5576012546114de906064610c08565b90506104bc565b600a546001600160a01b039081169083160361150457506010546104bc565b600a546001600160a01b03908116908416036115235750600f546104bc565b5060115492915050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611562576115626119b4565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115df91906119ca565b816001815181106115f2576115f26119b4565b6001600160a01b0392831660209182029290920101526009546116189130911684610992565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906116519085906000908690309042906004016119e7565b600060405180830381600087803b15801561166b57600080fd5b505af115801561167f573d6000803e3d6000fd5b505050505050565b60095461169f9030906001600160a01b031684610992565b60095460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820152738fe98efc3c7fcb02baa759b462752a853d588fef60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561171f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117449190611a58565b5050505050565b600060208083528351808285015260005b818110156117785785810183015185820160400152820161175c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117ae57600080fd5b50565b600080604083850312156117c457600080fd5b82356117cf81611799565b946020939093013593505050565b6000806000606084860312156117f257600080fd5b83356117fd81611799565b9250602084013561180d81611799565b929592945050506040919091013590565b60006020828403121561183057600080fd5b813561054f81611799565b6000806040838503121561184e57600080fd5b823561185981611799565b91506020830135801515811461186e57600080fd5b809150509250929050565b600080600080600080600060e0888a03121561189457600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080604083850312156118d857600080fd5b82356118e381611799565b9150602083013561186e81611799565b60008060006060848603121561190857600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104bc576104bc61191f565b60008261196957634e487b7160e01b600052601260045260246000fd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b818103818111156104bc576104bc61191f565b808201808211156104bc576104bc61191f565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119dc57600080fd5b815161054f81611799565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a375784516001600160a01b031683529383019391830191600101611a12565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a6d57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208e9f1c3ae725cb22cb146906af70061979ea3b7300b8ee5521a99b6e1a3637e764736f6c63430008110033

Deployed Bytecode Sourcemap

4769:11716:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7127:67;;;;;;;;;;-1:-1:-1;7187:5:0;;;;;;;;;;;;-1:-1:-1;;;7187:5:0;;;;7127:67;;;;;;;:::i;:::-;;;;;;;;8334:133;;;;;;;;;;-1:-1:-1;8334:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8334:133:0;1023:187:1;7504:84:0;;;;;;;;;;-1:-1:-1;7574:12:0;;7504:84;;;1361:25:1;;;1349:2;1334:18;7504:84:0;1215:177:1;8856:119:0;;;;;;;;;;;;;:::i;15828:309::-;;;;;;;;;;-1:-1:-1;15828:309:0;;;;;:::i;:::-;;:::i;3149:87::-;;;;;;;;;;-1:-1:-1;3149:87:0;;;;;:::i;:::-;3204:4;3229:5;-1:-1:-1;;;;;3218:16:0;;;3229:5;;3218:16;;3149:87;7277:67;;;;;;;;;;-1:-1:-1;7277:67:0;;4993:1;2252:36:1;;2240:2;2225:18;7277:67:0;2110:184:1;5345:44:0;;;;;;;;;;-1:-1:-1;5345:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8220:108;;;;;;;;;;-1:-1:-1;8220:108:0;;;;;:::i;:::-;;:::i;:::-;;7594:103;;;;;;;;;;-1:-1:-1;7594:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7677:18:0;7660:7;7677:18;;;:9;:18;;;;;;;7594:103;8617:114;;;;;;;;;;;;;:::i;8737:113::-;;;;;;;;;;;;;:::i;7420:78::-;;;;;;;;;;-1:-1:-1;7472:7:0;7490:5;-1:-1:-1;;;;;7490:5:0;7420:78;;;-1:-1:-1;;;;;2884:32:1;;;2866:51;;2854:2;2839:18;7420:78:0;2720:203:1;8115:99:0;;;;;;;;;;-1:-1:-1;8115:99:0;;;;;:::i;:::-;;:::i;8473:138::-;;;;;;;;;;;;;:::i;7200:71::-;;;;;;;;;;-1:-1:-1;7262:7:0;;;;;;;;;;;;-1:-1:-1;;;7262:7:0;;;;7200:71;;7350:64;;;;;;;;;;;;;:::i;5463:19::-;;;;;;;;;;-1:-1:-1;5463:19:0;;;;-1:-1:-1;;;;;5463:19:0;;;7703:139;;;;;;;;;;-1:-1:-1;7703:139:0;;;;;:::i;:::-;;:::i;10124:528::-;;;;;;;;;;-1:-1:-1;10124:528:0;;;;;:::i;:::-;;:::i;7848:127::-;;;;;;;;;;-1:-1:-1;7848:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7946:18:0;;;7929:7;7946:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7848:127;10660:577;;;;;;;;;;-1:-1:-1;10660:577:0;;;;;:::i;:::-;;:::i;3242:111::-;;;;;;;;;;-1:-1:-1;3242:111:0;;;;;:::i;:::-;;:::i;8334:133::-;8409:4;8416:37;8425:10;8437:7;8446:6;8416:8;:37::i;:::-;-1:-1:-1;8461:4:0;8334:133;;;;;:::o;8856:119::-;8907:7;8962:11;;8940:19;;8924:13;7574:12;;;7504:84;8924:13;:35;;;;:::i;:::-;:49;;;;:::i;:::-;8917:56;;8856:119;:::o;15828:309::-;15926:4;15943:36;15953:6;15961:9;15972:6;15943:9;:36::i;:::-;15990:117;15999:6;16007:10;16019:87;16055:6;16019:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16019:19:0;;;;;;:11;:19;;;;;;;;16039:10;16019:31;;;;;;;;;:87;:35;:87::i;:::-;15990:8;:117::i;:::-;-1:-1:-1;16125:4:0;15828:309;;;;;;:::o;8220:108::-;3204:4;3229:5;-1:-1:-1;;;;;3229:5:0;3116:10;3218:16;3100:38;;;;-1:-1:-1;;;3100:38:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;8294:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8294:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8220:108::o;8617:114::-;8665:7;8718:11;;8698:17;;8682:13;7574:12;;;7504:84;8737:113;8782:7;8837:11;;8815:19;;8799:13;7574:12;;;7504:84;8115:99;3204:4;3229:5;-1:-1:-1;;;;;3229:5:0;3116:10;3218:16;3100:38;;;;-1:-1:-1;;;3100:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8186:15:0;;;::::1;;::::0;;;:5:::1;:15;::::0;;;;:26;;-1:-1:-1;;8186:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8115:99::o;8473:138::-;7677:9;:18;;;;6182:42;8532:7;7677:18;;;;;8549:12;;8532:7;;8549:60;;7677:18;;8549:33;;:12;:16;:33::i;:::-;:37;;:60::i;7350:64::-;3204:4;3229:5;-1:-1:-1;;;;;3229:5:0;3116:10;3218:16;3100:38;;;;-1:-1:-1;;;3100:38:0;;;;;;;:::i;:::-;7391:14:::1;:21:::0;;-1:-1:-1;;;;7391:21:0::1;-1:-1:-1::0;;;7391:21:0::1;::::0;;7350:64::o;7703:139::-;7781:4;7788:40;7798:10;7810:9;7821:6;7788:9;:40::i;10124:528::-;3204:4;3229:5;-1:-1:-1;;;;;3229:5:0;3116:10;3218:16;3100:38;;;;-1:-1:-1;;;3100:38:0;;;;;;;:::i;:::-;10300:12:::1;:25:::0;;;10336:12:::1;:25:::0;;;10372:7:::1;:15:::0;;;10398:14:::1;:29:::0;;;10438:8:::1;:17:::0;;;10466:7:::1;:15:::0;;;10492:11:::1;:20:::0;;;10543:11:::1;::::0;:18:::1;::::0;-1:-1:-1;10543:15:0::1;:18::i;:::-;10531:8;;:30;;:63;;;;-1:-1:-1::0;10576:11:0::1;::::0;:18:::1;::::0;10592:1:::1;10576:15;:18::i;:::-;10565:7;;:29;;10531:63;10523:121;;;::::0;-1:-1:-1;;;10523:121:0;;5562:2:1;10523:121:0::1;::::0;::::1;5544:21:1::0;5601:2;5581:18;;;5574:30;5640:34;5620:18;;;5613:62;-1:-1:-1;;;5691:18:1;;;5684:43;5744:19;;10523:121:0::1;5360:409:1::0;10523:121:0::1;10124:528:::0;;;;;;;:::o;10660:577::-;3204:4;3229:5;-1:-1:-1;;;;;3229:5:0;3116:10;3218:16;3100:38;;;;-1:-1:-1;;;3100:38:0;;;;;;;:::i;:::-;10753:13:::1;10794:5;10786:4;10770:13;7574:12:::0;;;7504:84;10770:13:::1;:20;;;;:::i;:::-;10769:30;;;;:::i;:::-;10753:46;;10810:19;10859:5;10849:6;10833:13;7574:12:::0;;;7504:84;10833:13:::1;:22;;;;:::i;:::-;10832:32;;;;:::i;:::-;10810:54;;10875:17;10923:5;10912:7;10896:13;7574:12:::0;;;7504:84;10896:13:::1;:23;;;;:::i;:::-;10895:33;;;;:::i;:::-;10939:19;:26:::0;;;10976:19:::1;:28:::0;;;11015:17:::1;:27:::0;;;10875:53;-1:-1:-1;;11069:30:0::1;11094:4;11069:20;11087:1;11069:13;7574:12:::0;;;7504:84;11069:13:::1;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;11053:46;;11127:5;11118;:14;;:38;;;;;11151:5;11136:11;:20;;11118:38;:60;;;;;11173:5;11160:9;:18;;11118:60;11110:119;;;::::0;-1:-1:-1;;;11110:119:0;;5976:2:1;11110:119:0::1;::::0;::::1;5958:21:1::0;6015:2;5995:18;;;5988:30;6054:34;6034:18;;;6027:62;-1:-1:-1;;;6105:18:1;;;6098:44;6159:19;;11110:119:0::1;5774:410:1::0;3242:111:0;3204:4;3229:5;-1:-1:-1;;;;;3229:5:0;3116:10;3218:16;3100:38;;;;-1:-1:-1;;;3100:38:0;;;;;;;:::i;:::-;3308:5:::1;:11:::0;;-1:-1:-1;;;;;;3308:11:0::1;-1:-1:-1::0;;;;;3308:11:0;::::1;::::0;;::::1;::::0;;;3326:25:::1;::::0;2866:51:1;;;3326:25:0::1;::::0;2854:2:1;2839:18;3326:25:0::1;;;;;;;3242:111:::0;:::o;16145:335::-;-1:-1:-1;;;;;16238:19:0;;16230:68;;;;-1:-1:-1;;;16230:68:0;;6607:2:1;16230:68:0;;;6589:21:1;6646:2;6626:18;;;6619:30;6685:34;6665:18;;;6658:62;-1:-1:-1;;;6736:18:1;;;6729:34;6780:19;;16230:68:0;6405:400:1;16230:68:0;-1:-1:-1;;;;;16317:21:0;;16309:68;;;;-1:-1:-1;;;16309:68:0;;7012:2:1;16309:68:0;;;6994:21:1;7051:2;7031:18;;;7024:30;7090:34;7070:18;;;7063:62;-1:-1:-1;;;7141:18:1;;;7134:32;7183:19;;16309:68:0;6810:398:1;16309:68:0;-1:-1:-1;;;;;16388:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16440:32;;1361:25:1;;;16440:32:0;;1334:18:1;16440:32:0;;;;;;;16145:335;;;:::o;9430:686::-;9519:37;9530:6;9538:9;9549:6;9519:10;:37::i;:::-;9567:38;9587:6;9595:9;9567:19;:38::i;:::-;9616:41;9631:6;9639:9;9650:6;9616:14;:41::i;:::-;9669:35;9686:6;9694:9;9669:16;:35::i;:::-;9715:39;9728:6;9736:9;9747:6;9715:12;:39::i;:::-;9766:35;9775:6;9783:9;9794:6;9766:8;:35::i;:::-;-1:-1:-1;;;;;9832:17:0;;;;;;:9;:17;;;;;;:29;;9854:6;9832:21;:29::i;:::-;-1:-1:-1;;;;;9812:17:0;;;;;;:9;:17;;;;;:49;;;;9897:32;9822:6;9919:9;9897:13;:32::i;:::-;:78;;9969:6;9897:78;;;9932:34;9940:6;9948:9;9959:6;9932:7;:34::i;:::-;-1:-1:-1;;;;;10009:20:0;;;;;;:9;:20;;;;;;9872:103;;-1:-1:-1;10009:40:0;;9872:103;10009:24;:40::i;:::-;-1:-1:-1;;;;;9986:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10065:43;;;;;;;;;;10093:14;1361:25:1;;1349:2;1334:18;;1215:177;10065:43:0;;;;;;;;9508:608;9430:686;;;:::o;1481:162::-;1567:7;1613:12;1605:6;;;;1597:29;;;;-1:-1:-1;;;1597:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1635:5:0;;;1481:162::o;268:82::-;326:7;343:5;347:1;343;:5;:::i;444:82::-;502:7;519:5;523:1;519;:5;:::i;356:82::-;414:7;431:5;435:1;431;:5;:::i;8983:439::-;-1:-1:-1;;;;;9087:20:0;;9079:70;;;;-1:-1:-1;;;9079:70:0;;7548:2:1;9079:70:0;;;7530:21:1;7587:2;7567:18;;;7560:30;7626:34;7606:18;;;7599:62;-1:-1:-1;;;7677:18:1;;;7670:35;7722:19;;9079:70:0;7346:401:1;9079:70:0;-1:-1:-1;;;;;9168:23:0;;9160:71;;;;-1:-1:-1;;;9160:71:0;;7954:2:1;9160:71:0;;;7936:21:1;7993:2;7973:18;;;7966:30;8032:34;8012:18;;;8005:62;-1:-1:-1;;;8083:18:1;;;8076:33;8126:19;;9160:71:0;7752:399:1;9160:71:0;9267:1;9250:6;:19;9242:73;;;;-1:-1:-1;;;9242:73:0;;8358:2:1;9242:73:0;;;8340:21:1;8397:2;8377:18;;;8370:30;8436:34;8416:18;;;8409:62;-1:-1:-1;;;8487:18:1;;;8480:39;8536:19;;9242:73:0;8156:405:1;9242:73:0;-1:-1:-1;;;;;7677:18:0;;7660:7;7677:18;;;:9;:18;;;;;;9334:6;:27;;9326:88;;;;-1:-1:-1;;;9326:88:0;;8768:2:1;9326:88:0;;;8750:21:1;8807:2;8787:18;;;8780:30;8846:34;8826:18;;;8819:62;-1:-1:-1;;;8897:18:1;;;8890:47;8954:19;;9326:88:0;8566:413:1;9326:88:0;8983:439;;;:::o;11245:191::-;-1:-1:-1;;;;;11338:19:0;;;;;;:11;:19;;;;;;;;11337:20;:47;;;;-1:-1:-1;;;;;;11362:22:0;;;;;;:11;:22;;;;;;;;11361:23;11337:47;11334:95;;;11394:14;;-1:-1:-1;;;11394:14:0;;;;11386:41;;;;-1:-1:-1;;;11386:41:0;;9186:2:1;11386:41:0;;;9168:21:1;9225:2;9205:18;;;9198:30;-1:-1:-1;;;9244:18:1;;;9237:44;9298:18;;11386:41:0;8984:338:1;11386:41:0;11245:191;;:::o;11448:333::-;-1:-1:-1;;;;;11552:19:0;;;;;;:11;:19;;;;;;;;11551:20;:47;;;;-1:-1:-1;;;;;;11576:22:0;;;;;;:11;:22;;;;;;;;11575:23;11551:47;:77;;;;-1:-1:-1;11623:4:0;;-1:-1:-1;;;;;11602:26:0;;;11623:4;;11602:26;;11551:77;:107;;;;-1:-1:-1;;;;;;11632:26:0;;6182:42;11632:26;;11551:107;11548:226;;;11720:17;:15;:17::i;:::-;-1:-1:-1;;;;;11683:20:0;;;;;;:9;:20;;;;;;:32;;11708:6;11683:24;:32::i;:::-;11682:55;;11674:98;;;;-1:-1:-1;;;11674:98:0;;9529:2:1;11674:98:0;;;9511:21:1;9568:2;9548:18;;;9541:30;9607:32;9587:18;;;9580:60;9657:18;;11674:98:0;9327:354:1;11789:159:0;11886:4;;-1:-1:-1;;;;;11873:17:0;;;11886:4;;11873:17;:41;;;;-1:-1:-1;;;;;;11895:19:0;;;;;;:11;:19;;;;;;;;11894:20;11873:41;11870:71;;;11937:1;11916:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;11789:159:0;;:::o;11956:349::-;12067:4;;-1:-1:-1;;;;;12057:14:0;;;12067:4;;12057:14;12054:130;;12091:20;:18;:20::i;:::-;12081:6;:30;;:53;;;-1:-1:-1;;;;;;12115:19:0;;;;;;:11;:19;;;;;;;;12081:53;:79;;;-1:-1:-1;;;;;;12138:22:0;;;;;;:11;:22;;;;;;;;12081:79;12073:109;;;;-1:-1:-1;;;12073:109:0;;10018:2:1;12073:109:0;;;10000:21:1;10057:2;10037:18;;;10030:30;-1:-1:-1;;;10076:18:1;;;10069:47;10133:18;;12073:109:0;9816:341:1;12073:109:0;12212:14;:12;:14::i;:::-;12202:6;:24;;:47;;;-1:-1:-1;;;;;;12230:19:0;;;;;;:11;:19;;;;;;;;12202:47;:73;;;-1:-1:-1;;;;;;12253:22:0;;;;;;:11;:22;;;;;;;;12202:73;12194:103;;;;-1:-1:-1;;;12194:103:0;;10018:2:1;12194:103:0;;;10000:21:1;10057:2;10037:18;;;10030:30;-1:-1:-1;;;10076:18:1;;;10069:47;10133:18;;12194:103:0;9816:341:1;14588:197:0;14680:41;14695:6;14703:9;14714:6;14680:14;:41::i;:::-;14677:101;;;14723:29;14738:13;;14723:14;:29::i;:::-;14774:1;14754:9;:22;14588:197;;;:::o;14793:160::-;-1:-1:-1;;;;;14899:19:0;;14874:4;14899:19;;;:11;:19;;;;;;;;14898:20;:47;;;;-1:-1:-1;;;;;;;14923:22:0;;;;;:11;:22;;;;;;;;14922:23;;14793:160;-1:-1:-1;14793:160:0:o;15274:546::-;15360:7;15416:1;15383:30;15395:6;15403:9;15383:11;:30::i;:::-;:34;15380:418;;;15429:17;15449:59;15477:30;15489:6;15497:9;15477:11;:30::i;:::-;15460:11;;15449:23;;:6;;:10;:23::i;:59::-;15564:4;15546:24;;;;:9;:24;;;;;;15429:79;;-1:-1:-1;15546:39:0;;15429:79;15546:28;:39::i;:::-;15537:4;15519:24;;;;:9;:24;;;;;;;:66;;;;15601:42;;-1:-1:-1;;;;;15601:42:0;;;;;;;15633:9;1361:25:1;;1349:2;1334:18;;1215:177;15601:42:0;;;;;;;;15657:7;;:20;15654:104;;15679:77;15697:4;6182:42;15719:36;15747:7;;15719:23;15730:11;;15719:6;:10;;:23;;;;:::i;:36::-;15679:9;:77::i;:::-;15775:21;:6;15786:9;15775:10;:21::i;:::-;15768:28;;;;;15380:418;-1:-1:-1;15806:6:0;15274:546;-1:-1:-1;;15274:546:0:o;180:82::-;238:7;255:5;259:1;255;:5;:::i;14180:400::-;14321:15;;14397:13;;14387:4;14278;7677:18;;;:9;:18;;;;;;14429:8;;14278:4;;14311:25;;;;-1:-1:-1;14369:41:0;;14429:8;;14428:9;:24;;;;-1:-1:-1;14441:11:0;;;;14428:24;:42;;;;-1:-1:-1;14456:14:0;;-1:-1:-1;;;14456:14:0;;;;14428:42;:54;;;;;14474:8;14428:54;:78;;;;-1:-1:-1;;;;;;14487:19:0;;;;;;:11;:19;;;;;;;;14486:20;14428:78;:99;;;;-1:-1:-1;14523:4:0;;-1:-1:-1;;;;;14510:17:0;;;14523:4;;14510:17;14428:99;:126;;;;-1:-1:-1;14531:23:0;14428:126;:144;;;;;14558:14;14428:144;14421:151;14180:400;-1:-1:-1;;;;;;14180:400:0:o;12313:1066::-;6103:8;:15;;-1:-1:-1;;6103:15:0;6114:4;6103:15;;;;;;12450:14:::1;::::0;12432:12:::1;::::0;12408::::1;::::0;6103:8;;12407:66:::1;::::0;12471:1:::1;::::0;12408:57:::1;::::0;12450:14;;12408:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;12407:66::-;12384:89;;12484:32;12519:42;12548:12;12519:24;12530:12;;12519:6;:10;;:24;;;;:::i;:42::-;12484:77:::0;-1:-1:-1;12572:14:0::1;12589:36;:6:::0;12484:77;12589:10:::1;:36::i;:::-;12572:53:::0;-1:-1:-1;12661:21:0::1;12693:24;12572:53:::0;12693:16:::1;:24::i;:::-;12728:20;12751:41;:21;12777:14:::0;12751:25:::1;:41::i;:::-;12728:64;;12803:19;12824:48;12841:30;12858:12;;12841;:16;;:30;;;;:::i;:::-;12824:12:::0;;:16:::1;:48::i;:::-;12803:69;;12883:29;12915;12931:12;;12915:11;:15;;:29;;;;:::i;:::-;12883:61:::0;-1:-1:-1;12958:34:0;;12955:103:::1;;12994:61;13007:24;13033:21;12994:12;:61::i;:::-;13114:12;::::0;13068:20:::1;::::0;13091:36:::1;::::0;:18:::1;:11:::0;13107:1:::1;13091:15;:18::i;:36::-;13068:59:::0;-1:-1:-1;13141:16:0;;13138:73:::1;;13159:50;::::0;6377:42:::1;::::0;13159:50;::::1;;;::::0;13196:12;;13159:50:::1;::::0;;;13196:12;6377:42;13159:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13138:73;13248:21;13283:29:::0;;13280:92:::1;;13314:56;::::0;6280:42:::1;::::0;13314:56;::::1;;;::::0;13353:16;;13314:56:::1;::::0;;;13353:16;6280:42;13314:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13280:92;-1:-1:-1::0;;6123:8:0;:16;;-1:-1:-1;;6123:16:0;;;-1:-1:-1;;;;;;;;12313:1066:0:o;14961:305::-;-1:-1:-1;;;;;15063:13:0;;15040:7;15063:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;15080:16:0;;;;;;:5;:16;;;;;;;;15063:33;15060:76;;;15105:11;;:29;;15129:3;15105:15;:29::i;:::-;15098:36;;;;15060:76;15162:4;;-1:-1:-1;;;;;15162:4:0;;;15149:17;;;;15146:38;;-1:-1:-1;15175:7:0;;15168:14;;15146:38;15207:4;;-1:-1:-1;;;;;15207:4:0;;;15197:14;;;;15194:36;;-1:-1:-1;15220:8:0;;15213:15;;15194:36;-1:-1:-1;15247:11:0;;14961:305;;;;:::o;13738:434::-;13828:16;;;13842:1;13828:16;;;;;;;;13804:21;;13828:16;;;;;;;;;;-1:-1:-1;13828:16:0;13804:40;;13873:4;13855;13860:1;13855:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13855:23:0;;;:7;;;;;;;;;;:23;;;;13899:6;;:13;;;-1:-1:-1;;;13899:13:0;;;;:6;;;;;:11;;:13;;;;;13855:7;;13899:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13889:4;13894:1;13889:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13889:23:0;;;:7;;;;;;;;;:23;13955:6;;13923:53;;13940:4;;13955:6;13964:11;13923:8;:53::i;:::-;13987:6;;:177;;-1:-1:-1;;;13987:177:0;;-1:-1:-1;;;;;13987:6:0;;;;:57;;:177;;14059:11;;13987:6;;14101:4;;14128;;14148:15;;13987:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13793:379;13738:434;:::o;13387:343::-;13500:6;;13468:53;;13485:4;;-1:-1:-1;;;;;13500:6:0;13509:11;13468:8;:53::i;:::-;13532:6;;:190;;-1:-1:-1;;;13532:190:0;;13595:4;13532:190;;;12008:34:1;12058:18;;;12051:34;;;13532:6:0;12101:18:1;;;12094:34;;;12144:18;;;12137:34;6473:42:0;12187:19:1;;;12180:44;13706:15:0;12240:19:1;;;12233:35;-1:-1:-1;;;;;13532:6:0;;;;:22;;13562:9;;11942:19:1;;13532:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13387:343;;:::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;2299:416::-;2364:6;2372;2425:2;2413:9;2404:7;2400:23;2396:32;2393:52;;;2441:1;2438;2431:12;2393:52;2480:9;2467:23;2499:31;2524:5;2499:31;:::i;:::-;2549:5;-1:-1:-1;2606:2:1;2591:18;;2578:32;2648:15;;2641:23;2629:36;;2619:64;;2679:1;2676;2669:12;2619:64;2702:7;2692:17;;;2299:416;;;;;:::o;2928:592::-;3041:6;3049;3057;3065;3073;3081;3089;3142:3;3130:9;3121:7;3117:23;3113:33;3110:53;;;3159:1;3156;3149:12;3110:53;-1:-1:-1;;3182:23:1;;;3252:2;3237:18;;3224:32;;-1:-1:-1;3303:2:1;3288:18;;3275:32;;3354:2;3339:18;;3326:32;;-1:-1:-1;3405:3:1;3390:19;;3377:33;;-1:-1:-1;3457:3:1;3442:19;;3429:33;;-1:-1:-1;3509:3:1;3494:19;3481:33;;-1:-1:-1;2928:592:1;-1:-1:-1;2928:592:1:o;3525:388::-;3593:6;3601;3654:2;3642:9;3633:7;3629:23;3625:32;3622:52;;;3670:1;3667;3660:12;3622:52;3709:9;3696:23;3728:31;3753:5;3728:31;:::i;:::-;3778:5;-1:-1:-1;3835:2:1;3820:18;;3807:32;3848:33;3807:32;3848:33;:::i;3918:316::-;3995:6;4003;4011;4064:2;4052:9;4043:7;4039:23;4035:32;4032:52;;;4080:1;4077;4070:12;4032:52;-1:-1:-1;;4103:23:1;;;4173:2;4158:18;;4145:32;;-1:-1:-1;4224:2:1;4209:18;;;4196:32;;3918:316;-1:-1:-1;3918:316:1:o;4499:127::-;4560:10;4555:3;4551:20;4548:1;4541:31;4591:4;4588:1;4581:15;4615:4;4612:1;4605:15;4631:168;4704:9;;;4735;;4752:15;;;4746:22;;4732:37;4722:71;;4773:18;;:::i;4804:217::-;4844:1;4870;4860:132;;4914:10;4909:3;4905:20;4902:1;4895:31;4949:4;4946:1;4939:15;4977:4;4974:1;4967:15;4860:132;-1:-1:-1;5006:9:1;;4804:217::o;5026:329::-;5228:2;5210:21;;;5267:1;5247:18;;;5240:29;-1:-1:-1;;;5300:2:1;5285:18;;5278:36;5346:2;5331:18;;5026:329::o;7213:128::-;7280:9;;;7301:11;;;7298:37;;;7315:18;;:::i;9686:125::-;9751:9;;;9772:10;;;9769:36;;;9785:18;;:::i;10294:127::-;10355:10;10350:3;10346:20;10343:1;10336:31;10386:4;10383:1;10376:15;10410:4;10407:1;10400:15;10426:251;10496:6;10549:2;10537:9;10528:7;10524:23;10520:32;10517:52;;;10565:1;10562;10555:12;10517:52;10597:9;10591:16;10616:31;10641:5;10616:31;:::i;10682:980::-;10944:4;10992:3;10981:9;10977:19;11023:6;11012:9;11005:25;11049:2;11087:6;11082:2;11071:9;11067:18;11060:34;11130:3;11125:2;11114:9;11110:18;11103:31;11154:6;11189;11183:13;11220:6;11212;11205:22;11258:3;11247:9;11243:19;11236:26;;11297:2;11289:6;11285:15;11271:29;;11318:1;11328:195;11342:6;11339:1;11336:13;11328:195;;;11407:13;;-1:-1:-1;;;;;11403:39:1;11391:52;;11498:15;;;;11463:12;;;;11439:1;11357:9;11328:195;;;-1:-1:-1;;;;;;;11579:32:1;;;;11574:2;11559:18;;11552:60;-1:-1:-1;;;11643:3:1;11628:19;11621:35;11540:3;10682:980;-1:-1:-1;;;10682:980:1:o;12279:306::-;12367:6;12375;12383;12436:2;12424:9;12415:7;12411:23;12407:32;12404:52;;;12452:1;12449;12442:12;12404:52;12481:9;12475:16;12465:26;;12531:2;12520:9;12516:18;12510:25;12500:35;;12575:2;12564:9;12560:18;12554:25;12544:35;;12279:306;;;;;:::o

Swarm Source

ipfs://8e9f1c3ae725cb22cb146906af70061979ea3b7300b8ee5521a99b6e1a3637e7

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.