ETH Price: $2,483.98 (-1.15%)

Contract

0x67da87895756715b69606b97C7D7f1C462a2C6a6
 

Overview

ETH Balance

0.000332610342866245 ETH

Eth Value

$0.83 (@ $2,483.98/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Settings169206842023-03-27 19:04:59585 days ago1679943899IN
0x67da8789...462a2C6a6
0 ETH0.001348430.01185718
Approve169205992023-03-27 18:47:59585 days ago1679942879IN
0x67da8789...462a2C6a6
0 ETH0.0014967531.98254116
Approve169130992023-03-26 17:31:23587 days ago1679851883IN
0x67da8789...462a2C6a6
0 ETH0.0012039325.85829182
Approve168672092023-03-20 6:50:23593 days ago1679295023IN
0x67da8789...462a2C6a6
0 ETH0.0005781412.3538421
Approve168671912023-03-20 6:46:23593 days ago1679294783IN
0x67da8789...462a2C6a6
0 ETH0.0007186715.33692751
Approve167144482023-02-26 19:20:47614 days ago1677439247IN
0x67da8789...462a2C6a6
0 ETH0.001120323.90798833
Approve164562162023-01-21 15:56:59651 days ago1674316619IN
0x67da8789...462a2C6a6
0 ETH0.0009729220.78952214
Approve163827072023-01-11 9:34:47661 days ago1673429687IN
0x67da8789...462a2C6a6
0 ETH0.0006718514.33775282
Approve163826912023-01-11 9:31:35661 days ago1673429495IN
0x67da8789...462a2C6a6
0 ETH0.0008250417.6069839
Approve163826912023-01-11 9:31:35661 days ago1673429495IN
0x67da8789...462a2C6a6
0 ETH0.000871918.6069839
Approve163785022023-01-10 19:28:59661 days ago1673378939IN
0x67da8789...462a2C6a6
0 ETH0.002606855.63080786
Approve163785022023-01-10 19:28:59661 days ago1673378939IN
0x67da8789...462a2C6a6
0 ETH0.002606855.63080786
Approve163785022023-01-10 19:28:59661 days ago1673378939IN
0x67da8789...462a2C6a6
0 ETH0.002606855.63080786
Approve163785022023-01-10 19:28:59661 days ago1673378939IN
0x67da8789...462a2C6a6
0 ETH0.002606855.63080786
Approve163785022023-01-10 19:28:59661 days ago1673378939IN
0x67da8789...462a2C6a6
0 ETH0.002606855.63080786
Approve163784752023-01-10 19:23:35661 days ago1673378615IN
0x67da8789...462a2C6a6
0 ETH0.0015391832.84711678
Approve162850132022-12-28 18:21:59674 days ago1672251719IN
0x67da8789...462a2C6a6
0 ETH0.0009424520.11253561
Approve162850012022-12-28 18:19:35674 days ago1672251575IN
0x67da8789...462a2C6a6
0 ETH0.0013188328.14474343
Approve162650632022-12-25 23:31:35677 days ago1672011095IN
0x67da8789...462a2C6a6
0 ETH0.0006083612.98294474
Approve162233682022-12-20 3:58:47683 days ago1671508727IN
0x67da8789...462a2C6a6
0 ETH0.0006992614.92267124
Approve162207852022-12-19 19:18:23683 days ago1671477503IN
0x67da8789...462a2C6a6
0 ETH0.000780516.65643481
Approve162207592022-12-19 19:13:11683 days ago1671477191IN
0x67da8789...462a2C6a6
0 ETH0.0007663216.35388573
Transfer162207202022-12-19 19:05:23683 days ago1671476723IN
0x67da8789...462a2C6a6
0 ETH0.0011701417.88089716
Approve162206952022-12-19 19:00:23683 days ago1671476423IN
0x67da8789...462a2C6a6
0 ETH0.0009246119.73183588
Approve162206782022-12-19 18:56:59683 days ago1671476219IN
0x67da8789...462a2C6a6
0 ETH0.0008870518.93027277
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
164573402023-01-21 19:42:47650 days ago1674330167
0x67da8789...462a2C6a6
0.00237495 ETH
164573402023-01-21 19:42:47650 days ago1674330167
0x67da8789...462a2C6a6
0.00237495 ETH
164573352023-01-21 19:41:47650 days ago1674330107
0x67da8789...462a2C6a6
0.0012577 ETH
164573352023-01-21 19:41:47650 days ago1674330107
0x67da8789...462a2C6a6
0.0012577 ETH
164035202023-01-14 7:22:23658 days ago1673680943
0x67da8789...462a2C6a6
0.00304767 ETH
164035202023-01-14 7:22:23658 days ago1673680943
0x67da8789...462a2C6a6
0.00304767 ETH
164035152023-01-14 7:21:23658 days ago1673680883
0x67da8789...462a2C6a6
0.00349273 ETH
164035152023-01-14 7:21:23658 days ago1673680883
0x67da8789...462a2C6a6
0.00349273 ETH
163854482023-01-11 18:47:35660 days ago1673462855
0x67da8789...462a2C6a6
0.00404915 ETH
163854482023-01-11 18:47:35660 days ago1673462855
0x67da8789...462a2C6a6
0.00404915 ETH
163848692023-01-11 16:49:11661 days ago1673455751
0x67da8789...462a2C6a6
0.00435301 ETH
163848692023-01-11 16:49:11661 days ago1673455751
0x67da8789...462a2C6a6
0.00435301 ETH
163848692023-01-11 16:49:11661 days ago1673455751
0x67da8789...462a2C6a6
0.0047359 ETH
163848692023-01-11 16:49:11661 days ago1673455751
0x67da8789...462a2C6a6
0.0047359 ETH
163847302023-01-11 16:21:23661 days ago1673454083
0x67da8789...462a2C6a6
0.0051473 ETH
163847302023-01-11 16:21:23661 days ago1673454083
0x67da8789...462a2C6a6
0.0051473 ETH
163832112023-01-11 11:15:47661 days ago1673435747
0x67da8789...462a2C6a6
0.00282171 ETH
163832112023-01-11 11:15:47661 days ago1673435747
0x67da8789...462a2C6a6
0.00282171 ETH
163785082023-01-10 19:30:11661 days ago1673379011
0x67da8789...462a2C6a6
0.00341954 ETH
163785082023-01-10 19:30:11661 days ago1673379011
0x67da8789...462a2C6a6
0.00341954 ETH
163785082023-01-10 19:30:11661 days ago1673379011
0x67da8789...462a2C6a6
0.00368266 ETH
163785082023-01-10 19:30:11661 days ago1673379011
0x67da8789...462a2C6a6
0.00368266 ETH
163785072023-01-10 19:29:59661 days ago1673378999
0x67da8789...462a2C6a6
0.00196617 ETH
163785072023-01-10 19:29:59661 days ago1673378999
0x67da8789...462a2C6a6
0.00196617 ETH
163784852023-01-10 19:25:35661 days ago1673378735
0x67da8789...462a2C6a6
0.00483614 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RegnumDao

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
byzantium EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-21
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.1;

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB)
    external
    view
    returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    function createPair(address tokenA, address tokenB)
    external
    returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}


