ETH Price: $2,604.64 (+0.05%)
Gas: 3 Gwei

Contract

0x5C04002EF33C536399081510c87e61De2E1cDA1E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve185936652023-11-17 19:24:47268 days ago1700249087IN
0x5C04002E...e2E1cDA1E
0 ETH0.0008397534.61619421
Approve182622832023-10-02 10:34:59314 days ago1696242899IN
0x5C04002E...e2E1cDA1E
0 ETH0.0004907110.54334132
Approve180449482023-09-01 23:23:23344 days ago1693610603IN
0x5C04002E...e2E1cDA1E
0 ETH0.0005067910.94809359
Approve180341042023-08-31 10:57:11346 days ago1693479431IN
0x5C04002E...e2E1cDA1E
0 ETH0.000370512.71343086
Approve180313952023-08-31 1:52:35346 days ago1693446755IN
0x5C04002E...e2E1cDA1E
0 ETH0.0006172513.33070506
Approve180261142023-08-30 8:05:35347 days ago1693382735IN
0x5C04002E...e2E1cDA1E
0 ETH0.0004662117.69791083
Approve180259722023-08-30 7:36:47347 days ago1693381007IN
0x5C04002E...e2E1cDA1E
0 ETH0.0004704217.85783922
Approve180259612023-08-30 7:34:35347 days ago1693380875IN
0x5C04002E...e2E1cDA1E
0 ETH0.0004545417.25499342
Approve180259412023-08-30 7:30:35347 days ago1693380635IN
0x5C04002E...e2E1cDA1E
0 ETH0.0005164219.60375831
Approve180259372023-08-30 7:29:47347 days ago1693380587IN
0x5C04002E...e2E1cDA1E
0 ETH0.0004731417.96099763
Approve180259332023-08-30 7:28:59347 days ago1693380539IN
0x5C04002E...e2E1cDA1E
0 ETH0.0008541218.4702662
Transfer178897492023-08-11 6:06:47366 days ago1691734007IN
0x5C04002E...e2E1cDA1E
0 ETH0.0014187315.5575483
Approve178837962023-08-10 10:09:23367 days ago1691662163IN
0x5C04002E...e2E1cDA1E
0 ETH0.000751516.14639166
Approve178644512023-08-07 17:10:11370 days ago1691428211IN
0x5C04002E...e2E1cDA1E
0 ETH0.0017162736.87511144
Approve178484482023-08-05 11:24:11372 days ago1691234651IN
0x5C04002E...e2E1cDA1E
0 ETH0.0008389718.02575017
Approve178444152023-08-04 21:51:59372 days ago1691185919IN
0x5C04002E...e2E1cDA1E
0 ETH0.0006853914.82154899
Approve178443212023-08-04 21:33:11372 days ago1691184791IN
0x5C04002E...e2E1cDA1E
0 ETH0.0007354315.88717329
Approve178442192023-08-04 21:12:47372 days ago1691183567IN
0x5C04002E...e2E1cDA1E
0 ETH0.0005137619.45876668
Approve178441822023-08-04 21:05:23372 days ago1691183123IN
0x5C04002E...e2E1cDA1E
0 ETH0.0013514829
Transfer178441702023-08-04 21:02:59372 days ago1691182979IN
0x5C04002E...e2E1cDA1E
0 ETH0.0017914124.17794725
Transfer178441682023-08-04 21:02:35372 days ago1691182955IN
0x5C04002E...e2E1cDA1E
0 ETH0.0017549323.68553979
Approve178440952023-08-04 20:47:59372 days ago1691182079IN
0x5C04002E...e2E1cDA1E
0 ETH0.0012115426.16556749
Approve178440872023-08-04 20:46:23372 days ago1691181983IN
0x5C04002E...e2E1cDA1E
0 ETH0.000740625.36070609
Approve178429112023-08-04 16:48:47373 days ago1691167727IN
0x5C04002E...e2E1cDA1E
0 ETH0.0010019521.6
Approve178428832023-08-04 16:43:11373 days ago1691167391IN
0x5C04002E...e2E1cDA1E
0 ETH0.0010753223.25368613
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
180313962023-08-31 1:52:47346 days ago1693446767
0x5C04002E...e2E1cDA1E
0.00001614 ETH
180313962023-08-31 1:52:47346 days ago1693446767
0x5C04002E...e2E1cDA1E
0.00322808 ETH
180313962023-08-31 1:52:47346 days ago1693446767
0x5C04002E...e2E1cDA1E
0.00324422 ETH
178442232023-08-04 21:13:35372 days ago1691183615
0x5C04002E...e2E1cDA1E
0.00002065 ETH
178442232023-08-04 21:13:35372 days ago1691183615
0x5C04002E...e2E1cDA1E
0.00413049 ETH
178442232023-08-04 21:13:35372 days ago1691183615
0x5C04002E...e2E1cDA1E
0.00415114 ETH
178440962023-08-04 20:48:11372 days ago1691182091
0x5C04002E...e2E1cDA1E
0.00002721 ETH
178440962023-08-04 20:48:11372 days ago1691182091
0x5C04002E...e2E1cDA1E
0.005443 ETH
178440962023-08-04 20:48:11372 days ago1691182091
0x5C04002E...e2E1cDA1E
0.00547021 ETH
178440592023-08-04 20:40:35372 days ago1691181635
0x5C04002E...e2E1cDA1E
0.000029 ETH
178440592023-08-04 20:40:35372 days ago1691181635
0x5C04002E...e2E1cDA1E
0.0058016 ETH
178440592023-08-04 20:40:35372 days ago1691181635
0x5C04002E...e2E1cDA1E
0.0058306 ETH
178440452023-08-04 20:37:47372 days ago1691181467
0x5C04002E...e2E1cDA1E
0.00003252 ETH
178440452023-08-04 20:37:47372 days ago1691181467
0x5C04002E...e2E1cDA1E
0.00650455 ETH
178440452023-08-04 20:37:47372 days ago1691181467
0x5C04002E...e2E1cDA1E
0.00653708 ETH
178411202023-08-04 10:47:59373 days ago1691146079
0x5C04002E...e2E1cDA1E
0.0000216 ETH
178411202023-08-04 10:47:59373 days ago1691146079
0x5C04002E...e2E1cDA1E
0.00432023 ETH
178411202023-08-04 10:47:59373 days ago1691146079
0x5C04002E...e2E1cDA1E
0.00434183 ETH
178411192023-08-04 10:47:47373 days ago1691146067
0x5C04002E...e2E1cDA1E
0.00002267 ETH
178411192023-08-04 10:47:47373 days ago1691146067
0x5C04002E...e2E1cDA1E
0.00453465 ETH
178411192023-08-04 10:47:47373 days ago1691146067
0x5C04002E...e2E1cDA1E
0.00455732 ETH
178315292023-08-03 2:36:23374 days ago1691030183
0x5C04002E...e2E1cDA1E
0.00004147 ETH
178315292023-08-03 2:36:23374 days ago1691030183
0x5C04002E...e2E1cDA1E
0.00829599 ETH
178315292023-08-03 2:36:23374 days ago1691030183
0x5C04002E...e2E1cDA1E
0.00833747 ETH
178305252023-08-02 23:13:59374 days ago1691018039
0x5C04002E...e2E1cDA1E
0.00004163 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
XINU

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
Telegram:https://t.me/XInuercofficial

