ETH Price: $2,011.15 (+1.98%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve235525382025-10-11 5:57:11142 days ago1760162231IN
0x2ee44D8a...BB1d66e2c
0 ETH0.000035390.76578764
Approve235387312025-10-09 7:37:23144 days ago1759995443IN
0x2ee44D8a...BB1d66e2c
0 ETH0.00000570.12245535
Approve234860342025-10-01 22:50:11152 days ago1759359011IN
0x2ee44D8a...BB1d66e2c
0 ETH0.000018610.70697559
Approve234860302025-10-01 22:49:23152 days ago1759358963IN
0x2ee44D8a...BB1d66e2c
0 ETH0.000032750.70848921
Approve225047452025-05-17 19:10:11289 days ago1747509011IN
0x2ee44D8a...BB1d66e2c
0 ETH0.000028390.61031319
Approve161580312022-12-11 0:56:471178 days ago1670720207IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005903312.66725784
Approve161113292022-12-04 12:05:351184 days ago1670155535IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005847812.54822341
Approve161108192022-12-04 10:22:351184 days ago1670149355IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005365911.5142323
Approve161105372022-12-04 9:24:591184 days ago1670145899IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0006361313.65
Approve161098292022-12-04 7:02:471184 days ago1670137367IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005797912.44116533
Approve161096892022-12-04 6:34:471184 days ago1670135687IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005871912.6
Approve161096752022-12-04 6:31:591184 days ago1670135519IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005382611.55
Approve161096412022-12-04 6:25:111184 days ago1670135111IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005774212.39035888
Approve161095692022-12-04 6:10:231184 days ago1670134223IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005348911.47770884
Approve161095262022-12-04 6:01:471184 days ago1670133707IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0006058613.00050599
Approve161095202022-12-04 6:00:351184 days ago1670133635IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005525811.85736243
Approve161094822022-12-04 5:52:591184 days ago1670133179IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005400811.58916211
Approve161094722022-12-04 5:50:591184 days ago1670133059IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005657812.14059294
Approve161094672022-12-04 5:49:591184 days ago1670132999IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005777612.39766765
Approve161094532022-12-04 5:47:111184 days ago1670132831IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0007489716.07128835
Approve161094502022-12-04 5:46:231184 days ago1670132783IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005234211.23166383
Approve161094472022-12-04 5:45:471184 days ago1670132747IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0005815612.47922616
Approve161094452022-12-04 5:45:231184 days ago1670132723IN
0x2ee44D8a...BB1d66e2c
0 ETH0.000561512.04874588
Approve161094132022-12-04 5:38:591184 days ago1670132339IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0006824314.64352407
Approve161094002022-12-04 5:36:231184 days ago1670132183IN
0x2ee44D8a...BB1d66e2c
0 ETH0.0004966810.65786221
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer161128902022-12-04 17:19:471184 days ago1670174387
0x2ee44D8a...BB1d66e2c
0.00135691 ETH
Transfer161128902022-12-04 17:19:471184 days ago1670174387
0x2ee44D8a...BB1d66e2c
0.00268695 ETH
Transfer161128902022-12-04 17:19:471184 days ago1670174387
0x2ee44D8a...BB1d66e2c
0.00404386 ETH
Transfer161110302022-12-04 11:05:111184 days ago1670151911
0x2ee44D8a...BB1d66e2c
0.00168317 ETH
Transfer161110302022-12-04 11:05:111184 days ago1670151911
0x2ee44D8a...BB1d66e2c
0.00333301 ETH
Transfer161110302022-12-04 11:05:111184 days ago1670151911
0x2ee44D8a...BB1d66e2c
0.00501618 ETH
Transfer161097732022-12-04 6:51:351184 days ago1670136695
0x2ee44D8a...BB1d66e2c
0.00217742 ETH
Transfer161097732022-12-04 6:51:351184 days ago1670136695
0x2ee44D8a...BB1d66e2c
0.00431173 ETH
Transfer161097732022-12-04 6:51:351184 days ago1670136695
0x2ee44D8a...BB1d66e2c
0.00648916 ETH
Transfer161097312022-12-04 6:43:111184 days ago1670136191
0x2ee44D8a...BB1d66e2c
0.00297175 ETH
Transfer161097312022-12-04 6:43:111184 days ago1670136191
0x2ee44D8a...BB1d66e2c
0.00588466 ETH
Transfer161097312022-12-04 6:43:111184 days ago1670136191
0x2ee44D8a...BB1d66e2c
0.00885641 ETH
Transfer161097242022-12-04 6:41:471184 days ago1670136107
0x2ee44D8a...BB1d66e2c
0.00355323 ETH
Transfer161097242022-12-04 6:41:471184 days ago1670136107
0x2ee44D8a...BB1d66e2c
0.0070361 ETH
Transfer161097242022-12-04 6:41:471184 days ago1670136107
0x2ee44D8a...BB1d66e2c
0.01058933 ETH
Transfer161096542022-12-04 6:27:471184 days ago1670135267
0x2ee44D8a...BB1d66e2c
0.00310711 ETH
Transfer161096542022-12-04 6:27:471184 days ago1670135267
0x2ee44D8a...BB1d66e2c
0.00615271 ETH
Transfer161096542022-12-04 6:27:471184 days ago1670135267
0x2ee44D8a...BB1d66e2c
0.00925983 ETH
Transfer161096492022-12-04 6:26:471184 days ago1670135207
0x2ee44D8a...BB1d66e2c
0.00310711 ETH
Transfer161096492022-12-04 6:26:471184 days ago1670135207
0x2ee44D8a...BB1d66e2c
0.00615271 ETH
Transfer161096492022-12-04 6:26:471184 days ago1670135207
0x2ee44D8a...BB1d66e2c
0.00925983 ETH
Transfer161096242022-12-04 6:21:471184 days ago1670134907
0x2ee44D8a...BB1d66e2c
0.0042834 ETH
Transfer161096242022-12-04 6:21:471184 days ago1670134907
0x2ee44D8a...BB1d66e2c
0.00848198 ETH
Transfer161096242022-12-04 6:21:471184 days ago1670134907
0x2ee44D8a...BB1d66e2c
0.01276538 ETH
Transfer161095862022-12-04 6:13:471184 days ago1670134427
0x2ee44D8a...BB1d66e2c
0.00676004 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
TreesOfThought

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-12-04
*/

/**

https://t.me/TreesOfThought

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.16;


library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {return a + b;}
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {return a - b;}
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {return a * b;}
    function div(uint256 a, uint256 b) internal pure returns (uint256) {return a / b;}
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {return a % b;}
    
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {uint256 c = a + b; if(c < a) return(false, 0); return(true, c);}}

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if(b > a) return(false, 0); return(true, a - b);}}

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if (a == 0) return(true, 0); uint256 c = a * b;
        if(c / a != b) return(false, 0); return(true, c);}}

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if(b == 0) return(false, 0); return(true, a / b);}}

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if(b == 0) return(false, 0); return(true, a % b);}}

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked{require(b <= a, errorMessage); return a - b;}}

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked{require(b > 0, errorMessage); return a / b;}}

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked{require(b > 0, errorMessage); return a % b;}}}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}

interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
        function getPair(address tokenA, address tokenB) external view returns (address pair);
}

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

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

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

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

contract TreesOfThought is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'Trees Of Thought';
    string private constant _symbol = 'ToT';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 10000000 * (10 ** _decimals);
    uint256 private _maxTxAmountPercent = 100; // 10000;
    uint256 private _maxTransferPercent = 100;
    uint256 private _maxWalletPercent = 100;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) private isBot;
    IRouter router;
    address public pair;
    bool private tradingAllowed = false;
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 200;
    uint256 private developmentFee = 100;
    uint256 private burnFee = 0;
    uint256 private totalFee = 1500;
    uint256 private sellFee = 1500;
    uint256 private transferFee = 1000;
    uint256 private denominator = 10000;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping; 
    uint256 private swapThreshold = ( _totalSupply * 250 ) / 100000;
    uint256 private _minTokenAmount = ( _totalSupply * 10 ) / 100000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}

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

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

    receive() external payable {}
    function name() public pure returns (string memory) {return _name;}
    function symbol() public pure returns (string memory) {return _symbol;}
    function decimals() public pure returns (uint8) {return _decimals;}
    function startTrading() external onlyOwner {tradingAllowed = true;}
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function isCont(address addr) internal view returns (bool) {uint size; assembly { size := extcodesize(addr) } return size > 0; }
    function setisBot(address _address, bool _enabled) external onlyOwner {isBot[_address] = _enabled;}
    function setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}
    function _maxWalletToken() public view returns (uint256) {return totalSupply() * _maxWalletPercent / denominator;}
    function _maxTxAmount() public view returns (uint256) {return totalSupply() * _maxTxAmountPercent / denominator;}
    function _maxTransferAmount() public view returns (uint256) {return totalSupply() * _maxTransferPercent / denominator;}

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

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

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

    function setParameters(uint256 _buy, uint256 _trans, uint256 _wallet) external onlyOwner {
        uint256 newTx = (totalSupply() * _buy) / 10000;
        uint256 newTransfer = (totalSupply() * _trans) / 10000;
        uint256 newWallet = (totalSupply() * _wallet) / 10000;
        _maxTxAmountPercent = _buy;
        _maxTransferPercent = _trans;
        _maxWalletPercent = _wallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");
    }

    function checkTradingAllowed(address sender, address recipient) internal view {
        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");}
    }
    
    function checkMaxWallet(address sender, address recipient, uint256 amount) internal view {
        if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){
            require((_balances[recipient].add(amount)) <= _maxWalletToken(), "Exceeds maximum wallet amount.");}
    }

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

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

    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);}
        uint256 remainingBalance = address(this).balance;
        if(remainingBalance > uint256(0)){payable(development_receiver).transfer(remainingBalance);}
    }

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a6200042d565b62000021906298968062000445565b60018181556064600281905560038190556004819055600a805460ff60a01b191690556000600b81905560c8600c55600d91909155600e556105dc600f8190556010556103e86011556127106012556013805460ff19169091179055620186a0906200008f9060fa62000445565b6200009b919062000467565b601655620186a0600154600a620000b3919062000445565b620000bf919062000467565b601755348015620000cf57600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa15801562000137573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015d91906200048a565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d191906200048a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200021f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024591906200048a565b600980546001600160a01b038581166001600160a01b031992831617909255600a805492841692909116919091179055306000908152600760209081526040808320805460ff1990811660019081179092557fee7aee9b464bac481570119fc5a516e6f9594fd1d06c5414938f5364101348948054821683179055338086528386208054909216831790915590546005845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004b5565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200036f57816000190482111562000353576200035362000318565b808516156200036157918102915b93841c939080029062000333565b509250929050565b600082620003885750600162000427565b81620003975750600062000427565b8160018114620003b05760028114620003bb57620003db565b600191505062000427565b60ff841115620003cf57620003cf62000318565b50506001821b62000427565b5060208310610133831016604e8410600b841016171562000400575081810a62000427565b6200040c83836200032e565b806000190482111562000423576200042362000318565b0290505b92915050565b60006200043e60ff84168362000377565b9392505050565b600081600019048311821515161562000462576200046262000318565b500290565b6000826200048557634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200049d57600080fd5b81516001600160a01b03811681146200043e57600080fd5b611acc80620004c56000396000f3fe6080604052600436106101395760003560e01c806348ff2b8b116100ab5780638c41180e1161006f5780638c41180e1461039c57806395d89b41146103bc578063a8aa1b31146103e8578063a9059cbb14610408578063dd62ed3e14610428578063f2fde38b1461046e57600080fd5b806348ff2b8b146102ea57806370a082311461030a57806378109e54146103405780637d1db4a514610355578063893d20e81461036a57600080fd5b806323b872dd116100fd57806323b872dd1461021a578063293230b81461023a5780632f54bf6e1461024f578063313ce5671461027e57806334c5d2ce1461029a5780633f4218e0146102ba57600080fd5b8063044019301461014557806306fdde0314610167578063095ea7b3146101b257806318160ddd146101e25780631f976b7e1461020557600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061016561016036600461172b565b61048e565b005b34801561017357600080fd5b5060408051808201909152601081526f151c99595cc813d988151a1bdd59da1d60821b60208201525b6040516101a99190611777565b60405180910390f35b3480156101be57600080fd5b506101d26101cd3660046117dd565b61057c565b60405190151581526020016101a9565b3480156101ee57600080fd5b506101f7610593565b6040519081526020016101a9565b34801561021157600080fd5b506101f7610604565b34801561022657600080fd5b506101d2610235366004611809565b610628565b34801561024657600080fd5b50610165610692565b34801561025b57600080fd5b506101d261026a36600461184a565b6000546001600160a01b0391821691161490565b34801561028a57600080fd5b50604051600981526020016101a9565b3480156102a657600080fd5b506101656102b5366004611867565b6106d1565b3480156102c657600080fd5b506101d26102d536600461184a565b60076020526000908152604090205460ff1681565b3480156102f657600080fd5b50610165610305366004611893565b610818565b34801561031657600080fd5b506101f761032536600461184a565b6001600160a01b031660009081526005602052604090205490565b34801561034c57600080fd5b506101f761086d565b34801561036157600080fd5b506101f761087d565b34801561037657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b3480156103a857600080fd5b506101656103b7366004611893565b61088d565b3480156103c857600080fd5b50604080518082019091526003815262151bd560ea1b602082015261019c565b3480156103f457600080fd5b50600a54610384906001600160a01b031681565b34801561041457600080fd5b506101d26104233660046117dd565b6108e2565b34801561043457600080fd5b506101f76104433660046118d1565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047a57600080fd5b5061016561048936600461184a565b6108ef565b6000546001600160a01b031633146104c15760405162461bcd60e51b81526004016104b8906118ff565b60405180910390fd5b600b879055600c869055600e859055600d849055600f839055601082905560118190556012546104f290600561096d565b600f5411158015610512575060125461050c90600561096d565b60105411155b6105735760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016104b8565b50505050505050565b6000610589338484610979565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460015491926105ff9290916105f99190610a9d565b90610a9d565b905090565b6000601254600354610614610593565b61061e9190611935565b6105ff9190611954565b6000610635848484610aa9565b610687843361068285604051806060016040528060288152602001611a6f602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610bcf565b610979565b5060015b9392505050565b6000546001600160a01b031633146106bc5760405162461bcd60e51b81526004016104b8906118ff565b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106fb5760405162461bcd60e51b81526004016104b8906118ff565b600061271084610709610593565b6107139190611935565b61071d9190611954565b905060006127108461072d610593565b6107379190611935565b6107419190611954565b9050600061271084610751610593565b61075b9190611935565b6107659190611954565b600287905560038690556004859055905060006107976103e8610791600561078b610593565b90610bfb565b9061096d565b90508084101580156107a95750808310155b80156107b55750808210155b6105735760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104b8565b6000546001600160a01b031633146108425760405162461bcd60e51b81526004016104b8906118ff565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000601254600454610614610593565b6000601254600254610614610593565b6000546001600160a01b031633146108b75760405162461bcd60e51b81526004016104b8906118ff565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000610589338484610aa9565b6000546001600160a01b031633146109195760405162461bcd60e51b81526004016104b8906118ff565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b600061068b8284611954565b6001600160a01b0383166109db5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b8565b6001600160a01b038216610a3c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b8565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061068b8284611976565b610ab4838383610c07565b610abe8383610db6565b610ac9838383610e4b565b610ad38383610f3c565b610ade838383610f93565b610ae98383836110ca565b6001600160a01b038316600090815260056020526040902054610b0c9082610a9d565b6001600160a01b038416600090815260056020526040812091909155610b3284846110ef565b610b3c5781610b47565b610b47848484611135565b6001600160a01b038416600090815260056020526040902054909150610b6d9082611223565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bc19085815260200190565b60405180910390a350505050565b60008184841115610bf35760405162461bcd60e51b81526004016104b89190611777565b505050900390565b600061068b8284611935565b6001600160a01b038316610c6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b8565b6001600160a01b038216610ccd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b8565b60008111610d2f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b8565b6001600160a01b038316600090815260056020526040902054811115610db15760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104b8565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610df857506001600160a01b03811660009081526007602052604090205460ff16155b15610e4757600a54600160a01b900460ff16610e475760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104b8565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610e8d57506001600160a01b03821660009081526007602052604090205460ff16155b8015610ea75750600a546001600160a01b03838116911614155b8015610ebe57506001600160a01b03821661dead14155b15610db157610ecb61086d565b6001600160a01b038316600090815260056020526040902054610eee9083611223565b1115610db15760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104b8565b600a546001600160a01b038281169116148015610f7257506001600160a01b03821660009081526007602052604090205460ff16155b15610e4757600160146000828254610f8a9190611989565b90915550505050565b600a546001600160a01b0384811691161461103957610fb0610604565b81111580610fd657506001600160a01b03831660009081526007602052604090205460ff165b80610ff957506001600160a01b03821660009081526007602052604090205460ff165b6110395760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b8565b61104161087d565b8111158061106757506001600160a01b03831660009081526007602052604090205460ff165b8061108a57506001600160a01b03821660009081526007602052604090205460ff165b610db15760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b8565b6110d583838361122f565b15610db1576110e56016546112e1565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff1615801561068b5750506001600160a01b031660009081526007602052604090205460ff1615919050565b600080611142858561146c565b111561121c576000611165611157868661146c565b60125461078b90869061096d565b306000908152600560205260409020549091506111829082611223565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111d39085815260200190565b60405180910390a3600e541561120a5761120a3061dead611205600e5461078b6012548961096d90919063ffffffff16565b610aa9565b6112148382610a9d565b91505061068b565b5092915050565b600061068b8284611989565b6017546016543060009081526005602052604081205460155491938510159211159060ff16158015611263575060135460ff165b80156112785750600a54600160a01b900460ff165b80156112815750815b80156112a657506001600160a01b03861660009081526007602052604090205460ff16155b80156112bf5750600a546001600160a01b038681169116145b80156112ce5750600260145410155b80156112d75750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b5460009361131b9360029361078b939192611315928391611223565b90611223565b9050600061133882610791600b5486610bfb90919063ffffffff16565b905060006113468483610a9d565b9050476113528261150d565b600061135e4783610a9d565b9050600061138161137a600b5488610a9d90919063ffffffff16565b839061096d565b9050600061139a600b5483610bfb90919063ffffffff16565b905080156113ac576113ac8682611667565b600c546000906113c19061078b856002610bfb565b9050801561140c5760405173934691ac219aef7114227ad0924af3b98fe092c79082156108fc029083906000818181858888f1935050505015801561140a573d6000803e3d6000fd5b505b4780156114565760405173934691ac219aef7114227ad0924af3b98fe092c79082156108fc029083906000818181858888f19350505050158015611454573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16806114ab57506001600160a01b03821660009081526008602052604090205460ff165b156114c5576012546114be906064610a9d565b905061058d565b600a546001600160a01b03908116908316036114e4575060105461058d565b600a546001600160a01b03908116908416036115035750600f5461058d565b5060115492915050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115425761154261199c565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561159b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bf91906119b2565b816001815181106115d2576115d261199c565b6001600160a01b0392831660209182029290920101526009546115f89130911684610979565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906116319085906000908690309042906004016119cf565b600060405180830381600087803b15801561164b57600080fd5b505af115801561165f573d6000803e3d6000fd5b505050505050565b60095461167f9030906001600160a01b031684610979565b60095460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015273934691ac219aef7114227ad0924af3b98fe092c760848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156116ff573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117249190611a40565b5050505050565b600080600080600080600060e0888a03121561174657600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b818110156117a457858101830151858201604001528201611788565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117da57600080fd5b50565b600080604083850312156117f057600080fd5b82356117fb816117c5565b946020939093013593505050565b60008060006060848603121561181e57600080fd5b8335611829816117c5565b92506020840135611839816117c5565b929592945050506040919091013590565b60006020828403121561185c57600080fd5b813561068b816117c5565b60008060006060848603121561187c57600080fd5b505081359360208301359350604090920135919050565b600080604083850312156118a657600080fd5b82356118b1816117c5565b9150602083013580151581146118c657600080fd5b809150509250929050565b600080604083850312156118e457600080fd5b82356118ef816117c5565b915060208301356118c6816117c5565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561194f5761194f61191f565b500290565b60008261197157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561058d5761058d61191f565b8082018082111561058d5761058d61191f565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119c457600080fd5b815161068b816117c5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a1f5784516001600160a01b0316835293830193918301916001016119fa565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a5557600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202814cb75fa77fdd3b35e8f090e5d71e743b4b826178e4f465b248d203d48489064736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806348ff2b8b116100ab5780638c41180e1161006f5780638c41180e1461039c57806395d89b41146103bc578063a8aa1b31146103e8578063a9059cbb14610408578063dd62ed3e14610428578063f2fde38b1461046e57600080fd5b806348ff2b8b146102ea57806370a082311461030a57806378109e54146103405780637d1db4a514610355578063893d20e81461036a57600080fd5b806323b872dd116100fd57806323b872dd1461021a578063293230b81461023a5780632f54bf6e1461024f578063313ce5671461027e57806334c5d2ce1461029a5780633f4218e0146102ba57600080fd5b8063044019301461014557806306fdde0314610167578063095ea7b3146101b257806318160ddd146101e25780631f976b7e1461020557600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061016561016036600461172b565b61048e565b005b34801561017357600080fd5b5060408051808201909152601081526f151c99595cc813d988151a1bdd59da1d60821b60208201525b6040516101a99190611777565b60405180910390f35b3480156101be57600080fd5b506101d26101cd3660046117dd565b61057c565b60405190151581526020016101a9565b3480156101ee57600080fd5b506101f7610593565b6040519081526020016101a9565b34801561021157600080fd5b506101f7610604565b34801561022657600080fd5b506101d2610235366004611809565b610628565b34801561024657600080fd5b50610165610692565b34801561025b57600080fd5b506101d261026a36600461184a565b6000546001600160a01b0391821691161490565b34801561028a57600080fd5b50604051600981526020016101a9565b3480156102a657600080fd5b506101656102b5366004611867565b6106d1565b3480156102c657600080fd5b506101d26102d536600461184a565b60076020526000908152604090205460ff1681565b3480156102f657600080fd5b50610165610305366004611893565b610818565b34801561031657600080fd5b506101f761032536600461184a565b6001600160a01b031660009081526005602052604090205490565b34801561034c57600080fd5b506101f761086d565b34801561036157600080fd5b506101f761087d565b34801561037657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b3480156103a857600080fd5b506101656103b7366004611893565b61088d565b3480156103c857600080fd5b50604080518082019091526003815262151bd560ea1b602082015261019c565b3480156103f457600080fd5b50600a54610384906001600160a01b031681565b34801561041457600080fd5b506101d26104233660046117dd565b6108e2565b34801561043457600080fd5b506101f76104433660046118d1565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047a57600080fd5b5061016561048936600461184a565b6108ef565b6000546001600160a01b031633146104c15760405162461bcd60e51b81526004016104b8906118ff565b60405180910390fd5b600b879055600c869055600e859055600d849055600f839055601082905560118190556012546104f290600561096d565b600f5411158015610512575060125461050c90600561096d565b60105411155b6105735760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016104b8565b50505050505050565b6000610589338484610979565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460015491926105ff9290916105f99190610a9d565b90610a9d565b905090565b6000601254600354610614610593565b61061e9190611935565b6105ff9190611954565b6000610635848484610aa9565b610687843361068285604051806060016040528060288152602001611a6f602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610bcf565b610979565b5060015b9392505050565b6000546001600160a01b031633146106bc5760405162461bcd60e51b81526004016104b8906118ff565b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106fb5760405162461bcd60e51b81526004016104b8906118ff565b600061271084610709610593565b6107139190611935565b61071d9190611954565b905060006127108461072d610593565b6107379190611935565b6107419190611954565b9050600061271084610751610593565b61075b9190611935565b6107659190611954565b600287905560038690556004859055905060006107976103e8610791600561078b610593565b90610bfb565b9061096d565b90508084101580156107a95750808310155b80156107b55750808210155b6105735760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104b8565b6000546001600160a01b031633146108425760405162461bcd60e51b81526004016104b8906118ff565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000601254600454610614610593565b6000601254600254610614610593565b6000546001600160a01b031633146108b75760405162461bcd60e51b81526004016104b8906118ff565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000610589338484610aa9565b6000546001600160a01b031633146109195760405162461bcd60e51b81526004016104b8906118ff565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b600061068b8284611954565b6001600160a01b0383166109db5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b8565b6001600160a01b038216610a3c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b8565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061068b8284611976565b610ab4838383610c07565b610abe8383610db6565b610ac9838383610e4b565b610ad38383610f3c565b610ade838383610f93565b610ae98383836110ca565b6001600160a01b038316600090815260056020526040902054610b0c9082610a9d565b6001600160a01b038416600090815260056020526040812091909155610b3284846110ef565b610b3c5781610b47565b610b47848484611135565b6001600160a01b038416600090815260056020526040902054909150610b6d9082611223565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bc19085815260200190565b60405180910390a350505050565b60008184841115610bf35760405162461bcd60e51b81526004016104b89190611777565b505050900390565b600061068b8284611935565b6001600160a01b038316610c6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b8565b6001600160a01b038216610ccd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b8565b60008111610d2f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b8565b6001600160a01b038316600090815260056020526040902054811115610db15760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104b8565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610df857506001600160a01b03811660009081526007602052604090205460ff16155b15610e4757600a54600160a01b900460ff16610e475760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104b8565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610e8d57506001600160a01b03821660009081526007602052604090205460ff16155b8015610ea75750600a546001600160a01b03838116911614155b8015610ebe57506001600160a01b03821661dead14155b15610db157610ecb61086d565b6001600160a01b038316600090815260056020526040902054610eee9083611223565b1115610db15760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104b8565b600a546001600160a01b038281169116148015610f7257506001600160a01b03821660009081526007602052604090205460ff16155b15610e4757600160146000828254610f8a9190611989565b90915550505050565b600a546001600160a01b0384811691161461103957610fb0610604565b81111580610fd657506001600160a01b03831660009081526007602052604090205460ff165b80610ff957506001600160a01b03821660009081526007602052604090205460ff165b6110395760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b8565b61104161087d565b8111158061106757506001600160a01b03831660009081526007602052604090205460ff165b8061108a57506001600160a01b03821660009081526007602052604090205460ff165b610db15760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b8565b6110d583838361122f565b15610db1576110e56016546112e1565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff1615801561068b5750506001600160a01b031660009081526007602052604090205460ff1615919050565b600080611142858561146c565b111561121c576000611165611157868661146c565b60125461078b90869061096d565b306000908152600560205260409020549091506111829082611223565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111d39085815260200190565b60405180910390a3600e541561120a5761120a3061dead611205600e5461078b6012548961096d90919063ffffffff16565b610aa9565b6112148382610a9d565b91505061068b565b5092915050565b600061068b8284611989565b6017546016543060009081526005602052604081205460155491938510159211159060ff16158015611263575060135460ff165b80156112785750600a54600160a01b900460ff165b80156112815750815b80156112a657506001600160a01b03861660009081526007602052604090205460ff16155b80156112bf5750600a546001600160a01b038681169116145b80156112ce5750600260145410155b80156112d75750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b5460009361131b9360029361078b939192611315928391611223565b90611223565b9050600061133882610791600b5486610bfb90919063ffffffff16565b905060006113468483610a9d565b9050476113528261150d565b600061135e4783610a9d565b9050600061138161137a600b5488610a9d90919063ffffffff16565b839061096d565b9050600061139a600b5483610bfb90919063ffffffff16565b905080156113ac576113ac8682611667565b600c546000906113c19061078b856002610bfb565b9050801561140c5760405173934691ac219aef7114227ad0924af3b98fe092c79082156108fc029083906000818181858888f1935050505015801561140a573d6000803e3d6000fd5b505b4780156114565760405173934691ac219aef7114227ad0924af3b98fe092c79082156108fc029083906000818181858888f19350505050158015611454573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16806114ab57506001600160a01b03821660009081526008602052604090205460ff165b156114c5576012546114be906064610a9d565b905061058d565b600a546001600160a01b03908116908316036114e4575060105461058d565b600a546001600160a01b03908116908416036115035750600f5461058d565b5060115492915050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115425761154261199c565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561159b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bf91906119b2565b816001815181106115d2576115d261199c565b6001600160a01b0392831660209182029290920101526009546115f89130911684610979565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906116319085906000908690309042906004016119cf565b600060405180830381600087803b15801561164b57600080fd5b505af115801561165f573d6000803e3d6000fd5b505050505050565b60095461167f9030906001600160a01b031684610979565b60095460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015273934691ac219aef7114227ad0924af3b98fe092c760848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156116ff573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117249190611a40565b5050505050565b600080600080600080600060e0888a03121561174657600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b818110156117a457858101830151858201604001528201611788565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117da57600080fd5b50565b600080604083850312156117f057600080fd5b82356117fb816117c5565b946020939093013593505050565b60008060006060848603121561181e57600080fd5b8335611829816117c5565b92506020840135611839816117c5565b929592945050506040919091013590565b60006020828403121561185c57600080fd5b813561068b816117c5565b60008060006060848603121561187c57600080fd5b505081359360208301359350604090920135919050565b600080604083850312156118a657600080fd5b82356118b1816117c5565b9150602083013580151581146118c657600080fd5b809150509250929050565b600080604083850312156118e457600080fd5b82356118ef816117c5565b915060208301356118c6816117c5565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561194f5761194f61191f565b500290565b60008261197157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561058d5761058d61191f565b8082018082111561058d5761058d61191f565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119c457600080fd5b815161068b816117c5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a1f5784516001600160a01b0316835293830193918301916001016119fa565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a5557600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202814cb75fa77fdd3b35e8f090e5d71e743b4b826178e4f465b248d203d48489064736f6c63430008100033

Deployed Bytecode Sourcemap

4654:11626:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9913:527;;;;;;;;;;-1:-1:-1;9913:527:0;;;;;:::i;:::-;;:::i;:::-;;7009:67;;;;;;;;;;-1:-1:-1;7069:5:0;;;;;;;;;;;;-1:-1:-1;;;7069:5:0;;;;7009:67;;;;;;;:::i;:::-;;;;;;;;8129:133;;;;;;;;;;-1:-1:-1;8129:133:0;;;;;:::i;:::-;;:::i;:::-;;;1785:14:1;;1778:22;1760:41;;1748:2;1733:18;8129:133:0;1620:187:1;8268:132:0;;;;;;;;;;;;;:::i;:::-;;;1958:25:1;;;1946:2;1931:18;8268:132:0;1812:177:1;8645:119:0;;;;;;;;;;;;;:::i;15623:309::-;;;;;;;;;;-1:-1:-1;15623:309:0;;;;;:::i;:::-;;:::i;7232:67::-;;;;;;;;;;;;;:::i;3034:87::-;;;;;;;;;;-1:-1:-1;3034:87:0;;;;;:::i;:::-;3089:4;3114:5;-1:-1:-1;;;;;3103:16:0;;;3114:5;;3103:16;;3034:87;7159:67;;;;;;;;;;-1:-1:-1;7159:67:0;;4875:1;2849:36:1;;2837:2;2822:18;7159:67:0;2707:184:1;10448:584:0;;;;;;;;;;-1:-1:-1;10448:584:0;;;;;:::i;:::-;;:::i;5222:44::-;;;;;;;;;;-1:-1:-1;5222:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8015:108;;;;;;;;;;-1:-1:-1;8015:108:0;;;;;:::i;:::-;;:::i;7389:103::-;;;;;;;;;;-1:-1:-1;7389:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7472:18:0;7455:7;7472:18;;;:9;:18;;;;;;;7389:103;8406:114;;;;;;;;;;;;;:::i;8526:113::-;;;;;;;;;;;;;:::i;7305:78::-;;;;;;;;;;-1:-1:-1;7357:7:0;7375:5;-1:-1:-1;;;;;7375:5:0;7305:78;;;-1:-1:-1;;;;;3802:32:1;;;3784:51;;3772:2;3757:18;7305:78:0;3638:203:1;7910:99:0;;;;;;;;;;-1:-1:-1;7910:99:0;;;;;:::i;:::-;;:::i;7082:71::-;;;;;;;;;;-1:-1:-1;7144:7:0;;;;;;;;;;;;-1:-1:-1;;;7144:7:0;;;;7082:71;;5340:19;;;;;;;;;;-1:-1:-1;5340:19:0;;;;-1:-1:-1;;;;;5340:19:0;;;7498:139;;;;;;;;;;-1:-1:-1;7498:139:0;;;;;:::i;:::-;;:::i;7643:127::-;;;;;;;;;;-1:-1:-1;7643:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7741:18:0;;;7724:7;7741:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7643:127;3127:111;;;;;;;;;;-1:-1:-1;3127:111:0;;;;;:::i;:::-;;:::i;9913:527::-;3089:4;3114:5;-1:-1:-1;;;;;3114:5:0;3001:10;3103:16;2985:38;;;;-1:-1:-1;;;2985:38:0;;;;;;;:::i;:::-;;;;;;;;;10089:12:::1;:25:::0;;;10125:12:::1;:25:::0;;;10161:7:::1;:15:::0;;;10187:14:::1;:29:::0;;;10227:8:::1;:17:::0;;;10255:7:::1;:15:::0;;;10281:11:::1;:20:::0;;;10332:11:::1;::::0;:18:::1;::::0;10348:1:::1;10332:15;:18::i;:::-;10320:8;;:30;;:63;;;;-1:-1:-1::0;10365:11:0::1;::::0;:18:::1;::::0;10381:1:::1;10365:15;:18::i;:::-;10354:7;;:29;;10320:63;10312:120;;;::::0;-1:-1:-1;;;10312:120:0;;5035:2:1;10312:120:0::1;::::0;::::1;5017:21:1::0;5074:2;5054:18;;;5047:30;5113:34;5093:18;;;5086:62;-1:-1:-1;;;5164:18:1;;;5157:42;5216:19;;10312:120:0::1;4833:408:1::0;10312:120:0::1;9913:527:::0;;;;;;;:::o;8129:133::-;8204:4;8211:37;8220:10;8232:7;8241:6;8211:8;:37::i;:::-;-1:-1:-1;8256:4:0;8129:133;;;;;:::o;8268:132::-;7472:9;:18;;;;6064:42;8321:7;7472:18;;;;;8338:12;;8321:7;;8338:60;;7472:18;;8338:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8331:67;;8268:132;:::o;8645:119::-;8696:7;8751:11;;8729:19;;8713:13;:11;:13::i;:::-;:35;;;;:::i;:::-;:49;;;;:::i;15623:309::-;15721:4;15738:36;15748:6;15756:9;15767:6;15738:9;:36::i;:::-;15785:117;15794:6;15802:10;15814:87;15850:6;15814:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15814:19:0;;;;;;:11;:19;;;;;;;;15834:10;15814:31;;;;;;;;;:87;:35;:87::i;:::-;15785:8;:117::i;:::-;-1:-1:-1;15920:4:0;15623:309;;;;;;:::o;7232:67::-;3089:4;3114:5;-1:-1:-1;;;;;3114:5:0;3001:10;3103:16;2985:38;;;;-1:-1:-1;;;2985:38:0;;;;;;;:::i;:::-;7276:14:::1;:21:::0;;-1:-1:-1;;;;7276:21:0::1;-1:-1:-1::0;;;7276:21:0::1;::::0;;7232:67::o;10448:584::-;3089:4;3114:5;-1:-1:-1;;;;;3114:5:0;3001:10;3103:16;2985:38;;;;-1:-1:-1;;;2985:38:0;;;;;;;:::i;:::-;10548:13:::1;10589:5;10581:4;10565:13;:11;:13::i;:::-;:20;;;;:::i;:::-;10564:30;;;;:::i;:::-;10548:46;;10605:19;10654:5;10644:6;10628:13;:11;:13::i;:::-;:22;;;;:::i;:::-;10627:32;;;;:::i;:::-;10605:54;;10670:17;10718:5;10707:7;10691:13;:11;:13::i;:::-;:23;;;;:::i;:::-;10690:33;;;;:::i;:::-;10734:19;:26:::0;;;10771:19:::1;:28:::0;;;10810:17:::1;:27:::0;;;10670:53;-1:-1:-1;;10864:30:0::1;10889:4;10864:20;10882:1;10864:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;10848:46;;10922:5;10913;:14;;:38;;;;;10946:5;10931:11;:20;;10913:38;:60;;;;;10968:5;10955:9;:18;;10913:60;10905:119;;;::::0;-1:-1:-1;;;10905:119:0;;5975:2:1;10905:119:0::1;::::0;::::1;5957:21:1::0;6014:2;5994:18;;;5987:30;6053:34;6033:18;;;6026:62;-1:-1:-1;;;6104:18:1;;;6097:44;6158:19;;10905:119:0::1;5773:410:1::0;8015:108:0;3089:4;3114:5;-1:-1:-1;;;;;3114:5:0;3001:10;3103:16;2985:38;;;;-1:-1:-1;;;2985:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8089:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8089:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8015:108::o;8406:114::-;8454:7;8507:11;;8487:17;;8471:13;:11;:13::i;8526:113::-;8571:7;8626:11;;8604:19;;8588:13;:11;:13::i;7910:99::-;3089:4;3114:5;-1:-1:-1;;;;;3114:5:0;3001:10;3103:16;2985:38;;;;-1:-1:-1;;;2985:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7981:15:0;;;::::1;;::::0;;;:5:::1;:15;::::0;;;;:26;;-1:-1:-1;;7981:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7910:99::o;7498:139::-;7576:4;7583:40;7593:10;7605:9;7616:6;7583:9;:40::i;3127:111::-;3089:4;3114:5;-1:-1:-1;;;;;3114:5:0;3001:10;3103:16;2985:38;;;;-1:-1:-1;;;2985:38:0;;;;;;;:::i;:::-;3193:5:::1;:11:::0;;-1:-1:-1;;;;;;3193:11:0::1;-1:-1:-1::0;;;;;3193:11:0;::::1;::::0;;::::1;::::0;;;3211:25:::1;::::0;3784:51:1;;;3211:25:0::1;::::0;3772:2:1;3757:18;3211:25:0::1;;;;;;;3127:111:::0;:::o;396:82::-;454:7;471:5;475:1;471;:5;:::i;15940:335::-;-1:-1:-1;;;;;16033:19:0;;16025:68;;;;-1:-1:-1;;;16025:68:0;;6606:2:1;16025:68:0;;;6588:21:1;6645:2;6625:18;;;6618:30;6684:34;6664:18;;;6657:62;-1:-1:-1;;;6735:18:1;;;6728:34;6779:19;;16025:68:0;6404:400:1;16025:68:0;-1:-1:-1;;;;;16112:21:0;;16104:68;;;;-1:-1:-1;;;16104:68:0;;7011:2:1;16104:68:0;;;6993:21:1;7050:2;7030:18;;;7023:30;7089:34;7069:18;;;7062:62;-1:-1:-1;;;7140:18:1;;;7133:32;7182:19;;16104:68:0;6809:398:1;16104:68:0;-1:-1:-1;;;;;16183:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16235:32;;1958:25:1;;;16235:32:0;;1931:18:1;16235:32:0;;;;;;;15940:335;;;:::o;220:82::-;278:7;295:5;299:1;295;:5;:::i;9219:686::-;9308:37;9319:6;9327:9;9338:6;9308:10;:37::i;:::-;9356:38;9376:6;9384:9;9356:19;:38::i;:::-;9405:41;9420:6;9428:9;9439:6;9405:14;:41::i;:::-;9458:35;9475:6;9483:9;9458:16;:35::i;:::-;9504:39;9517:6;9525:9;9536:6;9504:12;:39::i;:::-;9555:35;9564:6;9572:9;9583:6;9555:8;:35::i;:::-;-1:-1:-1;;;;;9621:17:0;;;;;;:9;:17;;;;;;:29;;9643:6;9621:21;:29::i;:::-;-1:-1:-1;;;;;9601:17:0;;;;;;:9;:17;;;;;:49;;;;9686:32;9611:6;9708:9;9686:13;:32::i;:::-;:78;;9758:6;9686:78;;;9721:34;9729:6;9737:9;9748:6;9721:7;:34::i;:::-;-1:-1:-1;;;;;9798:20:0;;;;;;:9;:20;;;;;;9661:103;;-1:-1:-1;9798:40:0;;9661:103;9798:24;:40::i;:::-;-1:-1:-1;;;;;9775:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9854:43;;;;;;;;;;9882:14;1958:25:1;;1946:2;1931:18;;1812:177;9854:43:0;;;;;;;;9297:608;9219:686;;;:::o;1433:162::-;1519:7;1565:12;1557:6;;;;1549:29;;;;-1:-1:-1;;;1549:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1587:5:0;;;1433:162::o;308:82::-;366:7;383:5;387:1;383;:5;:::i;8772:439::-;-1:-1:-1;;;;;8876:20:0;;8868:70;;;;-1:-1:-1;;;8868:70:0;;7547:2:1;8868:70:0;;;7529:21:1;7586:2;7566:18;;;7559:30;7625:34;7605:18;;;7598:62;-1:-1:-1;;;7676:18:1;;;7669:35;7721:19;;8868:70:0;7345:401:1;8868:70:0;-1:-1:-1;;;;;8957:23:0;;8949:71;;;;-1:-1:-1;;;8949:71:0;;7953:2:1;8949:71:0;;;7935:21:1;7992:2;7972:18;;;7965:30;8031:34;8011:18;;;8004:62;-1:-1:-1;;;8082:18:1;;;8075:33;8125:19;;8949:71:0;7751:399:1;8949:71:0;9056:1;9039:6;:19;9031:73;;;;-1:-1:-1;;;9031:73:0;;8357:2:1;9031:73:0;;;8339:21:1;8396:2;8376:18;;;8369:30;8435:34;8415:18;;;8408:62;-1:-1:-1;;;8486:18:1;;;8479:39;8535:19;;9031:73:0;8155:405:1;9031:73:0;-1:-1:-1;;;;;7472:18:0;;7455:7;7472:18;;;:9;:18;;;;;;9123:6;:27;;9115:88;;;;-1:-1:-1;;;9115:88:0;;8767:2:1;9115:88:0;;;8749:21:1;8806:2;8786:18;;;8779:30;8845:34;8825:18;;;8818:62;-1:-1:-1;;;8896:18:1;;;8889:47;8953:19;;9115:88:0;8565:413:1;9115:88:0;8772:439;;;:::o;11040:191::-;-1:-1:-1;;;;;11133:19:0;;;;;;:11;:19;;;;;;;;11132:20;:47;;;;-1:-1:-1;;;;;;11157:22:0;;;;;;:11;:22;;;;;;;;11156:23;11132:47;11129:95;;;11189:14;;-1:-1:-1;;;11189:14:0;;;;11181:41;;;;-1:-1:-1;;;11181:41:0;;9185:2:1;11181:41:0;;;9167:21:1;9224:2;9204:18;;;9197:30;-1:-1:-1;;;9243:18:1;;;9236:44;9297:18;;11181:41:0;8983:338:1;11181:41:0;11040:191;;:::o;11243:333::-;-1:-1:-1;;;;;11347:19:0;;;;;;:11;:19;;;;;;;;11346:20;:47;;;;-1:-1:-1;;;;;;11371:22:0;;;;;;:11;:22;;;;;;;;11370:23;11346:47;:77;;;;-1:-1:-1;11418:4:0;;-1:-1:-1;;;;;11397:26:0;;;11418:4;;11397:26;;11346:77;:107;;;;-1:-1:-1;;;;;;11427:26:0;;6064:42;11427:26;;11346:107;11343:226;;;11515:17;:15;:17::i;:::-;-1:-1:-1;;;;;11478:20:0;;;;;;:9;:20;;;;;;:32;;11503:6;11478:24;:32::i;:::-;11477:55;;11469:98;;;;-1:-1:-1;;;11469:98:0;;9528:2:1;11469:98:0;;;9510:21:1;9567:2;9547:18;;;9540:30;9606:32;9586:18;;;9579:60;9656:18;;11469:98:0;9326:354:1;11584:159:0;11681:4;;-1:-1:-1;;;;;11668:17:0;;;11681:4;;11668:17;:41;;;;-1:-1:-1;;;;;;11690:19:0;;;;;;:11;:19;;;;;;;;11689:20;11668:41;11665:71;;;11732:1;11711:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;11584:159:0;;:::o;11751:349::-;11862:4;;-1:-1:-1;;;;;11852:14:0;;;11862:4;;11852:14;11849:130;;11886:20;:18;:20::i;:::-;11876:6;:30;;:53;;;-1:-1:-1;;;;;;11910:19:0;;;;;;:11;:19;;;;;;;;11876:53;:79;;;-1:-1:-1;;;;;;11933:22:0;;;;;;:11;:22;;;;;;;;11876:79;11868:109;;;;-1:-1:-1;;;11868:109:0;;10017:2:1;11868:109:0;;;9999:21:1;10056:2;10036:18;;;10029:30;-1:-1:-1;;;10075:18:1;;;10068:47;10132:18;;11868:109:0;9815:341:1;11868:109:0;12007:14;:12;:14::i;:::-;11997:6;:24;;:47;;;-1:-1:-1;;;;;;12025:19:0;;;;;;:11;:19;;;;;;;;11997:47;:73;;;-1:-1:-1;;;;;;12048:22:0;;;;;;:11;:22;;;;;;;;11997:73;11989:103;;;;-1:-1:-1;;;11989:103:0;;10017:2:1;11989:103:0;;;9999:21:1;10056:2;10036:18;;;10029:30;-1:-1:-1;;;10075:18:1;;;10068:47;10132:18;;11989:103:0;9815:341:1;14383:197:0;14475:41;14490:6;14498:9;14509:6;14475:14;:41::i;:::-;14472:101;;;14518:29;14533:13;;14518:14;:29::i;:::-;14569:1;14549:9;:22;14383:197;;;:::o;14588:160::-;-1:-1:-1;;;;;14694:19:0;;14669:4;14694:19;;;:11;:19;;;;;;;;14693:20;:47;;;;-1:-1:-1;;;;;;;14718:22:0;;;;;:11;:22;;;;;;;;14717:23;;14588:160;-1:-1:-1;14588:160:0:o;15069:546::-;15155:7;15211:1;15178:30;15190:6;15198:9;15178:11;:30::i;:::-;:34;15175:418;;;15224:17;15244:59;15272:30;15284:6;15292:9;15272:11;:30::i;:::-;15255:11;;15244:23;;:6;;:10;:23::i;:59::-;15359:4;15341:24;;;;:9;:24;;;;;;15224:79;;-1:-1:-1;15341:39:0;;15224:79;15341:28;:39::i;:::-;15332:4;15314:24;;;;:9;:24;;;;;;;:66;;;;15396:42;;-1:-1:-1;;;;;15396:42:0;;;;;;;15428:9;1958:25:1;;1946:2;1931:18;;1812:177;15396:42:0;;;;;;;;15452:7;;:20;15449:104;;15474:77;15492:4;6064:42;15514:36;15542:7;;15514:23;15525:11;;15514:6;:10;;:23;;;;:::i;:36::-;15474:9;:77::i;:::-;15570:21;:6;15581:9;15570:10;:21::i;:::-;15563:28;;;;;15175:418;-1:-1:-1;15601:6:0;15069:546;-1:-1:-1;;15069:546:0:o;132:82::-;190:7;207:5;211:1;207;:5;:::i;13975:400::-;14116:15;;14192:13;;14182:4;14073;7472:18;;;:9;:18;;;;;;14224:8;;14073:4;;14106:25;;;;-1:-1:-1;14164:41:0;;14224:8;;14223:9;:24;;;;-1:-1:-1;14236:11:0;;;;14223:24;:42;;;;-1:-1:-1;14251:14:0;;-1:-1:-1;;;14251:14:0;;;;14223:42;:54;;;;;14269:8;14223:54;:78;;;;-1:-1:-1;;;;;;14282:19:0;;;;;;:11;:19;;;;;;;;14281:20;14223:78;:99;;;;-1:-1:-1;14318:4:0;;-1:-1:-1;;;;;14305:17:0;;;14318:4;;14305:17;14223:99;:126;;;;;14347:1;14326:9;;:23;;14223:126;:144;;;;;14353:14;14223:144;14216:151;13975:400;-1:-1:-1;;;;;;13975:400:0:o;12108:1066::-;5985:8;:15;;-1:-1:-1;;5985:15:0;5996:4;5985:15;;;;;;12245:14:::1;::::0;12227:12:::1;::::0;12203::::1;::::0;5985:8;;12202:66:::1;::::0;12266:1:::1;::::0;12203:57:::1;::::0;12245:14;;12203:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;12202:66::-;12179:89;;12279:32;12314:42;12343:12;12314:24;12325:12;;12314:6;:10;;:24;;;;:::i;:42::-;12279:77:::0;-1:-1:-1;12367:14:0::1;12384:36;:6:::0;12279:77;12384:10:::1;:36::i;:::-;12367:53:::0;-1:-1:-1;12456:21:0::1;12488:24;12367:53:::0;12488:16:::1;:24::i;:::-;12523:20;12546:41;:21;12572:14:::0;12546:25:::1;:41::i;:::-;12523:64;;12598:19;12619:48;12636:30;12653:12;;12636;:16;;:30;;;;:::i;:::-;12619:12:::0;;:16:::1;:48::i;:::-;12598:69;;12678:29;12710;12726:12;;12710:11;:15;;:29;;;;:::i;:::-;12678:61:::0;-1:-1:-1;12753:34:0;;12750:103:::1;;12789:61;12802:24;12828:21;12789:12;:61::i;:::-;12909:12;::::0;12863:20:::1;::::0;12886:36:::1;::::0;:18:::1;:11:::0;12902:1:::1;12886:15;:18::i;:36::-;12863:59:::0;-1:-1:-1;12936:16:0;;12933:73:::1;;12954:50;::::0;6259:42:::1;::::0;12954:50;::::1;;;::::0;12991:12;;12954:50:::1;::::0;;;12991:12;6259:42;12954:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12933:73;13043:21;13078:29:::0;;13075:92:::1;;13109:56;::::0;6162:42:::1;::::0;13109:56;::::1;;;::::0;13148:16;;13109:56:::1;::::0;;;13148:16;6162:42;13109:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13075:92;-1:-1:-1::0;;6005:8:0;:16;;-1:-1:-1;;6005:16:0;;;-1:-1:-1;;;;;;;;12108:1066:0:o;14756:305::-;-1:-1:-1;;;;;14858:13:0;;14835:7;14858:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;14875:16:0;;;;;;:5;:16;;;;;;;;14858:33;14855:76;;;14900:11;;:29;;14924:3;14900:15;:29::i;:::-;14893:36;;;;14855:76;14957:4;;-1:-1:-1;;;;;14957:4:0;;;14944:17;;;;14941:38;;-1:-1:-1;14970:7:0;;14963:14;;14941:38;15002:4;;-1:-1:-1;;;;;15002:4:0;;;14992:14;;;;14989:36;;-1:-1:-1;15015:8:0;;15008:15;;14989:36;-1:-1:-1;15042:11:0;;14756:305;;;;:::o;13533:434::-;13623:16;;;13637:1;13623:16;;;;;;;;13599:21;;13623:16;;;;;;;;;;-1:-1:-1;13623:16:0;13599:40;;13668:4;13650;13655:1;13650:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13650:23:0;;;:7;;;;;;;;;;:23;;;;13694:6;;:13;;;-1:-1:-1;;;13694:13:0;;;;:6;;;;;:11;;:13;;;;;13650:7;;13694:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13684:4;13689:1;13684:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13684:23:0;;;:7;;;;;;;;;:23;13750:6;;13718:53;;13735:4;;13750:6;13759:11;13718:8;:53::i;:::-;13782:6;;:177;;-1:-1:-1;;;13782:177:0;;-1:-1:-1;;;;;13782:6:0;;;;:57;;:177;;13854:11;;13782:6;;13896:4;;13923;;13943:15;;13782:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13588:379;13533:434;:::o;13182:343::-;13295:6;;13263:53;;13280:4;;-1:-1:-1;;;;;13295:6:0;13304:11;13263:8;:53::i;:::-;13327:6;;:190;;-1:-1:-1;;;13327:190:0;;13390:4;13327:190;;;12007:34:1;12057:18;;;12050:34;;;13327:6:0;12100:18:1;;;12093:34;;;12143:18;;;12136:34;6355:42:0;12186:19:1;;;12179:44;13501:15:0;12239:19:1;;;12232:35;-1:-1:-1;;;;;13327:6:0;;;;:22;;13357:9;;11941:19:1;;13327:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13182:343;;:::o;14:592:1:-;127:6;135;143;151;159;167;175;228:3;216:9;207:7;203:23;199:33;196:53;;;245:1;242;235:12;196:53;-1:-1:-1;;268:23:1;;;338:2;323:18;;310:32;;-1:-1:-1;389:2:1;374:18;;361:32;;440:2;425:18;;412:32;;-1:-1:-1;491:3:1;476:19;;463:33;;-1:-1:-1;543:3:1;528:19;;515:33;;-1:-1:-1;595:3:1;580:19;567:33;;-1:-1:-1;14:592:1;-1:-1:-1;14:592:1:o;611:548::-;723:4;752:2;781;770:9;763:21;813:6;807:13;856:6;851:2;840:9;836:18;829:34;881:1;891:140;905:6;902:1;899:13;891:140;;;1000:14;;;996:23;;990:30;966:17;;;985:2;962:26;955:66;920:10;;891:140;;;895:3;1080:1;1075:2;1066:6;1055:9;1051:22;1047:31;1040:42;1150:2;1143;1139:7;1134:2;1126:6;1122:15;1118:29;1107:9;1103:45;1099:54;1091:62;;;;611:548;;;;:::o;1164:131::-;-1:-1:-1;;;;;1239:31:1;;1229:42;;1219:70;;1285:1;1282;1275:12;1219:70;1164:131;:::o;1300:315::-;1368:6;1376;1429:2;1417:9;1408:7;1404:23;1400:32;1397:52;;;1445:1;1442;1435:12;1397:52;1484:9;1471:23;1503:31;1528:5;1503:31;:::i;:::-;1553:5;1605:2;1590:18;;;;1577:32;;-1:-1:-1;;;1300:315:1:o;1994:456::-;2071:6;2079;2087;2140:2;2128:9;2119:7;2115:23;2111:32;2108:52;;;2156:1;2153;2146:12;2108:52;2195:9;2182:23;2214:31;2239:5;2214:31;:::i;:::-;2264:5;-1:-1:-1;2321:2:1;2306:18;;2293:32;2334:33;2293:32;2334:33;:::i;:::-;1994:456;;2386:7;;-1:-1:-1;;;2440:2:1;2425:18;;;;2412:32;;1994:456::o;2455:247::-;2514:6;2567:2;2555:9;2546:7;2542:23;2538:32;2535:52;;;2583:1;2580;2573:12;2535:52;2622:9;2609:23;2641:31;2666:5;2641:31;:::i;2896:316::-;2973:6;2981;2989;3042:2;3030:9;3021:7;3017:23;3013:32;3010:52;;;3058:1;3055;3048:12;3010:52;-1:-1:-1;;3081:23:1;;;3151:2;3136:18;;3123:32;;-1:-1:-1;3202:2:1;3187:18;;;3174:32;;2896:316;-1:-1:-1;2896:316:1:o;3217:416::-;3282:6;3290;3343:2;3331:9;3322:7;3318:23;3314:32;3311:52;;;3359:1;3356;3349:12;3311:52;3398:9;3385:23;3417:31;3442:5;3417:31;:::i;:::-;3467:5;-1:-1:-1;3524:2:1;3509:18;;3496:32;3566:15;;3559:23;3547:36;;3537:64;;3597:1;3594;3587:12;3537:64;3620:7;3610:17;;;3217:416;;;;;:::o;3846:388::-;3914:6;3922;3975:2;3963:9;3954:7;3950:23;3946:32;3943:52;;;3991:1;3988;3981:12;3943:52;4030:9;4017:23;4049:31;4074:5;4049:31;:::i;:::-;4099:5;-1:-1:-1;4156:2:1;4141:18;;4128:32;4169:33;4128:32;4169:33;:::i;4499:329::-;4701:2;4683:21;;;4740:1;4720:18;;;4713:29;-1:-1:-1;;;4773:2:1;4758:18;;4751:36;4819:2;4804:18;;4499:329::o;5246:127::-;5307:10;5302:3;5298:20;5295:1;5288:31;5338:4;5335:1;5328:15;5362:4;5359:1;5352:15;5378:168;5418:7;5484:1;5480;5476:6;5472:14;5469:1;5466:21;5461:1;5454:9;5447:17;5443:45;5440:71;;;5491:18;;:::i;:::-;-1:-1:-1;5531:9:1;;5378:168::o;5551:217::-;5591:1;5617;5607:132;;5661:10;5656:3;5652:20;5649:1;5642:31;5696:4;5693:1;5686:15;5724:4;5721:1;5714:15;5607:132;-1:-1:-1;5753:9:1;;5551:217::o;7212:128::-;7279:9;;;7300:11;;;7297:37;;;7314:18;;:::i;9685:125::-;9750:9;;;9771:10;;;9768:36;;;9784:18;;:::i;10293:127::-;10354:10;10349:3;10345:20;10342:1;10335:31;10385:4;10382:1;10375:15;10409:4;10406:1;10399:15;10425:251;10495:6;10548:2;10536:9;10527:7;10523:23;10519:32;10516:52;;;10564:1;10561;10554:12;10516:52;10596:9;10590:16;10615:31;10640:5;10615:31;:::i;10681:980::-;10943:4;10991:3;10980:9;10976:19;11022:6;11011:9;11004:25;11048:2;11086:6;11081:2;11070:9;11066:18;11059:34;11129:3;11124:2;11113:9;11109:18;11102:31;11153:6;11188;11182:13;11219:6;11211;11204:22;11257:3;11246:9;11242:19;11235:26;;11296:2;11288:6;11284:15;11270:29;;11317:1;11327:195;11341:6;11338:1;11335:13;11327:195;;;11406:13;;-1:-1:-1;;;;;11402:39:1;11390:52;;11497:15;;;;11462:12;;;;11438:1;11356:9;11327:195;;;-1:-1:-1;;;;;;;11578:32:1;;;;11573:2;11558:18;;11551:60;-1:-1:-1;;;11642:3:1;11627:19;11620:35;11539:3;10681:980;-1:-1:-1;;;10681:980:1:o;12278:306::-;12366:6;12374;12382;12435:2;12423:9;12414:7;12410:23;12406:32;12403:52;;;12451:1;12448;12441:12;12403:52;12480:9;12474:16;12464:26;;12530:2;12519:9;12515:18;12509:25;12499:35;;12574:2;12563:9;12559:18;12553:25;12543:35;;12278:306;;;;;:::o

Swarm Source

ipfs://2814cb75fa77fdd3b35e8f090e5d71e743b4b826178e4f465b248d203d484890

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.