interface IUniswapV2Router01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);

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

    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountToken, uint256 amountETH);

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function swapTokensForExactETH(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function quote(
        uint256 amountA,
        uint256 reserveA,
        uint256 reserveB
    ) external pure returns (uint256 amountB);

    function getAmountOut(
        uint256 amountIn,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountOut);

    function getAmountIn(
        uint256 amountOut,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountIn);

    function getAmountsOut(uint256 amountIn, address[] calldata path)
    external
    view
    returns (uint256[] memory amounts);

    function getAmountsIn(uint256 amountOut, address[] calldata path)
    external
    view
    returns (uint256[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountETH);

    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountETH);

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

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

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

contract RegnumDao is Context, IERC20, IERC20Metadata, Ownable {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee;
    mapping(address => bool) public _isBlacklisted;
    mapping(address => bool) public _tradeAllowedList;

    string private _name = "RegnumDAO";
    string private _symbol = "REX";
    uint8 private _decimals = 9;

    uint256 private _initSupply = 100_000_000;
    uint256 private _totalSupply = _initSupply * 10**_decimals;

    address public _liqWallet;
    address payable public _devMarketingWallet;

    uint256 public _maxTxAmount;
    uint256 public _maxWalletAmount;
    uint256 private _amountToFlush;
    uint256 public _lpExtraSum;
    uint256 public _devMarketingSum;
    bool private _inSwapAndLiquify;

    IUniswapV2Router02 public immutable _uniswapV2Router;
    address public immutable _uniswapV2Pair;

    uint256 private _feeDenominator = 1000;

    bool public _tradeEnabled;
    bool public _tResolverEnabled;

    event Boom();
    event ThirdEyeResolver(address wallet);
    event ToDevMarketing(uint256 balance0);
    event ToLiquidity(uint256 balance0, uint256 balance1);

    struct IThirdEye {
        uint256 startedAt;
        bool safu;
        uint256 when;
    }

    IThirdEye public _thirdEye =
    IThirdEye({
    startedAt: 0,
    safu: true,
    when: 3
    });

    struct ITax {
        uint256 lpFee;
        uint256 devMarketingFee;
        uint256 burnFee;
    }

    ITax public _buyTax =
    ITax({
    lpFee: 10,
    devMarketingFee: 40,
    burnFee: 0
    });

    ITax public _sellTax =
    ITax({
    lpFee: 10,
    devMarketingFee: 40,
    burnFee: 0
    });

    ITax public _transferTax =
    ITax({
    lpFee: 10,
    devMarketingFee: 40,
    burnFee: 0
    });

    modifier busySwap() {
        _inSwapAndLiquify = true;
        _;
        _inSwapAndLiquify = false;
    }

    constructor(address mWallet_) {
        _maxTxAmount = 1000000 * 10**_decimals; //1%
        _maxWalletAmount = 2000000 * 10**_decimals; //2%
        _amountToFlush = 100000 * 10**_decimals; //0.1%

        _liqWallet = _msgSender();
        _devMarketingWallet = payable(mWallet_);

        _tradeEnabled = false;

        _lpExtraSum = 0;
        _devMarketingSum = 0;

        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_devMarketingWallet] = true;

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);

        _balances[address(this)] = 0;
        _balances[_devMarketingWallet] = 0;

        _tradeAllowedList[_msgSender()] = true;
        _tradeAllowedList[address(this)] = true;

        //IUniswapV2Router02 uniswapV2Router_ = IUniswapV2Router02(0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3); //bsc-tesnet
        IUniswapV2Router02 uniswapV2Router_ = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); //eth-uni

        _uniswapV2Pair = IUniswapV2Factory(uniswapV2Router_.factory()).createPair(address(this), uniswapV2Router_.WETH());
        _uniswapV2Router = uniswapV2Router_;

        _approve(_msgSender(), address(uniswapV2Router_), type(uint256).max);
        _approve(address(this), address(uniswapV2Router_), type(uint256).max);
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[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 virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual 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()] - (amount));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool){
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + (addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - (subtractedValue));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        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 setDevMarketingWallet(address payable newAddress) external onlyOwner {
        _devMarketingWallet = payable(newAddress);
    }

    function setLiqWallet(address newAddress) external onlyOwner {
        _liqWallet = newAddress;
    }

    function flushReserveBalance() external onlyOwner {
        uint256 amountETH = address(this).balance;
        payable(_devMarketingWallet).transfer(amountETH);
    }

    function flushMarketingTax(uint256 tokenBalance) external onlyOwner {
        shouldTakeDevMarketing(tokenBalance);
    }

    function setAccountFromFee(address account, bool flag) public onlyOwner {
        _isExcludedFromFee[account] = flag;
    }

    function excludeFromBlacklist(address account) public onlyOwner {
        _isBlacklisted[account] = false;
    }

    function setResolverStatus(bool flag) public onlyOwner {
        _tResolverEnabled = flag;
    }

    function setSettings(uint256 maxWallet, uint256 maxTx, uint256 toFlush) public onlyOwner {
        require(maxWallet * 10**_decimals > 1000000 * 10**_decimals, "Max Wallet must be above 1% of total supply.");
        require(maxTx * 10**_decimals > 500000 * 10**_decimals, "Max Transaction must be above 0.5% of total supply.");

        _maxWalletAmount = maxWallet * 10**_decimals;
        _maxTxAmount = maxTx * 10**_decimals;
        _amountToFlush = toFlush * 10**_decimals;
    }

    function setFee(uint8 feeType, uint256 liqFee, uint256 devMarketingFee, uint256 burnFee) public onlyOwner {
        require(liqFee + devMarketingFee + burnFee <= 100);

        if(feeType == 0) {
            _buyTax = ITax({
            lpFee: liqFee,
            devMarketingFee: devMarketingFee,
            burnFee: burnFee
            });
        }else if(feeType == 1){
            _sellTax = ITax({
            lpFee: liqFee,
            devMarketingFee: devMarketingFee,
            burnFee: burnFee
            });
        }else if(feeType == 2){
            _transferTax = ITax({
            lpFee: liqFee,
            devMarketingFee: devMarketingFee,
            burnFee: burnFee
            });
        }
    }

    function setupThirdEye() external onlyOwner {
        if (_thirdEye.startedAt == 0) {
            _thirdEye.startedAt = block.number;
            _tResolverEnabled = true;

            emit Boom();

            _tradeEnabled = true;
        }
    }

    function thirdEyeResolver(address account) private{
        if(account == _uniswapV2Pair || account == address(this) || account == address(_uniswapV2Router)) {revert();}

        _isBlacklisted[account] = true;
        emit ThirdEyeResolver(account);
    }

    function shouldTakeLiq(uint256 tokenBalance) private busySwap {
        if (tokenBalance > 0) {
            uint256 splittedBalance = tokenBalance / 2;
            uint256 initBalance = address(this).balance;
            swapTokensForEth(splittedBalance);
            uint256 currentBalance = address(this).balance;

            uint256 ethBalance = uint256(currentBalance - initBalance);
            if (ethBalance > 0) {
                addLiquidity(splittedBalance, ethBalance);
                emit ToLiquidity(splittedBalance, ethBalance);
                _lpExtraSum -= tokenBalance;
            }
        }
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        if(_allowances[address(this)][address(_uniswapV2Router)] < tokenAmount) {
            _approve(address(this), address(_uniswapV2Router), type(uint256).max);
        }

        _uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            _liqWallet,
            block.timestamp
        );
    }

    function shouldTakeDevMarketing(uint256 tokenBalance) private busySwap {
        if (tokenBalance > 0) {
            uint256 initBalance = address(this).balance;
            swapTokensForEth(tokenBalance);
            uint256 currentBalance = address(this).balance;

            uint256 ethBalance = uint256(currentBalance - initBalance);
            if (ethBalance > 0) {
                _devMarketingWallet.transfer(ethBalance);
                emit ToDevMarketing(ethBalance);
                _devMarketingSum -= tokenBalance;
            }
        }
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        if(_allowances[address(this)][address(_uniswapV2Router)] < tokenAmount) {
            _approve(address(this), address(_uniswapV2Router), type(uint256).max);
        }

        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function _transfer(address from, address to, uint256 amount) internal virtual {
        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");
        require(_isBlacklisted[from] == false, "Third-eye is watching you");
        require(_isBlacklisted[to] == false, "Third-eye is watching you");

        if (!_tradeEnabled) {
            require(_tradeAllowedList[from] || _tradeAllowedList[to], "Transfer: not allowed");
            require(balanceOf(_uniswapV2Pair) == 0 || to != _uniswapV2Pair, "Transfer: not allowed");
        }

        if(from != owner() && to != owner() || to != address(0xdead) && to != address(0))
        {
            if (from == _uniswapV2Pair || to == _uniswapV2Pair && (!_isExcludedFromFee[to] && !_isExcludedFromFee[from])) {
                require(amount <= _maxTxAmount);
            }
            if(to != address(_uniswapV2Router) && to != _uniswapV2Pair && !_isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletAmount);
            }
        }

        if(!_inSwapAndLiquify && from != _uniswapV2Pair && _tResolverEnabled) {
            if (_lpExtraSum > _amountToFlush) {
                shouldTakeLiq(_amountToFlush);
            }else{
                if (_devMarketingSum > _amountToFlush) {
                    shouldTakeDevMarketing(_amountToFlush);
                }
            }
        }

        bool shouldTakeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            shouldTakeFee = false;
        }

        if(!_tResolverEnabled) {
            shouldTakeFee = false;
        }

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

    function _tokenTransfer(address sender, address recipient, uint256 amount, bool shouldTakeFee) private {
        uint256 liqFee = 0;
        uint256 devMarketingFee = 0;
        uint256 burnFee = 0;

        uint256 liqFeeAmount = 0;
        uint256 devMarketingFeeAmount = 0;
        uint256 burnFeeAmount = 0;

        uint256 feeAmount = 0;

        bool thirdEyeFee = false;

        if (_thirdEye.safu) {
            uint256 thirdEyeResolveNumber = (_thirdEye.startedAt + _thirdEye.when);
            if (_thirdEye.startedAt > 0 && block.number > thirdEyeResolveNumber) {
                _thirdEye.safu = false;
            } else {
                if (sender == _uniswapV2Pair && recipient != address(_uniswapV2Router) && !_isExcludedFromFee[recipient]) {
                    thirdEyeResolver(recipient);
                    thirdEyeFee = true;
                }
            }
        }

        if (shouldTakeFee) {
            if (thirdEyeFee) {
                liqFee = 800;
                devMarketingFee = 0;
                burnFee = 0;
            }else{
                if (sender == _uniswapV2Pair) {
                    liqFee = _buyTax.lpFee;
                    devMarketingFee = _buyTax.devMarketingFee;
                    burnFee = _buyTax.burnFee;
                } else if (recipient == _uniswapV2Pair) {
                    liqFee = _sellTax.lpFee;
                    devMarketingFee = _sellTax.devMarketingFee;
                    burnFee = _sellTax.burnFee;
                } else {
                    liqFee = _transferTax.lpFee;
                    devMarketingFee = _transferTax.devMarketingFee;
                    burnFee = _transferTax.burnFee;
                }
            }

            feeAmount = (amount * (liqFee + devMarketingFee + burnFee)) / (1000);

            if ((liqFee + devMarketingFee + burnFee) > 0) {
                liqFeeAmount = feeAmount * liqFee / (liqFee + devMarketingFee + burnFee);
                devMarketingFeeAmount = feeAmount * devMarketingFee / (liqFee + devMarketingFee + burnFee);
                burnFeeAmount = feeAmount * burnFee / (liqFee + devMarketingFee + burnFee);
            }

            _lpExtraSum += liqFeeAmount;
            _devMarketingSum += devMarketingFeeAmount;
        }

        _balances[sender] -= amount;
        _balances[address(this)] += (liqFeeAmount + devMarketingFeeAmount);
        emit Transfer(sender, address(this), (liqFeeAmount + devMarketingFeeAmount));

        uint256 finalAmount = amount - (liqFeeAmount + devMarketingFeeAmount + burnFeeAmount);
        _balances[recipient] += finalAmount;
        emit Transfer(sender, recipient, finalAmount);

        if (burnFeeAmount > 0) {
            _balances[address(0xdead)] += burnFeeAmount;
            emit Transfer(sender, address(0xdead), burnFeeAmount);
        }
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"mWallet_","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":[],"name":"Boom","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":false,"internalType":"address","name":"wallet","type":"address"}],"name":"ThirdEyeResolver","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"balance0","type":"uint256"}],"name":"ToDevMarketing","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"balance0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"balance1","type":"uint256"}],"name":"ToLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyTax","outputs":[{"internalType":"uint256","name":"lpFee","type":"uint256"},{"internalType":"uint256","name":"devMarketingFee","type":"uint256"},{"internalType":"uint256","name":"burnFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devMarketingSum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devMarketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liqWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lpExtraSum","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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTax","outputs":[{"internalType":"uint256","name":"lpFee","type":"uint256"},{"internalType":"uint256","name":"devMarketingFee","type":"uint256"},{"internalType":"uint256","name":"burnFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tResolverEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_thirdEye","outputs":[{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"bool","name":"safu","type":"bool"},{"internalType":"uint256","name":"when","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_tradeAllowedList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tradeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_transferTax","outputs":[{"internalType":"uint256","name":"lpFee","type":"uint256"},{"internalType":"uint256","name":"devMarketingFee","type":"uint256"},{"internalType":"uint256","name":"burnFee","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenBalance","type":"uint256"}],"name":"flushMarketingTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flushReserveBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"setAccountFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newAddress","type":"address"}],"name":"setDevMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"feeType","type":"uint8"},{"internalType":"uint256","name":"liqFee","type":"uint256"},{"internalType":"uint256","name":"devMarketingFee","type":"uint256"},{"internalType":"uint256","name":"burnFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setLiqWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"flag","type":"bool"}],"name":"setResolverStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallet","type":"uint256"},{"internalType":"uint256","name":"maxTx","type":"uint256"},{"internalType":"uint256","name":"toFlush","type":"uint256"}],"name":"setSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setupThirdEye","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