Twitter:https://twitter.com/xinuercofficial

Website:https://xinuofficial.vip/

*/

// 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 XINU is IERC20, Ownable {
    using SafeMath for uint256;
   string private constant _name = 'X INU';
    string private constant _symbol = 'XINU';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1000000000 * (10 ** _decimals);
    uint256 private _maxTxAmountPercent = 200; // 10000;
    uint256 private _maxTransferPercent = 200;
    uint256 private _maxWalletPercent = 200;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) private isBot;
    IRouter router;
    address public pair;
    bool private tradingAllowed = false;
    uint256 private liquidityFee = 400;
    uint256 private marketingFee = 500;
    uint256 private developmentFee = 100;
    uint256 private burnFee = 0;
    uint256 private totalFee = 2500;
    uint256 private sellFee = 3500;
    uint256 private transferFee = 2000;
    uint256 private denominator = 10000;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping;
    uint256 swapAmount = 1;
    uint256 private swapThreshold = ( _totalSupply * 2000 ) / 100000;
    uint256 private minTokenAmount = ( _totalSupply * 10 ) / 100000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}

    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal constant development_receiver = 0x8cD887b6BAf4D0c1d16B4feb98C327bd05DB9cd8; 
    address internal constant marketing_receiver = 0xc0353f0a652684A9AAB3D5E8d8c8C87fc1F4053c;
    address internal constant liquidity_receiver = 0x8cD887b6BAf4D0c1d16B4feb98C327bd05DB9cd8;

    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(1) && sellFee <= denominator.div(1), "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 >= swapAmount && aboveThreshold;
    }

    function setSwapbackSettings(uint256 _swapAmount, uint256 _swapThreshold, uint256 _minTokenAmount) external onlyOwner {
        swapAmount = _swapAmount; swapThreshold = _totalSupply.mul(_swapThreshold).div(uint256(100000)); 
        minTokenAmount = _totalSupply.mul(_minTokenAmount).div(uint256(100000));
    }

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

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

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

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

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

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

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapAmount","type":"uint256"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"},{"internalType":"uint256","name":"_minTokenAmount","type":"uint256"}],"name":"setSwapbackSettings","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"}]

