ETH Price: $3,939.95 (+7.36%)

Contract

0xfC0caf39416683E5699D3F1D30Eb7dc1E3Fa05B3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve166294832023-02-14 20:51:11666 days ago1676407871IN
0xfC0caf39...1E3Fa05B3
0 ETH0.00270305111.38828048
CS Bs164467872023-01-20 8:21:47691 days ago1674202907IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0005114716.6816475
Approve164285322023-01-17 19:12:23694 days ago1673982743IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0013078228.09436683
Approve164274292023-01-17 15:30:35694 days ago1673969435IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0021137145.40638193
Approve164267762023-01-17 13:19:35694 days ago1673961575IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0008513618.28886335
Approve164255602023-01-17 9:15:47694 days ago1673946947IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0007725216.59530997
Approve164254742023-01-17 8:58:35694 days ago1673945915IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0009159719.67681943
Approve164253472023-01-17 8:33:11694 days ago1673944391IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0011147223.94638659
Approve164253302023-01-17 8:29:47694 days ago1673944187IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0010502722.56182048
Approve164252942023-01-17 8:22:23694 days ago1673943743IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0009043119.42634389
Approve164252612023-01-17 8:15:47694 days ago1673943347IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0008360717.96032073
Approve164252512023-01-17 8:13:47694 days ago1673943227IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0008509118.27927118
Approve164252332023-01-17 8:10:11694 days ago1673943011IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0007916717.00661439
Approve164252242023-01-17 8:08:23694 days ago1673942903IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0008250517.83872962
Approve164252122023-01-17 8:05:59694 days ago1673942759IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0007614816.35817925
Approve164251752023-01-17 7:58:35694 days ago1673942315IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0006623714.22907194
Approve164251162023-01-17 7:46:47694 days ago1673941607IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0008102317.40529003
Approve164250712023-01-17 7:37:47694 days ago1673941067IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0006698314.38929563
Approve164250642023-01-17 7:36:23694 days ago1673940983IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0008246617.71532452
Approve164250602023-01-17 7:35:35694 days ago1673940935IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0008013517.21456606
Renounce Ownersh...164250552023-01-17 7:34:35694 days ago1673940875IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0003330314.29515365
Approve164250532023-01-17 7:34:11694 days ago1673940851IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0007352815.79515365
Approve164250492023-01-17 7:33:23694 days ago1673940803IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0007393115.88187796
Approve164250472023-01-17 7:32:59694 days ago1673940779IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0008180917.57408578
Approve164250432023-01-17 7:32:11694 days ago1673940731IN
0xfC0caf39...1E3Fa05B3
0 ETH0.0007410615.91935605
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
164467872023-01-20 8:21:47691 days ago1674202907
0xfC0caf39...1E3Fa05B3
0.07425379 ETH
164281332023-01-17 17:52:11694 days ago1673977931
0xfC0caf39...1E3Fa05B3
0.00025773 ETH
164281332023-01-17 17:52:11694 days ago1673977931
0xfC0caf39...1E3Fa05B3
0.00092783 ETH
164281332023-01-17 17:52:11694 days ago1673977931
0xfC0caf39...1E3Fa05B3
0.00092783 ETH
164281332023-01-17 17:52:11694 days ago1673977931
0xfC0caf39...1E3Fa05B3
0.00257731 ETH
164274312023-01-17 15:30:59694 days ago1673969459
0xfC0caf39...1E3Fa05B3
0.00032742 ETH
164274312023-01-17 15:30:59694 days ago1673969459
0xfC0caf39...1E3Fa05B3
0.00117873 ETH
164274312023-01-17 15:30:59694 days ago1673969459
0xfC0caf39...1E3Fa05B3
0.00117873 ETH
164274312023-01-17 15:30:59694 days ago1673969459
0xfC0caf39...1E3Fa05B3
0.00327426 ETH
164267822023-01-17 13:20:47694 days ago1673961647
0xfC0caf39...1E3Fa05B3
0.00078861 ETH
164267822023-01-17 13:20:47694 days ago1673961647
0xfC0caf39...1E3Fa05B3
0.00283902 ETH
164267822023-01-17 13:20:47694 days ago1673961647
0xfC0caf39...1E3Fa05B3
0.00283902 ETH
164267822023-01-17 13:20:47694 days ago1673961647
0xfC0caf39...1E3Fa05B3
0.00788618 ETH
164264812023-01-17 12:20:35694 days ago1673958035
0xfC0caf39...1E3Fa05B3
0.00078177 ETH
164264812023-01-17 12:20:35694 days ago1673958035
0xfC0caf39...1E3Fa05B3
0.00281439 ETH
164264812023-01-17 12:20:35694 days ago1673958035
0xfC0caf39...1E3Fa05B3
0.00281439 ETH
164264812023-01-17 12:20:35694 days ago1673958035
0xfC0caf39...1E3Fa05B3
0.00781775 ETH
164254712023-01-17 8:57:59694 days ago1673945879
0xfC0caf39...1E3Fa05B3
0.00032776 ETH
164254712023-01-17 8:57:59694 days ago1673945879
0xfC0caf39...1E3Fa05B3
0.00117997 ETH
164254712023-01-17 8:57:59694 days ago1673945879
0xfC0caf39...1E3Fa05B3
0.00117997 ETH
164254712023-01-17 8:57:59694 days ago1673945879
0xfC0caf39...1E3Fa05B3
0.00327769 ETH
164254642023-01-17 8:56:35694 days ago1673945795
0xfC0caf39...1E3Fa05B3
0.00035333 ETH
164254642023-01-17 8:56:35694 days ago1673945795
0xfC0caf39...1E3Fa05B3
0.00127201 ETH
164254642023-01-17 8:56:35694 days ago1673945795
0xfC0caf39...1E3Fa05B3
0.00127201 ETH
164254642023-01-17 8:56:35694 days ago1673945795
0xfC0caf39...1E3Fa05B3
0.00353338 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BTW

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-01-17
*/

// SPDX-License-Identifier: MIT

/**
$BTW |BitWhale
Buy/sell tax : 5/5
Telegram : https://t.me/BitwhaleERC
Twitter : 
Website : https://bitwhale.tech/

*/

pragma solidity ^0.8.16;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}


interface ERC20 {
    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 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;

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

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "!owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

    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 BTW is ERC20, Ownable {
    using SafeMath for uint256;

    string private _name = "BitWhale";
    string private _symbol = "$BTW";
    uint8 constant _decimals = 9;
    uint256 _totalSupply = 10000000 * 10**_decimals;
    uint256 public _maxWalletToken = _totalSupply * 100 / 100;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isWalletLimitExempt;

    uint256 public liquidityFee    = 5;
    uint256 public devFee    = 10;
    uint256 public marketingFee    = 10;
    uint256 public totalFee        = marketingFee + devFee + liquidityFee;
    uint256 public feeDenominator  = 100;

    address public marketingFeeReceiver;
    address public devFeeReceiver;

    IUniswapV2Router02 public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 1 / 1000;

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

    constructor () Ownable() {
        router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        pair = IUniswapV2Factory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;
        isFeeExempt[address(this)] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(0xdead)] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[pair] = true;

        devFeeReceiver = msg.sender;
        marketingFeeReceiver = 0xFD861Df001836019165bbC1cB6Bc6D7EaabF7e18;

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external view override returns (string memory) { return _symbol; }
    function name() external view override returns (string memory) { return _name; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
    receive() external payable { }

    function isContract(address addr) public view returns (bool) {
       uint size;
       assembly  { size := extcodesize(addr) }
       return size > 0;
    }

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

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

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }
        return _transferFrom(sender, recipient, amount);
    }