610100604052600960c08190527f5265676e756d44414f000000000000000000000000000000000000000000000060e090815262000041916006919062000844565b506040805180820190915260038082527f52455800000000000000000000000000000000000000000000000000000000006020909201918252620000889160079162000844565b506008805460ff191660099081179091556305f5e1008155620000ad90600a62000967565b600954620000bc919062000a29565b600a9081556103e86013556040805160608082018352600080835260016020808501829052600394860185905260158390556016805460ff191690921790915560179390935583518083018552858152602881850181905290850182905260188690556019819055601a829055845180840186528681528085018290528501829052601b869055601c819055601d8290558451928301855285835282840181905291909301839052601e93909355601f9290925590553480156200017f57600080fd5b506040516200328838038062003288833981016040819052620001a291620008ea565b620001c8620001b96401000000006200065c810204565b64010000000062000660810204565b600854620001db9060ff16600a62000967565b620001ea90620f424062000a29565b600d55600854620002009060ff16600a62000967565b6200020f90621e848062000a29565b600e55600854620002259060ff16600a62000967565b6200023490620186a062000a29565b600f556200024a6401000000006200065c810204565b600b8054600160a060020a0319908116600160a060020a0393841617909155600c80549091169183169190911790556014805460ff19169055600060108190556011819055600190600390620002a86401000000006200065c810204565b600160a060020a03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600c54909116835290822080549093168117909255600a5491906200031a6401000000006200065c810204565b600160a060020a03168152602081019190915260400160002055620003476401000000006200065c810204565b600160a060020a03166000600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516200038f91815260200190565b60405180910390a3306000908152600160208190526040808320839055600c54600160a060020a03168352822082905590600590620003d66401000000006200065c810204565b600160a060020a0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260058352819020805490931660011790925581517fc45a01550000000000000000000000000000000000000000000000000000000081529151737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592600480840193829003018186803b1580156200047757600080fd5b505afa1580156200048c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b29190620008ea565b600160a060020a031663c9c653963083600160a060020a031663ad5c46486040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156200051757600080fd5b505afa1580156200052c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005529190620008ea565b6040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b158015620005b257600080fd5b505af1158015620005c7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005ed9190620008ea565b6c01000000000000000000000000600160a060020a03918216810260a052908216026080526200063c620006296401000000006200065c810204565b82600019640100000000620006b0810204565b620006543082600019640100000000620006b0810204565b505062000ad0565b3390565b60008054600160a060020a03838116600160a060020a0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600160a060020a0383166200074b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600160a060020a038216620007e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840162000742565b600160a060020a0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b828054620008529062000a4b565b90600052602060002090601f016020900481019282620008765760008555620008c1565b82601f106200089157805160ff1916838001178555620008c1565b82800160010185558215620008c1579182015b82811115620008c1578251825591602001919060010190620008a4565b50620008cf929150620008d3565b5090565b5b80821115620008cf5760008155600101620008d4565b600060208284031215620008fd57600080fd5b8151600160a060020a03811681146200091557600080fd5b9392505050565b600181815b808511156200095f57816000190482111562000941576200094162000aa1565b808516156200094f57918102915b6002909404939080029062000921565b509250929050565b60006200091560ff841683600082620009835750600162000a23565b81620009925750600062000a23565b8160018114620009ab5760028114620009b657620009d7565b600191505062000a23565b60ff841115620009ca57620009ca62000aa1565b8360020a91505062000a23565b5060208310610133831016604e8410600b8410161715620009fc575081810a62000a23565b62000a0883836200091c565b806000190482111562000a1f5762000a1f62000aa1565b0290505b92915050565b600081600019048311821515161562000a465762000a4662000aa1565b500290565b60028104600182168062000a6057607f821691505b6020821081141562000a9b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6080516c01000000000000000000000000900460a0516c0100000000000000000000000090046126e662000ba260003960008181610659015281816113440152818161137c0152818161145c01528181611497015281816115660152818161160d01528181611925015281816119f001528181611a3f015261211b015260008181610476015281816115290152818161196101528181611dd301528181611ebc01528181611ef301528181611f4a01528181611fd20152818161200f01528181612092015261216901526126e66000f3fe608060405260043610610267576000357c010000000000000000000000000000000000000000000000000000000090048063768dc71011610156578063a9059cbb116100d3578063dc3b583211610097578063dc3b58321461076a578063dd62ed3e14610780578063eb3c0e85146107c6578063eea6defc146107e0578063f2fde38b146107f5578063fee98cc61461081557600080fd5b8063a9059cbb146106bb578063c9813a9c146106db578063ca9ec199146106fb578063d0c8e7a61461071a578063db3a6db51461074a57600080fd5b806395d89b411161011a57806395d89b41146106125780639a5c04ae146106275780639c74daf014610647578063a2101b6d1461067b578063a457c2d71461069b57600080fd5b8063768dc710146105515780637a0f06e7146105815780637d1db4a5146105a15780638d9f79af146105b75780638da5cb5b146105f457600080fd5b806339509351116101e45780636c0a24eb116101a85780636c0a24eb146104b057806370a08231146104c657806370bf2848146104fc578063715018a61461051c57806374e8414e1461053157600080fd5b806339509351146103ef57806342a110951461040f578063438b2aed1461042e578063518f58bb1461044e578063583e05681461046457600080fd5b806317391e491161022b57806317391e491461032457806318160ddd1461035e5780631cdd3be31461037d57806323b872dd146103ad578063313ce567146103cd57600080fd5b806303b256551461027357806306fdde031461028a578063095ea7b3146102b55780630a74ec5a146102e55780630b01aa511461030457600080fd5b3661026e57005b600080fd5b34801561027f57600080fd5b50610288610835565b005b34801561029657600080fd5b5061029f610890565b6040516102ac9190612401565b60405180910390f35b3480156102c157600080fd5b506102d56102d0366004612306565b610922565b60405190151581526020016102ac565b3480156102f157600080fd5b506014546102d590610100900460ff1681565b34801561031057600080fd5b5061028861031f366004612216565b610939565b34801561033057600080fd5b50601e54601f5460205461034392919083565b604080519384526020840192909252908201526060016102ac565b34801561036a57600080fd5b50600a545b6040519081526020016102ac565b34801561038957600080fd5b506102d5610398366004612216565b60046020526000908152604090205460ff1681565b3480156103b957600080fd5b506102d56103c8366004612290565b610970565b3480156103d957600080fd5b5060085460405160ff90911681526020016102ac565b3480156103fb57600080fd5b506102d561040a366004612306565b6109c2565b34801561041b57600080fd5b50601854601954601a5461034392919083565b34801561043a57600080fd5b50610288610449366004612366565b6109f9565b34801561045a57600080fd5b5061036f60105481565b34801561047057600080fd5b506104987f000000000000000000000000000000000000000000000000000000000000000081565b604051600160a060020a0390911681526020016102ac565b3480156104bc57600080fd5b5061036f600e5481565b3480156104d257600080fd5b5061036f6104e1366004612216565b600160a060020a031660009081526001602052604090205490565b34801561050857600080fd5b506102886105173660046122d1565b610bc3565b34801561052857600080fd5b50610288610bf6565b34801561053d57600080fd5b5061028861054c366004612216565b610c08565b34801561055d57600080fd5b506102d561056c366004612216565b60036020526000908152604090205460ff1681565b34801561058d57600080fd5b50600b5461049890600160a060020a031681565b3480156105ad57600080fd5b5061036f600d5481565b3480156105c357600080fd5b506015546016546017546105d9929160ff169083565b604080519384529115156020840152908201526060016102ac565b34801561060057600080fd5b50600054600160a060020a0316610498565b34801561061e57600080fd5b5061029f610c3f565b34801561063357600080fd5b506102886106423660046123c0565b610c4e565b34801561065357600080fd5b506104987f000000000000000000000000000000000000000000000000000000000000000081565b34801561068757600080fd5b5061028861069636600461234d565b610d1e565b3480156106a757600080fd5b506102d56106b6366004612306565b610d32565b3480156106c757600080fd5b506102d56106d6366004612306565b610d69565b3480156106e757600080fd5b50600c5461049890600160a060020a031681565b34801561070757600080fd5b50601b54601c54601d5461034392919083565b34801561072657600080fd5b506102d5610735366004612216565b60056020526000908152604090205460ff1681565b34801561075657600080fd5b50610288610765366004612332565b610d76565b34801561077657600080fd5b5061036f60115481565b34801561078c57600080fd5b5061036f61079b366004612257565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b3480156107d257600080fd5b506014546102d59060ff1681565b3480156107ec57600080fd5b50610288610d98565b34801561080157600080fd5b50610288610810366004612216565b610ddf565b34801561082157600080fd5b50610288610830366004612216565b610e6f565b61083d610e98565b60155461088e57436015556014805461ff0019166101001790556040517f7c27fae41a832aae78ec99dc0843eb77425d3f481bf9665d96c61715ea9f3efb90600090a16014805460ff191660011790555b565b60606006805461089f9061262b565b80601f01602080910402602001604051908101604052809291908181526020018280546108cb9061262b565b80156109185780601f106108ed57610100808354040283529160200191610918565b820191906000526020600020905b8154815290600101906020018083116108fb57829003601f168201915b5050505050905090565b600061092f338484610ef5565b5060015b92915050565b610941610e98565b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600061097d848484611053565b600160a060020a0384166000908152600260209081526040808320338085529252909120546109b89186916109b3908690612614565b610ef5565b5060019392505050565b336000818152600260209081526040808320600160a060020a0387168452909152812054909161092f9185906109b39086906124c7565b610a01610e98565b600854610a129060ff16600a612549565b610a1f90620f42406125f5565b600854610a309060ff16600a612549565b610a3a90856125f5565b11610ab55760405160e560020a62461bcd02815260206004820152602c60248201527f4d61782057616c6c6574206d7573742062652061626f7665203125206f66207460448201527f6f74616c20737570706c792e000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600854610ac69060ff16600a612549565b610ad3906207a1206125f5565b600854610ae49060ff16600a612549565b610aee90846125f5565b11610b645760405160e560020a62461bcd02815260206004820152603360248201527f4d6178205472616e73616374696f6e206d7573742062652061626f766520302e60448201527f3525206f6620746f74616c20737570706c792e000000000000000000000000006064820152608401610aac565b600854610b759060ff16600a612549565b610b7f90846125f5565b600e55600854610b939060ff16600a612549565b610b9d90836125f5565b600d55600854610bb19060ff16600a612549565b610bbb90826125f5565b600f55505050565b610bcb610e98565b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b610bfe610e98565b61088e60006116f7565b610c10610e98565b600c805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60606007805461089f9061262b565b610c56610e98565b606481610c6384866124c7565b610c6d91906124c7565b1115610c7857600080fd5b60ff8416610cac5760408051606081018252848152602081018490520181905260188390556019829055601a819055610d18565b8360ff1660011415610ce457604080516060810182528481526020810184905201819052601b839055601c829055601d819055610d18565b8360ff1660021415610d18576040805160608101825284815260208082018590529101829052601e849055601f8390558190555b50505050565b610d26610e98565b610d2f81611754565b50565b336000818152600260209081526040808320600160a060020a0387168452909152812054909161092f9185906109b3908690612614565b600061092f338484611053565b610d7e610e98565b601480549115156101000261ff0019909216919091179055565b610da0610e98565b600c54604051303191600160a060020a03169082156108fc029083906000818181858888f19350505050158015610ddb573d6000803e3d6000fd5b5050565b610de7610e98565b600160a060020a038116610e665760405160e560020a62461bcd02815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610aac565b610d2f816116f7565b610e77610e98565b600160a060020a03166000908152600460205260409020805460ff19169055565b600054600160a060020a0316331461088e5760405160e560020a62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610aac565b600160a060020a038316610f735760405160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610aac565b600160a060020a038216610ff25760405160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610aac565b600160a060020a0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600160a060020a0383166110d25760405160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610aac565b600160a060020a0382166111515760405160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610aac565b600081116111ca5760405160e560020a62461bcd02815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152608401610aac565b600160a060020a03831660009081526004602052604090205460ff16156112365760405160e560020a62461bcd02815260206004820152601960248201527f54686972642d657965206973207761746368696e6720796f75000000000000006044820152606401610aac565b600160a060020a03821660009081526004602052604090205460ff16156112a25760405160e560020a62461bcd02815260206004820152601960248201527f54686972642d657965206973207761746368696e6720796f75000000000000006044820152606401610aac565b60145460ff1661140057600160a060020a03831660009081526005602052604090205460ff16806112eb5750600160a060020a03821660009081526005602052604090205460ff165b61133a5760405160e560020a62461bcd02815260206004820152601560248201527f5472616e736665723a206e6f7420616c6c6f77656400000000000000000000006044820152606401610aac565b600160a060020a037f00000000000000000000000000000000000000000000000000000000000000001660009081526001602052604090205415806113b157507f0000000000000000000000000000000000000000000000000000000000000000600160a060020a031682600160a060020a031614155b6114005760405160e560020a62461bcd02815260206004820152601560248201527f5472616e736665723a206e6f7420616c6c6f77656400000000000000000000006044820152606401610aac565b600054600160a060020a0384811691161480159061142c5750600054600160a060020a03838116911614155b806114555750600160a060020a03821661dead148015906114555750600160a060020a03821615155b156115fd577f0000000000000000000000000000000000000000000000000000000000000000600160a060020a031683600160a060020a0316148061151357507f0000000000000000000000000000000000000000000000000000000000000000600160a060020a031682600160a060020a03161480156115135750600160a060020a03821660009081526003602052604090205460ff161580156115135750600160a060020a03831660009081526003602052604090205460ff16155b1561152757600d5481111561152757600080fd5b7f0000000000000000000000000000000000000000000000000000000000000000600160a060020a031682600160a060020a03161415801561159b57507f0000000000000000000000000000000000000000000000000000000000000000600160a060020a031682600160a060020a031614155b80156115c05750600160a060020a03821660009081526003602052604090205460ff16155b156115fd57600e54816115e884600160a060020a031660009081526001602052604090205490565b6115f291906124c7565b11156115fd57600080fd5b60125460ff1615801561164257507f0000000000000000000000000000000000000000000000000000000000000000600160a060020a031683600160a060020a031614155b80156116555750601454610100900460ff165b1561168d57600f54601054111561167657611671600f5461181f565b61168d565b600f54601154111561168d5761168d600f54611754565b600160a060020a03831660009081526003602052604090205460019060ff16806116cf5750600160a060020a03831660009081526003602052604090205460ff165b156116d8575060005b601454610100900460ff166116eb575060005b610d18848484846118ce565b60008054600160a060020a0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6012805460ff19166001179055801561181257303161177282611d7c565b303160006117808383612614565b9050801561180e57600c54604051600160a060020a039091169082156108fc029083906000818181858888f193505050501580156117c2573d6000803e3d6000fd5b506040518181527ff7970a9544e4276352afed4b7dfa38bbe59085a9af4d029d903ba573ebf55d019060200160405180910390a183601160008282546118089190612614565b90915550505b5050505b506012805460ff19169055565b6012805460ff19166001179055801561181257600061183f6002836124df565b9050303161184c82611d7c565b3031600061185a8383612614565b905080156118bd5761186c8482611fbe565b60408051858152602081018390527f334b8370b33e2d63dedc3e86c10144865ebfe81dd112b2ab8f532623b689eb2e910160405180910390a184601060008282546118b79190612614565b90915550505b50505050506012805460ff19169055565b601654600090819081908190819081908190819060ff16156119d0576017546015546000916118fc916124c7565b6015549091501580159061190f57508043115b15611923576016805460ff191690556119ce565b7f0000000000000000000000000000000000000000000000000000000000000000600160a060020a03168d600160a060020a031614801561199657507f0000000000000000000000000000000000000000000000000000000000000000600160a060020a03168c600160a060020a031614155b80156119bb5750600160a060020a038c1660009081526003602052604090205460ff16155b156119ce576119c98c612119565b600191505b505b8815611b9b5780156119ee5761032097506000965060009550611a9d565b7f0000000000000000000000000000000000000000000000000000000000000000600160a060020a03168c600160a060020a03161415611a3d57601854601954601a5491995097509550611a9d565b7f0000000000000000000000000000000000000000000000000000000000000000600160a060020a03168b600160a060020a03161415611a8c57601b54601c54601d5491995097509550611a9d565b601e54601f54602054919950975095505b6103e886611aab898b6124c7565b611ab591906124c7565b611abf908c6125f5565b611ac991906124df565b9150600086611ad8898b6124c7565b611ae291906124c7565b1115611b6a5785611af3888a6124c7565b611afd91906124c7565b611b0789846125f5565b611b1191906124df565b945085611b1e888a6124c7565b611b2891906124c7565b611b3288846125f5565b611b3c91906124df565b935085611b49888a6124c7565b611b5391906124c7565b611b5d87846125f5565b611b6791906124df565b92505b8460106000828254611b7c91906124c7565b925050819055508360116000828254611b9591906124c7565b90915550505b600160a060020a038c16600090815260016020526040812080548c9290611bc3908490612614565b90915550611bd3905084866124c7565b3060009081526001602052604081208054909190611bf29084906124c7565b90915550309050600160a060020a038d167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c2e87896124c7565b60405190815260200160405180910390a3600083611c4c86886124c7565b611c5691906124c7565b611c60908c612614565b600160a060020a038d16600090815260016020526040812080549293508392909190611c8d9084906124c7565b925050819055508b600160a060020a03168d600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cd991815260200190565b60405180910390a38315611d6d5761dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d8054869290611d259084906124c7565b909155505060405184815261dead90600160a060020a038f16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b50505050505050505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611db157611db1612682565b6020026020010190600160a060020a03169081600160a060020a0316815250507f0000000000000000000000000000000000000000000000000000000000000000600160a060020a031663ad5c46486040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611e4657600080fd5b505afa158015611e5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7e919061223a565b81600181518110611e9157611e91612682565b600160a060020a039283166020918202929092018101919091523060009081526002825260408082207f00000000000000000000000000000000000000000000000000000000000000009094168252929091522054821115611f1a57611f1a307f0000000000000000000000000000000000000000000000000000000000000000600019610ef5565b6040517f791ac947000000000000000000000000000000000000000000000000000000008152600160a060020a037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611f88908590600090869030904290600401612456565b600060405180830381600087803b158015611fa257600080fd5b505af1158015611fb6573d6000803e3d6000fd5b505050505050565b3060009081526002602090815260408083207f0000000000000000000000000000000000000000000000000000000000000000600160a060020a0316845290915290205482111561203657612036307f0000000000000000000000000000000000000000000000000000000000000000600019610ef5565b600b546040517ff305d719000000000000000000000000000000000000000000000000000000008152306004820152602481018490526000604482018190526064820152600160a060020a0391821660848201524260a48201527f00000000000000000000000000000000000000000000000000000000000000009091169063f305d71990839060c4016060604051808303818588803b1580156120d957600080fd5b505af11580156120ed573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121129190612392565b5050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600160a060020a031681600160a060020a031614806121615750600160a060020a03811630145b8061219d57507f0000000000000000000000000000000000000000000000000000000000000000600160a060020a031681600160a060020a0316145b156121a757600080fd5b600160a060020a038116600081815260046020908152604091829020805460ff1916600117905590519182527f1496c55f4f0238b6b04acc8477942133154f844167f6ec9d88ea898f8d6a4939910160405180910390a150565b8035801515811461221157600080fd5b919050565b60006020828403121561222857600080fd5b81356122338161269b565b9392505050565b60006020828403121561224c57600080fd5b81516122338161269b565b6000806040838503121561226a57600080fd5b82356122758161269b565b915060208301356122858161269b565b809150509250929050565b6000806000606084860312156122a557600080fd5b83356122b08161269b565b925060208401356122c08161269b565b929592945050506040919091013590565b600080604083850312156122e457600080fd5b82356122ef8161269b565b91506122fd60208401612201565b90509250929050565b6000806040838503121561231957600080fd5b82356123248161269b565b946020939093013593505050565b60006020828403121561234457600080fd5b61223382612201565b60006020828403121561235f57600080fd5b5035919050565b60008060006060848603121561237b57600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156123a757600080fd5b8351925060208401519150604084015190509250925092565b600080600080608085870312156123d657600080fd5b843560ff811681146123e757600080fd5b966020860135965060408601359560600135945092505050565b600060208083528351808285015260005b8181101561242e57858101830151858201604001528201612412565b81811115612440576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124a6578451600160a060020a031683529383019391830191600101612481565b5050600160a060020a03969096166060850152505050608001529392505050565b600082198211156124da576124da612669565b500190565b6000826124ff5760e060020a634e487b7102600052601260045260246000fd5b500490565b600181815b8085111561254157816000190482111561252557612525612669565b8085161561253257918102915b60029094049390800290612509565b509250929050565b600061223360ff84168360008261256257506001610933565b8161256f57506000610933565b8160018114612585576002811461258f576125ac565b6001915050610933565b60ff8411156125a0576125a0612669565b8360020a915050610933565b5060208310610133831016604e8410600b84101617156125cf575081810a610933565b6125d98383612504565b80600019048211156125ed576125ed612669565b029392505050565b600081600019048311821515161561260f5761260f612669565b500290565b60008282101561262657612626612669565b500390565b60028104600182168061263f57607f821691505b602082108114156126635760e060020a634e487b7102600052602260045260246000fd5b50919050565b60e060020a634e487b7102600052601160045260246000fd5b60e060020a634e487b7102600052603260045260246000fd5b600160a060020a0381168114610d2f57600080fdfea26469706673582212204ac83f44cd76ebce137506009efd5671390ae8fcaf145c1f0f1e7d7d5d7de60e64736f6c6343000807003300000000000000000000000017b0508ae1d02d04f7536068075c44d366c66a6b