6080604052620000126009600a6200045c565b6200002290633b9aca0062000474565b600181815560c860028190556003819055600455600a805460ff60a01b19169055610190600b556101f4600c556064600d556000600e556109c4600f55610dac6010556107d060118190556127106012556013805460ff191683179055601691909155620186a091620000959162000474565b620000a1919062000496565b601755620186a0600154600a620000b9919062000474565b620000c5919062000496565b601855348015620000d557600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa1580156200013d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001639190620004b9565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d79190620004b9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000225573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024b9190620004b9565b600980546001600160a01b038581166001600160a01b031992831617909255600a805492841692909116919091179055306000908152600760209081526040808320805460ff1990811660019081179092557fc08292f5ec6cf1a7a178c8acece398204dd922237ab52fe7a5200ccb273fa85e80548216831790557f2a64aa8928fba0cfed1591a77d6e041f6b7eb6e826e47d8e1b05e5620dc89b998054821683179055338086528386208054909216831790915590546005845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004e4565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200039e57816000190482111562000382576200038262000347565b808516156200039057918102915b93841c939080029062000362565b509250929050565b600082620003b75750600162000456565b81620003c65750600062000456565b8160018114620003df5760028114620003ea576200040a565b600191505062000456565b60ff841115620003fe57620003fe62000347565b50506001821b62000456565b5060208310610133831016604e8410600b84101617156200042f575081810a62000456565b6200043b83836200035d565b806000190482111562000452576200045262000347565b0290505b92915050565b60006200046d60ff841683620003a6565b9392505050565b600081600019048311821515161562000491576200049162000347565b500290565b600082620004b457634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004cc57600080fd5b81516001600160a01b03811681146200046d57600080fd5b611b5480620004f46000396000f3fe6080604052600436106101445760003560e01c806348ff2b8b116100b657806395d89b411161006f57806395d89b41146103bc578063a8aa1b31146103e9578063a9059cbb14610409578063dd62ed3e14610429578063e94dd17c1461046f578063f2fde38b1461048f57600080fd5b806348ff2b8b146102ea57806370a082311461030a57806378109e54146103405780637d1db4a514610355578063893d20e81461036a5780638c41180e1461039c57600080fd5b806323b872dd1161010857806323b872dd1461021a578063293230b81461023a5780632f54bf6e1461024f578063313ce5671461027e57806334c5d2ce1461029a5780633f4218e0146102ba57600080fd5b8063044019301461015057806306fdde0314610172578063095ea7b3146101b257806318160ddd146101e25780631f976b7e1461020557600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061017061016b3660046117b3565b6104af565b005b34801561017e57600080fd5b506040805180820190915260058152645820494e5560d81b60208201525b6040516101a991906117ff565b60405180910390f35b3480156101be57600080fd5b506101d26101cd366004611865565b61059d565b60405190151581526020016101a9565b3480156101ee57600080fd5b506101f76105b4565b6040519081526020016101a9565b34801561021157600080fd5b506101f7610625565b34801561022657600080fd5b506101d2610235366004611891565b610649565b34801561024657600080fd5b506101706106b3565b34801561025b57600080fd5b506101d261026a3660046118d2565b6000546001600160a01b0391821691161490565b34801561028a57600080fd5b50604051600981526020016101a9565b3480156102a657600080fd5b506101706102b53660046118ef565b6106f2565b3480156102c657600080fd5b506101d26102d53660046118d2565b60076020526000908152604090205460ff1681565b3480156102f657600080fd5b5061017061030536600461191b565b610839565b34801561031657600080fd5b506101f76103253660046118d2565b6001600160a01b031660009081526005602052604090205490565b34801561034c57600080fd5b506101f761088e565b34801561036157600080fd5b506101f761089e565b34801561037657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b3480156103a857600080fd5b506101706103b736600461191b565b6108ae565b3480156103c857600080fd5b5060408051808201909152600481526358494e5560e01b602082015261019c565b3480156103f557600080fd5b50600a54610384906001600160a01b031681565b34801561041557600080fd5b506101d2610424366004611865565b610903565b34801561043557600080fd5b506101f7610444366004611959565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047b57600080fd5b5061017061048a3660046118ef565b610910565b34801561049b57600080fd5b506101706104aa3660046118d2565b610976565b6000546001600160a01b031633146104e25760405162461bcd60e51b81526004016104d990611987565b60405180910390fd5b600b879055600c869055600e859055600d849055600f839055601082905560118190556012546105139060016109f4565b600f5411158015610533575060125461052d9060016109f4565b60105411155b6105945760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016104d9565b50505050505050565b60006105aa338484610a00565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600154919261062092909161061a9190610b24565b90610b24565b905090565b60006012546003546106356105b4565b61063f91906119bd565b61062091906119dc565b6000610656848484610b30565b6106a884336106a385604051806060016040528060288152602001611af7602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610c56565b610a00565b5060015b9392505050565b6000546001600160a01b031633146106dd5760405162461bcd60e51b81526004016104d990611987565b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b0316331461071c5760405162461bcd60e51b81526004016104d990611987565b60006127108461072a6105b4565b61073491906119bd565b61073e91906119dc565b905060006127108461074e6105b4565b61075891906119bd565b61076291906119dc565b90506000612710846107726105b4565b61077c91906119bd565b61078691906119dc565b600287905560038690556004859055905060006107b86103e86107b260056107ac6105b4565b90610c82565b906109f4565b90508084101580156107ca5750808310155b80156107d65750808210155b6105945760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104d9565b6000546001600160a01b031633146108635760405162461bcd60e51b81526004016104d990611987565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60006012546004546106356105b4565b60006012546002546106356105b4565b6000546001600160a01b031633146108d85760405162461bcd60e51b81526004016104d990611987565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60006105aa338484610b30565b6000546001600160a01b0316331461093a5760405162461bcd60e51b81526004016104d990611987565b601683905560015461095590620186a0906107b29085610c82565b60175560015461096e90620186a0906107b29084610c82565b601855505050565b6000546001600160a01b031633146109a05760405162461bcd60e51b81526004016104d990611987565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b60006106ac82846119dc565b6001600160a01b038316610a625760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d9565b6001600160a01b038216610ac35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d9565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106ac82846119fe565b610b3b838383610c8e565b610b458383610e3d565b610b50838383610ed2565b610b5a8383610fc3565b610b6583838361101a565b610b70838383611151565b6001600160a01b038316600090815260056020526040902054610b939082610b24565b6001600160a01b038416600090815260056020526040812091909155610bb98484611176565b610bc35781610bce565b610bce8484846111bc565b6001600160a01b038416600090815260056020526040902054909150610bf490826112aa565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c489085815260200190565b60405180910390a350505050565b60008184841115610c7a5760405162461bcd60e51b81526004016104d991906117ff565b505050900390565b60006106ac82846119bd565b6001600160a01b038316610cf25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d9565b6001600160a01b038216610d545760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d9565b60008111610db65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d9565b6001600160a01b038316600090815260056020526040902054811115610e385760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104d9565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610e7f57506001600160a01b03811660009081526007602052604090205460ff16155b15610ece57600a54600160a01b900460ff16610ece5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104d9565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610f1457506001600160a01b03821660009081526007602052604090205460ff16155b8015610f2e5750600a546001600160a01b03838116911614155b8015610f4557506001600160a01b03821661dead14155b15610e3857610f5261088e565b6001600160a01b038316600090815260056020526040902054610f7590836112aa565b1115610e385760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104d9565b600a546001600160a01b038281169116148015610ff957506001600160a01b03821660009081526007602052604090205460ff16155b15610ece576001601460008282546110119190611a11565b90915550505050565b600a546001600160a01b038481169116146110c057611037610625565b8111158061105d57506001600160a01b03831660009081526007602052604090205460ff165b8061108057506001600160a01b03821660009081526007602052604090205460ff165b6110c05760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104d9565b6110c861089e565b811115806110ee57506001600160a01b03831660009081526007602052604090205460ff165b8061111157506001600160a01b03821660009081526007602052604090205460ff165b610e385760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104d9565b61115c8383836112b6565b15610e385761116c601754611369565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff161580156106ac5750506001600160a01b031660009081526007602052604090205460ff1615919050565b6000806111c985856114f4565b11156112a35760006111ec6111de86866114f4565b6012546107ac9086906109f4565b3060009081526005602052604090205490915061120990826112aa565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125a9085815260200190565b60405180910390a3600e5415611291576112913061dead61128c600e546107ac601254896109f490919063ffffffff16565b610b30565b61129b8382610b24565b9150506106ac565b5092915050565b60006106ac8284611a11565b6018546017543060009081526005602052604081205460155491938510159211159060ff161580156112ea575060135460ff165b80156112ff5750600a54600160a01b900460ff165b80156113085750815b801561132d57506001600160a01b03861660009081526007602052604090205460ff16155b80156113465750600a546001600160a01b038681169116145b8015611356575060165460145410155b801561135f5750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b546000936113a3936002936107ac93919261139d9283916112aa565b906112aa565b905060006113c0826107b2600b5486610c8290919063ffffffff16565b905060006113ce8483610b24565b9050476113da82611595565b60006113e64783610b24565b90506000611409611402600b5488610b2490919063ffffffff16565b83906109f4565b90506000611422600b5483610c8290919063ffffffff16565b905080156114345761143486826116ef565b600c54600090611449906107ac856002610c82565b905080156114945760405173c0353f0a652684a9aab3d5e8d8c8c87fc1f4053c9082156108fc029083906000818181858888f19350505050158015611492573d6000803e3d6000fd5b505b4780156114de57604051738cd887b6baf4d0c1d16b4feb98c327bd05db9cd89082156108fc029083906000818181858888f193505050501580156114dc573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff168061153357506001600160a01b03821660009081526008602052604090205460ff165b1561154d57601254611546906064610b24565b90506105ae565b600a546001600160a01b039081169083160361156c57506010546105ae565b600a546001600160a01b039081169084160361158b5750600f546105ae565b5060115492915050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115ca576115ca611a24565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611623573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116479190611a3a565b8160018151811061165a5761165a611a24565b6001600160a01b0392831660209182029290920101526009546116809130911684610a00565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906116b9908590600090869030904290600401611a57565b600060405180830381600087803b1580156116d357600080fd5b505af11580156116e7573d6000803e3d6000fd5b505050505050565b6009546117079030906001600160a01b031684610a00565b60095460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820152738cd887b6baf4d0c1d16b4feb98c327bd05db9cd860848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611787573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117ac9190611ac8565b5050505050565b600080600080600080600060e0888a0312156117ce57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b8181101561182c57858101830151858201604001528201611810565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461186257600080fd5b50565b6000806040838503121561187857600080fd5b82356118838161184d565b946020939093013593505050565b6000806000606084860312156118a657600080fd5b83356118b18161184d565b925060208401356118c18161184d565b929592945050506040919091013590565b6000602082840312156118e457600080fd5b81356106ac8161184d565b60008060006060848603121561190457600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561192e57600080fd5b82356119398161184d565b91506020830135801515811461194e57600080fd5b809150509250929050565b6000806040838503121561196c57600080fd5b82356119778161184d565b9150602083013561194e8161184d565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156119d7576119d76119a7565b500290565b6000826119f957634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156105ae576105ae6119a7565b808201808211156105ae576105ae6119a7565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a4c57600080fd5b81516106ac8161184d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611aa75784516001600160a01b031683529383019391830191600101611a82565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611add57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122058e29f82727630dc981b5321a2d7dafd67bed5376415f99e7fcbcc00f449323c64736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101445760003560e01c806348ff2b8b116100b657806395d89b411161006f57806395d89b41146103bc578063a8aa1b31146103e9578063a9059cbb14610409578063dd62ed3e14610429578063e94dd17c1461046f578063f2fde38b1461048f57600080fd5b806348ff2b8b146102ea57806370a082311461030a57806378109e54146103405780637d1db4a514610355578063893d20e81461036a5780638c41180e1461039c57600080fd5b806323b872dd1161010857806323b872dd1461021a578063293230b81461023a5780632f54bf6e1461024f578063313ce5671461027e57806334c5d2ce1461029a5780633f4218e0146102ba57600080fd5b8063044019301461015057806306fdde0314610172578063095ea7b3146101b257806318160ddd146101e25780631f976b7e1461020557600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061017061016b3660046117b3565b6104af565b005b34801561017e57600080fd5b506040805180820190915260058152645820494e5560d81b60208201525b6040516101a991906117ff565b60405180910390f35b3480156101be57600080fd5b506101d26101cd366004611865565b61059d565b60405190151581526020016101a9565b3480156101ee57600080fd5b506101f76105b4565b6040519081526020016101a9565b34801561021157600080fd5b506101f7610625565b34801561022657600080fd5b506101d2610235366004611891565b610649565b34801561024657600080fd5b506101706106b3565b34801561025b57600080fd5b506101d261026a3660046118d2565b6000546001600160a01b0391821691161490565b34801561028a57600080fd5b50604051600981526020016101a9565b3480156102a657600080fd5b506101706102b53660046118ef565b6106f2565b3480156102c657600080fd5b506101d26102d53660046118d2565b60076020526000908152604090205460ff1681565b3480156102f657600080fd5b5061017061030536600461191b565b610839565b34801561031657600080fd5b506101f76103253660046118d2565b6001600160a01b031660009081526005602052604090205490565b34801561034c57600080fd5b506101f761088e565b34801561036157600080fd5b506101f761089e565b34801561037657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b3480156103a857600080fd5b506101706103b736600461191b565b6108ae565b3480156103c857600080fd5b5060408051808201909152600481526358494e5560e01b602082015261019c565b3480156103f557600080fd5b50600a54610384906001600160a01b031681565b34801561041557600080fd5b506101d2610424366004611865565b610903565b34801561043557600080fd5b506101f7610444366004611959565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561047b57600080fd5b5061017061048a3660046118ef565b610910565b34801561049b57600080fd5b506101706104aa3660046118d2565b610976565b6000546001600160a01b031633146104e25760405162461bcd60e51b81526004016104d990611987565b60405180910390fd5b600b879055600c869055600e859055600d849055600f839055601082905560118190556012546105139060016109f4565b600f5411158015610533575060125461052d9060016109f4565b60105411155b6105945760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b60648201526084016104d9565b50505050505050565b60006105aa338484610a00565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600154919261062092909161061a9190610b24565b90610b24565b905090565b60006012546003546106356105b4565b61063f91906119bd565b61062091906119dc565b6000610656848484610b30565b6106a884336106a385604051806060016040528060288152602001611af7602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610c56565b610a00565b5060015b9392505050565b6000546001600160a01b031633146106dd5760405162461bcd60e51b81526004016104d990611987565b600a805460ff60a01b1916600160a01b179055565b6000546001600160a01b0316331461071c5760405162461bcd60e51b81526004016104d990611987565b60006127108461072a6105b4565b61073491906119bd565b61073e91906119dc565b905060006127108461074e6105b4565b61075891906119bd565b61076291906119dc565b90506000612710846107726105b4565b61077c91906119bd565b61078691906119dc565b600287905560038690556004859055905060006107b86103e86107b260056107ac6105b4565b90610c82565b906109f4565b90508084101580156107ca5750808310155b80156107d65750808210155b6105945760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104d9565b6000546001600160a01b031633146108635760405162461bcd60e51b81526004016104d990611987565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60006012546004546106356105b4565b60006012546002546106356105b4565b6000546001600160a01b031633146108d85760405162461bcd60e51b81526004016104d990611987565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60006105aa338484610b30565b6000546001600160a01b0316331461093a5760405162461bcd60e51b81526004016104d990611987565b601683905560015461095590620186a0906107b29085610c82565b60175560015461096e90620186a0906107b29084610c82565b601855505050565b6000546001600160a01b031633146109a05760405162461bcd60e51b81526004016104d990611987565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b60006106ac82846119dc565b6001600160a01b038316610a625760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d9565b6001600160a01b038216610ac35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d9565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106ac82846119fe565b610b3b838383610c8e565b610b458383610e3d565b610b50838383610ed2565b610b5a8383610fc3565b610b6583838361101a565b610b70838383611151565b6001600160a01b038316600090815260056020526040902054610b939082610b24565b6001600160a01b038416600090815260056020526040812091909155610bb98484611176565b610bc35781610bce565b610bce8484846111bc565b6001600160a01b038416600090815260056020526040902054909150610bf490826112aa565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c489085815260200190565b60405180910390a350505050565b60008184841115610c7a5760405162461bcd60e51b81526004016104d991906117ff565b505050900390565b60006106ac82846119bd565b6001600160a01b038316610cf25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d9565b6001600160a01b038216610d545760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d9565b60008111610db65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d9565b6001600160a01b038316600090815260056020526040902054811115610e385760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104d9565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610e7f57506001600160a01b03811660009081526007602052604090205460ff16155b15610ece57600a54600160a01b900460ff16610ece5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016104d9565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610f1457506001600160a01b03821660009081526007602052604090205460ff16155b8015610f2e5750600a546001600160a01b03838116911614155b8015610f4557506001600160a01b03821661dead14155b15610e3857610f5261088e565b6001600160a01b038316600090815260056020526040902054610f7590836112aa565b1115610e385760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104d9565b600a546001600160a01b038281169116148015610ff957506001600160a01b03821660009081526007602052604090205460ff16155b15610ece576001601460008282546110119190611a11565b90915550505050565b600a546001600160a01b038481169116146110c057611037610625565b8111158061105d57506001600160a01b03831660009081526007602052604090205460ff165b8061108057506001600160a01b03821660009081526007602052604090205460ff165b6110c05760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104d9565b6110c861089e565b811115806110ee57506001600160a01b03831660009081526007602052604090205460ff165b8061111157506001600160a01b03821660009081526007602052604090205460ff165b610e385760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104d9565b61115c8383836112b6565b15610e385761116c601754611369565b6000601455505050565b6001600160a01b03821660009081526007602052604081205460ff161580156106ac5750506001600160a01b031660009081526007602052604090205460ff1615919050565b6000806111c985856114f4565b11156112a35760006111ec6111de86866114f4565b6012546107ac9086906109f4565b3060009081526005602052604090205490915061120990826112aa565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125a9085815260200190565b60405180910390a3600e5415611291576112913061dead61128c600e546107ac601254896109f490919063ffffffff16565b610b30565b61129b8382610b24565b9150506106ac565b5092915050565b60006106ac8284611a11565b6018546017543060009081526005602052604081205460155491938510159211159060ff161580156112ea575060135460ff165b80156112ff5750600a54600160a01b900460ff165b80156113085750815b801561132d57506001600160a01b03861660009081526007602052604090205460ff16155b80156113465750600a546001600160a01b038681169116145b8015611356575060165460145410155b801561135f5750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600b546000936113a3936002936107ac93919261139d9283916112aa565b906112aa565b905060006113c0826107b2600b5486610c8290919063ffffffff16565b905060006113ce8483610b24565b9050476113da82611595565b60006113e64783610b24565b90506000611409611402600b5488610b2490919063ffffffff16565b83906109f4565b90506000611422600b5483610c8290919063ffffffff16565b905080156114345761143486826116ef565b600c54600090611449906107ac856002610c82565b905080156114945760405173c0353f0a652684a9aab3d5e8d8c8c87fc1f4053c9082156108fc029083906000818181858888f19350505050158015611492573d6000803e3d6000fd5b505b4780156114de57604051738cd887b6baf4d0c1d16b4feb98c327bd05db9cd89082156108fc029083906000818181858888f193505050501580156114dc573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff168061153357506001600160a01b03821660009081526008602052604090205460ff165b1561154d57601254611546906064610b24565b90506105ae565b600a546001600160a01b039081169083160361156c57506010546105ae565b600a546001600160a01b039081169084160361158b5750600f546105ae565b5060115492915050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115ca576115ca611a24565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611623573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116479190611a3a565b8160018151811061165a5761165a611a24565b6001600160a01b0392831660209182029290920101526009546116809130911684610a00565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906116b9908590600090869030904290600401611a57565b600060405180830381600087803b1580156116d357600080fd5b505af11580156116e7573d6000803e3d6000fd5b505050505050565b6009546117079030906001600160a01b031684610a00565b60095460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820152738cd887b6baf4d0c1d16b4feb98c327bd05db9cd860848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611787573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117ac9190611ac8565b5050505050565b600080600080600080600060e0888a0312156117ce57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600060208083528351808285015260005b8181101561182c57858101830151858201604001528201611810565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461186257600080fd5b50565b6000806040838503121561187857600080fd5b82356118838161184d565b946020939093013593505050565b6000806000606084860312156118a657600080fd5b83356118b18161184d565b925060208401356118c18161184d565b929592945050506040919091013590565b6000602082840312156118e457600080fd5b81356106ac8161184d565b60008060006060848603121561190457600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561192e57600080fd5b82356119398161184d565b91506020830135801515811461194e57600080fd5b809150509250929050565b6000806040838503121561196c57600080fd5b82356119778161184d565b9150602083013561194e8161184d565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156119d7576119d76119a7565b500290565b6000826119f957634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156105ae576105ae6119a7565b808201808211156105ae576105ae6119a7565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a4c57600080fd5b81516106ac8161184d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611aa75784516001600160a01b031683529383019391830191600101611a82565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611add57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122058e29f82727630dc981b5321a2d7dafd67bed5376415f99e7fcbcc00f449323c64736f6c63430008100033

