ETH Price: $3,456.27 (-5.95%)
 

Overview

ETH Balance

0.000300925738226865 ETH

Eth Value

$1.04 (@ $3,456.27/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve197787412024-05-02 0:03:11250 days ago1714608191IN
0x5143202C...cF73c4cFd
0 ETH0.000280086.05372155
Approve182515982023-09-30 22:46:47464 days ago1696114007IN
0x5143202C...cF73c4cFd
0 ETH0.0007417816.03713604
Transfer169588142023-04-02 3:41:23646 days ago1680406883IN
0x5143202C...cF73c4cFd
0 ETH0.0015755716.6419526
Transfer169588102023-04-02 3:40:35646 days ago1680406835IN
0x5143202C...cF73c4cFd
0 ETH0.0016655217.59203969
Transfer169588062023-04-02 3:39:47646 days ago1680406787IN
0x5143202C...cF73c4cFd
0 ETH0.0016469717.39609481
Transfer169588022023-04-02 3:38:59646 days ago1680406739IN
0x5143202C...cF73c4cFd
0 ETH0.0015922216.81778321
Transfer169587982023-04-02 3:38:11646 days ago1680406691IN
0x5143202C...cF73c4cFd
0 ETH0.0017242218.21201887
Transfer169587722023-04-02 3:32:47646 days ago1680406367IN
0x5143202C...cF73c4cFd
0 ETH0.0015375816.2406932
Transfer169587682023-04-02 3:31:59646 days ago1680406319IN
0x5143202C...cF73c4cFd
0 ETH0.0015846716.73803676
Transfer169587642023-04-02 3:31:11646 days ago1680406271IN
0x5143202C...cF73c4cFd
0 ETH0.0016672517.61030199
Transfer169587592023-04-02 3:30:11646 days ago1680406211IN
0x5143202C...cF73c4cFd
0 ETH0.0015943516.84238048
Transfer169587542023-04-02 3:29:11646 days ago1680406151IN
0x5143202C...cF73c4cFd
0 ETH0.0016667217.60245164
Transfer169587512023-04-02 3:28:23646 days ago1680406103IN
0x5143202C...cF73c4cFd
0 ETH0.0017611518.62332255
Transfer169585022023-04-02 2:38:11646 days ago1680403091IN
0x5143202C...cF73c4cFd
0 ETH0.0016140917.06822367
Transfer169584962023-04-02 2:36:59646 days ago1680403019IN
0x5143202C...cF73c4cFd
0 ETH0.0017670918.68621193
Transfer169584932023-04-02 2:36:23646 days ago1680402983IN
0x5143202C...cF73c4cFd
0 ETH0.0019314120.42380134
Transfer169584902023-04-02 2:35:47646 days ago1680402947IN
0x5143202C...cF73c4cFd
0 ETH0.0015323516.20386709
Transfer169584872023-04-02 2:35:11646 days ago1680402911IN
0x5143202C...cF73c4cFd
0 ETH0.0016352817.29236656
Transfer169584842023-04-02 2:34:35646 days ago1680402875IN
0x5143202C...cF73c4cFd
0 ETH0.001732518.32036464
Transfer169584812023-04-02 2:33:59646 days ago1680402839IN
0x5143202C...cF73c4cFd
0 ETH0.001605716.97956564
Transfer169584772023-04-02 2:33:11646 days ago1680402791IN
0x5143202C...cF73c4cFd
0 ETH0.0015925116.84003707
Transfer169584732023-04-02 2:32:23646 days ago1680402743IN
0x5143202C...cF73c4cFd
0 ETH0.0016765717.73125609
Transfer169584702023-04-02 2:31:47646 days ago1680402707IN
0x5143202C...cF73c4cFd
0 ETH0.001720218.19031685
Transfer169584672023-04-02 2:31:11646 days ago1680402671IN
0x5143202C...cF73c4cFd
0 ETH0.0016468617.41482233
Transfer169584652023-04-02 2:30:35646 days ago1680402635IN
0x5143202C...cF73c4cFd
0 ETH0.0016645117.60139003
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
168526722023-03-18 5:50:23661 days ago1679118623
0x5143202C...cF73c4cFd
0.00044537 ETH
168526722023-03-18 5:50:23661 days ago1679118623
0x5143202C...cF73c4cFd
0.0004574 ETH
168526722023-03-18 5:50:23661 days ago1679118623
0x5143202C...cF73c4cFd
0.00088034 ETH
168526712023-03-18 5:50:11661 days ago1679118611
0x5143202C...cF73c4cFd
0.00047856 ETH
168526712023-03-18 5:50:11661 days ago1679118611
0x5143202C...cF73c4cFd
0.0004915 ETH
168526712023-03-18 5:50:11661 days ago1679118611
0x5143202C...cF73c4cFd
0.00093161 ETH
168526702023-03-18 5:49:59661 days ago1679118599
0x5143202C...cF73c4cFd
0.00053547 ETH
168526702023-03-18 5:49:59661 days ago1679118599
0x5143202C...cF73c4cFd
0.00054994 ETH
168526702023-03-18 5:49:59661 days ago1679118599
0x5143202C...cF73c4cFd
0.00110048 ETH
167888902023-03-09 6:33:11670 days ago1678343591
0x5143202C...cF73c4cFd
0.00051317 ETH
167888902023-03-09 6:33:11670 days ago1678343591
0x5143202C...cF73c4cFd
0.00052704 ETH
167888902023-03-09 6:33:11670 days ago1678343591
0x5143202C...cF73c4cFd
0.00083258 ETH
167842782023-03-08 14:58:11671 days ago1678287491
0x5143202C...cF73c4cFd
0.00082048 ETH
167842782023-03-08 14:58:11671 days ago1678287491
0x5143202C...cF73c4cFd
0.00084265 ETH
167842782023-03-08 14:58:11671 days ago1678287491
0x5143202C...cF73c4cFd
0.00135176 ETH
167842252023-03-08 14:47:35671 days ago1678286855
0x5143202C...cF73c4cFd
0.0012813 ETH
167842252023-03-08 14:47:35671 days ago1678286855
0x5143202C...cF73c4cFd
0.00131593 ETH
167842252023-03-08 14:47:35671 days ago1678286855
0x5143202C...cF73c4cFd
0.00299969 ETH
167822272023-03-08 8:02:59671 days ago1678262579
0x5143202C...cF73c4cFd
0.00068568 ETH
167822272023-03-08 8:02:59671 days ago1678262579
0x5143202C...cF73c4cFd
0.00070421 ETH
167822272023-03-08 8:02:59671 days ago1678262579
0x5143202C...cF73c4cFd
0.00135837 ETH
167822212023-03-08 8:01:47671 days ago1678262507
0x5143202C...cF73c4cFd
0.00073234 ETH
167822212023-03-08 8:01:47671 days ago1678262507
0x5143202C...cF73c4cFd
0.00075213 ETH
167822212023-03-08 8:01:47671 days ago1678262507
0x5143202C...cF73c4cFd
0.00145777 ETH
167817522023-03-08 6:27:23671 days ago1678256843
0x5143202C...cF73c4cFd
0.00077186 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
S2E

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-03-07
*/

/*

// SHILLARIUM - S2E

// WEBSITE
// https://www.shillarium.com

// TELEGRAM
// https://t.me/shillarium

// TWITTER
// https://twitter.com/Shillarium_ETH  

*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.16;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract S2E is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "SHILLARIUM";
    string private constant _symbol = "S2E";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 18;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 36;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; 
    mapping (address => uint256) public _buyMap;
    mapping (address => bool) public preTrader;
    address private developmentAddress;
    address private marketingAddress;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = 25000000 * 10**9;
    uint256 public _maxWalletSize = 25000000 * 10**9; 
    uint256 public _swapTokensAtAmount = 10000 * 10**9;

    struct Distribution {
        uint256 development;
        uint256 marketing;
    }

    Distribution public distribution;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address developmentAddr, address marketingAddr) {
        developmentAddress = developmentAddr;
        marketingAddress = marketingAddr;
        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingAddress] = true;
        _isExcludedFromFee[developmentAddress] = true;

        distribution = Distribution(37, 38);

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    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 totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

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

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner() && !preTrader[from] && !preTrader[to]) {

            //Trade start check
            if (!tradingOpen) {
                require(preTrader[from], "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

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

    function sendETHToFee(uint256 amount) private lockTheSwap {
        uint256 distributionEth = amount;
        uint256 marketingShare = distributionEth.mul(distribution.marketing).div(100);
        uint256 developmentShare = distributionEth.mul(distribution.development).div(100);
        payable(marketingAddress).transfer(marketingShare);
        payable(developmentAddress).transfer(developmentShare);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap() external {
        require(_msgSender() == developmentAddress || _msgSender() == marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == developmentAddress || _msgSender() == marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function setDistribution(uint256 development, uint256 marketing) external onlyOwner {        
        distribution.development = development;
        distribution.marketing = marketing;
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {
    }

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function allowPreTrading(address[] calldata accounts) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
                 preTrader[accounts[i]] = true;
        }
    }

    function removePreTrading(address[] calldata accounts) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
                 delete preTrader[accounts[i]];
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"developmentAddr","type":"address"},{"internalType":"address","name":"marketingAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","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":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"allowPreTrading","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distribution","outputs":[{"internalType":"uint256","name":"development","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"preTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"removePreTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"development","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"name":"setDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a670de0b6b3a764000060001962000394565b6200002890600019620003b7565b600655600060088190556012600955600a8190556024600b819055600c829055600d819055600e91909155600f556016805461ffff60a81b1916600160b01b1790556658d15e1762800060178190556018556509184e72a0006019553480156200009157600080fd5b506040516200262b3803806200262b833981016040819052620000b491620003fc565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601380546001600160a01b038085166001600160a01b031992831617909255601480549284169290911691909117905560065460026000620001343390565b6001600160a01b03168152602080820192909252604090810160002092909255601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b815292519092839263c45a0155926004808401938290030181865afa158015620001b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001db919062000434565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000229573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024f919062000434565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200029d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c3919062000434565b601680546001600160a01b0319166001600160a01b039283161790556000805482168152600560209081526040808320805460ff199081166001908117909255308552828520805482168317905560145486168552828520805482168317905560135490951684528184208054909516179093558251808401845260258082526026918301829052601a55601b559151670de0b6b3a7640000815233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505062000459565b600082620003b257634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115620003d957634e487b7160e01b600052601160045260246000fd5b92915050565b80516001600160a01b0381168114620003f757600080fd5b919050565b600080604083850312156200041057600080fd5b6200041b83620003df565b91506200042b60208401620003df565b90509250929050565b6000602082840312156200044757600080fd5b6200045282620003df565b9392505050565b6121c280620004696000396000f3fe6080604052600436106102075760003560e01c80637d1db4a511610118578063b5a65223116100a0578063c492f0461161006f578063c492f0461461062b578063dd62ed3e1461064b578063ea1644d514610691578063f18dba26146106b1578063f2fde38b146106d157600080fd5b8063b5a6522314610596578063bdd795ef146105b6578063bfd79284146105e6578063c3c8cd801461061657600080fd5b80638f9a55c0116100e75780638f9a55c0146104f457806395d89b411461050a57806398a5c31514610536578063a2a957bb14610556578063a9059cbb1461057657600080fd5b80637d1db4a5146104735780637f2feddc146104895780638da5cb5b146104b65780638f70ccf7146104d457600080fd5b806349bd5a5e1161019b5780636d8aa8f81161016a5780636d8aa8f8146103e95780636fc3eaec1461040957806370a082311461041e578063715018a61461043e57806374010ece1461045357600080fd5b806349bd5a5e146103595780635ee58efc1461037957806367aadb7e146103a95780636b999053146103c957600080fd5b806318160ddd116101d757806318160ddd146102e257806323b872dd146103075780632fd689e314610327578063313ce5671461033d57600080fd5b8062b8cf2a1461021357806306fdde0314610235578063095ea7b31461027a5780631694505e146102aa57600080fd5b3661020e57005b600080fd5b34801561021f57600080fd5b5061023361022e366004611ca5565b6106f1565b005b34801561024157600080fd5b5060408051808201909152600a8152695348494c4c415249554d60b01b60208201525b6040516102719190611d6a565b60405180910390f35b34801561028657600080fd5b5061029a610295366004611db8565b610790565b6040519015158152602001610271565b3480156102b657600080fd5b506015546102ca906001600160a01b031681565b6040516001600160a01b039091168152602001610271565b3480156102ee57600080fd5b50670de0b6b3a76400005b604051908152602001610271565b34801561031357600080fd5b5061029a610322366004611de4565b6107a7565b34801561033357600080fd5b506102f960195481565b34801561034957600080fd5b5060405160098152602001610271565b34801561036557600080fd5b506016546102ca906001600160a01b031681565b34801561038557600080fd5b50601a54601b54610394919082565b60408051928352602083019190915201610271565b3480156103b557600080fd5b506102336103c4366004611e71565b610810565b3480156103d557600080fd5b506102336103e4366004611eb3565b6108a8565b3480156103f557600080fd5b50610233610404366004611ee0565b6108f3565b34801561041557600080fd5b5061023361093b565b34801561042a57600080fd5b506102f9610439366004611eb3565b610986565b34801561044a57600080fd5b506102336109a8565b34801561045f57600080fd5b5061023361046e366004611efb565b610a1c565b34801561047f57600080fd5b506102f960175481565b34801561049557600080fd5b506102f96104a4366004611eb3565b60116020526000908152604090205481565b3480156104c257600080fd5b506000546001600160a01b03166102ca565b3480156104e057600080fd5b506102336104ef366004611ee0565b610a4b565b34801561050057600080fd5b506102f960185481565b34801561051657600080fd5b5060408051808201909152600381526253324560e81b6020820152610264565b34801561054257600080fd5b50610233610551366004611efb565b610a93565b34801561056257600080fd5b50610233610571366004611f14565b610ac2565b34801561058257600080fd5b5061029a610591366004611db8565b610b00565b3480156105a257600080fd5b506102336105b1366004611e71565b610b0d565b3480156105c257600080fd5b5061029a6105d1366004611eb3565b60126020526000908152604090205460ff1681565b3480156105f257600080fd5b5061029a610601366004611eb3565b60106020526000908152604090205460ff1681565b34801561062257600080fd5b50610233610ba9565b34801561063757600080fd5b50610233610646366004611f46565b610bfd565b34801561065757600080fd5b506102f9610666366004611f9a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561069d57600080fd5b506102336106ac366004611efb565b610c9e565b3480156106bd57600080fd5b506102336106cc366004611fd3565b610ccd565b3480156106dd57600080fd5b506102336106ec366004611eb3565b610d02565b6000546001600160a01b031633146107245760405162461bcd60e51b815260040161071b90611ff5565b60405180910390fd5b60005b815181101561078c576001601060008484815181106107485761074861202a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061078481612056565b915050610727565b5050565b600061079d338484610dec565b5060015b92915050565b60006107b4848484610f10565b610806843361080185604051806060016040528060288152602001612165602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906114a1565b610dec565b5060019392505050565b6000546001600160a01b0316331461083a5760405162461bcd60e51b815260040161071b90611ff5565b60005b818110156108a3576012600084848481811061085b5761085b61202a565b90506020020160208101906108709190611eb3565b6001600160a01b031681526020810191909152604001600020805460ff191690558061089b81612056565b91505061083d565b505050565b6000546001600160a01b031633146108d25760405162461bcd60e51b815260040161071b90611ff5565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b0316331461091d5760405162461bcd60e51b815260040161071b90611ff5565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b0316148061097057506014546001600160a01b0316336001600160a01b0316145b61097957600080fd5b47610983816114db565b50565b6001600160a01b0381166000908152600260205260408120546107a1906115b9565b6000546001600160a01b031633146109d25760405162461bcd60e51b815260040161071b90611ff5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610a465760405162461bcd60e51b815260040161071b90611ff5565b601755565b6000546001600160a01b03163314610a755760405162461bcd60e51b815260040161071b90611ff5565b60168054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610abd5760405162461bcd60e51b815260040161071b90611ff5565b601955565b6000546001600160a01b03163314610aec5760405162461bcd60e51b815260040161071b90611ff5565b600893909355600a91909155600955600b55565b600061079d338484610f10565b6000546001600160a01b03163314610b375760405162461bcd60e51b815260040161071b90611ff5565b60005b818110156108a357600160126000858585818110610b5a57610b5a61202a565b9050602002016020810190610b6f9190611eb3565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610ba181612056565b915050610b3a565b6013546001600160a01b0316336001600160a01b03161480610bde57506014546001600160a01b0316336001600160a01b0316145b610be757600080fd5b6000610bf230610986565b90506109838161163d565b6000546001600160a01b03163314610c275760405162461bcd60e51b815260040161071b90611ff5565b60005b82811015610c98578160056000868685818110610c4957610c4961202a565b9050602002016020810190610c5e9190611eb3565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c9081612056565b915050610c2a565b50505050565b6000546001600160a01b03163314610cc85760405162461bcd60e51b815260040161071b90611ff5565b601855565b6000546001600160a01b03163314610cf75760405162461bcd60e51b815260040161071b90611ff5565b601a91909155601b55565b6000546001600160a01b03163314610d2c5760405162461bcd60e51b815260040161071b90611ff5565b6001600160a01b038116610d915760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e4e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161071b565b6001600160a01b038216610eaf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161071b565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f745760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161071b565b6001600160a01b038216610fd65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161071b565b600081116110385760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161071b565b6000546001600160a01b0384811691161480159061106457506000546001600160a01b03838116911614155b801561108957506001600160a01b03831660009081526012602052604090205460ff16155b80156110ae57506001600160a01b03821660009081526012602052604090205460ff16155b1561139a57601654600160a01b900460ff16611152576001600160a01b03831660009081526012602052604090205460ff166111525760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161071b565b6017548111156111a45760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161071b565b6001600160a01b03831660009081526010602052604090205460ff161580156111e657506001600160a01b03821660009081526010602052604090205460ff16155b61123e5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161071b565b6016546001600160a01b038381169116146112c3576018548161126084610986565b61126a919061206f565b106112c35760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161071b565b60006112ce30610986565b6019546017549192508210159082106112e75760175491505b8080156112fe5750601654600160a81b900460ff16155b801561131857506016546001600160a01b03868116911614155b801561132d5750601654600160b01b900460ff165b801561135257506001600160a01b03851660009081526005602052604090205460ff16155b801561137757506001600160a01b03841660009081526005602052604090205460ff16155b15611397576113858261163d565b47801561139557611395476114db565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806113dc57506001600160a01b03831660009081526005602052604090205460ff165b8061140e57506016546001600160a01b0385811691161480159061140e57506016546001600160a01b03848116911614155b1561141b57506000611495565b6016546001600160a01b03858116911614801561144657506015546001600160a01b03848116911614155b1561145857600854600c55600954600d555b6016546001600160a01b03848116911614801561148357506015546001600160a01b03858116911614155b1561149557600a54600c55600b54600d555b610c98848484846117b7565b600081848411156114c55760405162461bcd60e51b815260040161071b9190611d6a565b5060006114d28486612082565b95945050505050565b6016805460ff60a81b1916600160a81b179055601b54819060009061150e906064906115089085906117e5565b90611867565b9050600061152f6064611508601a60000154866117e590919063ffffffff16565b6014546040519192506001600160a01b03169083156108fc029084906000818181858888f1935050505015801561156a573d6000803e3d6000fd5b506013546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115a5573d6000803e3d6000fd5b50506016805460ff60a81b19169055505050565b60006006548211156116205760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161071b565b600061162a6118a9565b90506116368382611867565b9392505050565b6016805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106116855761168561202a565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156116de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117029190612095565b816001815181106117155761171561202a565b6001600160a01b03928316602091820292909201015260155461173b9130911684610dec565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906117749085906000908690309042906004016120b2565b600060405180830381600087803b15801561178e57600080fd5b505af11580156117a2573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b806117c4576117c46118cc565b6117cf8484846118fa565b80610c9857610c98600e54600c55600f54600d55565b6000826000036117f7575060006107a1565b60006118038385612123565b9050826118108583612142565b146116365760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161071b565b600061163683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119f1565b60008060006118b6611a1f565b90925090506118c58282611867565b9250505090565b600c541580156118dc5750600d54155b156118e357565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061190c87611a5f565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061193e9087611abc565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461196d9086611afe565b6001600160a01b03891660009081526002602052604090205561198f81611b5d565b6119998483611ba7565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119de91815260200190565b60405180910390a3505050505050505050565b60008183611a125760405162461bcd60e51b815260040161071b9190611d6a565b5060006114d28486612142565b6006546000908190670de0b6b3a7640000611a3a8282611867565b821015611a5657505060065492670de0b6b3a764000092509050565b90939092509050565b6000806000806000806000806000611a7c8a600c54600d54611bcb565b9250925092506000611a8c6118a9565b90506000806000611a9f8e878787611c1a565b919e509c509a509598509396509194505050505091939550919395565b600061163683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114a1565b600080611b0b838561206f565b9050838110156116365760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161071b565b6000611b676118a9565b90506000611b7583836117e5565b30600090815260026020526040902054909150611b929082611afe565b30600090815260026020526040902055505050565b600654611bb49083611abc565b600655600754611bc49082611afe565b6007555050565b6000808080611bdf606461150889896117e5565b90506000611bf260646115088a896117e5565b90506000611c0a82611c048b86611abc565b90611abc565b9992985090965090945050505050565b6000808080611c2988866117e5565b90506000611c3788876117e5565b90506000611c4588886117e5565b90506000611c5782611c048686611abc565b939b939a50919850919650505050505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461098357600080fd5b8035611ca081611c80565b919050565b60006020808385031215611cb857600080fd5b823567ffffffffffffffff80821115611cd057600080fd5b818501915085601f830112611ce457600080fd5b813581811115611cf657611cf6611c6a565b8060051b604051601f19603f83011681018181108582111715611d1b57611d1b611c6a565b604052918252848201925083810185019188831115611d3957600080fd5b938501935b82851015611d5e57611d4f85611c95565b84529385019392850192611d3e565b98975050505050505050565b600060208083528351808285015260005b81811015611d9757858101830151858201604001528201611d7b565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611dcb57600080fd5b8235611dd681611c80565b946020939093013593505050565b600080600060608486031215611df957600080fd5b8335611e0481611c80565b92506020840135611e1481611c80565b929592945050506040919091013590565b60008083601f840112611e3757600080fd5b50813567ffffffffffffffff811115611e4f57600080fd5b6020830191508360208260051b8501011115611e6a57600080fd5b9250929050565b60008060208385031215611e8457600080fd5b823567ffffffffffffffff811115611e9b57600080fd5b611ea785828601611e25565b90969095509350505050565b600060208284031215611ec557600080fd5b813561163681611c80565b80358015158114611ca057600080fd5b600060208284031215611ef257600080fd5b61163682611ed0565b600060208284031215611f0d57600080fd5b5035919050565b60008060008060808587031215611f2a57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611f5b57600080fd5b833567ffffffffffffffff811115611f7257600080fd5b611f7e86828701611e25565b9094509250611f91905060208501611ed0565b90509250925092565b60008060408385031215611fad57600080fd5b8235611fb881611c80565b91506020830135611fc881611c80565b809150509250929050565b60008060408385031215611fe657600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161206857612068612040565b5060010190565b808201808211156107a1576107a1612040565b818103818111156107a1576107a1612040565b6000602082840312156120a757600080fd5b815161163681611c80565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121025784516001600160a01b0316835293830193918301916001016120dd565b50506001600160a01b03969096166060850152505050608001529392505050565b600081600019048311821515161561213d5761213d612040565b500290565b60008261215f57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bb6a47cf8e2d7c9fb1e5de75df6233d428cb25d8e30439b8aadf2aad763e417464736f6c63430008100033000000000000000000000000417ab845315265d9e15541979e51ee6b5f34c37c000000000000000000000000027149ea47e29f7d1f3fe474e97cff73d108ef8d

Deployed Bytecode

0x6080604052600436106102075760003560e01c80637d1db4a511610118578063b5a65223116100a0578063c492f0461161006f578063c492f0461461062b578063dd62ed3e1461064b578063ea1644d514610691578063f18dba26146106b1578063f2fde38b146106d157600080fd5b8063b5a6522314610596578063bdd795ef146105b6578063bfd79284146105e6578063c3c8cd801461061657600080fd5b80638f9a55c0116100e75780638f9a55c0146104f457806395d89b411461050a57806398a5c31514610536578063a2a957bb14610556578063a9059cbb1461057657600080fd5b80637d1db4a5146104735780637f2feddc146104895780638da5cb5b146104b65780638f70ccf7146104d457600080fd5b806349bd5a5e1161019b5780636d8aa8f81161016a5780636d8aa8f8146103e95780636fc3eaec1461040957806370a082311461041e578063715018a61461043e57806374010ece1461045357600080fd5b806349bd5a5e146103595780635ee58efc1461037957806367aadb7e146103a95780636b999053146103c957600080fd5b806318160ddd116101d757806318160ddd146102e257806323b872dd146103075780632fd689e314610327578063313ce5671461033d57600080fd5b8062b8cf2a1461021357806306fdde0314610235578063095ea7b31461027a5780631694505e146102aa57600080fd5b3661020e57005b600080fd5b34801561021f57600080fd5b5061023361022e366004611ca5565b6106f1565b005b34801561024157600080fd5b5060408051808201909152600a8152695348494c4c415249554d60b01b60208201525b6040516102719190611d6a565b60405180910390f35b34801561028657600080fd5b5061029a610295366004611db8565b610790565b6040519015158152602001610271565b3480156102b657600080fd5b506015546102ca906001600160a01b031681565b6040516001600160a01b039091168152602001610271565b3480156102ee57600080fd5b50670de0b6b3a76400005b604051908152602001610271565b34801561031357600080fd5b5061029a610322366004611de4565b6107a7565b34801561033357600080fd5b506102f960195481565b34801561034957600080fd5b5060405160098152602001610271565b34801561036557600080fd5b506016546102ca906001600160a01b031681565b34801561038557600080fd5b50601a54601b54610394919082565b60408051928352602083019190915201610271565b3480156103b557600080fd5b506102336103c4366004611e71565b610810565b3480156103d557600080fd5b506102336103e4366004611eb3565b6108a8565b3480156103f557600080fd5b50610233610404366004611ee0565b6108f3565b34801561041557600080fd5b5061023361093b565b34801561042a57600080fd5b506102f9610439366004611eb3565b610986565b34801561044a57600080fd5b506102336109a8565b34801561045f57600080fd5b5061023361046e366004611efb565b610a1c565b34801561047f57600080fd5b506102f960175481565b34801561049557600080fd5b506102f96104a4366004611eb3565b60116020526000908152604090205481565b3480156104c257600080fd5b506000546001600160a01b03166102ca565b3480156104e057600080fd5b506102336104ef366004611ee0565b610a4b565b34801561050057600080fd5b506102f960185481565b34801561051657600080fd5b5060408051808201909152600381526253324560e81b6020820152610264565b34801561054257600080fd5b50610233610551366004611efb565b610a93565b34801561056257600080fd5b50610233610571366004611f14565b610ac2565b34801561058257600080fd5b5061029a610591366004611db8565b610b00565b3480156105a257600080fd5b506102336105b1366004611e71565b610b0d565b3480156105c257600080fd5b5061029a6105d1366004611eb3565b60126020526000908152604090205460ff1681565b3480156105f257600080fd5b5061029a610601366004611eb3565b60106020526000908152604090205460ff1681565b34801561062257600080fd5b50610233610ba9565b34801561063757600080fd5b50610233610646366004611f46565b610bfd565b34801561065757600080fd5b506102f9610666366004611f9a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561069d57600080fd5b506102336106ac366004611efb565b610c9e565b3480156106bd57600080fd5b506102336106cc366004611fd3565b610ccd565b3480156106dd57600080fd5b506102336106ec366004611eb3565b610d02565b6000546001600160a01b031633146107245760405162461bcd60e51b815260040161071b90611ff5565b60405180910390fd5b60005b815181101561078c576001601060008484815181106107485761074861202a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061078481612056565b915050610727565b5050565b600061079d338484610dec565b5060015b92915050565b60006107b4848484610f10565b610806843361080185604051806060016040528060288152602001612165602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906114a1565b610dec565b5060019392505050565b6000546001600160a01b0316331461083a5760405162461bcd60e51b815260040161071b90611ff5565b60005b818110156108a3576012600084848481811061085b5761085b61202a565b90506020020160208101906108709190611eb3565b6001600160a01b031681526020810191909152604001600020805460ff191690558061089b81612056565b91505061083d565b505050565b6000546001600160a01b031633146108d25760405162461bcd60e51b815260040161071b90611ff5565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b0316331461091d5760405162461bcd60e51b815260040161071b90611ff5565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b0316148061097057506014546001600160a01b0316336001600160a01b0316145b61097957600080fd5b47610983816114db565b50565b6001600160a01b0381166000908152600260205260408120546107a1906115b9565b6000546001600160a01b031633146109d25760405162461bcd60e51b815260040161071b90611ff5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610a465760405162461bcd60e51b815260040161071b90611ff5565b601755565b6000546001600160a01b03163314610a755760405162461bcd60e51b815260040161071b90611ff5565b60168054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610abd5760405162461bcd60e51b815260040161071b90611ff5565b601955565b6000546001600160a01b03163314610aec5760405162461bcd60e51b815260040161071b90611ff5565b600893909355600a91909155600955600b55565b600061079d338484610f10565b6000546001600160a01b03163314610b375760405162461bcd60e51b815260040161071b90611ff5565b60005b818110156108a357600160126000858585818110610b5a57610b5a61202a565b9050602002016020810190610b6f9190611eb3565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610ba181612056565b915050610b3a565b6013546001600160a01b0316336001600160a01b03161480610bde57506014546001600160a01b0316336001600160a01b0316145b610be757600080fd5b6000610bf230610986565b90506109838161163d565b6000546001600160a01b03163314610c275760405162461bcd60e51b815260040161071b90611ff5565b60005b82811015610c98578160056000868685818110610c4957610c4961202a565b9050602002016020810190610c5e9190611eb3565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c9081612056565b915050610c2a565b50505050565b6000546001600160a01b03163314610cc85760405162461bcd60e51b815260040161071b90611ff5565b601855565b6000546001600160a01b03163314610cf75760405162461bcd60e51b815260040161071b90611ff5565b601a91909155601b55565b6000546001600160a01b03163314610d2c5760405162461bcd60e51b815260040161071b90611ff5565b6001600160a01b038116610d915760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e4e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161071b565b6001600160a01b038216610eaf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161071b565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f745760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161071b565b6001600160a01b038216610fd65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161071b565b600081116110385760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161071b565b6000546001600160a01b0384811691161480159061106457506000546001600160a01b03838116911614155b801561108957506001600160a01b03831660009081526012602052604090205460ff16155b80156110ae57506001600160a01b03821660009081526012602052604090205460ff16155b1561139a57601654600160a01b900460ff16611152576001600160a01b03831660009081526012602052604090205460ff166111525760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161071b565b6017548111156111a45760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161071b565b6001600160a01b03831660009081526010602052604090205460ff161580156111e657506001600160a01b03821660009081526010602052604090205460ff16155b61123e5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161071b565b6016546001600160a01b038381169116146112c3576018548161126084610986565b61126a919061206f565b106112c35760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161071b565b60006112ce30610986565b6019546017549192508210159082106112e75760175491505b8080156112fe5750601654600160a81b900460ff16155b801561131857506016546001600160a01b03868116911614155b801561132d5750601654600160b01b900460ff165b801561135257506001600160a01b03851660009081526005602052604090205460ff16155b801561137757506001600160a01b03841660009081526005602052604090205460ff16155b15611397576113858261163d565b47801561139557611395476114db565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806113dc57506001600160a01b03831660009081526005602052604090205460ff165b8061140e57506016546001600160a01b0385811691161480159061140e57506016546001600160a01b03848116911614155b1561141b57506000611495565b6016546001600160a01b03858116911614801561144657506015546001600160a01b03848116911614155b1561145857600854600c55600954600d555b6016546001600160a01b03848116911614801561148357506015546001600160a01b03858116911614155b1561149557600a54600c55600b54600d555b610c98848484846117b7565b600081848411156114c55760405162461bcd60e51b815260040161071b9190611d6a565b5060006114d28486612082565b95945050505050565b6016805460ff60a81b1916600160a81b179055601b54819060009061150e906064906115089085906117e5565b90611867565b9050600061152f6064611508601a60000154866117e590919063ffffffff16565b6014546040519192506001600160a01b03169083156108fc029084906000818181858888f1935050505015801561156a573d6000803e3d6000fd5b506013546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115a5573d6000803e3d6000fd5b50506016805460ff60a81b19169055505050565b60006006548211156116205760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161071b565b600061162a6118a9565b90506116368382611867565b9392505050565b6016805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106116855761168561202a565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156116de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117029190612095565b816001815181106117155761171561202a565b6001600160a01b03928316602091820292909201015260155461173b9130911684610dec565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906117749085906000908690309042906004016120b2565b600060405180830381600087803b15801561178e57600080fd5b505af11580156117a2573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b806117c4576117c46118cc565b6117cf8484846118fa565b80610c9857610c98600e54600c55600f54600d55565b6000826000036117f7575060006107a1565b60006118038385612123565b9050826118108583612142565b146116365760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161071b565b600061163683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119f1565b60008060006118b6611a1f565b90925090506118c58282611867565b9250505090565b600c541580156118dc5750600d54155b156118e357565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061190c87611a5f565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061193e9087611abc565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461196d9086611afe565b6001600160a01b03891660009081526002602052604090205561198f81611b5d565b6119998483611ba7565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119de91815260200190565b60405180910390a3505050505050505050565b60008183611a125760405162461bcd60e51b815260040161071b9190611d6a565b5060006114d28486612142565b6006546000908190670de0b6b3a7640000611a3a8282611867565b821015611a5657505060065492670de0b6b3a764000092509050565b90939092509050565b6000806000806000806000806000611a7c8a600c54600d54611bcb565b9250925092506000611a8c6118a9565b90506000806000611a9f8e878787611c1a565b919e509c509a509598509396509194505050505091939550919395565b600061163683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114a1565b600080611b0b838561206f565b9050838110156116365760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161071b565b6000611b676118a9565b90506000611b7583836117e5565b30600090815260026020526040902054909150611b929082611afe565b30600090815260026020526040902055505050565b600654611bb49083611abc565b600655600754611bc49082611afe565b6007555050565b6000808080611bdf606461150889896117e5565b90506000611bf260646115088a896117e5565b90506000611c0a82611c048b86611abc565b90611abc565b9992985090965090945050505050565b6000808080611c2988866117e5565b90506000611c3788876117e5565b90506000611c4588886117e5565b90506000611c5782611c048686611abc565b939b939a50919850919650505050505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461098357600080fd5b8035611ca081611c80565b919050565b60006020808385031215611cb857600080fd5b823567ffffffffffffffff80821115611cd057600080fd5b818501915085601f830112611ce457600080fd5b813581811115611cf657611cf6611c6a565b8060051b604051601f19603f83011681018181108582111715611d1b57611d1b611c6a565b604052918252848201925083810185019188831115611d3957600080fd5b938501935b82851015611d5e57611d4f85611c95565b84529385019392850192611d3e565b98975050505050505050565b600060208083528351808285015260005b81811015611d9757858101830151858201604001528201611d7b565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611dcb57600080fd5b8235611dd681611c80565b946020939093013593505050565b600080600060608486031215611df957600080fd5b8335611e0481611c80565b92506020840135611e1481611c80565b929592945050506040919091013590565b60008083601f840112611e3757600080fd5b50813567ffffffffffffffff811115611e4f57600080fd5b6020830191508360208260051b8501011115611e6a57600080fd5b9250929050565b60008060208385031215611e8457600080fd5b823567ffffffffffffffff811115611e9b57600080fd5b611ea785828601611e25565b90969095509350505050565b600060208284031215611ec557600080fd5b813561163681611c80565b80358015158114611ca057600080fd5b600060208284031215611ef257600080fd5b61163682611ed0565b600060208284031215611f0d57600080fd5b5035919050565b60008060008060808587031215611f2a57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611f5b57600080fd5b833567ffffffffffffffff811115611f7257600080fd5b611f7e86828701611e25565b9094509250611f91905060208501611ed0565b90509250925092565b60008060408385031215611fad57600080fd5b8235611fb881611c80565b91506020830135611fc881611c80565b809150509250929050565b60008060408385031215611fe657600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161206857612068612040565b5060010190565b808201808211156107a1576107a1612040565b818103818111156107a1576107a1612040565b6000602082840312156120a757600080fd5b815161163681611c80565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121025784516001600160a01b0316835293830193918301916001016120dd565b50506001600160a01b03969096166060850152505050608001529392505050565b600081600019048311821515161561213d5761213d612040565b500290565b60008261215f57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bb6a47cf8e2d7c9fb1e5de75df6233d428cb25d8e30439b8aadf2aad763e417464736f6c63430008100033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000417ab845315265d9e15541979e51ee6b5f34c37c000000000000000000000000027149ea47e29f7d1f3fe474e97cff73d108ef8d

-----Decoded View---------------
Arg [0] : developmentAddr (address): 0x417Ab845315265D9e15541979E51eE6B5f34C37c
Arg [1] : marketingAddr (address): 0x027149eA47E29F7d1F3Fe474E97CfF73d108EF8D

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000417ab845315265d9e15541979e51ee6b5f34c37c
Arg [1] : 000000000000000000000000027149ea47e29f7d1f3fe474e97cff73d108ef8d


Deployed Bytecode Sourcemap

4247:14696:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13503:169;;;;;;;;;;-1:-1:-1;13503:169:0;;;;;:::i;:::-;;:::i;:::-;;6981:83;;;;;;;;;;-1:-1:-1;7051:5:0;;;;;;;;;;;;-1:-1:-1;;;7051:5:0;;;;6981:83;;;;;;;:::i;:::-;;;;;;;;7906:193;;;;;;;;;;-1:-1:-1;7906:193:0;;;;;:::i;:::-;;:::i;:::-;;;2585:14:1;;2578:22;2560:41;;2548:2;2533:18;7906:193:0;2420:187:1;5515:41:0;;;;;;;;;;-1:-1:-1;5515:41:0;;;;-1:-1:-1;;;;;5515:41:0;;;;;;-1:-1:-1;;;;;2802:32:1;;;2784:51;;2772:2;2757:18;5515:41:0;2612:229:1;7258:95:0;;;;;;;;;;-1:-1:-1;4790:18:0;7258:95;;;2992:25:1;;;2980:2;2965:18;7258:95:0;2846:177:1;8107:446:0;;;;;;;;;;-1:-1:-1;8107:446:0;;;;;:::i;:::-;;:::i;5814:50::-;;;;;;;;;;;;;;;;7167:83;;;;;;;;;;-1:-1:-1;7167:83:0;;4464:1;3631:36:1;;3619:2;3604:18;7167:83:0;3489:184:1;5563:28:0;;;;;;;;;;-1:-1:-1;5563:28:0;;;;-1:-1:-1;;;;;5563:28:0;;;5967:32;;;;;;;;;;-1:-1:-1;5967:32:0;;;;;;;;;;;;;4060:25:1;;;4116:2;4101:18;;4094:34;;;;4033:18;5967:32:0;3886:248:1;18744:196:0;;;;;;;;;;-1:-1:-1;18744:196:0;;;;;:::i;:::-;;:::i;13680:92::-;;;;;;;;;;-1:-1:-1;13680:92:0;;;;;:::i;:::-;;:::i;17920:101::-;;;;;;;;;;-1:-1:-1;17920:101:0;;;;;:::i;:::-;;:::i;13262:233::-;;;;;;;;;;;;;:::i;7361:138::-;;;;;;;;;;-1:-1:-1;7361:138:0;;;;;:::i;:::-;;:::i;1734:148::-;;;;;;;;;;;;;:::i;18060:108::-;;;;;;;;;;-1:-1:-1;18060:108:0;;;;;:::i;:::-;;:::i;5705:46::-;;;;;;;;;;;;;;;;5334:43;;;;;;;;;;-1:-1:-1;5334:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1520:79;;;;;;;;;;-1:-1:-1;1558:7:0;1585:6;-1:-1:-1;;;;;1585:6:0;1520:79;;12911:101;;;;;;;;;;-1:-1:-1;12911:101:0;;;;;:::i;:::-;;:::i;5758:48::-;;;;;;;;;;;;;;;;7072:87;;;;;;;;;;-1:-1:-1;7144:7:0;;;;;;;;;;;;-1:-1:-1;;;7144:7:0;;;;7072:87;;17729:139;;;;;;;;;;-1:-1:-1;17729:139:0;;;;;:::i;:::-;;:::i;17386:291::-;;;;;;;;;;-1:-1:-1;17386:291:0;;;;;:::i;:::-;;:::i;7507:199::-;;;;;;;;;;-1:-1:-1;7507:199:0;;;;;:::i;:::-;;:::i;18541:195::-;;;;;;;;;;-1:-1:-1;18541:195:0;;;;;:::i;:::-;;:::i;5384:42::-;;;;;;;;;;-1:-1:-1;5384:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5290:36;;;;;;;;;;-1:-1:-1;5290:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13020:234;;;;;;;;;;;;;:::i;18299:::-;;;;;;;;;;-1:-1:-1;18299:234:0;;;;;:::i;:::-;;:::i;7714:184::-;;;;;;;;;;-1:-1:-1;7714:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7863:18:0;;;7831:7;7863:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7714:184;18176:115;;;;;;;;;;-1:-1:-1;18176:115:0;;;;;:::i;:::-;;:::i;14688:194::-;;;;;;;;;;-1:-1:-1;14688:194:0;;;;;:::i;:::-;;:::i;1890:244::-;;;;;;;;;;-1:-1:-1;1890:244:0;;;;;:::i;:::-;;:::i;13503:169::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;;;;;;;;;13579:9:::1;13574:91;13598:5;:12;13594:1;:16;13574:91;;;13649:4;13632;:14;13637:5;13643:1;13637:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13632:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13632:14:0;:21;;-1:-1:-1;;13632:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13612:3;::::1;::::0;::::1;:::i;:::-;;;;13574:91;;;;13503:169:::0;:::o;7906:193::-;8008:4;8030:39;359:10;8053:7;8062:6;8030:8;:39::i;:::-;-1:-1:-1;8087:4:0;7906:193;;;;;:::o;8107:446::-;8239:4;8256:36;8266:6;8274:9;8285:6;8256:9;:36::i;:::-;8303:220;8326:6;359:10;8374:138;8430:6;8374:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8374:19:0;;;;;;:11;:19;;;;;;;;359:10;8374:33;;;;;;;;;;:37;:138::i;:::-;8303:8;:220::i;:::-;-1:-1:-1;8541:4:0;8107:446;;;;;:::o;18744:196::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;18831:9:::1;18827:106;18846:19:::0;;::::1;18827:106;;;18899:9;:22;18909:8;;18918:1;18909:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18899:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18899:22:0;18892:29;;-1:-1:-1;;18892:29:0::1;::::0;;18867:3;::::1;::::0;::::1;:::i;:::-;;;;18827:106;;;;18744:196:::0;;:::o;13680:92::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13744:12:0::1;13759:5;13744:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13744:20:0::1;::::0;;13680:92::o;17920:101::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;17987:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17987:26:0::1;-1:-1:-1::0;;;;17987:26:0;;::::1;::::0;;;::::1;::::0;;17920:101::o;13262:233::-;13328:18;;-1:-1:-1;;;;;13328:18:0;359:10;-1:-1:-1;;;;;13312:34:0;;:70;;;-1:-1:-1;13366:16:0;;-1:-1:-1;;;;;13366:16:0;359:10;-1:-1:-1;;;;;13350:32:0;;13312:70;13304:79;;;;;;13423:21;13455:32;13423:21;13455:12;:32::i;:::-;13293:202;13262:233::o;7361:138::-;-1:-1:-1;;;;;7474:16:0;;7427:7;7474:16;;;:7;:16;;;;;;7454:37;;:19;:37::i;1734:148::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;1841:1:::1;1825:6:::0;;1804:40:::1;::::0;-1:-1:-1;;;;;1825:6:0;;::::1;::::0;1804:40:::1;::::0;1841:1;;1804:40:::1;1872:1;1855:19:::0;;-1:-1:-1;;;;;;1855:19:0::1;::::0;;1734:148::o;18060:108::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;18134:12:::1;:26:::0;18060:108::o;12911:101::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;12978:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12978:26:0::1;-1:-1:-1::0;;;;12978:26:0;;::::1;::::0;;;::::1;::::0;;12911:101::o;17729:139::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;17820:19:::1;:40:::0;17729:139::o;17386:291::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;17520:14:::1;:30:::0;;;;17561:15:::1;:32:::0;;;;17604:12:::1;:26:::0;17641:13:::1;:28:::0;17386:291::o;7507:199::-;7612:4;7634:42;359:10;7658:9;7669:6;7634:9;:42::i;18541:195::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;18627:9:::1;18623:106;18642:19:::0;;::::1;18623:106;;;18713:4;18688:9;:22;18698:8;;18707:1;18698:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18688:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18688:22:0;:29;;-1:-1:-1;;18688:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18663:3;::::1;::::0;::::1;:::i;:::-;;;;18623:106;;13020:234:::0;13086:18;;-1:-1:-1;;;;;13086:18:0;359:10;-1:-1:-1;;;;;13070:34:0;;:70;;;-1:-1:-1;13124:16:0;;-1:-1:-1;;;;;13124:16:0;359:10;-1:-1:-1;;;;;13108:32:0;;13070:70;13062:79;;;;;;13152:23;13178:24;13196:4;13178:9;:24::i;:::-;13152:50;;13213:33;13230:15;13213:16;:33::i;18299:234::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;18416:9:::1;18412:114;18431:19:::0;;::::1;18412:114;;;18506:8;18472:18;:31;18491:8;;18500:1;18491:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18472:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18472:31:0;:42;;-1:-1:-1;;18472:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18452:3;::::1;::::0;::::1;:::i;:::-;;;;18412:114;;;;18299:234:::0;;;:::o;18176:115::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;18253:14:::1;:30:::0;18176:115::o;14688:194::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;14791:12:::1;:38:::0;;;;14840:22;:34;14688:194::o;1890:244::-;1647:6;;-1:-1:-1;;;;;1647:6:0;359:10;1647:22;1639:67;;;;-1:-1:-1;;;1639:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1979:22:0;::::1;1971:73;;;::::0;-1:-1:-1;;;1971:73:0;;8253:2:1;1971:73:0::1;::::0;::::1;8235:21:1::0;8292:2;8272:18;;;8265:30;8331:34;8311:18;;;8304:62;-1:-1:-1;;;8382:18:1;;;8375:36;8428:19;;1971:73:0::1;8051:402:1::0;1971:73:0::1;2081:6;::::0;;2060:38:::1;::::0;-1:-1:-1;;;;;2060:38:0;;::::1;::::0;2081:6;::::1;::::0;2060:38:::1;::::0;::::1;2109:6;:17:::0;;-1:-1:-1;;;;;;2109:17:0::1;-1:-1:-1::0;;;;;2109:17:0;;;::::1;::::0;;;::::1;::::0;;1890:244::o;9244:369::-;-1:-1:-1;;;;;9371:19:0;;9363:68;;;;-1:-1:-1;;;9363:68:0;;8660:2:1;9363:68:0;;;8642:21:1;8699:2;8679:18;;;8672:30;8738:34;8718:18;;;8711:62;-1:-1:-1;;;8789:18:1;;;8782:34;8833:19;;9363:68:0;8458:400:1;9363:68:0;-1:-1:-1;;;;;9450:21:0;;9442:68;;;;-1:-1:-1;;;9442:68:0;;9065:2:1;9442:68:0;;;9047:21:1;9104:2;9084:18;;;9077:30;9143:34;9123:18;;;9116:62;-1:-1:-1;;;9194:18:1;;;9187:32;9236:19;;9442:68:0;8863:398:1;9442:68:0;-1:-1:-1;;;;;9521:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9573:32;;2992:25:1;;;9573:32:0;;2965:18:1;9573:32:0;;;;;;;9244:369;;;:::o;9621:2368::-;-1:-1:-1;;;;;9743:18:0;;9735:68;;;;-1:-1:-1;;;9735:68:0;;9468:2:1;9735:68:0;;;9450:21:1;9507:2;9487:18;;;9480:30;9546:34;9526:18;;;9519:62;-1:-1:-1;;;9597:18:1;;;9590:35;9642:19;;9735:68:0;9266:401:1;9735:68:0;-1:-1:-1;;;;;9822:16:0;;9814:64;;;;-1:-1:-1;;;9814:64:0;;9874:2:1;9814:64:0;;;9856:21:1;9913:2;9893:18;;;9886:30;9952:34;9932:18;;;9925:62;-1:-1:-1;;;10003:18:1;;;9996:33;10046:19;;9814:64:0;9672:399:1;9814:64:0;9906:1;9897:6;:10;9889:64;;;;-1:-1:-1;;;9889:64:0;;10278:2:1;9889:64:0;;;10260:21:1;10317:2;10297:18;;;10290:30;10356:34;10336:18;;;10329:62;-1:-1:-1;;;10407:18:1;;;10400:39;10456:19;;9889:64:0;10076:405:1;9889:64:0;1558:7;1585:6;-1:-1:-1;;;;;9970:15:0;;;1585:6;;9970:15;;;;:32;;-1:-1:-1;1558:7:0;1585:6;-1:-1:-1;;;;;9989:13:0;;;1585:6;;9989:13;;9970:32;:52;;;;-1:-1:-1;;;;;;10007:15:0;;;;;;:9;:15;;;;;;;;10006:16;9970:52;:70;;;;-1:-1:-1;;;;;;10027:13:0;;;;;;:9;:13;;;;;;;;10026:14;9970:70;9966:1297;;;10097:11;;-1:-1:-1;;;10097:11:0;;;;10092:144;;-1:-1:-1;;;;;10137:15:0;;;;;;:9;:15;;;;;;;;10129:91;;;;-1:-1:-1;;;10129:91:0;;10688:2:1;10129:91:0;;;10670:21:1;10727:2;10707:18;;;10700:30;10766:34;10746:18;;;10739:62;10837:33;10817:18;;;10810:61;10888:19;;10129:91:0;10486:427:1;10129:91:0;10270:12;;10260:6;:22;;10252:63;;;;-1:-1:-1;;;10252:63:0;;11120:2:1;10252:63:0;;;11102:21:1;11159:2;11139:18;;;11132:30;11198;11178:18;;;11171:58;11246:18;;10252:63:0;10918:352:1;10252:63:0;-1:-1:-1;;;;;10339:10:0;;;;;;:4;:10;;;;;;;;10338:11;:24;;;;-1:-1:-1;;;;;;10354:8:0;;;;;;:4;:8;;;;;;;;10353:9;10338:24;10330:72;;;;-1:-1:-1;;;10330:72:0;;11477:2:1;10330:72:0;;;11459:21:1;11516:2;11496:18;;;11489:30;11555:34;11535:18;;;11528:62;-1:-1:-1;;;11606:18:1;;;11599:33;11649:19;;10330:72:0;11275:399:1;10330:72:0;10428:13;;-1:-1:-1;;;;;10422:19:0;;;10428:13;;10422:19;10419:146;;10495:14;;10486:6;10470:13;10480:2;10470:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10462:87;;;;-1:-1:-1;;;10462:87:0;;12011:2:1;10462:87:0;;;11993:21:1;12050:2;12030:18;;;12023:30;12089:34;12069:18;;;12062:62;-1:-1:-1;;;12140:18:1;;;12133:33;12183:19;;10462:87:0;11809:399:1;10462:87:0;10581:28;10612:24;10630:4;10612:9;:24::i;:::-;10690:19;;10753:12;;10581:55;;-1:-1:-1;10666:43:0;;;;10729:36;;10726:124;;10822:12;;10799:35;;10726:124;10870:7;:18;;;;-1:-1:-1;10882:6:0;;-1:-1:-1;;;10882:6:0;;;;10881:7;10870:18;:43;;;;-1:-1:-1;10900:13:0;;-1:-1:-1;;;;;10892:21:0;;;10900:13;;10892:21;;10870:43;:58;;;;-1:-1:-1;10917:11:0;;-1:-1:-1;;;10917:11:0;;;;10870:58;:87;;;;-1:-1:-1;;;;;;10933:24:0;;;;;;:18;:24;;;;;;;;10932:25;10870:87;:114;;;;-1:-1:-1;;;;;;10962:22:0;;;;;;:18;:22;;;;;;;;10961:23;10870:114;10866:386;;;11005:38;11022:20;11005:16;:38::i;:::-;11091:21;11135:22;;11131:106;;11182:35;11195:21;11182:12;:35::i;:::-;10986:266;10866:386;10042:1221;;9966:1297;-1:-1:-1;;;;;11339:24:0;;11275:12;11339:24;;;:18;:24;;;;;;11290:4;;11339:24;;;:50;;-1:-1:-1;;;;;;11367:22:0;;;;;;:18;:22;;;;;;;;11339:50;11338:102;;;-1:-1:-1;11403:13:0;;-1:-1:-1;;;;;11395:21:0;;;11403:13;;11395:21;;;;:44;;-1:-1:-1;11426:13:0;;-1:-1:-1;;;;;11420:19:0;;;11426:13;;11420:19;;11395:44;11334:594;;;-1:-1:-1;11467:5:0;11334:594;;;11550:13;;-1:-1:-1;;;;;11542:21:0;;;11550:13;;11542:21;:55;;;;-1:-1:-1;11581:15:0;;-1:-1:-1;;;;;11567:30:0;;;11581:15;;11567:30;;11542:55;11539:162;;;11630:14;;11618:9;:26;11673:12;;11663:7;:22;11539:162;11760:13;;-1:-1:-1;;;;;11754:19:0;;;11760:13;;11754:19;:55;;;;-1:-1:-1;11793:15:0;;-1:-1:-1;;;;;11777:32:0;;;11793:15;;11777:32;;11754:55;11750:165;;;11842:15;;11830:9;:27;11886:13;;11876:7;:23;11750:165;11940:41;11955:4;11961:2;11965:6;11973:7;11940:14;:41::i;2498:224::-;2618:7;2654:12;2646:6;;;;2638:29;;;;-1:-1:-1;;;2638:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2678:9:0;2690:5;2694:1;2690;:5;:::i;:::-;2678:17;2498:224;-1:-1:-1;;;;;2498:224:0:o;12488:415::-;6093:6;:13;;-1:-1:-1;;;;6093:13:0;-1:-1:-1;;;6093:13:0;;;12645:22;;12583:6;;6093:13;;12625:52:::1;::::0;12673:3:::1;::::0;12625:43:::1;::::0;12583:6;;12625:19:::1;:43::i;:::-;:47:::0;::::1;:52::i;:::-;12600:77;;12688:24;12715:54;12765:3;12715:45;12735:12;:24;;;12715:15;:19;;:45;;;;:::i;:54::-;12788:16;::::0;12780:50:::1;::::0;12688:81;;-1:-1:-1;;;;;;12788:16:0::1;::::0;12780:50;::::1;;;::::0;12815:14;;12788:16:::1;12780:50:::0;12788:16;12780:50;12815:14;12788:16;12780:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;12849:18:0::1;::::0;12841:54:::1;::::0;-1:-1:-1;;;;;12849:18:0;;::::1;::::0;12841:54;::::1;;;::::0;12878:16;;12849:18:::1;12841:54:::0;12849:18;12841:54;12878:16;12849:18;12841:54;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6129:6:0;:14;;-1:-1:-1;;;;6129:14:0;;;-1:-1:-1;;;12488:415:0:o;8561:323::-;8656:7;8714;;8703;:18;;8681:110;;;;-1:-1:-1;;;8681:110:0;;12548:2:1;8681:110:0;;;12530:21:1;12587:2;12567:18;;;12560:30;12626:34;12606:18;;;12599:62;-1:-1:-1;;;12677:18:1;;;12670:40;12727:19;;8681:110:0;12346:406:1;8681:110:0;8802:19;8824:10;:8;:10::i;:::-;8802:32;-1:-1:-1;8852:24:0;:7;8802:32;8852:11;:24::i;:::-;8845:31;8561:323;-1:-1:-1;;;8561:323:0:o;11997:483::-;6093:6;:13;;-1:-1:-1;;;;6093:13:0;-1:-1:-1;;;6093:13:0;;;12099:16:::1;::::0;;12113:1:::1;12099:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12099:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12099:16:0::1;12075:40;;12144:4;12126;12131:1;12126:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12126:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12170:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12170:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12126:7;;12170:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12160:4;12165:1;12160:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12160:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12235:15:::1;::::0;12203:62:::1;::::0;12220:4:::1;::::0;12235:15:::1;12253:11:::0;12203:8:::1;:62::i;:::-;12276:15;::::0;:196:::1;::::0;-1:-1:-1;;;12276:196:0;;-1:-1:-1;;;;;12276:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12357:11;;12276:15:::1;::::0;12399:4;;12426::::1;::::0;12446:15:::1;::::0;12276:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6129:6:0;:14;;-1:-1:-1;;;;6129:14:0;;;-1:-1:-1;;;;11997:483:0:o;13780:282::-;13936:7;13931:28;;13945:14;:12;:14::i;:::-;13970:44;13988:6;13996:9;14007:6;13970:17;:44::i;:::-;14030:7;14025:29;;14039:15;9175:17;;9163:9;:29;9213:15;;9203:7;:25;9119:117;2730:246;2788:7;2812:1;2817;2812:6;2808:47;;-1:-1:-1;2842:1:0;2835:8;;2808:47;2865:9;2877:5;2881:1;2877;:5;:::i;:::-;2865:17;-1:-1:-1;2910:1:0;2901:5;2905:1;2865:17;2901:5;:::i;:::-;:10;2893:56;;;;-1:-1:-1;;;2893:56:0;;14595:2:1;2893:56:0;;;14577:21:1;14634:2;14614:18;;;14607:30;14673:34;14653:18;;;14646:62;-1:-1:-1;;;14724:18:1;;;14717:31;14765:19;;2893:56:0;14393:397:1;2984:132:0;3042:7;3069:39;3073:1;3076;3069:39;;;;;;;;;;;;;;;;;:3;:39::i;16949:164::-;16991:7;17012:15;17029;17048:19;:17;:19::i;:::-;17011:56;;-1:-1:-1;17011:56:0;-1:-1:-1;17085:20:0;17011:56;;17085:11;:20::i;:::-;17078:27;;;;16949:164;:::o;8892:219::-;8939:9;;:14;:30;;;;-1:-1:-1;8957:7:0;;:12;8939:30;8935:43;;;8892:219::o;8935:43::-;9010:9;;;8990:17;:29;9048:7;;;9030:15;:25;-1:-1:-1;9068:13:0;;;;9092:11;8892:219::o;14070:610::-;14217:15;14247:23;14285:12;14312:23;14350:12;14377:13;14404:19;14415:7;14404:10;:19::i;:::-;-1:-1:-1;;;;;14452:15:0;;;;;;:7;:15;;;;;;14202:221;;-1:-1:-1;14202:221:0;;-1:-1:-1;14202:221:0;;-1:-1:-1;14202:221:0;-1:-1:-1;14202:221:0;-1:-1:-1;14202:221:0;-1:-1:-1;14452:28:0;;14202:221;14452:19;:28::i;:::-;-1:-1:-1;;;;;14434:15:0;;;;;;;:7;:15;;;;;;:46;;;;14512:18;;;;;;;:39;;14535:15;14512:22;:39::i;:::-;-1:-1:-1;;;;;14491:18:0;;;;;;:7;:18;;;;;:60;14562:16;14572:5;14562:9;:16::i;:::-;14589:23;14601:4;14607;14589:11;:23::i;:::-;14645:9;-1:-1:-1;;;;;14628:44:0;14637:6;-1:-1:-1;;;;;14628:44:0;;14656:15;14628:44;;;;2992:25:1;;2980:2;2965:18;;2846:177;14628:44:0;;;;;;;;14191:489;;;;;;14070:610;;;:::o;3124:223::-;3244:7;3279:12;3272:5;3264:28;;;;-1:-1:-1;;;3264:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3303:9:0;3315:5;3319:1;3315;:5;:::i;17121:257::-;17219:7;;17172;;;;4790:18;17287:20;17219:7;4790:18;17287:11;:20::i;:::-;17277:7;:30;17273:61;;;-1:-1:-1;;17317:7:0;;;4790:18;;-1:-1:-1;17121:257:0;-1:-1:-1;17121:257:0:o;17273:61::-;17353:7;;17362;;-1:-1:-1;17121:257:0;-1:-1:-1;17121:257:0:o;15307:615::-;15407:7;15429;15451;15473;15495;15517;15553:23;15578:12;15592:13;15622:40;15634:7;15643:9;;15654:7;;15622:11;:40::i;:::-;15552:110;;;;;;15673:19;15695:10;:8;:10::i;:::-;15673:32;;15717:15;15734:23;15759:12;15788:46;15800:7;15809:4;15815:5;15822:11;15788;:46::i;:::-;15716:118;;-1:-1:-1;15716:118:0;-1:-1:-1;15716:118:0;-1:-1:-1;15885:15:0;;-1:-1:-1;15902:4:0;;-1:-1:-1;15908:5:0;;-1:-1:-1;;;;;15307:615:0;;;;;;;:::o;2354:136::-;2412:7;2439:43;2443:1;2446;2439:43;;;;;;;;;;;;;;;;;:3;:43::i;2167:179::-;2225:7;;2257:5;2261:1;2257;:5;:::i;:::-;2245:17;;2286:1;2281;:6;;2273:46;;;;-1:-1:-1;;;2273:46:0;;14997:2:1;2273:46:0;;;14979:21:1;15036:2;15016:18;;;15009:30;15075:29;15055:18;;;15048:57;15122:18;;2273:46:0;14795:351:1;14890:211:0;14943:19;14965:10;:8;:10::i;:::-;14943:32;-1:-1:-1;14986:13:0;15002:22;:5;14943:32;15002:9;:22::i;:::-;15076:4;15060:22;;;;:7;:22;;;;;;14986:38;;-1:-1:-1;15060:33:0;;14986:38;15060:26;:33::i;:::-;15051:4;15035:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14890:211:0:o;15109:147::-;15187:7;;:17;;15199:4;15187:11;:17::i;:::-;15177:7;:27;15228:10;;:20;;15243:4;15228:14;:20::i;:::-;15215:10;:33;-1:-1:-1;;15109:147:0:o;15930:469::-;16099:7;;;;16193:30;16219:3;16193:21;:7;16205:8;16193:11;:21::i;:30::-;16178:45;-1:-1:-1;16234:13:0;16250:28;16274:3;16250:19;:7;16262:6;16250:11;:19::i;:28::-;16234:44;-1:-1:-1;16289:23:0;16315:28;16234:44;16315:17;:7;16327:4;16315:11;:17::i;:::-;:21;;:28::i;:::-;16289:54;16379:4;;-1:-1:-1;16385:5:0;;-1:-1:-1;15930:469:0;;-1:-1:-1;;;;;15930:469:0:o;16407:534::-;16601:7;;;;16698:24;:7;16710:11;16698;:24::i;:::-;16680:42;-1:-1:-1;16733:12:0;16748:21;:4;16757:11;16748:8;:21::i;:::-;16733:36;-1:-1:-1;16780:13:0;16796:22;:5;16806:11;16796:9;:22::i;:::-;16780:38;-1:-1:-1;16829:23:0;16855:28;16780:38;16855:17;:7;16867:4;16855:11;:17::i;:28::-;16902:7;;;;-1:-1:-1;16928:4:0;;-1:-1:-1;16407:534:0;;-1:-1:-1;;;;;;;16407:534:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:548::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1831:3;2016:1;2011:2;2002:6;1991:9;1987:22;1983:31;1976:42;2086:2;2079;2075:7;2070:2;2062:6;2058:15;2054:29;2043:9;2039:45;2035:54;2027:62;;;;1547:548;;;;:::o;2100:315::-;2168:6;2176;2229:2;2217:9;2208:7;2204:23;2200:32;2197:52;;;2245:1;2242;2235:12;2197:52;2284:9;2271:23;2303:31;2328:5;2303:31;:::i;:::-;2353:5;2405:2;2390:18;;;;2377:32;;-1:-1:-1;;;2100:315:1:o;3028:456::-;3105:6;3113;3121;3174:2;3162:9;3153:7;3149:23;3145:32;3142:52;;;3190:1;3187;3180:12;3142:52;3229:9;3216:23;3248:31;3273:5;3248:31;:::i;:::-;3298:5;-1:-1:-1;3355:2:1;3340:18;;3327:32;3368:33;3327:32;3368:33;:::i;:::-;3028:456;;3420:7;;-1:-1:-1;;;3474:2:1;3459:18;;;;3446:32;;3028:456::o;4139:367::-;4202:8;4212:6;4266:3;4259:4;4251:6;4247:17;4243:27;4233:55;;4284:1;4281;4274:12;4233:55;-1:-1:-1;4307:20:1;;4350:18;4339:30;;4336:50;;;4382:1;4379;4372:12;4336:50;4419:4;4411:6;4407:17;4395:29;;4479:3;4472:4;4462:6;4459:1;4455:14;4447:6;4443:27;4439:38;4436:47;4433:67;;;4496:1;4493;4486:12;4433:67;4139:367;;;;;:::o;4511:437::-;4597:6;4605;4658:2;4646:9;4637:7;4633:23;4629:32;4626:52;;;4674:1;4671;4664:12;4626:52;4714:9;4701:23;4747:18;4739:6;4736:30;4733:50;;;4779:1;4776;4769:12;4733:50;4818:70;4880:7;4871:6;4860:9;4856:22;4818:70;:::i;:::-;4907:8;;4792:96;;-1:-1:-1;4511:437:1;-1:-1:-1;;;;4511:437:1:o;4953:247::-;5012:6;5065:2;5053:9;5044:7;5040:23;5036:32;5033:52;;;5081:1;5078;5071:12;5033:52;5120:9;5107:23;5139:31;5164:5;5139:31;:::i;5205:160::-;5270:20;;5326:13;;5319:21;5309:32;;5299:60;;5355:1;5352;5345:12;5370:180;5426:6;5479:2;5467:9;5458:7;5454:23;5450:32;5447:52;;;5495:1;5492;5485:12;5447:52;5518:26;5534:9;5518:26;:::i;5555:180::-;5614:6;5667:2;5655:9;5646:7;5642:23;5638:32;5635:52;;;5683:1;5680;5673:12;5635:52;-1:-1:-1;5706:23:1;;5555:180;-1:-1:-1;5555:180:1:o;5740:385::-;5826:6;5834;5842;5850;5903:3;5891:9;5882:7;5878:23;5874:33;5871:53;;;5920:1;5917;5910:12;5871:53;-1:-1:-1;;5943:23:1;;;6013:2;5998:18;;5985:32;;-1:-1:-1;6064:2:1;6049:18;;6036:32;;6115:2;6100:18;6087:32;;-1:-1:-1;5740:385:1;-1:-1:-1;5740:385:1:o;6130:505::-;6222:6;6230;6238;6291:2;6279:9;6270:7;6266:23;6262:32;6259:52;;;6307:1;6304;6297:12;6259:52;6347:9;6334:23;6380:18;6372:6;6369:30;6366:50;;;6412:1;6409;6402:12;6366:50;6451:70;6513:7;6504:6;6493:9;6489:22;6451:70;:::i;:::-;6540:8;;-1:-1:-1;6425:96:1;-1:-1:-1;6594:35:1;;-1:-1:-1;6625:2:1;6610:18;;6594:35;:::i;:::-;6584:45;;6130:505;;;;;:::o;6640:388::-;6708:6;6716;6769:2;6757:9;6748:7;6744:23;6740:32;6737:52;;;6785:1;6782;6775:12;6737:52;6824:9;6811:23;6843:31;6868:5;6843:31;:::i;:::-;6893:5;-1:-1:-1;6950:2:1;6935:18;;6922:32;6963:33;6922:32;6963:33;:::i;:::-;7015:7;7005:17;;;6640:388;;;;;:::o;7033:248::-;7101:6;7109;7162:2;7150:9;7141:7;7137:23;7133:32;7130:52;;;7178:1;7175;7168:12;7130:52;-1:-1:-1;;7201:23:1;;;7271:2;7256:18;;;7243:32;;-1:-1:-1;7033:248:1:o;7286:356::-;7488:2;7470:21;;;7507:18;;;7500:30;7566:34;7561:2;7546:18;;7539:62;7633:2;7618:18;;7286:356::o;7647:127::-;7708:10;7703:3;7699:20;7696:1;7689:31;7739:4;7736:1;7729:15;7763:4;7760:1;7753:15;7779:127;7840:10;7835:3;7831:20;7828:1;7821:31;7871:4;7868:1;7861:15;7895:4;7892:1;7885:15;7911:135;7950:3;7971:17;;;7968:43;;7991:18;;:::i;:::-;-1:-1:-1;8038:1:1;8027:13;;7911:135::o;11679:125::-;11744:9;;;11765:10;;;11762:36;;;11778:18;;:::i;12213:128::-;12280:9;;;12301:11;;;12298:37;;;12315:18;;:::i;12757:251::-;12827:6;12880:2;12868:9;12859:7;12855:23;12851:32;12848:52;;;12896:1;12893;12886:12;12848:52;12928:9;12922:16;12947:31;12972:5;12947:31;:::i;13013:980::-;13275:4;13323:3;13312:9;13308:19;13354:6;13343:9;13336:25;13380:2;13418:6;13413:2;13402:9;13398:18;13391:34;13461:3;13456:2;13445:9;13441:18;13434:31;13485:6;13520;13514:13;13551:6;13543;13536:22;13589:3;13578:9;13574:19;13567:26;;13628:2;13620:6;13616:15;13602:29;;13649:1;13659:195;13673:6;13670:1;13667:13;13659:195;;;13738:13;;-1:-1:-1;;;;;13734:39:1;13722:52;;13829:15;;;;13794:12;;;;13770:1;13688:9;13659:195;;;-1:-1:-1;;;;;;;13910:32:1;;;;13905:2;13890:18;;13883:60;-1:-1:-1;;;13974:3:1;13959:19;13952:35;13871:3;13013:980;-1:-1:-1;;;13013:980:1:o;13998:168::-;14038:7;14104:1;14100;14096:6;14092:14;14089:1;14086:21;14081:1;14074:9;14067:17;14063:45;14060:71;;;14111:18;;:::i;:::-;-1:-1:-1;14151:9:1;;13998:168::o;14171:217::-;14211:1;14237;14227:132;;14281:10;14276:3;14272:20;14269:1;14262:31;14316:4;14313:1;14306:15;14344:4;14341:1;14334:15;14227:132;-1:-1:-1;14373:9:1;;14171:217::o

Swarm Source

ipfs://bb6a47cf8e2d7c9fb1e5de75df6233d428cb25d8e30439b8aadf2aad763e4174

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.