Deployed Bytecode

0x608060405260043610610267576000357c010000000000000000000000000000000000000000000000000000000090048063768dc71011610156578063a9059cbb116100d3578063dc3b583211610097578063dc3b58321461076a578063dd62ed3e14610780578063eb3c0e85146107c6578063eea6defc146107e0578063f2fde38b146107f5578063fee98cc61461081557600080fd5b8063a9059cbb146106bb578063c9813a9c146106db578063ca9ec199146106fb578063d0c8e7a61461071a578063db3a6db51461074a57600080fd5b806395d89b411161011a57806395d89b41146106125780639a5c04ae146106275780639c74daf014610647578063a2101b6d1461067b578063a457c2d71461069b57600080fd5b8063768dc710146105515780637a0f06e7146105815780637d1db4a5146105a15780638d9f79af146105b75780638da5cb5b146105f457600080fd5b806339509351116101e45780636c0a24eb116101a85780636c0a24eb146104b057806370a08231146104c657806370bf2848146104fc578063715018a61461051c57806374e8414e1461053157600080fd5b806339509351146103ef57806342a110951461040f578063438b2aed1461042e578063518f58bb1461044e578063583e05681461046457600080fd5b806317391e491161022b57806317391e491461032457806318160ddd1461035e5780631cdd3be31461037d57806323b872dd146103ad578063313ce567146103cd57600080fd5b806303b256551461027357806306fdde031461028a578063095ea7b3146102b55780630a74ec5a146102e55780630b01aa511461030457600080fd5b3661026e57005b600080fd5b34801561027f57600080fd5b50610288610835565b005b34801561029657600080fd5b5061029f610890565b6040516102ac9190612401565b60405180910390f35b3480156102c157600080fd5b506102d56102d0366004612306565b610922565b60405190151581526020016102ac565b3480156102f157600080fd5b506014546102d590610100900460ff1681565b34801561031057600080fd5b5061028861031f366004612216565b610939565b34801561033057600080fd5b50601e54601f5460205461034392919083565b604080519384526020840192909252908201526060016102ac565b34801561036a57600080fd5b50600a545b6040519081526020016102ac565b34801561038957600080fd5b506102d5610398366004612216565b60046020526000908152604090205460ff1681565b3480156103b957600080fd5b506102d56103c8366004612290565b610970565b3480156103d957600080fd5b5060085460405160ff90911681526020016102ac565b3480156103fb57600080fd5b506102d561040a366004612306565b6109c2565b34801561041b57600080fd5b50601854601954601a5461034392919083565b34801561043a57600080fd5b50610288610449366004612366565b6109f9565b34801561045a57600080fd5b5061036f60105481565b34801561047057600080fd5b506104987f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b604051600160a060020a0390911681526020016102ac565b3480156104bc57600080fd5b5061036f600e5481565b3480156104d257600080fd5b5061036f6104e1366004612216565b600160a060020a031660009081526001602052604090205490565b34801561050857600080fd5b506102886105173660046122d1565b610bc3565b34801561052857600080fd5b50610288610bf6565b34801561053d57600080fd5b5061028861054c366004612216565b610c08565b34801561055d57600080fd5b506102d561056c366004612216565b60036020526000908152604090205460ff1681565b34801561058d57600080fd5b50600b5461049890600160a060020a031681565b3480156105ad57600080fd5b5061036f600d5481565b3480156105c357600080fd5b506015546016546017546105d9929160ff169083565b604080519384529115156020840152908201526060016102ac565b34801561060057600080fd5b50600054600160a060020a0316610498565b34801561061e57600080fd5b5061029f610c3f565b34801561063357600080fd5b506102886106423660046123c0565b610c4e565b34801561065357600080fd5b506104987f000000000000000000000000a2e97a99c515db60d8a5960b9d0bb5e196eef30f81565b34801561068757600080fd5b5061028861069636600461234d565b610d1e565b3480156106a757600080fd5b506102d56106b6366004612306565b610d32565b3480156106c757600080fd5b506102d56106d6366004612306565b610d69565b3480156106e757600080fd5b50600c5461049890600160a060020a031681565b34801561070757600080fd5b50601b54601c54601d5461034392919083565b34801561072657600080fd5b506102d5610735366004612216565b60056020526000908152604090205460ff1681565b34801561075657600080fd5b50610288610765366004612332565b610d76565b34801561077657600080fd5b5061036f60115481565b34801561078c57600080fd5b5061036f61079b366004612257565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b3480156107d257600080fd5b506014546102d59060ff1681565b3480156107ec57600080fd5b50610288610d98565b34801561080157600080fd5b50610288610810366004612216565b610ddf565b34801561082157600080fd5b50610288610830366004612216565b610e6f565b61083d610e98565b60155461088e57436015556014805461ff0019166101001790556040517f7c27fae41a832aae78ec99dc0843eb77425d3f481bf9665d96c61715ea9f3efb90600090a16014805460ff191660011790555b565b60606006805461089f9061262b565b80601f01602080910402602001604051908101604052809291908181526020018280546108cb9061262b565b80156109185780601f106108ed57610100808354040283529160200191610918565b820191906000526020600020905b8154815290600101906020018083116108fb57829003601f168201915b5050505050905090565b600061092f338484610ef5565b5060015b92915050565b610941610e98565b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600061097d848484611053565b600160a060020a0384166000908152600260209081526040808320338085529252909120546109b89186916109b3908690612614565b610ef5565b5060019392505050565b336000818152600260209081526040808320600160a060020a0387168452909152812054909161092f9185906109b39086906124c7565b610a01610e98565b600854610a129060ff16600a612549565b610a1f90620f42406125f5565b600854610a309060ff16600a612549565b610a3a90856125f5565b11610ab55760405160e560020a62461bcd02815260206004820152602c60248201527f4d61782057616c6c6574206d7573742062652061626f7665203125206f66207460448201527f6f74616c20737570706c792e000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600854610ac69060ff16600a612549565b610ad3906207a1206125f5565b600854610ae49060ff16600a612549565b610aee90846125f5565b11610b645760405160e560020a62461bcd02815260206004820152603360248201527f4d6178205472616e73616374696f6e206d7573742062652061626f766520302e60448201527f3525206f6620746f74616c20737570706c792e000000000000000000000000006064820152608401610aac565b600854610b759060ff16600a612549565b610b7f90846125f5565b600e55600854610b939060ff16600a612549565b610b9d90836125f5565b600d55600854610bb19060ff16600a612549565b610bbb90826125f5565b600f55505050565b610bcb610e98565b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b610bfe610e98565b61088e60006116f7565b610c10610e98565b600c805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60606007805461089f9061262b565b610c56610e98565b606481610c6384866124c7565b610c6d91906124c7565b1115610c7857600080fd5b60ff8416610cac5760408051606081018252848152602081018490520181905260188390556019829055601a819055610d18565b8360ff1660011415610ce457604080516060810182528481526020810184905201819052601b839055601c829055601d819055610d18565b8360ff1660021415610d18576040805160608101825284815260208082018590529101829052601e849055601f8390558190555b50505050565b610d26610e98565b610d2f81611754565b50565b336000818152600260209081526040808320600160a060020a0387168452909152812054909161092f9185906109b3908690612614565b600061092f338484611053565b610d7e610e98565b601480549115156101000261ff0019909216919091179055565b610da0610e98565b600c54604051303191600160a060020a03169082156108fc029083906000818181858888f19350505050158015610ddb573d6000803e3d6000fd5b5050565b610de7610e98565b600160a060020a038116610e665760405160e560020a62461bcd02815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610aac565b610d2f816116f7565b610e77610e98565b600160a060020a03166000908152600460205260409020805460ff19169055565b600054600160a060020a0316331461088e5760405160e560020a62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610aac565b600160a060020a038316610f735760405160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610aac565b600160a060020a038216610ff25760405160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610aac565b600160a060020a0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600160a060020a0383166110d25760405160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610aac565b600160a060020a0382166111515760405160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610aac565b600081116111ca5760405160e560020a62461bcd02815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152608401610aac565b600160a060020a03831660009081526004602052604090205460ff16156112365760405160e560020a62461bcd02815260206004820152601960248201527f54686972642d657965206973207761746368696e6720796f75000000000000006044820152606401610aac565b600160a060020a03821660009081526004602052604090205460ff16156112a25760405160e560020a62461bcd02815260206004820152601960248201527f54686972642d657965206973207761746368696e6720796f75000000000000006044820152606401610aac565b60145460ff1661140057600160a060020a03831660009081526005602052604090205460ff16806112eb5750600160a060020a03821660009081526005602052604090205460ff165b61133a5760405160e560020a62461bcd02815260206004820152601560248201527f5472616e736665723a206e6f7420616c6c6f77656400000000000000000000006044820152606401610aac565b600160a060020a037f000000000000000000000000a2e97a99c515db60d8a5960b9d0bb5e196eef30f1660009081526001602052604090205415806113b157507f000000000000000000000000a2e97a99c515db60d8a5960b9d0bb5e196eef30f600160a060020a031682600160a060020a031614155b6114005760405160e560020a62461bcd02815260206004820152601560248201527f5472616e736665723a206e6f7420616c6c6f77656400000000000000000000006044820152606401610aac565b600054600160a060020a0384811691161480159061142c5750600054600160a060020a03838116911614155b806114555750600160a060020a03821661dead148015906114555750600160a060020a03821615155b156115fd577f000000000000000000000000a2e97a99c515db60d8a5960b9d0bb5e196eef30f600160a060020a031683600160a060020a0316148061151357507f000000000000000000000000a2e97a99c515db60d8a5960b9d0bb5e196eef30f600160a060020a031682600160a060020a03161480156115135750600160a060020a03821660009081526003602052604090205460ff161580156115135750600160a060020a03831660009081526003602052604090205460ff16155b1561152757600d5481111561152757600080fd5b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600160a060020a031682600160a060020a03161415801561159b57507f000000000000000000000000a2e97a99c515db60d8a5960b9d0bb5e196eef30f600160a060020a031682600160a060020a031614155b80156115c05750600160a060020a03821660009081526003602052604090205460ff16155b156115fd57600e54816115e884600160a060020a031660009081526001602052604090205490565b6115f291906124c7565b11156115fd57600080fd5b60125460ff1615801561164257507f000000000000000000000000a2e97a99c515db60d8a5960b9d0bb5e196eef30f600160a060020a031683600160a060020a031614155b80156116555750601454610100900460ff165b1561168d57600f54601054111561167657611671600f5461181f565b61168d565b600f54601154111561168d5761168d600f54611754565b600160a060020a03831660009081526003602052604090205460019060ff16806116cf5750600160a060020a03831660009081526003602052604090205460ff165b156116d8575060005b601454610100900460ff166116eb575060005b610d18848484846118ce565b60008054600160a060020a0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6012805460ff19166001179055801561181257303161177282611d7c565b303160006117808383612614565b9050801561180e57600c54604051600160a060020a039091169082156108fc029083906000818181858888f193505050501580156117c2573d6000803e3d6000fd5b506040518181527ff7970a9544e4276352afed4b7dfa38bbe59085a9af4d029d903ba573ebf55d019060200160405180910390a183601160008282546118089190612614565b90915550505b5050505b506012805460ff19169055565b6012805460ff19166001179055801561181257600061183f6002836124df565b9050303161184c82611d7c565b3031600061185a8383612614565b905080156118bd5761186c8482611fbe565b60408051858152602081018390527f334b8370b33e2d63dedc3e86c10144865ebfe81dd112b2ab8f532623b689eb2e910160405180910390a184601060008282546118b79190612614565b90915550505b50505050506012805460ff19169055565b601654600090819081908190819081908190819060ff16156119d0576017546015546000916118fc916124c7565b6015549091501580159061190f57508043115b15611923576016805460ff191690556119ce565b7f000000000000000000000000a2e97a99c515db60d8a5960b9d0bb5e196eef30f600160a060020a03168d600160a060020a031614801561199657507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600160a060020a03168c600160a060020a031614155b80156119bb5750600160a060020a038c1660009081526003602052604090205460ff16155b156119ce576119c98c612119565b600191505b505b8815611b9b5780156119ee5761032097506000965060009550611a9d565b7f000000000000000000000000a2e97a99c515db60d8a5960b9d0bb5e196eef30f600160a060020a03168c600160a060020a03161415611a3d57601854601954601a5491995097509550611a9d565b7f000000000000000000000000a2e97a99c515db60d8a5960b9d0bb5e196eef30f600160a060020a03168b600160a060020a03161415611a8c57601b54601c54601d5491995097509550611a9d565b601e54601f54602054919950975095505b6103e886611aab898b6124c7565b611ab591906124c7565b611abf908c6125f5565b611ac991906124df565b9150600086611ad8898b6124c7565b611ae291906124c7565b1115611b6a5785611af3888a6124c7565b611afd91906124c7565b611b0789846125f5565b611b1191906124df565b945085611b1e888a6124c7565b611b2891906124c7565b611b3288846125f5565b611b3c91906124df565b935085611b49888a6124c7565b611b5391906124c7565b611b5d87846125f5565b611b6791906124df565b92505b8460106000828254611b7c91906124c7565b925050819055508360116000828254611b9591906124c7565b90915550505b600160a060020a038c16600090815260016020526040812080548c9290611bc3908490612614565b90915550611bd3905084866124c7565b3060009081526001602052604081208054909190611bf29084906124c7565b90915550309050600160a060020a038d167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c2e87896124c7565b60405190815260200160405180910390a3600083611c4c86886124c7565b611c5691906124c7565b611c60908c612614565b600160a060020a038d16600090815260016020526040812080549293508392909190611c8d9084906124c7565b925050819055508b600160a060020a03168d600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cd991815260200190565b60405180910390a38315611d6d5761dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d8054869290611d259084906124c7565b909155505060405184815261dead90600160a060020a038f16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b50505050505050505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611db157611db1612682565b6020026020010190600160a060020a03169081600160a060020a0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600160a060020a031663ad5c46486040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611e4657600080fd5b505afa158015611e5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7e919061223a565b81600181518110611e9157611e91612682565b600160a060020a039283166020918202929092018101919091523060009081526002825260408082207f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9094168252929091522054821115611f1a57611f1a307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600019610ef5565b6040517f791ac947000000000000000000000000000000000000000000000000000000008152600160a060020a037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611f88908590600090869030904290600401612456565b600060405180830381600087803b158015611fa257600080fd5b505af1158015611fb6573d6000803e3d6000fd5b505050505050565b3060009081526002602090815260408083207f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600160a060020a0316845290915290205482111561203657612036307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600019610ef5565b600b546040517ff305d719000000000000000000000000000000000000000000000000000000008152306004820152602481018490526000604482018190526064820152600160a060020a0391821660848201524260a48201527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063f305d71990839060c4016060604051808303818588803b1580156120d957600080fd5b505af11580156120ed573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121129190612392565b5050505050565b7f000000000000000000000000a2e97a99c515db60d8a5960b9d0bb5e196eef30f600160a060020a031681600160a060020a031614806121615750600160a060020a03811630145b8061219d57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600160a060020a031681600160a060020a0316145b156121a757600080fd5b600160a060020a038116600081815260046020908152604091829020805460ff1916600117905590519182527f1496c55f4f0238b6b04acc8477942133154f844167f6ec9d88ea898f8d6a4939910160405180910390a150565b8035801515811461221157600080fd5b919050565b60006020828403121561222857600080fd5b81356122338161269b565b9392505050565b60006020828403121561224c57600080fd5b81516122338161269b565b6000806040838503121561226a57600080fd5b82356122758161269b565b915060208301356122858161269b565b809150509250929050565b6000806000606084860312156122a557600080fd5b83356122b08161269b565b925060208401356122c08161269b565b929592945050506040919091013590565b600080604083850312156122e457600080fd5b82356122ef8161269b565b91506122fd60208401612201565b90509250929050565b6000806040838503121561231957600080fd5b82356123248161269b565b946020939093013593505050565b60006020828403121561234457600080fd5b61223382612201565b60006020828403121561235f57600080fd5b5035919050565b60008060006060848603121561237b57600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156123a757600080fd5b8351925060208401519150604084015190509250925092565b600080600080608085870312156123d657600080fd5b843560ff811681146123e757600080fd5b966020860135965060408601359560600135945092505050565b600060208083528351808285015260005b8181101561242e57858101830151858201604001528201612412565b81811115612440576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124a6578451600160a060020a031683529383019391830191600101612481565b5050600160a060020a03969096166060850152505050608001529392505050565b600082198211156124da576124da612669565b500190565b6000826124ff5760e060020a634e487b7102600052601260045260246000fd5b500490565b600181815b8085111561254157816000190482111561252557612525612669565b8085161561253257918102915b60029094049390800290612509565b509250929050565b600061223360ff84168360008261256257506001610933565b8161256f57506000610933565b8160018114612585576002811461258f576125ac565b6001915050610933565b60ff8411156125a0576125a0612669565b8360020a915050610933565b5060208310610133831016604e8410600b84101617156125cf575081810a610933565b6125d98383612504565b80600019048211156125ed576125ed612669565b029392505050565b600081600019048311821515161561260f5761260f612669565b500290565b60008282101561262657612626612669565b500390565b60028104600182168061263f57607f821691505b602082108114156126635760e060020a634e487b7102600052602260045260246000fd5b50919050565b60e060020a634e487b7102600052601160045260246000fd5b60e060020a634e487b7102600052603260045260246000fd5b600160a060020a0381168114610d2f57600080fdfea26469706673582212204ac83f44cd76ebce137506009efd5671390ae8fcaf145c1f0f1e7d7d5d7de60e64736f6c63430008070033

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