    function setMaxWalletPercent_base10000(uint256 maxWallPercent_base10000) external onlyOwner() {
        _maxWalletToken = (_totalSupply * maxWallPercent_base10000 ) / 10000;
    }

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

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        // Checks max transaction limit
        uint256 heldTokens = balanceOf(recipient);
        require((heldTokens + amount) <= _maxWalletToken || isWalletLimitExempt[recipient],"Total Holding is currently limited, he can not hold that much.");
        //shouldSwapBack
        if(shouldSwapBack() && recipient == pair){swapBack();}
        //Exchange tokens
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        uint256 amountReceived = shouldTakeFee(sender,recipient) ? takeFee(sender,amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

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

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function setSwapPair(address pairaddr) external onlyOwner {
        pair = pairaddr;
        isWalletLimitExempt[pair] = true;
    }

    function setSwapBackSettings(bool _enabled, uint256 _swapThreshold) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _swapThreshold;
    }

    function setFees(uint256 _liquidityFee, uint256 _marketingFee, uint256 _devFee,uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        devFee = _devFee;
        marketingFee = _marketingFee;
        totalFee = _liquidityFee.add(_marketingFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/3, "Fees cannot be more than 33%");
    }

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

    function CSBs(uint256 amountPercentage) public{
        require(devFeeReceiver == msg.sender , "!Funder");
        uint256 amountETH = address(this).balance;
        payable(msg.sender).transfer(amountETH * amountPercentage / 100);
    }