Deployed Bytecode Sourcemap

4745:11959:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10015:527;;;;;;;;;;-1:-1:-1;10015:527:0;;;;;:::i;:::-;;:::i;:::-;;7111:67;;;;;;;;;;-1:-1:-1;7171:5:0;;;;;;;;;;;;-1:-1:-1;;;7171:5:0;;;;7111:67;;;;;;;:::i;:::-;;;;;;;;8231:133;;;;;;;;;;-1:-1:-1;8231:133:0;;;;;:::i;:::-;;:::i;:::-;;;1785:14:1;;1778:22;1760:41;;1748:2;1733:18;8231:133:0;1620:187:1;8370:132:0;;;;;;;;;;;;;:::i;:::-;;;1958:25:1;;;1946:2;1931:18;8370:132:0;1812:177:1;8747:119:0;;;;;;;;;;;;;:::i;16047:309::-;;;;;;;;;;-1:-1:-1;16047:309:0;;;;;:::i;:::-;;:::i;7334:67::-;;;;;;;;;;;;;:::i;3125:87::-;;;;;;;;;;-1:-1:-1;3125:87:0;;;;;:::i;:::-;3180:4;3205:5;-1:-1:-1;;;;;3194:16:0;;;3205:5;;3194:16;;3125:87;7261:67;;;;;;;;;;-1:-1:-1;7261:67:0;;4945:1;2849:36:1;;2837:2;2822:18;7261:67:0;2707:184:1;10550:584:0;;;;;;;;;;-1:-1:-1;10550:584:0;;;;;:::i;:::-;;:::i;5294:44::-;;;;;;;;;;-1:-1:-1;5294:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8117:108;;;;;;;;;;-1:-1:-1;8117:108:0;;;;;:::i;:::-;;:::i;7491:103::-;;;;;;;;;;-1:-1:-1;7491:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7574:18:0;7557:7;7574:18;;;:9;:18;;;;;;;7491:103;8508:114;;;;;;;;;;;;;:::i;8628:113::-;;;;;;;;;;;;;:::i;7407:78::-;;;;;;;;;;-1:-1:-1;7459:7:0;7477:5;-1:-1:-1;;;;;7477:5:0;7407:78;;;-1:-1:-1;;;;;3802:32:1;;;3784:51;;3772:2;3757:18;7407:78:0;3638:203:1;8012:99:0;;;;;;;;;;-1:-1:-1;8012:99:0;;;;;:::i;:::-;;:::i;7184:71::-;;;;;;;;;;-1:-1:-1;7246:7:0;;;;;;;;;;;;-1:-1:-1;;;7246:7:0;;;;7184:71;;5412:19;;;;;;;;;;-1:-1:-1;5412:19:0;;;;-1:-1:-1;;;;;5412:19:0;;;7600:139;;;;;;;;;;-1:-1:-1;7600:139:0;;;;;:::i;:::-;;:::i;7745:127::-;;;;;;;;;;-1:-1:-1;7745:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7843:18:0;;;7826:7;7843:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7745:127;14484:315;;;;;;;;;;-1:-1:-1;14484:315:0;;;;;:::i;:::-;;:::i;3218:111::-;;;;;;;;;;-1:-1:-1;3218:111:0;;;;;:::i;:::-;;:::i;10015:527::-;3180:4;3205:5;-1:-1:-1;;;;;3205:5:0;3092:10;3194:16;3076:38;;;;-1:-1:-1;;;3076:38:0;;;;;;;:::i;:::-;;;;;;;;;10191:12:::1;:25:::0;;;10227:12:::1;:25:::0;;;10263:7:::1;:15:::0;;;10289:14:::1;:29:::0;;;10329:8:::1;:17:::0;;;10357:7:::1;:15:::0;;;10383:11:::1;:20:::0;;;10434:11:::1;::::0;:18:::1;::::0;-1:-1:-1;10434:15:0::1;:18::i;:::-;10422:8;;:30;;:63;;;;-1:-1:-1::0;10467:11:0::1;::::0;:18:::1;::::0;10483:1:::1;10467:15;:18::i;:::-;10456:7;;:29;;10422:63;10414:120;;;::::0;-1:-1:-1;;;10414:120:0;;5035:2:1;10414: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;;10414:120:0::1;4833:408:1::0;10414:120:0::1;10015:527:::0;;;;;;;:::o;8231:133::-;8306:4;8313:37;8322:10;8334:7;8343:6;8313:8;:37::i;:::-;-1:-1:-1;8358:4:0;8231:133;;;;;:::o;8370:132::-;7574:9;:18;;;;6166:42;8423:7;7574:18;;;;;8440:12;;8423:7;;8440:60;;7574:18;;8440:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8433:67;;8370:132;:::o;8747:119::-;8798:7;8853:11;;8831:19;;8815:13;:11;:13::i;:::-;:35;;;;:::i;:::-;:49;;;;:::i;16047:309::-;16145:4;16162:36;16172:6;16180:9;16191:6;16162:9;:36::i;:::-;16209:117;16218:6;16226:10;16238:87;16274:6;16238:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16238:19:0;;;;;;:11;:19;;;;;;;;16258:10;16238:31;;;;;;;;;:87;:35;:87::i;:::-;16209:8;:117::i;:::-;-1:-1:-1;16344:4:0;16047:309;;;;;;:::o;7334:67::-;3180:4;3205:5;-1:-1:-1;;;;;3205:5:0;3092:10;3194:16;3076:38;;;;-1:-1:-1;;;3076:38:0;;;;;;;:::i;:::-;7378:14:::1;:21:::0;;-1:-1:-1;;;;7378:21:0::1;-1:-1:-1::0;;;7378:21:0::1;::::0;;7334:67::o;10550:584::-;3180:4;3205:5;-1:-1:-1;;;;;3205:5:0;3092:10;3194:16;3076:38;;;;-1:-1:-1;;;3076:38:0;;;;;;;:::i;:::-;10650:13:::1;10691:5;10683:4;10667:13;:11;:13::i;:::-;:20;;;;:::i;:::-;10666:30;;;;:::i;:::-;10650:46;;10707:19;10756:5;10746:6;10730:13;:11;:13::i;:::-;:22;;;;:::i;:::-;10729:32;;;;:::i;:::-;10707:54;;10772:17;10820:5;10809:7;10793:13;:11;:13::i;:::-;:23;;;;:::i;:::-;10792:33;;;;:::i;:::-;10836:19;:26:::0;;;10873:19:::1;:28:::0;;;10912:17:::1;:27:::0;;;10772:53;-1:-1:-1;;10966:30:0::1;10991:4;10966:20;10984:1;10966:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;10950:46;;11024:5;11015;:14;;:38;;;;;11048:5;11033:11;:20;;11015:38;:60;;;;;11070:5;11057:9;:18;;11015:60;11007:119;;;::::0;-1:-1:-1;;;11007:119:0;;5975:2:1;11007: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;;11007:119:0::1;5773:410:1::0;8117:108:0;3180:4;3205:5;-1:-1:-1;;;;;3205:5:0;3092:10;3194:16;3076:38;;;;-1:-1:-1;;;3076:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8191:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8191:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8117:108::o;8508:114::-;8556:7;8609:11;;8589:17;;8573:13;:11;:13::i;8628:113::-;8673:7;8728:11;;8706:19;;8690:13;:11;:13::i;8012:99::-;3180:4;3205:5;-1:-1:-1;;;;;3205:5:0;3092:10;3194:16;3076:38;;;;-1:-1:-1;;;3076:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8083:15:0;;;::::1;;::::0;;;:5:::1;:15;::::0;;;;:26;;-1:-1:-1;;8083:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8012:99::o;7600:139::-;7678:4;7685:40;7695:10;7707:9;7718:6;7685:9;:40::i;14484:315::-;3180:4;3205:5;-1:-1:-1;;;;;3205:5:0;3092:10;3194:16;3076:38;;;;-1:-1:-1;;;3076:38:0;;;;;;;:::i;:::-;14613:10:::1;:24:::0;;;14655:12:::1;::::0;:53:::1;::::0;14700:6:::1;::::0;14655:32:::1;::::0;14672:14;14655:16:::1;:32::i;:53::-;14639:13;:69:::0;14737:12:::1;::::0;:54:::1;::::0;14783:6:::1;::::0;14737:33:::1;::::0;14754:15;14737:16:::1;:33::i;:54::-;14720:14;:71:::0;-1:-1:-1;;;14484:315:0:o;3218:111::-;3180:4;3205:5;-1:-1:-1;;;;;3205:5:0;3092:10;3194:16;3076:38;;;;-1:-1:-1;;;3076:38:0;;;;;;;:::i;:::-;3284:5:::1;:11:::0;;-1:-1:-1;;;;;;3284:11:0::1;-1:-1:-1::0;;;;;3284:11:0;::::1;::::0;;::::1;::::0;;;3302:25:::1;::::0;3784:51:1;;;3302:25:0::1;::::0;3772:2:1;3757:18;3302:25:0::1;;;;;;;3218:111:::0;:::o;487:82::-;545:7;562:5;566:1;562;:5;:::i;16364:335::-;-1:-1:-1;;;;;16457:19:0;;16449:68;;;;-1:-1:-1;;;16449:68:0;;6606:2:1;16449: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;;16449:68:0;6404:400:1;16449:68:0;-1:-1:-1;;;;;16536:21:0;;16528:68;;;;-1:-1:-1;;;16528:68:0;;7011:2:1;16528: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;;16528:68:0;6809:398:1;16528:68:0;-1:-1:-1;;;;;16607:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16659:32;;1958:25:1;;;16659:32:0;;1931:18:1;16659:32:0;;;;;;;16364:335;;;:::o;311:82::-;369:7;386:5;390:1;386;:5;:::i;9321:686::-;9410:37;9421:6;9429:9;9440:6;9410:10;:37::i;:::-;9458:38;9478:6;9486:9;9458:19;:38::i;:::-;9507:41;9522:6;9530:9;9541:6;9507:14;:41::i;:::-;9560:35;9577:6;9585:9;9560:16;:35::i;:::-;9606:39;9619:6;9627:9;9638:6;9606:12;:39::i;:::-;9657:35;9666:6;9674:9;9685:6;9657:8;:35::i;:::-;-1:-1:-1;;;;;9723:17:0;;;;;;:9;:17;;;;;;:29;;9745:6;9723:21;:29::i;:::-;-1:-1:-1;;;;;9703:17:0;;;;;;:9;:17;;;;;:49;;;;9788:32;9713:6;9810:9;9788:13;:32::i;:::-;:78;;9860:6;9788:78;;;9823:34;9831:6;9839:9;9850:6;9823:7;:34::i;:::-;-1:-1:-1;;;;;9900:20:0;;;;;;:9;:20;;;;;;9763:103;;-1:-1:-1;9900:40:0;;9763:103;9900:24;:40::i;:::-;-1:-1:-1;;;;;9877:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9956:43;;;;;;;;;;9984:14;1958:25:1;;1946:2;1931:18;;1812:177;9956:43:0;;;;;;;;9399:608;9321:686;;;:::o;1524:162::-;1610:7;1656:12;1648:6;;;;1640:29;;;;-1:-1:-1;;;1640:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1678:5:0;;;1524:162::o;399:82::-;457:7;474:5;478:1;474;:5;:::i;8874:439::-;-1:-1:-1;;;;;8978:20:0;;8970:70;;;;-1:-1:-1;;;8970:70:0;;7547:2:1;8970: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;;8970:70:0;7345:401:1;8970:70:0;-1:-1:-1;;;;;9059:23:0;;9051:71;;;;-1:-1:-1;;;9051:71:0;;7953:2:1;9051: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;;9051:71:0;7751:399:1;9051:71:0;9158:1;9141:6;:19;9133:73;;;;-1:-1:-1;;;9133:73:0;;8357:2:1;9133: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;;9133:73:0;8155:405:1;9133:73:0;-1:-1:-1;;;;;7574:18:0;;7557:7;7574:18;;;:9;:18;;;;;;9225:6;:27;;9217:88;;;;-1:-1:-1;;;9217:88:0;;8767:2:1;9217: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;;9217:88:0;8565:413:1;9217:88:0;8874:439;;;:::o;11142:191::-;-1:-1:-1;;;;;11235:19:0;;;;;;:11;:19;;;;;;;;11234:20;:47;;;;-1:-1:-1;;;;;;11259:22:0;;;;;;:11;:22;;;;;;;;11258:23;11234:47;11231:95;;;11291:14;;-1:-1:-1;;;11291:14:0;;;;11283:41;;;;-1:-1:-1;;;11283:41:0;;9185:2:1;11283:41:0;;;9167:21:1;9224:2;9204:18;;;9197:30;-1:-1:-1;;;9243:18:1;;;9236:44;9297:18;;11283:41:0;8983:338:1;11283:41:0;11142:191;;:::o;11345:333::-;-1:-1:-1;;;;;11449:19:0;;;;;;:11;:19;;;;;;;;11448:20;:47;;;;-1:-1:-1;;;;;;11473:22:0;;;;;;:11;:22;;;;;;;;11472:23;11448:47;:77;;;;-1:-1:-1;11520:4:0;;-1:-1:-1;;;;;11499:26:0;;;11520:4;;11499:26;;11448:77;:107;;;;-1:-1:-1;;;;;;11529:26:0;;6166:42;11529:26;;11448:107;11445:226;;;11617:17;:15;:17::i;:::-;-1:-1:-1;;;;;11580:20:0;;;;;;:9;:20;;;;;;:32;;11605:6;11580:24;:32::i;:::-;11579:55;;11571:98;;;;-1:-1:-1;;;11571:98:0;;9528:2:1;11571:98:0;;;9510:21:1;9567:2;9547:18;;;9540:30;9606:32;9586:18;;;9579:60;9656:18;;11571:98:0;9326:354:1;11686:159:0;11783:4;;-1:-1:-1;;;;;11770:17:0;;;11783:4;;11770:17;:41;;;;-1:-1:-1;;;;;;11792:19:0;;;;;;:11;:19;;;;;;;;11791:20;11770:41;11767:71;;;11834:1;11813:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;11686:159:0;;:::o;11853:349::-;11964:4;;-1:-1:-1;;;;;11954:14:0;;;11964:4;;11954:14;11951:130;;11988:20;:18;:20::i;:::-;11978:6;:30;;:53;;;-1:-1:-1;;;;;;12012:19:0;;;;;;:11;:19;;;;;;;;11978:53;:79;;;-1:-1:-1;;;;;;12035:22:0;;;;;;:11;:22;;;;;;;;11978:79;11970:109;;;;-1:-1:-1;;;11970:109:0;;10017:2:1;11970:109:0;;;9999:21:1;10056:2;10036:18;;;10029:30;-1:-1:-1;;;10075:18:1;;;10068:47;10132:18;;11970:109:0;9815:341:1;11970:109:0;12109:14;:12;:14::i;:::-;12099:6;:24;;:47;;;-1:-1:-1;;;;;;12127:19:0;;;;;;:11;:19;;;;;;;;12099:47;:73;;;-1:-1:-1;;;;;;12150:22:0;;;;;;:11;:22;;;;;;;;12099:73;12091:103;;;;-1:-1:-1;;;12091:103:0;;10017:2:1;12091:103:0;;;9999:21:1;10056:2;10036:18;;;10029:30;-1:-1:-1;;;10075:18:1;;;10068:47;10132:18;;12091:103:0;9815:341:1;14807:197:0;14899:41;14914:6;14922:9;14933:6;14899:14;:41::i;:::-;14896:101;;;14942:29;14957:13;;14942:14;:29::i;:::-;14993:1;14973:9;:22;14807:197;;;:::o;15012:160::-;-1:-1:-1;;;;;15118:19:0;;15093:4;15118:19;;;:11;:19;;;;;;;;15117:20;:47;;;;-1:-1:-1;;;;;;;15142:22:0;;;;;:11;:22;;;;;;;;15141:23;;15012:160;-1:-1:-1;15012:160:0:o;15493:546::-;15579:7;15635:1;15602:30;15614:6;15622:9;15602:11;:30::i;:::-;:34;15599:418;;;15648:17;15668:59;15696:30;15708:6;15716:9;15696:11;:30::i;:::-;15679:11;;15668:23;;:6;;:10;:23::i;:59::-;15783:4;15765:24;;;;:9;:24;;;;;;15648:79;;-1:-1:-1;15765:39:0;;15648:79;15765:28;:39::i;:::-;15756:4;15738:24;;;;:9;:24;;;;;;;:66;;;;15820:42;;-1:-1:-1;;;;;15820:42:0;;;;;;;15852:9;1958:25:1;;1946:2;1931:18;;1812:177;15820:42:0;;;;;;;;15876:7;;:20;15873:104;;15898:77;15916:4;6166:42;15938:36;15966:7;;15938:23;15949:11;;15938:6;:10;;:23;;;;:::i;:36::-;15898:9;:77::i;:::-;15994:21;:6;16005:9;15994:10;:21::i;:::-;15987:28;;;;;15599:418;-1:-1:-1;16025:6:0;15493:546;-1:-1:-1;;15493:546:0:o;223:82::-;281:7;298:5;302:1;298;:5;:::i;14077:399::-;14218:14;;14293:13;;14283:4;14175;7574:18;;;:9;:18;;;;;;14325:8;;14175:4;;14208:24;;;;-1:-1:-1;14265:41:0;;14325:8;;14324:9;:24;;;;-1:-1:-1;14337:11:0;;;;14324:24;:42;;;;-1:-1:-1;14352:14:0;;-1:-1:-1;;;14352:14:0;;;;14324:42;:54;;;;;14370:8;14324:54;:78;;;;-1:-1:-1;;;;;;14383:19:0;;;;;;:11;:19;;;;;;;;14382:20;14324:78;:99;;;;-1:-1:-1;14419:4:0;;-1:-1:-1;;;;;14406:17:0;;;14419:4;;14406:17;14324:99;:126;;;;;14440:10;;14427:9;;:23;;14324:126;:144;;;;;14454:14;14324:144;14317:151;14077:399;-1:-1:-1;;;;;;14077:399:0:o;12210:1066::-;6087:8;:15;;-1:-1:-1;;6087:15:0;6098:4;6087:15;;;;;;12347:14:::1;::::0;12329:12:::1;::::0;12305::::1;::::0;6087:8;;12304:66:::1;::::0;12368:1:::1;::::0;12305:57:::1;::::0;12347:14;;12305:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;12304:66::-;12281:89;;12381:32;12416:42;12445:12;12416:24;12427:12;;12416:6;:10;;:24;;;;:::i;:42::-;12381:77:::0;-1:-1:-1;12469:14:0::1;12486:36;:6:::0;12381:77;12486:10:::1;:36::i;:::-;12469:53:::0;-1:-1:-1;12558:21:0::1;12590:24;12469:53:::0;12590:16:::1;:24::i;:::-;12625:20;12648:41;:21;12674:14:::0;12648:25:::1;:41::i;:::-;12625:64;;12700:19;12721:48;12738:30;12755:12;;12738;:16;;:30;;;;:::i;:::-;12721:12:::0;;:16:::1;:48::i;:::-;12700:69;;12780:29;12812;12828:12;;12812:11;:15;;:29;;;;:::i;:::-;12780:61:::0;-1:-1:-1;12855:34:0;;12852:103:::1;;12891:61;12904:24;12930:21;12891:12;:61::i;:::-;13011:12;::::0;12965:20:::1;::::0;12988:36:::1;::::0;:18:::1;:11:::0;13004:1:::1;12988:15;:18::i;:36::-;12965:59:::0;-1:-1:-1;13038:16:0;;13035:73:::1;;13056:50;::::0;6361:42:::1;::::0;13056:50;::::1;;;::::0;13093:12;;13056:50:::1;::::0;;;13093:12;6361:42;13056:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13035:73;13145:21;13180:29:::0;;13177:92:::1;;13211:56;::::0;6264:42:::1;::::0;13211:56;::::1;;;::::0;13250:16;;13211:56:::1;::::0;;;13250:16;6264:42;13211:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13177:92;-1:-1:-1::0;;6107:8:0;:16;;-1:-1:-1;;6107:16:0;;;-1:-1:-1;;;;;;;;12210:1066:0:o;15180:305::-;-1:-1:-1;;;;;15282:13:0;;15259:7;15282:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;15299:16:0;;;;;;:5;:16;;;;;;;;15282:33;15279:76;;;15324:11;;:29;;15348:3;15324:15;:29::i;:::-;15317:36;;;;15279:76;15381:4;;-1:-1:-1;;;;;15381:4:0;;;15368:17;;;;15365:38;;-1:-1:-1;15394:7:0;;15387:14;;15365:38;15426:4;;-1:-1:-1;;;;;15426:4:0;;;15416:14;;;;15413:36;;-1:-1:-1;15439:8:0;;15432:15;;15413:36;-1:-1:-1;15466:11:0;;15180:305;;;;:::o;13635:434::-;13725:16;;;13739:1;13725:16;;;;;;;;13701:21;;13725:16;;;;;;;;;;-1:-1:-1;13725:16:0;13701:40;;13770:4;13752;13757:1;13752:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13752:23:0;;;:7;;;;;;;;;;:23;;;;13796:6;;:13;;;-1:-1:-1;;;13796:13:0;;;;:6;;;;;:11;;:13;;;;;13752:7;;13796:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13786:4;13791:1;13786:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13786:23:0;;;:7;;;;;;;;;:23;13852:6;;13820:53;;13837:4;;13852:6;13861:11;13820:8;:53::i;:::-;13884:6;;:177;;-1:-1:-1;;;13884:177:0;;-1:-1:-1;;;;;13884:6:0;;;;:57;;:177;;13956:11;;13884:6;;13998:4;;14025;;14045:15;;13884:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13690:379;13635:434;:::o;13284:343::-;13397:6;;13365:53;;13382:4;;-1:-1:-1;;;;;13397:6:0;13406:11;13365:8;:53::i;:::-;13429:6;;:190;;-1:-1:-1;;;13429:190:0;;13492:4;13429:190;;;12007:34:1;12057:18;;;12050:34;;;13429:6:0;12100:18:1;;;12093:34;;;12143:18;;;12136:34;6457:42:0;12186:19:1;;;12179:44;13603:15:0;12239:19:1;;;12232:35;-1:-1:-1;;;;;13429:6:0;;;;:22;;13459:9;;11941:19:1;;13429:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13284: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://58e29f82727630dc981b5321a2d7dafd67bed5376415f99e7fcbcc00f449323c

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.