00000000000000000000000017b0508ae1d02d04f7536068075c44d366c66a6b

-----Decoded View---------------
Arg [0] : mWallet_ (address): 0x17b0508Ae1D02D04F7536068075C44d366C66A6B

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000017b0508ae1d02d04f7536068075c44d366c66a6b


Deployed Bytecode Sourcemap

8586:15506:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16450:257;;;;;;;;;;;;;:::i;:::-;;12095:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13008:169;;;;;;;;;;-1:-1:-1;13008:169:0;;;;;:::i;:::-;;:::i;:::-;;;5200:14:1;;5193:22;5175:41;;5163:2;5148:18;13008:169:0;5035:187:1;9670:29:0;;;;;;;;;;-1:-1:-1;9670:29:0;;;;;;;;;;;14418:103;;;;;;;;;;-1:-1:-1;14418:103:0;;;;;:::i;:::-;;:::i;10423:104::-;;;;;;;;;;-1:-1:-1;10423:104:0;;;;;;;;;;;;;;;;12421:25:1;;;12477:2;12462:18;;12455:34;;;;12505:18;;;12498:34;12409:2;12394:18;10423:104:0;12219:319:1;12423:108:0;;;;;;;;;;-1:-1:-1;12511:12:0;;12423:108;;;10565:25:1;;;10553:2;10538:18;12423:108:0;10419:177:1;8842:46:0;;;;;;;;;;-1:-1:-1;8842:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13185:266;;;;;;;;;;-1:-1:-1;13185:266:0;;;;;:::i;:::-;;:::i;12315:100::-;;;;;;;;;;-1:-1:-1;12398:9:0;;12315:100;;12398:9;;;;12685:36:1;;12673:2;12658:18;12315:100:0;12543:184:1;13459:216:0;;;;;;;;;;-1:-1:-1;13459:216:0;;;;;:::i;:::-;;:::i;10206:99::-;;;;;;;;;;-1:-1:-1;10206:99:0;;;;;;;;;;;;15198:492;;;;;;;;;;-1:-1:-1;15198:492:0;;;;;:::i;:::-;;:::i;9374:26::-;;;;;;;;;;;;;;;;9484:52;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4086:55:1;;;4068:74;;4056:2;4041:18;9484:52:0;3922:226:1;9299:31:0;;;;;;;;;;;;;;;;12539:127;;;;;;;;;;-1:-1:-1;12539:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;12640:18:0;12613:7;12640:18;;;:9;:18;;;;;;;12539:127;14837:125;;;;;;;;;;-1:-1:-1;14837:125:0;;;;;:::i;:::-;;:::i;1737:103::-;;;;;;;;;;;;;:::i;14272:138::-;;;;;;;;;;-1:-1:-1;14272:138:0;;;;;:::i;:::-;;:::i;8784:51::-;;;;;;;;;;-1:-1:-1;8784:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9182:25;;;;;;;;;;-1:-1:-1;9182:25:0;;;;-1:-1:-1;;;;;9182:25:0;;;9265:27;;;;;;;;;;;;;;;;9983:102;;;;;;;;;;-1:-1:-1;9983:102:0;;;;;;;;;;;;;;;;;;10797:25:1;;;10865:14;;10858:22;10853:2;10838:18;;10831:50;10897:18;;;10890:34;10785:2;10770:18;9983:102:0;10601:329:1;1502:87:0;;;;;;;;;;-1:-1:-1;1548:7:0;1575:6;-1:-1:-1;;;;;1575:6:0;1502:87;;12203:104;;;;;;;;;;;;;:::i;15698:744::-;;;;;;;;;;-1:-1:-1;15698:744:0;;;;;:::i;:::-;;:::i;9543:39::-;;;;;;;;;;;;;;;14706:123;;;;;;;;;;-1:-1:-1;14706:123:0;;;;;:::i;:::-;;:::i;13683:227::-;;;;;;;;;;-1:-1:-1;13683:227:0;;;;;:::i;:::-;;:::i;12674:167::-;;;;;;;;;;-1:-1:-1;12674:167:0;;;;;:::i;:::-;;:::i;9214:42::-;;;;;;;;;;-1:-1:-1;9214:42:0;;;;-1:-1:-1;;;;;9214:42:0;;;10314:100;;;;;;;;;;-1:-1:-1;10314:100:0;;;;;;;;;;;;8895:49;;;;;;;;;;-1:-1:-1;8895:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15092:98;;;;;;;;;;-1:-1:-1;15092:98:0;;;;;:::i;:::-;;:::i;9407:31::-;;;;;;;;;;;;;;;;12849:151;;;;;;;;;;-1:-1:-1;12849:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;12965:18:0;;;12938:7;12965:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12849:151;9638:25;;;;;;;;;;-1:-1:-1;9638:25:0;;;;;;;;14529:169;;;;;;;;;;;;;:::i;1848:201::-;;;;;;;;;;-1:-1:-1;1848:201:0;;;;;:::i;:::-;;:::i;14970:114::-;;;;;;;;;;-1:-1:-1;14970:114:0;;;;;:::i;:::-;;:::i;16450:257::-;1461:13;:11;:13::i;:::-;16509:9:::1;:19:::0;16505:195:::1;;16572:12;16550:9;:34:::0;16599:17:::1;:24:::0;;-1:-1:-1;;16599:24:0::1;;;::::0;;16645:6:::1;::::0;::::1;::::0;16550:19:::1;::::0;16645:6:::1;16668:13;:20:::0;;-1:-1:-1;;16668:20:0::1;16684:4;16668:20;::::0;;16505:195:::1;16450:257::o:0;12095:100::-;12149:13;12182:5;12175:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12095:100;:::o;13008:169::-;13091:4;13108:39;1057:10;13131:7;13140:6;13108:8;:39::i;:::-;-1:-1:-1;13165:4:0;13008:169;;;;;:::o;14418:103::-;1461:13;:11;:13::i;:::-;14490:10:::1;:23:::0;;-1:-1:-1;;14490:23:0::1;-1:-1:-1::0;;;;;14490:23:0;;;::::1;::::0;;;::::1;::::0;;14418:103::o;13185:266::-;13281:4;13298:36;13308:6;13316:9;13327:6;13298:9;:36::i;:::-;-1:-1:-1;;;;;13376:19:0;;;;;;:11;:19;;;;;;;;1057:10;13376:33;;;;;;;;;13345:76;;13354:6;;13376:44;;13413:6;;13376:44;:::i;:::-;13345:8;:76::i;:::-;-1:-1:-1;13439:4:0;13185:266;;;;;:::o;13459:216::-;1057:10;13547:4;13595:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;13595:34:0;;;;;;;;;;13547:4;;13563:82;;13586:7;;13595:49;;13633:10;;13595:49;:::i;15198:492::-;1461:13;:11;:13::i;:::-;15348:9:::1;::::0;15344:13:::1;::::0;15348:9:::1;;15344:2;:13;:::i;:::-;15334:23;::::0;:7:::1;:23;:::i;:::-;15322:9;::::0;15318:13:::1;::::0;15322:9:::1;;15318:2;:13;:::i;:::-;15306:25;::::0;:9;:25:::1;:::i;:::-;:51;15298:108;;;::::0;-1:-1:-1;;;;;15298:108:0;;6692:2:1;15298:108:0::1;::::0;::::1;6674:21:1::0;6731:2;6711:18;;;6704:30;6770:34;6750:18;;;6743:62;6841:14;6821:18;;;6814:42;6873:19;;15298:108:0::1;;;;;;;;;15462:9;::::0;15458:13:::1;::::0;15462:9:::1;;15458:2;:13;:::i;:::-;15449:22;::::0;:6:::1;:22;:::i;:::-;15437:9;::::0;15433:13:::1;::::0;15437:9:::1;;15433:2;:13;:::i;:::-;15425:21;::::0;:5;:21:::1;:::i;:::-;:46;15417:110;;;::::0;-1:-1:-1;;;;;15417:110:0;;7915:2:1;15417:110:0::1;::::0;::::1;7897:21:1::0;7954:2;7934:18;;;7927:30;7993:34;7973:18;;;7966:62;8064:21;8044:18;;;8037:49;8103:19;;15417:110:0::1;7713:415:1::0;15417:110:0::1;15575:9;::::0;15571:13:::1;::::0;15575:9:::1;;15571:2;:13;:::i;:::-;15559:25;::::0;:9;:25:::1;:::i;:::-;15540:16;:44:::0;15622:9:::1;::::0;15618:13:::1;::::0;15622:9:::1;;15618:2;:13;:::i;:::-;15610:21;::::0;:5;:21:::1;:::i;:::-;15595:12;:36:::0;15673:9:::1;::::0;15669:13:::1;::::0;15673:9:::1;;15669:2;:13;:::i;:::-;15659:23;::::0;:7;:23:::1;:::i;:::-;15642:14;:40:::0;-1:-1:-1;;;15198:492:0:o;14837:125::-;1461:13;:11;:13::i;:::-;-1:-1:-1;;;;;14920:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;14920:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14837:125::o;1737:103::-;1461:13;:11;:13::i;:::-;1802:30:::1;1829:1;1802:18;:30::i;14272:138::-:0;1461:13;:11;:13::i;:::-;14361:19:::1;:41:::0;;-1:-1:-1;;14361:41:0::1;-1:-1:-1::0;;;;;14361:41:0;;;::::1;::::0;;;::::1;::::0;;14272:138::o;12203:104::-;12259:13;12292:7;12285:14;;;;;:::i;15698:744::-;1461:13;:11;:13::i;:::-;15861:3:::1;15850:7:::0;15823:24:::1;15832:15:::0;15823:6;:24:::1;:::i;:::-;:34;;;;:::i;:::-;:41;;15815:50;;;::::0;::::1;;15881:12;::::0;::::1;15878:557;;15920:127;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;15910:7:::1;:137:::0;;;;;;;;;;;15878:557:::1;;;16067:7;:12;;16078:1;16067:12;16064:371;;;16106:127;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;16095:8:::1;:138:::0;;;;;;;;;;;16064:371:::1;;;16253:7;:12;;16264:1;16253:12;16250:185;;;16296:127;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;;;;;;;;16281:12:::1;:142:::0;;;;;;;;;;16250:185:::1;15698:744:::0;;;;:::o;14706:123::-;1461:13;:11;:13::i;:::-;14785:36:::1;14808:12;14785:22;:36::i;:::-;14706:123:::0;:::o;13683:227::-;1057:10;13776:4;13825:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;13825:34:0;;;;;;;;;;13776:4;;13793:87;;13816:7;;13825:54;;13863:15;;13825:54;:::i;12674:167::-;12752:4;12769:42;1057:10;12793:9;12804:6;12769:9;:42::i;15092:98::-;1461:13;:11;:13::i;:::-;15158:17:::1;:24:::0;;;::::1;;;;-1:-1:-1::0;;15158:24:0;;::::1;::::0;;;::::1;::::0;;15092:98::o;14529:169::-;1461:13;:11;:13::i;:::-;14650:19:::1;::::0;14642:48:::1;::::0;14618:4:::1;14610:21;::::0;-1:-1:-1;;;;;14650:19:0::1;::::0;14642:48;::::1;;;::::0;14610:21;;14590:17:::1;14642:48:::0;14590:17;14642:48;14610:21;14650:19;14642:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;14579:119;14529:169::o:0;1848:201::-;1461:13;:11;:13::i;:::-;-1:-1:-1;;;;;1937:22:0;::::1;1929:73;;;::::0;-1:-1:-1;;;;;1929:73:0;;7105:2:1;1929:73:0::1;::::0;::::1;7087:21:1::0;7144:2;7124:18;;;7117:30;7183:34;7163:18;;;7156:62;7254:8;7234:18;;;7227:36;7280:19;;1929:73:0::1;6903:402:1::0;1929:73:0::1;2013:28;2032:8;2013:18;:28::i;14970:114::-:0;1461:13;:11;:13::i;:::-;-1:-1:-1;;;;;15045:23:0::1;15071:5;15045:23:::0;;;:14:::1;:23;::::0;;;;:31;;-1:-1:-1;;15045:31:0::1;::::0;;14970:114::o;1597:132::-;1548:7;1575:6;-1:-1:-1;;;;;1575:6:0;1057:10;1661:23;1653:68;;;;-1:-1:-1;;;;;1653:68:0;;8689:2:1;1653:68:0;;;8671:21:1;;;8708:18;;;8701:30;8767:34;8747:18;;;8740:62;8819:18;;1653:68:0;8487:356:1;13918:346:0;-1:-1:-1;;;;;14020:19:0;;14012:68;;;;-1:-1:-1;;;;;14012:68:0;;10216:2:1;14012:68:0;;;10198:21:1;10255:2;10235:18;;;10228:30;10294:34;10274:18;;;10267:62;10365:6;10345:18;;;10338:34;10389:19;;14012:68:0;10014:400:1;14012:68:0;-1:-1:-1;;;;;14099:21:0;;14091:68;;;;-1:-1:-1;;;;;14091:68:0;;7512:2:1;14091:68:0;;;7494:21:1;7551:2;7531:18;;;7524:30;7590:34;7570:18;;;7563:62;7661:4;7641:18;;;7634:32;7683:19;;14091:68:0;7310:398:1;14091:68:0;-1:-1:-1;;;;;14172:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14224:32;;10565:25:1;;;14224:32:0;;10538:18:1;14224:32:0;;;;;;;13918:346;;;:::o;19274:1864::-;-1:-1:-1;;;;;19371:18:0;;19363:68;;;;-1:-1:-1;;;;;19363:68:0;;9810:2:1;19363:68:0;;;9792:21:1;9849:2;9829:18;;;9822:30;9888:34;9868:18;;;9861:62;9959:7;9939:18;;;9932:35;9984:19;;19363:68:0;9608:401:1;19363:68:0;-1:-1:-1;;;;;19450:16:0;;19442:64;;;;-1:-1:-1;;;;;19442:64:0;;6288:2:1;19442:64:0;;;6270:21:1;6327:2;6307:18;;;6300:30;6366:34;6346:18;;;6339:62;6437:5;6417:18;;;6410:33;6460:19;;19442:64:0;6086:399:1;19442:64:0;19534:1;19525:6;:10;19517:64;;;;-1:-1:-1;;;;;19517:64:0;;9400:2:1;19517:64:0;;;9382:21:1;9439:2;9419:18;;;9412:30;9478:34;9458:18;;;9451:62;9549:11;9529:18;;;9522:39;9578:19;;19517:64:0;9198:405:1;19517:64:0;-1:-1:-1;;;;;19600:20:0;;;;;;:14;:20;;;;;;;;:29;19592:67;;;;-1:-1:-1;;;;;19592:67:0;;8335:2:1;19592:67:0;;;8317:21:1;8374:2;8354:18;;;8347:30;8413:27;8393:18;;;8386:55;8458:18;;19592:67:0;8133:349:1;19592:67:0;-1:-1:-1;;;;;19678:18:0;;;;;;:14;:18;;;;;;;;:27;19670:65;;;;-1:-1:-1;;;;;19670:65:0;;8335:2:1;19670:65:0;;;8317:21:1;8374:2;8354:18;;;8347:30;8413:27;8393:18;;;8386:55;8458:18;;19670:65:0;8133:349:1;19670:65:0;19753:13;;;;19748:232;;-1:-1:-1;;;;;19791:23:0;;;;;;:17;:23;;;;;;;;;:48;;-1:-1:-1;;;;;;19818:21:0;;;;;;:17;:21;;;;;;;;19791:48;19783:82;;;;-1:-1:-1;;;;;19783:82:0;;9050:2:1;19783:82:0;;;9032:21:1;9089:2;9069:18;;;9062:30;9128:23;9108:18;;;9101:51;9169:18;;19783:82:0;8848:345:1;19783:82:0;-1:-1:-1;;;;;19898:14:0;12640:18;12613:7;12640:18;;;:9;:18;;;;;;19888:30;;:54;;;19928:14;-1:-1:-1;;;;;19922:20:0;:2;-1:-1:-1;;;;;19922:20:0;;;19888:54;19880:88;;;;-1:-1:-1;;;;;19880:88:0;;9050:2:1;19880:88:0;;;9032:21:1;9089:2;9069:18;;;9062:30;9128:23;9108:18;;;9101:51;9169:18;;19880:88:0;8848:345:1;19880:88:0;1548:7;1575:6;-1:-1:-1;;;;;19995:15:0;;;1575:6;;19995:15;;;;:32;;-1:-1:-1;1548:7:0;1575:6;-1:-1:-1;;;;;20014:13:0;;;1575:6;;20014:13;;19995:32;:77;;;-1:-1:-1;;;;;;20031:21:0;;20045:6;20031:21;;;;:41;;-1:-1:-1;;;;;;20056:16:0;;;;20031:41;19992:480;;;20110:14;-1:-1:-1;;;;;20102:22:0;:4;-1:-1:-1;;;;;20102:22:0;;:104;;;;20134:14;-1:-1:-1;;;;;20128:20:0;:2;-1:-1:-1;;;;;20128:20:0;;:78;;;;-1:-1:-1;;;;;;20154:22:0;;;;;;:18;:22;;;;;;;;20153:23;:52;;;;-1:-1:-1;;;;;;20181:24:0;;;;;;:18;:24;;;;;;;;20180:25;20153:52;20098:176;;;20245:12;;20235:6;:22;;20227:31;;;;;;20305:16;-1:-1:-1;;;;;20291:31:0;:2;-1:-1:-1;;;;;20291:31:0;;;:55;;;;;20332:14;-1:-1:-1;;;;;20326:20:0;:2;-1:-1:-1;;;;;20326:20:0;;;20291:55;:82;;;;-1:-1:-1;;;;;;20351:22:0;;;;;;:18;:22;;;;;;;;20350:23;20291:82;20288:173;;;20428:16;;20418:6;20402:13;20412:2;-1:-1:-1;;;;;12640:18:0;12613:7;12640:18;;;:9;:18;;;;;;;12539:127;20402:13;:22;;;;:::i;:::-;:42;;20394:51;;;;;;20488:17;;;;20487:18;:44;;;;;20517:14;-1:-1:-1;;;;;20509:22:0;:4;-1:-1:-1;;;;;20509:22:0;;;20487:44;:65;;;;-1:-1:-1;20535:17:0;;;;;;;20487:65;20484:352;;;20587:14;;20573:11;;:28;20569:256;;;20622:29;20636:14;;20622:13;:29::i;:::-;20569:256;;;20713:14;;20694:16;;:33;20690:120;;;20752:38;20775:14;;20752:22;:38::i;:::-;-1:-1:-1;;;;;20888:24:0;;20848:18;20888:24;;;:18;:24;;;;;;20869:4;;20888:24;;;:50;;-1:-1:-1;;;;;;20916:22:0;;;;;;:18;:22;;;;;;;;20888:50;20884:104;;;-1:-1:-1;20971:5:0;20884:104;21004:17;;;;;;;21000:71;;-1:-1:-1;21054:5:0;21000:71;21083:47;21098:4;21104:2;21108:6;21116:13;21083:14;:47::i;2057:191::-;2131:16;2150:6;;-1:-1:-1;;;;;2167:17:0;;;-1:-1:-1;;2167:17:0;;;;;;2200:40;;2150:6;;;;;;;2200:40;;2131:16;2200:40;2120:128;2057:191;:::o;18104:572::-;10567:17;:24;;-1:-1:-1;;10567:24:0;10587:4;10567:24;;;18190:16;;18186:483:::1;;18253:4;18245:21;18281:30;18298:12:::0;18281:16:::1;:30::i;:::-;18359:4;18351:21;18326:22;18418:28;18435:11:::0;18351:21;18418:28:::1;:::i;:::-;18389:58:::0;-1:-1:-1;18466:14:0;;18462:196:::1;;18501:19;::::0;:40:::1;::::0;-1:-1:-1;;;;;18501:19:0;;::::1;::::0;:40;::::1;;;::::0;18530:10;;18501:19:::1;:40:::0;:19;:40;18530:10;18501:19;:40;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;18565:26:0::1;::::0;10565:25:1;;;18565:26:0::1;::::0;10553:2:1;10538:18;18565:26:0::1;;;;;;;18630:12;18610:16;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;18462:196:0::1;18208:461;;;18186:483;-1:-1:-1::0;10614:17:0;:25;;-1:-1:-1;;10614:25:0;;;18104:572::o;16984:633::-;10567:17;:24;;-1:-1:-1;;10567:24:0;10587:4;10567:24;;;17061:16;;17057:553:::1;;17094:23;17120:16;17135:1;17120:12:::0;:16:::1;:::i;:::-;17094:42:::0;-1:-1:-1;17181:4:0::1;17173:21;17209:33;17094:42:::0;17209:16:::1;:33::i;:::-;17290:4;17282:21;17257:22;17349:28;17366:11:::0;17282:21;17349:28:::1;:::i;:::-;17320:58:::0;-1:-1:-1;17397:14:0;;17393:206:::1;;17432:41;17445:15;17462:10;17432:12;:41::i;:::-;17497:40;::::0;;12140:25:1;;;12196:2;12181:18;;12174:34;;;17497:40:0::1;::::0;12113:18:1;17497:40:0::1;;;;;;;17571:12;17556:11;;:27;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;17393:206:0::1;17079:531;;;;-1:-1:-1::0;10614:17:0;:25;;-1:-1:-1;;10614:25:0;;;16984:633::o;21146:2906::-;21551:14;;21260;;;;;;;;;;;;;;;;21551;;21547:514;;;21637:14;;:9;21615:19;21582:29;;21615:36;;;:::i;:::-;21671:9;:19;21582:70;;-1:-1:-1;21671:23:0;;;;:63;;;21713:21;21698:12;:36;21671:63;21667:383;;;21755:14;:22;;-1:-1:-1;;21755:22:0;;;21667:383;;;21832:14;-1:-1:-1;;;;;21822:24:0;:6;-1:-1:-1;;;;;21822:24:0;;:66;;;;;21871:16;-1:-1:-1;;;;;21850:38:0;:9;-1:-1:-1;;;;;21850:38:0;;;21822:66;:100;;;;-1:-1:-1;;;;;;21893:29:0;;;;;;:18;:29;;;;;;;;21892:30;21822:100;21818:217;;;21947:27;21964:9;21947:16;:27::i;:::-;22011:4;21997:18;;21818:217;21567:494;21547:514;22077:13;22073:1395;;;22111:11;22107:794;;;22152:3;22143:12;;22192:1;22174:19;;22222:1;22212:11;;22107:794;;;22276:14;-1:-1:-1;;;;;22266:24:0;:6;-1:-1:-1;;;;;22266:24:0;;22262:624;;;22324:7;:13;22378:23;;22434:15;;22324:13;;-1:-1:-1;22378:23:0;-1:-1:-1;22434:15:0;-1:-1:-1;22262:624:0;;;22492:14;-1:-1:-1;;;;;22479:27:0;:9;-1:-1:-1;;;;;22479:27:0;;22475:411;;;22540:8;:14;22595:24;;22652:16;;22540:14;;-1:-1:-1;22595:24:0;-1:-1:-1;22652:16:0;-1:-1:-1;22475:411:0;;;22726:12;:18;22785:28;;22846:20;;22726:18;;-1:-1:-1;22785:28:0;-1:-1:-1;22846:20:0;-1:-1:-1;22475:411:0;22980:4;22967:7;22940:24;22949:15;22940:6;:24;:::i;:::-;:34;;;;:::i;:::-;22930:45;;:6;:45;:::i;:::-;22929:56;;;;:::i;:::-;22917:68;-1:-1:-1;23045:1:0;23034:7;23007:24;23016:15;23007:6;:24;:::i;:::-;:34;;;;:::i;:::-;23006:40;23002:355;;;23131:7;23104:24;23113:15;23104:6;:24;:::i;:::-;:34;;;;:::i;:::-;23082:18;23094:6;23082:9;:18;:::i;:::-;:57;;;;:::i;:::-;23067:72;-1:-1:-1;23240:7:0;23213:24;23222:15;23213:6;:24;:::i;:::-;:34;;;;:::i;:::-;23182:27;23194:15;23182:9;:27;:::i;:::-;:66;;;;:::i;:::-;23158:90;-1:-1:-1;23333:7:0;23306:24;23315:15;23306:6;:24;:::i;:::-;:34;;;;:::i;:::-;23283:19;23295:7;23283:9;:19;:::i;:::-;:58;;;;:::i;:::-;23267:74;;23002:355;23388:12;23373:11;;:27;;;;;;;:::i;:::-;;;;;;;;23435:21;23415:16;;:41;;;;;;;:::i;:::-;;;;-1:-1:-1;;22073:1395:0;-1:-1:-1;;;;;23480:17:0;;;;;;:9;:17;;;;;:27;;23501:6;;23480:17;:27;;23501:6;;23480:27;:::i;:::-;;;;-1:-1:-1;23547:36:0;;-1:-1:-1;23562:21:0;23547:12;:36;:::i;:::-;23536:4;23518:24;;;;:9;:24;;;;;:66;;:24;;;:66;;;;;:::i;:::-;;;;-1:-1:-1;23625:4:0;;-1:-1:-1;;;;;;23600:71:0;;;23633:36;23648:21;23633:12;:36;:::i;:::-;23600:71;;10565:25:1;;;10553:2;10538:18;23600:71:0;;;;;;;23684:19;23755:13;23716:36;23731:21;23716:12;:36;:::i;:::-;:52;;;;:::i;:::-;23706:63;;:6;:63;:::i;:::-;-1:-1:-1;;;;;23780:20:0;;;;;;:9;:20;;;;;:35;;23684:85;;-1:-1:-1;23684:85:0;;23780:20;;;:35;;23684:85;;23780:35;:::i;:::-;;;;;;;;23848:9;-1:-1:-1;;;;;23831:40:0;23840:6;-1:-1:-1;;;;;23831:40:0;;23859:11;23831:40;;;;10565:25:1;;10553:2;10538:18;;10419:177;23831:40:0;;;;;;;;23888:17;;23884:161;;23940:6;23922:26;;;;:9;:26;;;:43;;23952:13;;23922:26;:43;;23952:13;;23922:43;:::i;:::-;;;;-1:-1:-1;;23985:48:0;;10565:25:1;;;24010:6:0;;-1:-1:-1;;;;;23985:48:0;;;;;10553:2:1;10538:18;23985:48:0;;;;;;;23884:161;21249:2803;;;;;;;;;21146:2906;;;;:::o;18684:582::-;18774:16;;;18788:1;18774:16;;;;;;;;18750:21;;18774:16;;;;;;;;;;-1:-1:-1;18774:16:0;18750:40;;18819:4;18801;18806:1;18801:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;18801:23:0;;;-1:-1:-1;;;;;18801:23:0;;;;;18845:16;-1:-1:-1;;;;;18845:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18835:4;18840:1;18835:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18835:33:0;;;:7;;;;;;;;;;:33;;;;18904:4;18884:26;;;;:11;:26;;;;;;18919:16;18884:53;;;;;;;;;;;:67;-1:-1:-1;18881:168:0;;;18968:69;18985:4;19000:16;-1:-1:-1;;18968:8:0;:69::i;:::-;19061:197;;;;;-1:-1:-1;;;;;19061:16:0;:67;;;;:197;;19143:11;;19169:1;;19185:4;;19212;;19232:15;;19061:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18739:527;18684:582;:::o;17625:471::-;17729:4;17709:26;;;;:11;:26;;;;;;;;17744:16;-1:-1:-1;;;;;17709:53:0;;;;;;;;;:67;-1:-1:-1;17706:168:0;;;17793:69;17810:4;17825:16;-1:-1:-1;;17793:8:0;:69::i;:::-;18037:10;;17886:202;;;;;17959:4;17886:202;;;4764:34:1;4814:18;;;4807:34;;;18005:1:0;4857:18:1;;;4850:34;;;4900:18;;;4893:34;-1:-1:-1;;;;;18037:10:0;;;4943:19:1;;;4936:44;18062:15:0;4996:19:1;;;4989:35;17886:16:0;:32;;;;;;17926:9;;4675:19:1;;17886:202:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17625:471;;:::o;16715:261::-;16790:14;-1:-1:-1;;;;;16779:25:0;:7;-1:-1:-1;;;;;16779:25:0;;:53;;;-1:-1:-1;;;;;;16808:24:0;;16827:4;16808:24;16779:53;:93;;;;16855:16;-1:-1:-1;;;;;16836:36:0;:7;-1:-1:-1;;;;;16836:36:0;;16779:93;16776:109;;;16875:8;;;16776:109;-1:-1:-1;;;;;16897:23:0;;;;;;:14;:23;;;;;;;;;:30;;-1:-1:-1;;16897:30:0;16923:4;16897:30;;;16943:25;;4068:74:1;;;16943:25:0;;4041:18:1;16943:25:0;;;;;;;16715:261;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;346:9;333:23;365:31;390:5;365:31;:::i;:::-;415:5;179:247;-1:-1:-1;;;179:247:1:o;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:52;;;570:1;567;560:12;522:52;602:9;596:16;621:31;646:5;621:31;:::i;947:388::-;1015:6;1023;1076:2;1064:9;1055:7;1051:23;1047:32;1044:52;;;1092:1;1089;1082:12;1044:52;1131:9;1118:23;1150:31;1175:5;1150:31;:::i;:::-;1200:5;-1:-1:-1;1257:2:1;1242:18;;1229:32;1270:33;1229:32;1270:33;:::i;:::-;1322:7;1312:17;;;947:388;;;;;:::o;1340:456::-;1417:6;1425;1433;1486:2;1474:9;1465:7;1461:23;1457:32;1454:52;;;1502:1;1499;1492:12;1454:52;1541:9;1528:23;1560:31;1585:5;1560:31;:::i;:::-;1610:5;-1:-1:-1;1667:2:1;1652:18;;1639:32;1680:33;1639:32;1680:33;:::i;:::-;1340:456;;1732:7;;-1:-1:-1;;;1786:2:1;1771:18;;;;1758:32;;1340:456::o;1801:315::-;1866:6;1874;1927:2;1915:9;1906:7;1902:23;1898:32;1895:52;;;1943:1;1940;1933:12;1895:52;1982:9;1969:23;2001:31;2026:5;2001:31;:::i;:::-;2051:5;-1:-1:-1;2075:35:1;2106:2;2091:18;;2075:35;:::i;:::-;2065:45;;1801:315;;;;;:::o;2121:::-;2189:6;2197;2250:2;2238:9;2229:7;2225:23;2221:32;2218:52;;;2266:1;2263;2256:12;2218:52;2305:9;2292:23;2324:31;2349:5;2324:31;:::i;:::-;2374:5;2426:2;2411:18;;;;2398:32;;-1:-1:-1;;;2121:315:1:o;2441:180::-;2497:6;2550:2;2538:9;2529:7;2525:23;2521:32;2518:52;;;2566:1;2563;2556:12;2518:52;2589:26;2605:9;2589:26;:::i;2626:180::-;2685:6;2738:2;2726:9;2717:7;2713:23;2709:32;2706:52;;;2754:1;2751;2744:12;2706:52;-1:-1:-1;2777:23:1;;2626:180;-1:-1:-1;2626:180:1:o;2811:316::-;2888:6;2896;2904;2957:2;2945:9;2936:7;2932:23;2928:32;2925:52;;;2973:1;2970;2963:12;2925:52;-1:-1:-1;;2996:23:1;;;3066:2;3051:18;;3038:32;;-1:-1:-1;3117:2:1;3102:18;;;3089:32;;2811:316;-1:-1:-1;2811:316:1:o;3132:306::-;3220:6;3228;3236;3289:2;3277:9;3268:7;3264:23;3260:32;3257:52;;;3305:1;3302;3295:12;3257:52;3334:9;3328:16;3318:26;;3384:2;3373:9;3369:18;3363:25;3353:35;;3428:2;3417:9;3413:18;3407:25;3397:35;;3132:306;;;;;:::o;3443:474::-;3527:6;3535;3543;3551;3604:3;3592:9;3583:7;3579:23;3575:33;3572:53;;;3621:1;3618;3611:12;3572:53;3660:9;3647:23;3710:4;3703:5;3699:16;3692:5;3689:27;3679:55;;3730:1;3727;3720:12;3679:55;3753:5;3805:2;3790:18;;3777:32;;-1:-1:-1;3856:2:1;3841:18;;3828:32;;3907:2;3892:18;3879:32;;-1:-1:-1;3443:474:1;-1:-1:-1;;;3443:474:1:o;5484:597::-;5596:4;5625:2;5654;5643:9;5636:21;5686:6;5680:13;5729:6;5724:2;5713:9;5709:18;5702:34;5754:1;5764:140;5778:6;5775:1;5772:13;5764:140;;;5873:14;;;5869:23;;5863:30;5839:17;;;5858:2;5835:26;5828:66;5793:10;;5764:140;;;5922:6;5919:1;5916:13;5913:91;;;5992:1;5987:2;5978:6;5967:9;5963:22;5959:31;5952:42;5913:91;-1:-1:-1;6065:2:1;6044:15;-1:-1:-1;;6040:29:1;6025:45;;;;6072:2;6021:54;;5484:597;-1:-1:-1;;;5484:597:1:o;10935:1026::-;11197:4;11245:3;11234:9;11230:19;11276:6;11265:9;11258:25;11302:2;11340:6;11335:2;11324:9;11320:18;11313:34;11383:3;11378:2;11367:9;11363:18;11356:31;11407:6;11442;11436:13;11473:6;11465;11458:22;11511:3;11500:9;11496:19;11489:26;;11550:2;11542:6;11538:15;11524:29;;11571:1;11581:218;11595:6;11592:1;11589:13;11581:218;;;11660:13;;-1:-1:-1;;;;;11656:62:1;11644:75;;11774:15;;;;11739:12;;;;11617:1;11610:9;11581:218;;;-1:-1:-1;;;;;;;11855:55:1;;;;11850:2;11835:18;;11828:83;-1:-1:-1;;;11942:3:1;11927:19;11920:35;11816:3;10935:1026;-1:-1:-1;;;10935:1026:1:o;12732:128::-;12772:3;12803:1;12799:6;12796:1;12793:13;12790:39;;;12809:18;;:::i;:::-;-1:-1:-1;12845:9:1;;12732:128::o;12865:274::-;12905:1;12931;12921:189;;-1:-1:-1;;;;;12963:1:1;12956:88;13067:4;13064:1;13057:15;13095:4;13092:1;13085:15;12921:189;-1:-1:-1;13124:9:1;;12865:274::o;13144:419::-;13233:1;13276:5;13233:1;13290:267;13311:7;13301:8;13298:21;13290:267;;;13370:4;13366:1;13362:6;13358:17;13352:4;13349:27;13346:53;;;13379:18;;:::i;:::-;13429:7;13419:8;13415:22;13412:55;;;13449:16;;;;13412:55;13542:4;13528:19;;;;13488:15;;;;13290:267;;;13294:3;13144:419;;;;;:::o;13568:140::-;13626:5;13655:47;13696:4;13686:8;13682:19;13676:4;13762:5;13792:8;13782:80;;-1:-1:-1;13833:1:1;13847:5;;13782:80;13881:4;13871:76;;-1:-1:-1;13918:1:1;13932:5;;13871:76;13963:4;13981:1;13976:59;;;;14049:1;14044:130;;;;13956:218;;13976:59;14006:1;13997:10;;14020:5;;;14044:130;14081:3;14071:8;14068:17;14065:43;;;14088:18;;:::i;:::-;14137:8;14134:1;14130:16;14121:25;;14159:5;;;13956:218;;14258:2;14248:8;14245:16;14239:3;14233:4;14230:13;14226:36;14220:2;14210:8;14207:16;14202:2;14196:4;14193:12;14189:35;14186:77;14183:159;;;-1:-1:-1;14295:19:1;;;14327:5;;14183:159;14374:34;14399:8;14393:4;14374:34;:::i;:::-;14444:6;14440:1;14436:6;14432:19;14423:7;14420:32;14417:58;;;14455:18;;:::i;:::-;14493:20;;13713:806;-1:-1:-1;;;13713:806:1:o;14524:168::-;14564:7;14630:1;14626;14622:6;14618:14;14615:1;14612:21;14607:1;14600:9;14593:17;14589:45;14586:71;;;14637:18;;:::i;:::-;-1:-1:-1;14677:9:1;;14524:168::o;14697:125::-;14737:4;14765:1;14762;14759:8;14756:34;;;14770:18;;:::i;:::-;-1:-1:-1;14807:9:1;;14697:125::o;14827:437::-;14912:1;14902:12;;14959:1;14949:12;;;14970:61;;15024:4;15016:6;15012:17;15002:27;;14970:61;15077:2;15069:6;15066:14;15046:18;15043:38;15040:218;;;-1:-1:-1;;;;;15111:1:1;15104:88;15215:4;15212:1;15205:15;15243:4;15240:1;15233:15;15040:218;;14827:437;;;:::o;15269:184::-;-1:-1:-1;;;;;15318:1:1;15311:88;15418:4;15415:1;15408:15;15442:4;15439:1;15432:15;15458:184;-1:-1:-1;;;;;15507:1:1;15500:88;15607:4;15604:1;15597:15;15631:4;15628:1;15621:15;15836:154;-1:-1:-1;;;;;15915:5:1;15911:54;15904:5;15901:65;15891:93;;15980:1;15977;15970:12

Swarm Source

ipfs://4ac83f44cd76ebce137506009efd5671390ae8fcaf145c1f0f1e7d7d5d7de60e

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.