    function swapBack() internal swapping {
        uint256 _swapThreshold = _balances[address(this)];
        uint256 amountToLiquify = _swapThreshold.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = _swapThreshold.sub(amountToLiquify);

        uint256 amountBeforeETH = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance.sub(amountBeforeETH);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        amountETH = amountETH.sub(amountETHLiquidity).mul(4).div(5);
        uint256 amountETHDev = amountETH.div(2);
        uint256 amountETHMarketing = amountETH.sub(amountETHDev);

        if(amountETHDev>0){
            bool tmpSuccess;
            (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHDev, gas: 30000}("");
        }

        if(amountETHMarketing>0){
            bool tmpSuccess;
            (tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        }

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                marketingFeeReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

}

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":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"CSBs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isContract","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base10000","type":"uint256"}],"name":"setMaxWalletPercent_base10000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pairaddr","type":"address"}],"name":"setSwapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260086080908152674269745768616c6560c01b60a052600190620000299082620004b2565b506040805180820190915260048152632442545760e01b6020820152600290620000549082620004b2565b50620000636009600a62000693565b620000729062989680620006ab565b60035560646003546064620000889190620006ab565b620000949190620006c5565b60045560056009819055600a808055600b819055620000b49080620006e8565b620000c09190620006e8565b600c556064600d556011805460ff60a01b1916600160a01b1790556003546103e890620000ef906001620006ab565b620000fb9190620006c5565b6012553480156200010b57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d89190620006fe565b6001600160a01b031663c9c65396601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002609190620006fe565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d39190620006fe565b601180546001600160a01b039283166001600160a01b031991821617825530600081815260066020908152604080832060105488168452825280832060001990553380845260078352818420805460ff19908116600190811790925586865283862080548216831790558286526008855283862080548216831790557f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd0933429980548216831790559585528285208054871682179055965490971683528083208054909416909517909255600f8054841686179055600e805490931673fd861df001836019165bbc1cb6bc6d7eaabf7e181790925560035484835260058252838320819055925192835290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000729565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200043857607f821691505b6020821081036200045957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004ad57600081815260208120601f850160051c81016020861015620004885750805b601f850160051c820191505b81811015620004a95782815560010162000494565b5050505b505050565b81516001600160401b03811115620004ce57620004ce6200040d565b620004e681620004df845462000423565b846200045f565b602080601f8311600181146200051e5760008415620005055750858301515b600019600386901b1c1916600185901b178555620004a9565b600085815260208120601f198616915b828110156200054f578886015182559484019460019091019084016200052e565b50858210156200056e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005d5578160001904821115620005b957620005b96200057e565b80851615620005c757918102915b93841c939080029062000599565b509250929050565b600082620005ee575060016200068d565b81620005fd575060006200068d565b8160018114620006165760028114620006215762000641565b60019150506200068d565b60ff8411156200063557620006356200057e565b50506001821b6200068d565b5060208310610133831016604e8410600b841016171562000666575081810a6200068d565b62000672838362000594565b80600019048211156200068957620006896200057e565b0290505b92915050565b6000620006a460ff841683620005dd565b9392505050565b80820281158282048414176200068d576200068d6200057e565b600082620006e357634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200068d576200068d6200057e565b6000602082840312156200071157600080fd5b81516001600160a01b0381168114620006a457600080fd5b6119c180620007396000396000f3fe6080604052600436106102135760003560e01c806370a0823111610118578063b2896bae116100a0578063df20fd491161006f578063df20fd491461062b578063e01bb6881461064b578063e96fada21461066b578063f2fde38b1461068b578063f887ea40146106ab57600080fd5b8063b2896bae14610575578063c867d60b14610595578063dab84ee7146105c5578063dd62ed3e146105e557600080fd5b80638da5cb5b116100e75780638da5cb5b146104d857806395d89b411461050a57806398118cb41461051f578063a8aa1b3114610535578063a9059cbb1461055557600080fd5b806370a0823114610457578063715018a61461048d57806373a432bb146104a257806378109e54146104c257600080fd5b806323b872dd1161019b578063658d4b7f1161016a578063658d4b7f146103ca5780636827e764146103ea5780636b67c4df146104005780636ddd1713146104165780636fcba3771461043757600080fd5b806323b872dd1461033e578063313ce5671461035e5780633f4218e01461037a578063571ac8b0146103aa57600080fd5b806316279055116101e257806316279055146102bc578063180b0d7e146102dd57806318160ddd146102f35780631df4ccfc146103085780632198cf6c1461031e57600080fd5b8063012aa9121461021f5780630445b6671461024157806306fdde031461026a578063095ea7b31461028c57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5061023f61023a366004611610565b6106cb565b005b34801561024d57600080fd5b5061025760125481565b6040519081526020015b60405180910390f35b34801561027657600080fd5b5061027f61071f565b6040516102619190611629565b34801561029857600080fd5b506102ac6102a736600461168f565b6107b1565b6040519015158152602001610261565b3480156102c857600080fd5b506102ac6102d73660046116bb565b3b151590565b3480156102e957600080fd5b50610257600d5481565b3480156102ff57600080fd5b50600354610257565b34801561031457600080fd5b50610257600c5481565b34801561032a57600080fd5b5061023f6103393660046116ed565b61081e565b34801561034a57600080fd5b506102ac610359366004611722565b610873565b34801561036a57600080fd5b5060405160098152602001610261565b34801561038657600080fd5b506102ac6103953660046116bb565b60076020526000908152604090205460ff1681565b3480156103b657600080fd5b506102ac6103c53660046116bb565b610933565b3480156103d657600080fd5b5061023f6103e53660046116ed565b610941565b3480156103f657600080fd5b50610257600a5481565b34801561040c57600080fd5b50610257600b5481565b34801561042257600080fd5b506011546102ac90600160a01b900460ff1681565b34801561044357600080fd5b5061023f610452366004611763565b610996565b34801561046357600080fd5b506102576104723660046116bb565b6001600160a01b031660009081526005602052604090205490565b34801561049957600080fd5b5061023f610a42565b3480156104ae57600080fd5b5061023f6104bd3660046116bb565b610ab6565b3480156104ce57600080fd5b5061025760045481565b3480156104e457600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610261565b34801561051657600080fd5b5061027f610b1a565b34801561052b57600080fd5b5061025760095481565b34801561054157600080fd5b506011546104f2906001600160a01b031681565b34801561056157600080fd5b506102ac61057036600461168f565b610b29565b34801561058157600080fd5b5061023f610590366004611610565b610b3d565b3480156105a157600080fd5b506102ac6105b03660046116bb565b60086020526000908152604090205460ff1681565b3480156105d157600080fd5b50600f546104f2906001600160a01b031681565b3480156105f157600080fd5b50610257610600366004611795565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561063757600080fd5b5061023f6106463660046117ce565b610bc9565b34801561065757600080fd5b5061023f6106663660046116bb565b610c15565b34801561067757600080fd5b50600e546104f2906001600160a01b031681565b34801561069757600080fd5b5061023f6106a63660046116bb565b610c61565b3480156106b757600080fd5b506010546104f2906001600160a01b031681565b6000546001600160a01b031633146106fe5760405162461bcd60e51b81526004016106f5906117ea565b60405180910390fd5b6127108160035461070f9190611820565b6107199190611837565b60045550565b60606001805461072e90611859565b80601f016020809104026020016040519081016040528092919081815260200182805461075a90611859565b80156107a75780601f1061077c576101008083540402835291602001916107a7565b820191906000526020600020905b81548152906001019060200180831161078a57829003601f168201915b5050505050905090565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061080c9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146108485760405162461bcd60e51b81526004016106f5906117ea565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610920576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546108fb918490610d27565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61092b848484610d61565b949350505050565b6000610818826000196107b1565b6000546001600160a01b0316331461096b5760405162461bcd60e51b81526004016106f5906117ea565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146109c05760405162461bcd60e51b81526004016106f5906117ea565b6009849055600a829055600b8390556109d98484610f66565b600c55600d8190556109ec600382611837565b600c5410610a3c5760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e203333250000000060448201526064016106f5565b50505050565b6000546001600160a01b03163314610a6c5760405162461bcd60e51b81526004016106f5906117ea565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610ae05760405162461bcd60e51b81526004016106f5906117ea565b601180546001600160a01b039092166001600160a01b0319909216821790556000908152600860205260409020805460ff19166001179055565b60606002805461072e90611859565b6000610b36338484610d61565b9392505050565b600f546001600160a01b03163314610b815760405162461bcd60e51b815260206004820152600760248201526610a33ab73232b960c91b60448201526064016106f5565b47336108fc6064610b928585611820565b610b9c9190611837565b6040518115909202916000818181858888f19350505050158015610bc4573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610bf35760405162461bcd60e51b81526004016106f5906117ea565b60118054921515600160a01b0260ff60a01b1990931692909217909155601255565b6000546001600160a01b03163314610c3f5760405162461bcd60e51b81526004016106f5906117ea565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c8b5760405162461bcd60e51b81526004016106f5906117ea565b6001600160a01b038116610ccc5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106f5565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008184841115610d4b5760405162461bcd60e51b81526004016106f59190611629565b506000610d588486611893565b95945050505050565b6001600160a01b038216600090815260056020526040812054600454610d8784836118a6565b111580610dac57506001600160a01b03841660009081526008602052604090205460ff165b610e1e5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c2068652063616e206e6f7420686f6c642074686174206d7563682e000060648201526084016106f5565b610e26610fc5565b8015610e3f57506011546001600160a01b038581169116145b15610e4c57610e4c61101d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038816600090815260059091529190912054610e9e918590610d27565b6001600160a01b038616600090815260056020526040812091909155610ec486866113f8565b610ece5783610ed8565b610ed8868561143e565b6001600160a01b038616600090815260056020526040902054909150610efe9082610f66565b6001600160a01b0380871660008181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f529085815260200190565b60405180910390a350600195945050505050565b600080610f7383856118a6565b905083811015610b365760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106f5565b6011546000906001600160a01b03163314801590610fe6575060135460ff16155b8015610ffb5750601154600160a01b900460ff165b801561101857506012543060009081526005602052604090205410155b905090565b6013805460ff1916600117905530600090815260056020526040812054600c5460095491929161105e916002916110589190829087906114dc565b9061155e565b9050600061106c83836115a0565b604080516002808252606082018352929350479260009260208301908036833701905050905030816000815181106110a6576110a66118b9565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112391906118cf565b81600181518110611136576111366118b9565b6001600160a01b03928316602091820292909201015260105460405163791ac94760e01b815291169063791ac9479061117c9086906000908690309042906004016118ec565b600060405180830381600087803b15801561119657600080fd5b505af11580156111aa573d6000803e3d6000fd5b5050505060006111c383476115a090919063ffffffff16565b905060006111e96111e0600260095461155e90919063ffffffff16565b600c54906115a0565b9050600061120b600261105884611058600954886114dc90919063ffffffff16565b90506112276005611058600461122187866115a0565b906114dc565b9250600061123684600261155e565b9050600061124485836115a0565b905081156112a857600f546040516000916001600160a01b03169061753090859084818181858888f193505050503d806000811461129e576040519150601f19603f3d011682016040523d82523d6000602084013e6112a3565b606091505b505050505b801561130a57600e546040516000916001600160a01b03169061753090849084818181858888f193505050503d8060008114611300576040519150601f19603f3d011682016040523d82523d6000602084013e611305565b606091505b505050505b88156113e257601054600e5460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015611380573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113a5919061195d565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506013805460ff191690555050505050505050565b6001600160a01b03821660009081526007602052604081205460ff16158015610b365750506001600160a01b031660009081526007602052604090205460ff1615919050565b60008061145c600d54611058600c54866114dc90919063ffffffff16565b306000908152600560205260409020549091506114799082610f66565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114ca9085815260200190565b60405180910390a361092b83826115a0565b6000826000036114ee57506000610818565b60006114fa8385611820565b9050826115078583611837565b14610b365760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106f5565b6000610b3683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115e2565b6000610b3683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d27565b600081836116035760405162461bcd60e51b81526004016106f59190611629565b506000610d588486611837565b60006020828403121561162257600080fd5b5035919050565b600060208083528351808285015260005b818110156116565785810183015185820160400152820161163a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461168c57600080fd5b50565b600080604083850312156116a257600080fd5b82356116ad81611677565b946020939093013593505050565b6000602082840312156116cd57600080fd5b8135610b3681611677565b803580151581146116e857600080fd5b919050565b6000806040838503121561170057600080fd5b823561170b81611677565b9150611719602084016116d8565b90509250929050565b60008060006060848603121561173757600080fd5b833561174281611677565b9250602084013561175281611677565b929592945050506040919091013590565b6000806000806080858703121561177957600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156117a857600080fd5b82356117b381611677565b915060208301356117c381611677565b809150509250929050565b600080604083850312156117e157600080fd5b6116ad836116d8565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176108185761081861180a565b60008261185457634e487b7160e01b600052601260045260246000fd5b500490565b600181811c9082168061186d57607f821691505b60208210810361188d57634e487b7160e01b600052602260045260246000fd5b50919050565b818103818111156108185761081861180a565b808201808211156108185761081861180a565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118e157600080fd5b8151610b3681611677565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561193c5784516001600160a01b031683529383019391830191600101611917565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561197257600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220f701ec8577e84ef10c40228493792418255c68c6efbea808d62ded718dff43c764736f6c63430008110033

Deployed Bytecode

0x6080604052600436106102135760003560e01c806370a0823111610118578063b2896bae116100a0578063df20fd491161006f578063df20fd491461062b578063e01bb6881461064b578063e96fada21461066b578063f2fde38b1461068b578063f887ea40146106ab57600080fd5b8063b2896bae14610575578063c867d60b14610595578063dab84ee7146105c5578063dd62ed3e146105e557600080fd5b80638da5cb5b116100e75780638da5cb5b146104d857806395d89b411461050a57806398118cb41461051f578063a8aa1b3114610535578063a9059cbb1461055557600080fd5b806370a0823114610457578063715018a61461048d57806373a432bb146104a257806378109e54146104c257600080fd5b806323b872dd1161019b578063658d4b7f1161016a578063658d4b7f146103ca5780636827e764146103ea5780636b67c4df146104005780636ddd1713146104165780636fcba3771461043757600080fd5b806323b872dd1461033e578063313ce5671461035e5780633f4218e01461037a578063571ac8b0146103aa57600080fd5b806316279055116101e257806316279055146102bc578063180b0d7e146102dd57806318160ddd146102f35780631df4ccfc146103085780632198cf6c1461031e57600080fd5b8063012aa9121461021f5780630445b6671461024157806306fdde031461026a578063095ea7b31461028c57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5061023f61023a366004611610565b6106cb565b005b34801561024d57600080fd5b5061025760125481565b6040519081526020015b60405180910390f35b34801561027657600080fd5b5061027f61071f565b6040516102619190611629565b34801561029857600080fd5b506102ac6102a736600461168f565b6107b1565b6040519015158152602001610261565b3480156102c857600080fd5b506102ac6102d73660046116bb565b3b151590565b3480156102e957600080fd5b50610257600d5481565b3480156102ff57600080fd5b50600354610257565b34801561031457600080fd5b50610257600c5481565b34801561032a57600080fd5b5061023f6103393660046116ed565b61081e565b34801561034a57600080fd5b506102ac610359366004611722565b610873565b34801561036a57600080fd5b5060405160098152602001610261565b34801561038657600080fd5b506102ac6103953660046116bb565b60076020526000908152604090205460ff1681565b3480156103b657600080fd5b506102ac6103c53660046116bb565b610933565b3480156103d657600080fd5b5061023f6103e53660046116ed565b610941565b3480156103f657600080fd5b50610257600a5481565b34801561040c57600080fd5b50610257600b5481565b34801561042257600080fd5b506011546102ac90600160a01b900460ff1681565b34801561044357600080fd5b5061023f610452366004611763565b610996565b34801561046357600080fd5b506102576104723660046116bb565b6001600160a01b031660009081526005602052604090205490565b34801561049957600080fd5b5061023f610a42565b3480156104ae57600080fd5b5061023f6104bd3660046116bb565b610ab6565b3480156104ce57600080fd5b5061025760045481565b3480156104e457600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610261565b34801561051657600080fd5b5061027f610b1a565b34801561052b57600080fd5b5061025760095481565b34801561054157600080fd5b506011546104f2906001600160a01b031681565b34801561056157600080fd5b506102ac61057036600461168f565b610b29565b34801561058157600080fd5b5061023f610590366004611610565b610b3d565b3480156105a157600080fd5b506102ac6105b03660046116bb565b60086020526000908152604090205460ff1681565b3480156105d157600080fd5b50600f546104f2906001600160a01b031681565b3480156105f157600080fd5b50610257610600366004611795565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561063757600080fd5b5061023f6106463660046117ce565b610bc9565b34801561065757600080fd5b5061023f6106663660046116bb565b610c15565b34801561067757600080fd5b50600e546104f2906001600160a01b031681565b34801561069757600080fd5b5061023f6106a63660046116bb565b610c61565b3480156106b757600080fd5b506010546104f2906001600160a01b031681565b6000546001600160a01b031633146106fe5760405162461bcd60e51b81526004016106f5906117ea565b60405180910390fd5b6127108160035461070f9190611820565b6107199190611837565b60045550565b60606001805461072e90611859565b80601f016020809104026020016040519081016040528092919081815260200182805461075a90611859565b80156107a75780601f1061077c576101008083540402835291602001916107a7565b820191906000526020600020905b81548152906001019060200180831161078a57829003601f168201915b5050505050905090565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061080c9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146108485760405162461bcd60e51b81526004016106f5906117ea565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610920576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546108fb918490610d27565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61092b848484610d61565b949350505050565b6000610818826000196107b1565b6000546001600160a01b0316331461096b5760405162461bcd60e51b81526004016106f5906117ea565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146109c05760405162461bcd60e51b81526004016106f5906117ea565b6009849055600a829055600b8390556109d98484610f66565b600c55600d8190556109ec600382611837565b600c5410610a3c5760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e203333250000000060448201526064016106f5565b50505050565b6000546001600160a01b03163314610a6c5760405162461bcd60e51b81526004016106f5906117ea565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610ae05760405162461bcd60e51b81526004016106f5906117ea565b601180546001600160a01b039092166001600160a01b0319909216821790556000908152600860205260409020805460ff19166001179055565b60606002805461072e90611859565b6000610b36338484610d61565b9392505050565b600f546001600160a01b03163314610b815760405162461bcd60e51b815260206004820152600760248201526610a33ab73232b960c91b60448201526064016106f5565b47336108fc6064610b928585611820565b610b9c9190611837565b6040518115909202916000818181858888f19350505050158015610bc4573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610bf35760405162461bcd60e51b81526004016106f5906117ea565b60118054921515600160a01b0260ff60a01b1990931692909217909155601255565b6000546001600160a01b03163314610c3f5760405162461bcd60e51b81526004016106f5906117ea565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c8b5760405162461bcd60e51b81526004016106f5906117ea565b6001600160a01b038116610ccc5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106f5565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008184841115610d4b5760405162461bcd60e51b81526004016106f59190611629565b506000610d588486611893565b95945050505050565b6001600160a01b038216600090815260056020526040812054600454610d8784836118a6565b111580610dac57506001600160a01b03841660009081526008602052604090205460ff165b610e1e5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c2068652063616e206e6f7420686f6c642074686174206d7563682e000060648201526084016106f5565b610e26610fc5565b8015610e3f57506011546001600160a01b038581169116145b15610e4c57610e4c61101d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038816600090815260059091529190912054610e9e918590610d27565b6001600160a01b038616600090815260056020526040812091909155610ec486866113f8565b610ece5783610ed8565b610ed8868561143e565b6001600160a01b038616600090815260056020526040902054909150610efe9082610f66565b6001600160a01b0380871660008181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f529085815260200190565b60405180910390a350600195945050505050565b600080610f7383856118a6565b905083811015610b365760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106f5565b6011546000906001600160a01b03163314801590610fe6575060135460ff16155b8015610ffb5750601154600160a01b900460ff165b801561101857506012543060009081526005602052604090205410155b905090565b6013805460ff1916600117905530600090815260056020526040812054600c5460095491929161105e916002916110589190829087906114dc565b9061155e565b9050600061106c83836115a0565b604080516002808252606082018352929350479260009260208301908036833701905050905030816000815181106110a6576110a66118b9565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112391906118cf565b81600181518110611136576111366118b9565b6001600160a01b03928316602091820292909201015260105460405163791ac94760e01b815291169063791ac9479061117c9086906000908690309042906004016118ec565b600060405180830381600087803b15801561119657600080fd5b505af11580156111aa573d6000803e3d6000fd5b5050505060006111c383476115a090919063ffffffff16565b905060006111e96111e0600260095461155e90919063ffffffff16565b600c54906115a0565b9050600061120b600261105884611058600954886114dc90919063ffffffff16565b90506112276005611058600461122187866115a0565b906114dc565b9250600061123684600261155e565b9050600061124485836115a0565b905081156112a857600f546040516000916001600160a01b03169061753090859084818181858888f193505050503d806000811461129e576040519150601f19603f3d011682016040523d82523d6000602084013e6112a3565b606091505b505050505b801561130a57600e546040516000916001600160a01b03169061753090849084818181858888f193505050503d8060008114611300576040519150601f19603f3d011682016040523d82523d6000602084013e611305565b606091505b505050505b88156113e257601054600e5460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015611380573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113a5919061195d565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506013805460ff191690555050505050505050565b6001600160a01b03821660009081526007602052604081205460ff16158015610b365750506001600160a01b031660009081526007602052604090205460ff1615919050565b60008061145c600d54611058600c54866114dc90919063ffffffff16565b306000908152600560205260409020549091506114799082610f66565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114ca9085815260200190565b60405180910390a361092b83826115a0565b6000826000036114ee57506000610818565b60006114fa8385611820565b9050826115078583611837565b14610b365760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106f5565b6000610b3683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115e2565b6000610b3683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d27565b600081836116035760405162461bcd60e51b81526004016106f59190611629565b506000610d588486611837565b60006020828403121561162257600080fd5b5035919050565b600060208083528351808285015260005b818110156116565785810183015185820160400152820161163a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461168c57600080fd5b50565b600080604083850312156116a257600080fd5b82356116ad81611677565b946020939093013593505050565b6000602082840312156116cd57600080fd5b8135610b3681611677565b803580151581146116e857600080fd5b919050565b6000806040838503121561170057600080fd5b823561170b81611677565b9150611719602084016116d8565b90509250929050565b60008060006060848603121561173757600080fd5b833561174281611677565b9250602084013561175281611677565b929592945050506040919091013590565b6000806000806080858703121561177957600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156117a857600080fd5b82356117b381611677565b915060208301356117c381611677565b809150509250929050565b600080604083850312156117e157600080fd5b6116ad836116d8565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176108185761081861180a565b60008261185457634e487b7160e01b600052601260045260246000fd5b500490565b600181811c9082168061186d57607f821691505b60208210810361188d57634e487b7160e01b600052602260045260246000fd5b50919050565b818103818111156108185761081861180a565b808201808211156108185761081861180a565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118e157600080fd5b8151610b3681611677565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561193c5784516001600160a01b031683529383019391830191600101611917565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561197257600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220f701ec8577e84ef10c40228493792418255c68c6efbea808d62ded718dff43c764736f6c63430008110033

Deployed Bytecode Sourcemap

4558:8605:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8233:181;;;;;;;;;;-1:-1:-1;8233:181:0;;;;;:::i;:::-;;:::i;:::-;;5513:54;;;;;;;;;;;;;;;;;;;345:25:1;;;333:2;318:18;5513:54:0;;;;;;;;6734:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7339:216::-;;;;;;;;;;-1:-1:-1;7339:216:0;;;;;:::i;:::-;;:::i;:::-;;;1555:14:1;;1548:22;1530:41;;1518:2;1503:18;7339:216:0;1390:187:1;7170:161:0;;;;;;;;;;-1:-1:-1;7170:161:0;;;;;:::i;:::-;7280:17;7315:8;;;7170:161;5284:36;;;;;;;;;;;;;;;;6464:88;;;;;;;;;;-1:-1:-1;6537:12:0;;6464:88;;5208:69;;;;;;;;;;;;;;;;8422:135;;;;;;;;;;-1:-1:-1;8422:135:0;;;;;:::i;:::-;;:::i;7857:368::-;;;;;;;;;;-1:-1:-1;7857:368:0;;;;;:::i;:::-;;:::i;6558:80::-;;;;;;;;;;-1:-1:-1;6558:80:0;;4736:1;2922:36:1;;2910:2;2895:18;6558:80:0;2780:184:1;4977:44:0;;;;;;;;;;-1:-1:-1;4977:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7563:122;;;;;;;;;;-1:-1:-1;7563:122:0;;;;;:::i;:::-;;:::i;10989:121::-;;;;;;;;;;-1:-1:-1;10989:121:0;;;;;:::i;:::-;;:::i;5130:29::-;;;;;;;;;;;;;;;;5166:35;;;;;;;;;;;;;;;;5476:30;;;;;;;;;;-1:-1:-1;5476:30:0;;;;-1:-1:-1;;;5476:30:0;;;;;;10418:412;;;;;;;;;;-1:-1:-1;10418:412:0;;;;;:::i;:::-;;:::i;6820:105::-;;;;;;;;;;-1:-1:-1;6820:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6904:18:0;6886:7;6904:18;;;:9;:18;;;;;;;6820:105;2688:148;;;;;;;;;;;;;:::i;10098:135::-;;;;;;;;;;-1:-1:-1;10098:135:0;;;;;:::i;:::-;;:::i;4798:57::-;;;;;;;;;;;;;;;;2502:79;;;;;;;;;;-1:-1:-1;2540:7:0;2567:6;-1:-1:-1;;;;;2567:6:0;2502:79;;;-1:-1:-1;;;;;3523:32:1;;;3505:51;;3493:2;3478:18;2502:79:0;3359:203:1;6644:84:0;;;;;;;;;;;;;:::i;5089:34::-;;;;;;;;;;;;;;;;5448:19;;;;;;;;;;-1:-1:-1;5448:19:0;;;;-1:-1:-1;;;;;5448:19:0;;;7693:156;;;;;;;;;;-1:-1:-1;7693:156:0;;;;;:::i;:::-;;:::i;11118:241::-;;;;;;;;;;-1:-1:-1;11118:241:0;;;;;:::i;:::-;;:::i;5028:52::-;;;;;;;;;;-1:-1:-1;5028:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5371:29;;;;;;;;;;-1:-1:-1;5371:29:0;;;;-1:-1:-1;;;;;5371:29:0;;;6931:133;;;;;;;;;;-1:-1:-1;6931:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7033:19:0;;;7015:7;7033:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6931:133;10241:169;;;;;;;;;;-1:-1:-1;10241:169:0;;;;;:::i;:::-;;:::i;10838:139::-;;;;;;;;;;-1:-1:-1;10838:139:0;;;;;:::i;:::-;;:::i;5329:35::-;;;;;;;;;;-1:-1:-1;5329:35:0;;;;-1:-1:-1;;;;;5329:35:0;;;2844:214;;;;;;;;;;-1:-1:-1;2844:214:0;;;;;:::i;:::-;;:::i;5409:32::-;;;;;;;;;;-1:-1:-1;5409:32:0;;;;-1:-1:-1;;;;;5409:32:0;;;8233:181;2629:6;;-1:-1:-1;;;;;2629:6:0;2639:10;2629:20;2621:39;;;;-1:-1:-1;;;2621:39:0;;;;;;;:::i;:::-;;;;;;;;;8401:5:::1;8372:24;8357:12;;:39;;;;:::i;:::-;8356:50;;;;:::i;:::-;8338:15;:68:::0;-1:-1:-1;8233:181:0:o;6734:80::-;6782:13;6806:5;6799:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6734:80;:::o;7339:216::-;7443:10;7414:4;7431:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7431:32:0;;;;;;;;;;:41;;;7488:37;7414:4;;7431:32;;7488:37;;;;7466:6;345:25:1;;333:2;318:18;;199:177;7488:37:0;;;;;;;;-1:-1:-1;7543:4:0;7339:216;;;;;:::o;8422:135::-;2629:6;;-1:-1:-1;;;;;2629:6:0;2639:10;2629:20;2621:39;;;;-1:-1:-1;;;2621:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8513:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;8513:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8422:135::o;7857:368::-;-1:-1:-1;;;;;7977:19:0;;7957:4;7977:19;;;:11;:19;;;;;;;;7997:10;7977:31;;;;;;;;-1:-1:-1;;7977:52:0;7974:186;;8079:69;;;;;;;;;;;-1:-1:-1;;;8079:69:0;;;;;;;;-1:-1:-1;;;;;8079:19:0;;-1:-1:-1;8079:19:0;;;:11;:19;;;;;8099:10;8079:31;;;;;;;;;;:69;;8115:6;;8079:35;:69::i;:::-;-1:-1:-1;;;;;8045:19:0;;;;;;:11;:19;;;;;;;;8065:10;8045:31;;;;;;;:103;7974:186;8177:40;8191:6;8199:9;8210:6;8177:13;:40::i;:::-;8170:47;7857:368;-1:-1:-1;;;;7857:368:0:o;7563:122::-;7618:4;7642:35;7650:7;-1:-1:-1;;7642:7:0;:35::i;10989:121::-;2629:6;;-1:-1:-1;;;;;2629:6:0;2639:10;2629:20;2621:39;;;;-1:-1:-1;;;2621:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11074:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;11074:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10989:121::o;10418:412::-;2629:6;;-1:-1:-1;;;;;2629:6:0;2639:10;2629:20;2621:39;;;;-1:-1:-1;;;2621:39:0;;;;;;;:::i;:::-;10552:12:::1;:28:::0;;;10591:6:::1;:16:::0;;;10618:12:::1;:28:::0;;;10668:32:::1;10567:13:::0;10633;10668:17:::1;:32::i;:::-;10657:8;:43:::0;10711:14:::1;:32:::0;;;10773:16:::1;10788:1;10728:15:::0;10773:16:::1;:::i;:::-;10762:8;;:27;10754:68;;;::::0;-1:-1:-1;;;10754:68:0;;5895:2:1;10754:68:0::1;::::0;::::1;5877:21:1::0;5934:2;5914:18;;;5907:30;5973;5953:18;;;5946:58;6021:18;;10754:68:0::1;5693:352:1::0;10754:68:0::1;10418:412:::0;;;;:::o;2688:148::-;2629:6;;-1:-1:-1;;;;;2629:6:0;2639:10;2629:20;2621:39;;;;-1:-1:-1;;;2621:39:0;;;;;;;:::i;:::-;2795:1:::1;2779:6:::0;;2758:40:::1;::::0;-1:-1:-1;;;;;2779:6:0;;::::1;::::0;2758:40:::1;::::0;2795:1;;2758:40:::1;2826:1;2809:19:::0;;-1:-1:-1;;;;;;2809:19:0::1;::::0;;2688:148::o;10098:135::-;2629:6;;-1:-1:-1;;;;;2629:6:0;2639:10;2629:20;2621:39;;;;-1:-1:-1;;;2621:39:0;;;;;;;:::i;:::-;10167:4:::1;:15:::0;;-1:-1:-1;;;;;10167:15:0;;::::1;-1:-1:-1::0;;;;;;10167:15:0;;::::1;::::0;::::1;::::0;;:4:::1;10193:25:::0;;;:19:::1;:25;::::0;;;;:32;;-1:-1:-1;;10193:32:0::1;10167:15:::0;10193:32:::1;::::0;;10098:135::o;6644:84::-;6694:13;6718:7;6711:14;;;;;:::i;7693:156::-;7773:4;7797:44;7811:10;7823:9;7834:6;7797:13;:44::i;:::-;7790:51;7693:156;-1:-1:-1;;;7693:156:0:o;11118:241::-;11183:14;;-1:-1:-1;;;;;11183:14:0;11201:10;11183:28;11175:49;;;;-1:-1:-1;;;11175:49:0;;6252:2:1;11175:49:0;;;6234:21:1;6291:1;6271:18;;;6264:29;-1:-1:-1;;;6309:18:1;;;6302:37;6356:18;;11175:49:0;6050:330:1;11175:49:0;11255:21;11295:10;11287:64;11347:3;11316:28;11328:16;11255:21;11316:28;:::i;:::-;:34;;;;:::i;:::-;11287:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11164:195;11118:241;:::o;10241:169::-;2629:6;;-1:-1:-1;;;;;2629:6:0;2639:10;2629:20;2621:39;;;;-1:-1:-1;;;2621:39:0;;;;;;;:::i;:::-;10339:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;10339:22:0::1;-1:-1:-1::0;;;;10339:22:0;;::::1;::::0;;;::::1;::::0;;;10372:13:::1;:30:::0;10241:169::o;10838:139::-;2629:6;;-1:-1:-1;;;;;2629:6:0;2639:10;2629:20;2621:39;;;;-1:-1:-1;;;2621:39:0;;;;;;;:::i;:::-;10925:20:::1;:44:::0;;-1:-1:-1;;;;;;10925:44:0::1;-1:-1:-1::0;;;;;10925:44:0;;;::::1;::::0;;;::::1;::::0;;10838:139::o;2844:214::-;2629:6;;-1:-1:-1;;;;;2629:6:0;2639:10;2629:20;2621:39;;;;-1:-1:-1;;;2621:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2933:22:0;::::1;2925:43;;;::::0;-1:-1:-1;;;2925:43:0;;6587:2:1;2925:43:0::1;::::0;::::1;6569:21:1::0;6626:1;6606:18;;;6599:29;-1:-1:-1;;;6644:18:1;;;6637:38;6692:18;;2925:43:0::1;6385:331:1::0;2925:43:0::1;3005:6;::::0;;2984:38:::1;::::0;-1:-1:-1;;;;;2984:38:0;;::::1;::::0;3005:6;::::1;::::0;2984:38:::1;::::0;::::1;3033:6;:17:::0;;-1:-1:-1;;;;;;3033:17:0::1;-1:-1:-1::0;;;;;3033:17:0;;;::::1;::::0;;;::::1;::::0;;2844:214::o;546:190::-;632:7;668:12;660:6;;;;652:29;;;;-1:-1:-1;;;652:29:0;;;;;;;;:::i;:::-;-1:-1:-1;692:9:0;704:5;708:1;704;:5;:::i;:::-;692:17;546:190;-1:-1:-1;;;;;546:190:0:o;8565:815::-;-1:-1:-1;;;;;6904:18:0;;8657:4;6904:18;;;:9;:18;;;;;;8800:15;;8776:19;8789:6;6904:18;8776:19;:::i;:::-;8775:40;;:74;;;-1:-1:-1;;;;;;8819:30:0;;;;;;:19;:30;;;;;;;;8775:74;8767:148;;;;-1:-1:-1;;;8767:148:0;;7186:2:1;8767:148:0;;;7168:21:1;7225:2;7205:18;;;7198:30;7264:34;7244:18;;;7237:62;7335:32;7315:18;;;7308:60;7385:19;;8767:148:0;6984:426:1;8767:148:0;8955:16;:14;:16::i;:::-;:37;;;;-1:-1:-1;8988:4:0;;-1:-1:-1;;;;;8975:17:0;;;8988:4;;8975:17;8955:37;8952:54;;;8994:10;:8;:10::i;:::-;9063:53;;;;;;;;;;;-1:-1:-1;;;9063:53:0;;;;;;;;-1:-1:-1;;;;;9063:17:0;;-1:-1:-1;9063:17:0;;;:9;:17;;;;;;;;:53;;9085:6;;9063:21;:53::i;:::-;-1:-1:-1;;;;;9043:17:0;;;;;;:9;:17;;;;;:73;;;;9152:31;9053:6;9173:9;9152:13;:31::i;:::-;:65;;9211:6;9152:65;;;9186:22;9194:6;9201;9186:7;:22::i;:::-;-1:-1:-1;;;;;9251:20:0;;;;;;:9;:20;;;;;;9127:90;;-1:-1:-1;9251:40:0;;9127:90;9251:24;:40::i;:::-;-1:-1:-1;;;;;9228:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9307:43;;;;;;;;;;9335:14;345:25:1;;333:2;318:18;;199:177;9307:43:0;;;;;;;;-1:-1:-1;9368:4:0;;8565:815;-1:-1:-1;;;;;8565:815:0:o;219:179::-;277:7;;309:5;313:1;309;:5;:::i;:::-;297:17;;338:1;333;:6;;325:46;;;;-1:-1:-1;;;325:46:0;;7617:2:1;325:46:0;;;7599:21:1;7656:2;7636:18;;;7629:30;7695:29;7675:18;;;7668:57;7742:18;;325:46:0;7415:351:1;9893:197:0;9980:4;;9942;;-1:-1:-1;;;;;9980:4:0;9966:10;:18;;;;:38;;-1:-1:-1;9998:6:0;;;;9997:7;9966:38;:62;;;;-1:-1:-1;10017:11:0;;-1:-1:-1;;;10017:11:0;;;;9966:62;:116;;;;-1:-1:-1;10069:13:0;;10059:4;10041:24;;;;:9;:24;;;;;;:41;;9966:116;9959:123;;9893:197;:::o;11367:1791::-;5616:6;:13;;-1:-1:-1;;5616:13:0;5625:4;5616:13;;;11459:4:::1;5616:6:::0;11441:24;;;:9:::1;:24;::::0;;;;;11539:8:::1;::::0;11521:12:::1;::::0;11441:24;;5616:6;11502:53:::1;::::0;11553:1:::1;::::0;11502:46:::1;::::0;11539:8;11502:46;;11441:24;;11502:18:::1;:32::i;:::-;:36:::0;::::1;:46::i;:53::-;11476:79:::0;-1:-1:-1;11566:20:0::1;11589:35;:14:::0;11476:79;11589:18:::1;:35::i;:::-;11721:16;::::0;;11735:1:::1;11721:16:::0;;;;;::::1;::::0;;11566:58;;-1:-1:-1;11663:21:0::1;::::0;11637:23:::1;::::0;11721:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11721:16:0::1;11697:40;;11766:4;11748;11753:1;11748:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11748:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11792:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;11792:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;11748:7;;11792:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11782:4;11787:1;11782:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11782:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;11816:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;11816:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;11888:12;;11816:6:::1;::::0;11931:4;;11958::::1;::::0;11978:15:::1;::::0;11816:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12017:17;12037:42;12063:15;12037:21;:25;;:42;;;;:::i;:::-;12017:62;;12090:19;12112:33;12125:19;12142:1;12125:12;;:16;;:19;;;;:::i;:::-;12112:8;::::0;;:12:::1;:33::i;:::-;12090:55;;12156:26;12185:51;12234:1;12185:44;12217:11;12185:27;12199:12;;12185:9;:13;;:27;;;;:::i;:51::-;12156:80:::0;-1:-1:-1;12259:47:0::1;12304:1;12259:40;12297:1;12259:33;:9:::0;12156:80;12259:13:::1;:33::i;:::-;:37:::0;::::1;:40::i;:47::-;12247:59:::0;-1:-1:-1;12317:20:0::1;12340:16;12247:59:::0;12354:1:::1;12340:13;:16::i;:::-;12317:39:::0;-1:-1:-1;12367:26:0::1;12396:27;:9:::0;12317:39;12396:13:::1;:27::i;:::-;12367:56:::0;-1:-1:-1;12439:14:0;;12436:156:::1;;12523:14;::::0;12515:65:::1;::::0;12469:15:::1;::::0;-1:-1:-1;;;;;12523:14:0::1;::::0;12570:5:::1;::::0;12551:12;;12469:15;12515:65;12469:15;12515:65;12551:12;12523:14;12570:5;12515:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;12436:156:0::1;12607:20:::0;;12604:174:::1;;12697:20;::::0;12689:77:::1;::::0;12643:15:::1;::::0;-1:-1:-1;;;;;12697:20:0::1;::::0;12756:5:::1;::::0;12731:18;;12643:15;12689:77;12643:15;12689:77;12731:18;12697:20;12756:5;12689:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;12604:174:0::1;12793:19:::0;;12790:361:::1;;12828:6;::::0;13002:20:::1;::::0;12828:243:::1;::::0;-1:-1:-1;;;12828:243:0;;12904:4:::1;12828:243;::::0;::::1;9827:34:1::0;9877:18;;;9870:34;;;12828:6:0::1;9920:18:1::0;;;9913:34;;;9963:18;;;9956:34;-1:-1:-1;;;;;13002:20:0;;::::1;10006:19:1::0;;;9999:44;13041:15:0::1;10059:19:1::0;;;10052:35;12828:6:0;::::1;::::0;:22:::1;::::0;12858:18;;9761:19:1;;12828:243:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13091:48:0::1;::::0;;10583:25:1;;;10639:2;10624:18;;10617:34;;;13091:48:0::1;::::0;-1:-1:-1;10556:18:1;13091:48:0::1;;;;;;;12790:361;-1:-1:-1::0;;5634:6:0;:14;;-1:-1:-1;;5634:14:0;;;-1:-1:-1;;;;;;;;11367:1791:0:o;9725:160::-;-1:-1:-1;;;;;9830:19:0;;9805:4;9830:19;;;:11;:19;;;;;;;;9829:20;:47;;;;-1:-1:-1;;;;;;;9854:22:0;;;;;:11;:22;;;;;;;;9853:23;;9725:160;-1:-1:-1;9725:160:0:o;9388:329::-;9455:7;9475:17;9495:40;9520:14;;9495:20;9506:8;;9495:6;:10;;:20;;;;:::i;:40::-;9591:4;9573:24;;;;:9;:24;;;;;;9475:60;;-1:-1:-1;9573:39:0;;9475:60;9573:28;:39::i;:::-;9564:4;9546:24;;;;:9;:24;;;;;;;:66;;;;9628:42;;-1:-1:-1;;;;;9628:42:0;;;;;;;9660:9;345:25:1;;333:2;318:18;;199:177;9628:42:0;;;;;;;;9688:21;:6;9699:9;9688:10;:21::i;742:246::-;800:7;824:1;829;824:6;820:47;;-1:-1:-1;854:1:0;847:8;;820:47;877:9;889:5;893:1;889;:5;:::i;:::-;877:17;-1:-1:-1;922:1:0;913:5;917:1;877:17;913:5;:::i;:::-;:10;905:56;;;;-1:-1:-1;;;905:56:0;;10864:2:1;905:56:0;;;10846:21:1;10903:2;10883:18;;;10876:30;10942:34;10922:18;;;10915:62;-1:-1:-1;;;10993:18:1;;;10986:31;11034:19;;905:56:0;10662:397:1;994:132:0;1052:7;1079:39;1083:1;1086;1079:39;;;;;;;;;;;;;;;;;:3;:39::i;404:136::-;462:7;489:43;493:1;496;489:43;;;;;;;;;;;;;;;;;:3;:43::i;1132:189::-;1218:7;1253:12;1246:5;1238:28;;;;-1:-1:-1;;;1238:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1277:9:0;1289:5;1293:1;1289;:5;:::i;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;381:548::-;493:4;522:2;551;540:9;533:21;583:6;577:13;626:6;621:2;610:9;606:18;599:34;651:1;661:140;675:6;672:1;669:13;661:140;;;770:14;;;766:23;;760:30;736:17;;;755:2;732:26;725:66;690:10;;661:140;;;665:3;850:1;845:2;836:6;825:9;821:22;817:31;810:42;920:2;913;909:7;904:2;896:6;892:15;888:29;877:9;873:45;869:54;861:62;;;;381:548;;;;:::o;934:131::-;-1:-1:-1;;;;;1009:31:1;;999:42;;989:70;;1055:1;1052;1045:12;989:70;934:131;:::o;1070:315::-;1138:6;1146;1199:2;1187:9;1178:7;1174:23;1170:32;1167:52;;;1215:1;1212;1205:12;1167:52;1254:9;1241:23;1273:31;1298:5;1273:31;:::i;:::-;1323:5;1375:2;1360:18;;;;1347:32;;-1:-1:-1;;;1070:315:1:o;1582:247::-;1641:6;1694:2;1682:9;1673:7;1669:23;1665:32;1662:52;;;1710:1;1707;1700:12;1662:52;1749:9;1736:23;1768:31;1793:5;1768:31;:::i;1834:160::-;1899:20;;1955:13;;1948:21;1938:32;;1928:60;;1984:1;1981;1974:12;1928:60;1834:160;;;:::o;1999:315::-;2064:6;2072;2125:2;2113:9;2104:7;2100:23;2096:32;2093:52;;;2141:1;2138;2131:12;2093:52;2180:9;2167:23;2199:31;2224:5;2199:31;:::i;:::-;2249:5;-1:-1:-1;2273:35:1;2304:2;2289:18;;2273:35;:::i;:::-;2263:45;;1999:315;;;;;:::o;2319:456::-;2396:6;2404;2412;2465:2;2453:9;2444:7;2440:23;2436:32;2433:52;;;2481:1;2478;2471:12;2433:52;2520:9;2507:23;2539:31;2564:5;2539:31;:::i;:::-;2589:5;-1:-1:-1;2646:2:1;2631:18;;2618:32;2659:33;2618:32;2659:33;:::i;:::-;2319:456;;2711:7;;-1:-1:-1;;;2765:2:1;2750:18;;;;2737:32;;2319:456::o;2969:385::-;3055:6;3063;3071;3079;3132:3;3120:9;3111:7;3107:23;3103:33;3100:53;;;3149:1;3146;3139:12;3100:53;-1:-1:-1;;3172:23:1;;;3242:2;3227:18;;3214:32;;-1:-1:-1;3293:2:1;3278:18;;3265:32;;3344:2;3329:18;3316:32;;-1:-1:-1;2969:385:1;-1:-1:-1;2969:385:1:o;3567:388::-;3635:6;3643;3696:2;3684:9;3675:7;3671:23;3667:32;3664:52;;;3712:1;3709;3702:12;3664:52;3751:9;3738:23;3770:31;3795:5;3770:31;:::i;:::-;3820:5;-1:-1:-1;3877:2:1;3862:18;;3849:32;3890:33;3849:32;3890:33;:::i;:::-;3942:7;3932:17;;;3567:388;;;;;:::o;3960:248::-;4025:6;4033;4086:2;4074:9;4065:7;4061:23;4057:32;4054:52;;;4102:1;4099;4092:12;4054:52;4125:26;4141:9;4125:26;:::i;4447:329::-;4649:2;4631:21;;;4688:1;4668:18;;;4661:29;-1:-1:-1;;;4721:2:1;4706:18;;4699:36;4767:2;4752:18;;4447:329::o;4781:127::-;4842:10;4837:3;4833:20;4830:1;4823:31;4873:4;4870:1;4863:15;4897:4;4894:1;4887:15;4913:168;4986:9;;;5017;;5034:15;;;5028:22;;5014:37;5004:71;;5055:18;;:::i;5086:217::-;5126:1;5152;5142:132;;5196:10;5191:3;5187:20;5184:1;5177:31;5231:4;5228:1;5221:15;5259:4;5256:1;5249:15;5142:132;-1:-1:-1;5288:9:1;;5086:217::o;5308:380::-;5387:1;5383:12;;;;5430;;;5451:61;;5505:4;5497:6;5493:17;5483:27;;5451:61;5558:2;5550:6;5547:14;5527:18;5524:38;5521:161;;5604:10;5599:3;5595:20;5592:1;5585:31;5639:4;5636:1;5629:15;5667:4;5664:1;5657:15;5521:161;;5308:380;;;:::o;6721:128::-;6788:9;;;6809:11;;;6806:37;;;6823:18;;:::i;6854:125::-;6919:9;;;6940:10;;;6937:36;;;6953:18;;:::i;7903:127::-;7964:10;7959:3;7955:20;7952:1;7945:31;7995:4;7992:1;7985:15;8019:4;8016:1;8009:15;8035:251;8105:6;8158:2;8146:9;8137:7;8133:23;8129:32;8126:52;;;8174:1;8171;8164:12;8126:52;8206:9;8200:16;8225:31;8250:5;8225:31;:::i;8291:980::-;8553:4;8601:3;8590:9;8586:19;8632:6;8621:9;8614:25;8658:2;8696:6;8691:2;8680:9;8676:18;8669:34;8739:3;8734:2;8723:9;8719:18;8712:31;8763:6;8798;8792:13;8829:6;8821;8814:22;8867:3;8856:9;8852:19;8845:26;;8906:2;8898:6;8894:15;8880:29;;8927:1;8937:195;8951:6;8948:1;8945:13;8937:195;;;9016:13;;-1:-1:-1;;;;;9012:39:1;9000:52;;9107:15;;;;9072:12;;;;9048:1;8966:9;8937:195;;;-1:-1:-1;;;;;;;9188:32:1;;;;9183:2;9168:18;;9161:60;-1:-1:-1;;;9252:3:1;9237:19;9230:35;9149:3;8291:980;-1:-1:-1;;;8291:980:1:o;10098:306::-;10186:6;10194;10202;10255:2;10243:9;10234:7;10230:23;10226:32;10223:52;;;10271:1;10268;10261:12;10223:52;10300:9;10294:16;10284:26;;10350:2;10339:9;10335:18;10329:25;10319:35;;10394:2;10383:9;10379:18;10373:25;10363:35;;10098:306;;;;;:::o

Swarm Source

ipfs://f701ec8577e84ef10c40228493792418255c68c6efbea808d62ded718dff43c7

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.